Global $adminDataFile = @ScriptDir & "\AdminsDatabase.txt" ; Pfad und Name der Datenbank-Datei
Global $fileJoinedPlayers = @ScriptDir & "\JoinedPlayers.txt"
Func ReadAdminCommands()
Local $commandkickT, $String1, $String2
$commandkickT = StringRegExp($newReadLine, "message\:\s(.*)\s\(All\)\:\s(akick)\s(.*)\s(T)", 3); Prüft, ob ein Admin-Befehl Im Server Chat eingegeben wird ( [PlayerName] akick [PlayerName] T ).
If IsArray($commandkickT) Then ; Prüft, ob die Variable ein Array ist.
$String1 = FileRead($adminDataFile) ; Lesen der TXT-Datei(Admin Liste)
If StringRegExp($String1, "\b(" & $commandkickT[0] & ")\|") = True Then ; Prüft, ob der Spieler ein Admin ist.
_FileWriteLog($reportsFile, "Admin " & $commandkickT[0] & " message: " & $commandkickT[1] & " " & $commandkickT[2] & " " & $commandkickT[3], -1) ; Schreibt einen Eintrag in die ServerLog Datei.
$String2 = FileRead($fileJoinedPlayers) ; Lesen der TXT-Datei(Spieler die den Server betreten haben.)
If StringRegExp($String2, "\b(" & $commandkickT[0] & ")\|(.*)", 3) == StringRegExp($String1, "\b(" & $commandkickT[0] & ")\|(.*)", 3) Then ; Prüft, ob der Name und ID des Admins in der Admin Liste Identisch ist mit dem des Admins der gerade den Kick-Befehl gab.
If StringRegExp($String1, "\b(" & $commandkickT[2] & ")\|") = True Then ; Wenn es zutrifft dann -
StdinWrite($fc2, "tell " & $commandkickT[2] & " You have been Kicked " & $commandkickT[2] & @CRLF) ; wird eine Nachricht an den PLayer geschickt.
Sleep(2000) ; Pausiert damit der Player die Nachricht noch lesen kann bevor er gekickt wird
StdinWrite($fc2, "net_kickclient " & $commandkickT[2] & @CRLF) ; Der Kick -Befehl wird an den Server gesendet.
StdinWrite($fc2, "say " & $commandkickT[2] & " was kicked by Admin." & @CRLF) ; Die Nachricht informiert alle anderen Spieler weshalb der Player gekickt wurde.
StdinWrite($fc2, "say " & "Reason: Team-Killing." & @CRLF)
_FileWriteLog($reportsFile, "Admin " & $commandkickT[0] & " kicked " & $commandkickT[2] & " for Team-Killing.", -1) ; Schreibt einen Eintrag in die ServerLog Datei.
_FileWriteLog($bannedPlayersFile, "Admin " & $commandkickT[0] & " kicked " & $commandkickT[2] & " for Team-Killing.", -1); Schreibt einen Eintrag In Die Datei der gebannt Spieler.
Else
StdinWrite($fc2, "tell " & $commandkickT[0] & " Player Not Found" & @CRLF) ; Sendet eine Nachricht an den Admin wenn der Spieler nicht gefunden wurde.
_FileWriteLog($reportsFile, "Return message to " & $commandkickT[0] & ": Player Not Found", -1); Schreibt einen Eintrag in die ServerLog Datei.
EndIf
EndIf
EndIf
EndIf
EndFunc ;==>ReadAdminCommands