//PM void PlayerManager::ChatSendChannel(long GameID, char * Channel, char * Message) { if (Message && Channel) { // Find sender's name Player * s = GetPlayer(GameID); Player * p = (0); char FName[40]; GetPostFix(s, FName, 40); if (s) { m_Mutex.Lock(); while (GetNextPlayerOnList(p, m_GlobalPlayerList)) { if (p->Active()) { p->SendClientChatEvent(0x03, 0x00, FName, FName, Channel, Message); } } m_Mutex.Unlock(); } } }
void PlayerManager::ChatSendEveryone(long GameID, char *message, bool copy_to_originator) { if (message) { // Find sender's name Player * s = GetPlayer(GameID); Player * p = (0); char FName[40]; if (!s) { return; } GetPostFix(s, FName, 40); if (s) { char Channel[] = "Broadcast"; // Channel while (GetNextPlayerOnList(p, m_GlobalPlayerList)) { if ((p->GameID() != GameID) || copy_to_originator) //only send to originating player if directed to. { p->SendClientChatEvent(0x03, 0x00, FName, FName, Channel, message); } } } } }
//PM void PlayerManager::ChatSendChannel(long GameID, char * Channel, char * Message) { if (Message && Channel) { // Find sender's name Player * s = GetPlayer(GameID); Player * p = (0); char FName[40]; GetPostFix(s, FName, 40); long channel_id = GetChannelFromName(Channel); if (s) { while (GetNextPlayerOnList(p, m_GlobalPlayerList)) { if (p->Active() && p->IsSubscribed(channel_id)) { p->SendClientChatEvent(0x03, 0x00, FName, FName, Channel, Message); } } } } }
//PM void PlayerManager::ChatSendPrivate(long GameID, char * Nick, char * Message) { if (Nick && Message) { Player * p_list = (0); bool FoundPlayer = false; char Channel[] = "Private"; if (Nick[0] == 0) return; Player * p = GetPlayer(GameID); char FName[40]; GetPostFix(p, FName, 40); if (p) { while (GetNextPlayerOnList(p_list, m_GlobalPlayerList)) { if (!_stricmp(p_list->Name(), Nick)) { p_list->SendClientChatEvent(0x03, 0x00, FName, FName, Channel, Message); FoundPlayer = true; break; } } if (!FoundPlayer) { p->SendVaMessageC(17, "%s is not currently online", Nick); } } if (FoundPlayer) { LogChatMsg("tell> %s \"%s\"\n", Nick, Message); } } }
void id::AddPostFix(festring& String) const { if(GetPostFix().GetSize()) String << ' ' << GetPostFix(); }