Skip to content

Commit 9dfddf8

Browse files
committed
chore(scripting/um): Update Send Method
1 parent 5ddc0f6 commit 9dfddf8

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

src/plugins/core/scripting/usermessage.cpp

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "../scripting.h"
22

33
#include "../../../sdk/entity/CRecipientFilters.h"
4+
#include "../../../player/PlayerManager.h"
45

56
#ifdef GetMessage
67
#undef GetMessage
@@ -832,8 +833,10 @@ void PluginUserMessage::SendToPlayer(int playerId)
832833
if (!this->msgBuffer)
833834
return;
834835

835-
CSingleRecipientFilter filter(playerId);
836-
g_pGameEventSystem->PostEventAbstract(0, false, &filter, this->internalMsg, this->msgBuffer, 0);
836+
auto pNetChan = reinterpret_cast<INetChannel *>(engine->GetPlayerNetInfo(playerId));
837+
838+
if (pNetChan)
839+
pNetChan->SendNetMessage(this->internalMsg, this->msgBuffer, BUF_DEFAULT);
837840
}
838841
void PluginUserMessage::SendToAllPlayers()
839842
{
@@ -843,7 +846,17 @@ void PluginUserMessage::SendToAllPlayers()
843846
if (!this->msgBuffer)
844847
return;
845848

846-
CBroadcastRecipientFilter *filter = new CBroadcastRecipientFilter;
847-
g_pGameEventSystem->PostEventAbstract(0, false, filter, this->internalMsg, this->msgBuffer, 0);
848-
delete filter;
849+
for (uint16_t i = 0; i < g_playerManager->GetPlayerCap(); i++)
850+
{
851+
Player *player = g_playerManager->GetPlayer(i);
852+
if (!player)
853+
continue;
854+
if (player->IsFakeClient())
855+
continue;
856+
857+
auto pNetChan = reinterpret_cast<INetChannel *>(engine->GetPlayerNetInfo(i));
858+
859+
if (pNetChan)
860+
pNetChan->SendNetMessage(this->internalMsg, this->msgBuffer, BUF_DEFAULT);
861+
}
849862
}

0 commit comments

Comments
 (0)