blob: b535f327cf61b4c256fff279ed064e94ae040299 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
untyped
globalize_all_functions
global struct ClServer_MessageStruct {
string message
entity player
int channelId
bool shouldBlock
}
struct {
array< ClServer_MessageStruct functionref( ClServer_MessageStruct ) > OnRecievedSayTextMessageCallbacks
} NsCustomCallbacks
void function CServerGameDLL_ProcessMessageStartThread()
{
thread CServerGameDLL_OnRecievedSayTextMessageCallback()
}
void function CServerGameDLL_OnRecievedSayTextMessageCallback()
{
ClServer_MessageStruct localMessage
localMessage.message = NSChatGetCurrentMessage()
localMessage.player = GetPlayerByIndex(NSChatGetCurrentPlayer())
localMessage.channelId = NSChatGetCurrentChannel()
localMessage.shouldBlock = false
foreach ( callbackFunc in NsCustomCallbacks.OnRecievedSayTextMessageCallbacks )
{
ClServer_MessageStruct returnStruct = callbackFunc(localMessage)
localMessage.message = returnStruct.message
localMessage.player = returnStruct.player
localMessage.channelId = returnStruct.channelId
localMessage.shouldBlock = localMessage.shouldBlock || returnStruct.shouldBlock
}
NSSetMessage(localMessage.message, localMessage.player.GetPlayerIndex(), localMessage.channelId, localMessage.shouldBlock)
}
void function AddCallback_OnRecievedSayTextMessage( ClServer_MessageStruct functionref (ClServer_MessageStruct) callbackFunc )
{
NsCustomCallbacks.OnRecievedSayTextMessageCallbacks.append(callbackFunc)
}
|