3d8108f339
fix the shared GUID connect fix linux log issue
75 lines
1.4 KiB
Plaintext
75 lines
1.4 KiB
Plaintext
#include maps\mp\_utility;
|
|
#include maps\mp\gametypes\_hud_util;
|
|
#include common_scripts\utility;
|
|
|
|
init()
|
|
{
|
|
level thread WaitForCommand();
|
|
}
|
|
|
|
WaitForCommand()
|
|
{
|
|
for(;;)
|
|
{
|
|
commandInfo = strtok(getDvar("sv_iw4madmin_command"), ";");
|
|
command = commandInfo[0];
|
|
commandArgs = strtok(commandInfo[1], ",");
|
|
|
|
switch(command)
|
|
{
|
|
case "balance":
|
|
BalanceTeams(commandArgs);
|
|
break;
|
|
case "alert":
|
|
//clientId alertType sound message
|
|
SendAlert(commandArgs[0], commandArgs[1], commandArgs[2], commandArgs[3]);
|
|
break;
|
|
}
|
|
|
|
setDvar("sv_iw4madmin_command", "");
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
SendAlert(clientId, alertType, sound, message)
|
|
{
|
|
client = playerForClientId(clientId);
|
|
|
|
client thread playLeaderDialogOnPlayer(sound, client.team);
|
|
client playLocalSound(sound);
|
|
client iPrintLnBold("^1" + alertType + ": ^3" + message);
|
|
}
|
|
|
|
BalanceTeams(commandArgs)
|
|
{
|
|
if (isRoundBased())
|
|
{
|
|
iPrintLnBold("Balancing Teams..");
|
|
|
|
for (i = 0; i < commandArgs.size; i+= 2)
|
|
{
|
|
teamNum = commandArgs[i+1];
|
|
clientNum = commandArgs[i];
|
|
if (teamNum == "0")
|
|
newTeam = "allies";
|
|
else
|
|
newTeam = "axis";
|
|
player = level.players[clientNum];
|
|
|
|
if (!isPlayer(player))
|
|
continue;
|
|
|
|
iPrintLnBold(player.name + " " + teamNum);
|
|
|
|
switch (newTeam)
|
|
{
|
|
case "axis":
|
|
player[[level.axis]]();
|
|
break;
|
|
case "allies":
|
|
player[[level.allies]]();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} |