30#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
31#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
53 {
"send", sendCommandTable },
64 std::string targetName;
68 char* tail1 = strtok(
nullptr,
"");
76 char* tail2 = strtok(
nullptr,
"");
85 std::string subject = msgSubject;
86 std::string text = msgText;
98 std::string nameLink = handler->
playerLink(targetName);
109 std::string receiverName;
113 char* tail1 = strtok(
nullptr,
"");
121 char* tail2 = strtok(
nullptr,
"");
130 std::string subject = msgSubject;
131 std::string text = msgText;
134 typedef std::pair<uint32, uint32> ItemPair;
135 typedef std::list< ItemPair > ItemPairs;
139 char* tail = strtok(
nullptr,
"");
142 while (
char* itemStr = strtok(tail,
" "))
145 tail = strtok(
nullptr,
"");
148 char const* itemIdStr = strtok(itemStr,
":");
149 char const* itemCountStr = strtok(
nullptr,
" ");
163 uint32 itemCount = itemCountStr ? atoi(itemCountStr) : 1;
177 items.push_back(ItemPair(*itemId, itemCount));
195 for (ItemPairs::const_iterator itr = items.begin(); itr != items.end(); ++itr)
199 item->SaveToDB(trans);
207 std::string nameLink = handler->
playerLink(receiverName);
239 char* msgStr = strtok(
nullptr,
"");
256 std::string nameLink = handler->
GetNameLink(player);
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
@ LANG_COMMAND_INVALID_ITEM_COUNT
@ LANG_COMMAND_MAIL_ITEMS_LIMIT
@ LANG_COMMAND_ITEMIDINVALID
std::optional< T > Optional
Optional helper class to wrap optional values within.
Role Based Access Control related classes definition.
std::string playerLink(std::string const &name) const
char * extractQuotedArg(char *args)
WorldSession * GetSession()
virtual std::string GetNameLink() const
void PSendSysMessage(const char *fmt, Args &&... args)
void SetSentErrorMessage(bool val)
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
bool extractPlayerTarget(char *args, Player **player, ObjectGuid *player_guid=nullptr, std::string *player_name=nullptr)
static Item * CreateItem(uint32 itemEntry, uint32 count, ItemContext context, Player const *player=nullptr, bool addDefaultBonuses=true)
void SendMailTo(CharacterDatabaseTransaction trans, MailReceiver const &receiver, MailSender const &sender, MailCheckMask checked=MAIL_CHECK_MASK_NONE, uint32 deliver_delay=0)
MailDraft & AddItem(Item *item)
MailDraft & AddMoney(uint64 money)
LowType GetCounter() const
static ObjectGuid GetGUID(Object const *o)
WorldSession * GetSession() const
void SendNotification(char const *format,...) ATTR_PRINTF(2
bool isLogingOut() const
Is the user engaged in a log out process?
Player * GetPlayer() const
ChatCommandTable GetCommands() const override
static bool HandleSendItemsCommand(ChatHandler *handler, char const *args)
static bool HandleSendMailCommand(ChatHandler *handler, char const *args)
static bool HandleSendMoneyCommand(ChatHandler *handler, PlayerIdentifier const &receiver, QuotedString const &subject, QuotedString const &text, int64 money)
Send money by mail.
static bool HandleSendMessageCommand(ChatHandler *handler, char const *args)
Send a message to a player in game.
void AddSC_send_commandscript()
std::vector< ChatCommandBuilder > ChatCommandTable
@ RBAC_PERM_COMMAND_SEND_MESSAGE
@ RBAC_PERM_COMMAND_SEND_MAIL
@ RBAC_PERM_COMMAND_SEND_MONEY
@ RBAC_PERM_COMMAND_SEND_ITEMS
uint32 GetMaxStackSize() const
uint32 GetMaxCount() const
Player * GetConnectedPlayer() const
ObjectGuid GetGUID() const
std::string const & GetName() const