One day, I thought it would be cool if someone could create a script that would automatically unspectate "trusted" clients and sendmap when they rejoin, I talked to my friend Erik (the master of cubescript) in my opinion. I ran the idea by him and he thought it was cool, so BAM after 2 days of HARD work and annoying testing we came out with ServBot, it does even more than unspectate trusted clients, it accepts commands. If someone changes their name to "commandhere" and then back to their name (with a sleep) the command is recognized.
Commands:
takemaster
test
commands
register
mmvote
savetemp
deltemp
listtemps
sendtemps
The GUI includes buttons to enable/disable all the commands, a Clients tab that lists all the trusted cllients and a help tab with info about all the commands.
Instructions:
note: DO NOT OPEN THE GUI WITHOUT ADDING A CLIENT
once you've got the GUI installed, go on a server. Claim master or admin, and type /addtrusted CN/NAME
Add as many clients as you need. To see all the trusted clients or to delete them press Q and go to the Clients tab.
type /clientsave
if someone disconnects, when they reconnect they will be unspectated and the map will be uploaded
Client commands, how to use them:
to issue a command on the server type, /name COMMANDHERE; sleep 500 [name YOURNAME]
docommand = [ if (&& (strcmp $uvar) (>= (indexof $commands (getclientname $arg2)) 0)) [ tempvar = @arg2;do [namecmd_@@arg1 @@arg2];uvar = -1 ] [ if (= (indexof $commands (getclientname $tempvar)) -1) [uvar = "";tempvar = -2] ] ] clientsave = [ if (strcmp 1 1) [ loop a (listlen (listclients)) [ docommand (indexof $commands (getclientname (at (listclients) $a))) (at (listclients) $a) loop b (listlen $trustedclients) [ loop c (listlen $registerclients) [ if (strcmp (at $trustedclients @b) (at $registerclients $c)) [ registerclients = (strreplace $registerclients (concatword (at $registerclients @c) " ")) ] ] if (&& (&& (> (getmastermode) 1) (ismaster (getclientnum))) (&& (strcmp (getclientname (at (listclients) @a)) (at $trustedclients $b)) (isspectator (at (listclients) @a)))) [ say (concatword "Unspecing trusted client ^"" (getclientname (at (listclients) @@a)) "^"" (if (strcmp (at $modenames (getmode)) coop) [result " and sending map"]) ".^n") spectator 0 (at (listclients) @@a) if (strcmp (at $modenames (getmode)) coop) [sleep 500 [sendmap]] ] ] loop b (listlen $registerclients) [ if (&& (&& (> (getmastermode) 1) (ismaster (getclientnum))) (&& (strcmp (getclientname (at (listclients) @a)) (at $registerclients $b)) (isspectator (at (listclients) @a)))) [ say (concatword "Unspecing registered client ^"" (getclientname (at (listclients) @@a)) "^".^n") spectator 0 (at (listclients) @@a) ] ] ] ] sleep 500 [ if (! (isconnected)) [connect 24.19.240.84 28785 TurboForceTableFan!;sleep 1000[say "Please do not disconnect the server bot.^n"]] //spectator 1 //for a hidden serverbot clientsave ] ]