else if (command.length() >= 7 && command.compare(0,7,"delmess") == 0)
{
bool name_isgood = false;
std::string name_f = "data/messages/" + character->name +".txt";
FILE * fh = fopen(name_f.c_str(), "a");
if(fh)
{
name_isgood = true;
fclose(fh);
}
if(name_isgood)
{
remove(name_f.c_str());
character->ShowHint("Your messages have been deleted!");
}
}
else if (command.length() >= 9 && command.compare(0,9,"checkmess") == 0)
{
std::string name_f = "data/messages/" + character->name + ".txt";
FILE * fh = fopen(name_f.c_str(), "a");
char *buf;
long len;
ifstream m(name_f.c_str(),ifstream::binary);
m.seekg(0,ifstream::end);
len = m.tellg();
m.seekg(0);
buf = new char [len];
m.read (buf,len);
if(fh)
{
PacketBuilder builder(PACKET_TALK, PACKET_TELL);
builder.AddBreakString("Your Messages:");
builder.AddBreakString(buf);
character->Send(builder);
}
else
{
character->ShowHint("You have no messages!");
}
character->ShowHint("Press #delmess to delete your messages!");
fclose(fh);
delete[] buf;
m.close();
}
else if (command.length() >= 7 && command.compare(0,7,"message") == 0 && arguments.size() >= 2)
{
std::string name = arguments[0];
std::string message = arguments[1];
bool name_isgood = false;
if (character->world->CharacterExists(util::lowercase(name)))
{
name_isgood = true;
std::transform(arguments[1].begin(),arguments[1].end(),arguments[1].begin(),static_cast<int(*)(int)>(std::tolower));
for(int i = 2; i < static_cast<int>(arguments.size()); i++)
{
if (message == "")
{
message = arguments[i];
}
else
{
message += " " + arguments[i];
}
if (message.length() > 150)
{
message = message.substr(0, 150);
}
}
}
if(name_isgood)
{
std::string name_f = "data/messages/" + name +".txt";
FILE * fh = fopen(name_f.c_str(), "a");
fprintf(fh, "[From]%s: %s\n", util::ucfirst(character->name).c_str(), message.c_str());
fclose(fh);
character->ShowHint("Your Message was sent!");
}
else
{
character->ShowHint("Invalid name!");
}
}