new specid;
new cmd[256],idx;
cmd = adminspec_strtok(cmdtext, idx);
if(strcmp(cmd, "/spec", true) == 0)
{
new tmp[256];
tmp = adminspec_strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Используйте: /spec <ID игрока> .");
return 1;
}
specid = strval(tmp);
if(!IsPlayerConnected(specid))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Игрок не обнаружен.");
return 1;
}
else if(specid == playerid)
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Вы не можете наблюдать за собой");
return 1;
}
else if(Player[specid][pTeam] != Player[playerid][pTeam] && Player[playerid][pTeam] != T_REF)
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Вы можете наблюдать только за игроком своей команды");
return 1;
}
else if(Player[playerid][pPlaying] == true && Player[playerid][pTeam] != T_REF)
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Вы можете только наблюдать если вы не в этом раунде");
return 1;
}
else if(GetPlayerState(specid) == PLAYER_STATE_SPECTATING && gSpectateID[specid] != INVALID_PLAYER_ID)
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Игрок тоже наблюдает за кем-то");
return 1;
}
else if(GetPlayerState(specid) != 1 && GetPlayerState(specid) != 2 && GetPlayerState(specid) != 3)
{
SendClientMessage(playerid, AAD_COLOR_GREY, "Игрок не в игре");
return 1;
}
StartSpectate(playerid, specid);
spectating[playerid] = 1;
new specname[STR];
new spectext[STR];
new Float:spechp;
GetPlayerName(specid, specname, sizeof(specname));
GetPlayerHealth(specid, spechp);
format(spectext,STR,"~g~%s~y~[~r~%.0f~y~]",specname,spechp);
TextDrawSetString(spec, spectext);
TextDrawShowForPlayer(playerid,spec);
return 1;
}