diff --git a/AOprivateServer.pbp b/AOprivateServer.pbp index 59b10cc..f427e18 100644 --- a/AOprivateServer.pbp +++ b/AOprivateServer.pbp @@ -7,7 +7,7 @@
- +
@@ -20,15 +20,15 @@ - + - + - +
@@ -41,8 +41,8 @@ sD.ico - - + + @@ -76,8 +76,8 @@ owner.ico - - + + diff --git a/main.pb b/main.pb index ff77f67..5099b9b 100644 --- a/main.pb +++ b/main.pb @@ -1105,20 +1105,21 @@ Procedure KickBan(kick$,param$,action,*usagePointer.Client) Clients()\ignore=0 actionn$="undignored" akck+1 - ResetList(Actions()) - While NextElement(Actions()) - If Actions()\IP=Clients()\IP And Actions()\type=#CIGNORE - DeleteElement(Actions()) - EndIf - Wend + + Case #SILENCE + Clients()\silence=1 + actionn$="ignored" + akck+1 + + Case #UNSILENCE + Clients()\silence=0 + actionn$="unsilenced" + akck+1 Case #UNDJ Clients()\ignoremc=1 actionn$="undj'd" akck+1 - AddElement(Actions()) - Actions()\IP=Clients()\IP - Actions()\type=#UNDJ Case #DJ Clients()\ignoremc=0 @@ -1480,6 +1481,7 @@ Procedure HandleAOCommand(ClientID) Case "/bg" If *usagePointer\perm bgcomm$=Mid(ctparam$,5) + Debug bgcomm$ Channels(*usagePointer\area)\bg=bgcomm$ Sendtarget("Area"+Str(*usagePointer\area),"BN#"+bgcomm$+"#%",*usagePointer) EndIf @@ -1488,8 +1490,10 @@ Procedure HandleAOCommand(ClientID) npos$=Mid(ctparam$,6) If npos$="def" Or npos$="pro" Or npos$="hlp" Or npos$="hld" Or npos$="wit" Or npos$="jud" *usagePointer\pos=npos$ + SendTarget(Str(ClientID),"CT#$HOST#Your position is now: "+*usagePointer\pos+"#%",Server) Else *usagePointer\pos="" + SendTarget(Str(ClientID),"CT#$HOST#You're back in the default position#%",Server) EndIf Case "/g" @@ -1660,11 +1664,13 @@ Procedure HandleAOCommand(ClientID) Case "/skip" If *usagePointer\perm *usagePointer\skip=1 + SendTarget(Str(ClientID),"CT#$HOST#You can now skip others#%",Server) EndIf Case "/noskip" If *usagePointer\perm *usagePointer\skip=0 + SendTarget(Str(ClientID),"CT#$HOST#You can no longer skip others#%",Server) EndIf Case "/toggle" @@ -1934,6 +1940,18 @@ Procedure HandleAOCommand(ClientID) SendTarget(Str(ClientID),"CT#$HOST#unmuted "+Str(akck)+" clients#%",Server) EndIf + Case "/silence" + If *usagePointer\perm>=#MOD + akck=KickBan(Mid(ctparam$,10),StringField(ctparam$,3," "),#SILENCE,*usagePointer) + SendTarget(Str(ClientID),"CT#$HOST#silenced "+Str(akck)+" clients#%",Server) + EndIf + + + Case "/unsilence" + If *usagePointer\perm>=#MOD + akck=KickBan(Mid(ctparam$,12),StringField(ctparam$,3," "),#UNSILENCE,*usagePointer) + SendTarget(Str(ClientID),"CT#$HOST#unsilenced "+Str(akck)+" clients#%",Server) + EndIf Case "/undj" If *usagePointer\perm>=#MOD @@ -2626,7 +2644,7 @@ Procedure Network(var) Case #PB_NetworkEvent_Data ;- Received Data *usagePointer.Client=FindMapElement(Clients(),Str(ClientID)) If *usagePointer - length=ReceiveNetworkData(ClientID,*Buffer,1024) + length=ReceiveNetworkData(ClientID,*Buffer,2048) If length rawreceive$=PeekS(*Buffer,length) Debug rawreceive$ @@ -2694,7 +2712,8 @@ Procedure Network(var) sc=1 While StringField(rawreceive$,sc,"%")<>"" - subcommand$=ValidateChars(StringField(rawreceive$,sc,"%")+"%") + subcommand$=ValidateChars(StringField(rawreceive$,sc,"%")) + Debug subcommand$ length=Len(subcommand$) If ExpertLog @@ -2761,7 +2780,7 @@ CompilerElse success=CreateNetworkServer(0,Port,#PB_Network_TCP) If success - *Buffer = AllocateMemory(1024) + *Buffer = AllocateMemory(2048) WriteLog("Server started",Server) @@ -2799,7 +2818,7 @@ CompilerEndIf End ; IDE Options = PureBasic 5.31 (Windows - x86) -; CursorPosition = 2535 -; FirstLine = 2517 +; CursorPosition = 1483 +; FirstLine = 1466 ; Folding = ------ ; EnableXP \ No newline at end of file diff --git a/serverD.exe b/serverD.exe index 23fb095..79f6a21 100644 Binary files a/serverD.exe and b/serverD.exe differ diff --git a/serverDco.exe b/serverDco.exe index 7a906cc..f468042 100644 Binary files a/serverDco.exe and b/serverDco.exe differ diff --git a/server_shared.pb b/server_shared.pb index 8d6f886..8e13ee6 100644 --- a/server_shared.pb +++ b/server_shared.pb @@ -535,10 +535,13 @@ Procedure SendChatMessage(*ntmes.ChatMessage,*seUser.Client) EndIf Channels(*seUser\area)\waitstart=ElapsedMilliseconds() Channels(*seUser\area)\waitdur=Len(*ntmes\message)*40 + If Channels(*seUser\area)\waitdur>600 + Channels(*seUser\area)\waitdur=1 + EndIf LockMutex(ListMutex) ResetMap(Clients()) While NextMapElement(Clients()) - If Clients()\area=*seUser\area + If Clients()\area=*seUser\area And (*seUser\silence=0 Or *seUser=Clients()) Select Clients()\type CompilerIf #WEB Case #WEBSOCKET @@ -613,7 +616,7 @@ Procedure TrackWait(a) Until LoopMusic=0 EndProcedure ; IDE Options = PureBasic 5.31 (Windows - x86) -; CursorPosition = 435 -; FirstLine = 417 +; CursorPosition = 539 +; FirstLine = 503 ; Folding = ------ ; EnableXP \ No newline at end of file diff --git a/serverd.txt b/serverd.txt index 0be9285..7ab2de4 100644 --- a/serverd.txt +++ b/serverd.txt @@ -1,5 +1,4 @@ [Version] -Compile=1377 -Build=152 -0.0.0.0 - WD-WX21EA45MECN \ No newline at end of file +Compile=1362 +Build=153 +0.0.0.0 \ No newline at end of file diff --git a/shared_headers.pb b/shared_headers.pb index fa35120..95cd0cb 100644 --- a/shared_headers.pb +++ b/shared_headers.pb @@ -108,6 +108,7 @@ Structure Client type.b perm.w ignore.b + silence.b ignoremc.b hack.b gimp.b @@ -172,6 +173,8 @@ Enumeration #UNMUTE #CIGNORE #UNIGNORE + #SILENCE + #UNSILENCE #UNDJ #DJ #GIMP @@ -180,6 +183,6 @@ Enumeration #MOVE EndEnumeration ; IDE Options = PureBasic 5.31 (Windows - x86) -; CursorPosition = 71 -; FirstLine = 54 +; CursorPosition = 176 +; FirstLine = 129 ; EnableXP \ No newline at end of file diff --git a/version.txt b/version.txt index eb6eb3d..7ab2de4 100644 --- a/version.txt +++ b/version.txt @@ -1,4 +1,4 @@ [Version] -Compile=1377 -Build=152 +Compile=1362 +Build=153 0.0.0.0 \ No newline at end of file