Pastebin

New pastes are no longer accepted · Stats

Latest Pastes

inbox talk

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);

            infile.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;
            infile.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!");
            }
        }