09.09.2012, 20:06
What is the problem with the codes below?? We have noticed that If we spec a normal player, It send to all as
"[Spec] %s (ID:%d) is testing %s (ID:%d)" Even normal player could see that we are currently spectating them. So fail XD What could be the problem. It must be Admin send to Admin. Not Admin send to all players.
"[Spec] %s (ID:%d) is testing %s (ID:%d)" Even normal player could see that we are currently spectating them. So fail XD What could be the problem. It must be Admin send to Admin. Not Admin send to all players.
pawn Код:
dcmd_spec(playerid,params[])
{
if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid) || AccInfo[playerid][pVip] >= 1)
{
if(AccInfo[playerid][pGps] != -1)
return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> First Disable the Gps System! (/gps off)");
if(!strlen(params) || !IsNumeric(params)) return
SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Usage: /spec [PlayerID]") &&
SendClientMessage(playerid, 0xFFFFFFFF, "{FF9900}Function: Will spec a specified Player");
new specplayerid = ReturnUser(params);
if(AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,0xFFFFFFFF,"{FF0000}>> You cannot use this command on this admin");
if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID)
{
if(specplayerid == playerid)
return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> You cannot spectate Yourself");
if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && AccInfo[specplayerid][SpecID] != INVALID_PLAYER_ID)
return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> Player spectating someone else");
if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> Player not Spawned");
if((AccInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] == ServerInfo[MaxAdminLevel]))
{
new string[128];
format(string, sizeof(string), "[Spec] %s (ID:%d) is testing %s (ID:%d)", PlayerName2(playerid), playerid, PlayerName2(specplayerid), specplayerid);
for(new i;i < MAX_PLAYERS; i++) if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][Level] > 1) SendClientMessage(i, grey, string);
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
GetPlayerFacingAngle(playerid,Pos[playerid][3]);
SendCommandToAdmins(playerid,"LSpec");
SendClientMessage(playerid,blue,"Spectating On");
return StartSpectate(playerid, specplayerid);
}
else return SendClientMessage(playerid, 0xFFFFFFFF,"{FF0000}>> You cannot spectate the highest level admin");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}