Players bugging. -
Every now and then, some players get bugged. You can't ban, kick or even use the whisper function on them.
Re: Players bugging. -
Re: Players bugging. -
No error message or anything. It's just, like the player doesn't exist. I can spectate them though.
Re: Players bugging. -
Re: Players bugging. -
Not sure if this is needed though, since I can't use any command on those bugged players.
Code:
CMD:kick(playerid, params[])
{
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2)
{
new string[128], giveplayerid, reason[64];
if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && (PlayerInfo[giveplayerid][pHelper] >= 2 || PlayerInfo[giveplayerid][pAdmin] > 0) && playerid != giveplayerid)
{
format(string, sizeof(string), "AdmCmd: %s has been auto-kicked, reason: Trying to /kick a higher admin.", GetPlayerNameEx(playerid));
ABroadCast(COLOR_YELLOW,string, (PlayerInfo[playerid][pAdmin] == 1) ? (1) : (2));
Kick(playerid);
return 1;
}
else
{
new year, month,day;
getdate(year, month, day);
new playerip[32];
GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
format(string, sizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s (%d-%d-%d)", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason,month,day,year);
Log("logs/kick.log", string);
if(PlayerInfo[playerid][pAdmin] == 1) Log("logs/moderator.log", string);
format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
SendClientMessageToAllEx(COLOR_LIGHTRED, string);
Kick(giveplayerid);
}
return 1;
}
}
else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
return 1;
}
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, -1, "You must be on Admin Duty to use this Command!");
if (PlayerInfo[playerid][pAdmin] >= 2)
{
new string[128], giveplayerid, reason[64];
if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /ban [playerid] [reason]");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
{
format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /ban a higher admin.", GetPlayerNameEx(playerid));
ABroadCast(COLOR_YELLOW,string,2);
PlayerInfo[playerid][pBanned] = 1;
new ip[32];
GetPlayerIp(playerid,ip,sizeof(ip));
AddBan(ip);
Kick(playerid);
return 1;
}
else
{
new year, month,day;
getdate(year, month, day);
new playerip[32];
GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s (%d-%d-%d)", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason,month,day,year);
Log("logs/ban.log", string);
format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
SendClientMessageToAllEx(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pBanned] = 1;
format(PlayerInfo[giveplayerid][pFlag], 128, "");
new ip[32];
GetPlayerIp(giveplayerid,ip,sizeof(ip));
AddBan(ip);
Kick(giveplayerid);
return 1;
}
}
}
else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
return 1;
}
CMD:w(playerid, params[])
{
new giveplayerid, whisper[128];
if(gPlayerLogged{playerid} == 0)
{
SendClientMessageEx(playerid, COLOR_GREY, "You're not logged in.");
return 1;
}
if(sscanf(params, "us[128]", giveplayerid, whisper))
{
SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: (/w)hisper [playerid] [text]");
return 1;
}
if(WatchingTV[playerid] != 0 && PlayerInfo[playerid][pAdmin] < 2)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "You can't do this while watching TV.");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(HidePM[giveplayerid] > 0)
{
SendClientMessageEx(playerid, COLOR_GREY, "That player is blocking whispers!");
return 1;
}
new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[128];
sendername = GetPlayerNameEx(playerid);
giveplayer = GetPlayerNameEx(giveplayerid);
if(giveplayerid == playerid)
{
if(PlayerInfo[playerid][pSex] == 1) format(string, sizeof(string), "* %s mutters something to himself.", GetPlayerNameEx(playerid));
else format(string, sizeof(string), "* %s mutters something to herself.", GetPlayerNameEx(playerid));
return ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
if(ProxDetectorS(5.0, playerid, giveplayerid) || PlayerInfo[playerid][pAdmin] >= 2)
{
format(string, sizeof(string), "%s (ID %d) whispers to you: %s", GetPlayerNameEx(playerid), playerid, whisper);
if(strlen(string) > 92)
{
new firstline[128], secondline[128];
strmid(firstline, string, 0, 88);
strmid(secondline, string, 88, 128);
format(firstline, sizeof(firstline), "%s ...", firstline);
SendClientMessageEx(giveplayerid, COLOR_YELLOW, firstline);
SendClientMessageEx(giveplayerid, COLOR_YELLOW, secondline);
}
else SendClientMessageEx(giveplayerid,COLOR_YELLOW, string);
format(string, sizeof(string), "You whispered to %s: %s", GetPlayerNameEx(giveplayerid),whisper);
if(strlen(string) > 92)
{
new firstline[128], secondline[128];
strmid(firstline, string, 0, 88);
strmid(secondline, string, 88, 128);
format(firstline, sizeof(firstline), "%s ...", firstline);
SendClientMessageEx(playerid, COLOR_YELLOW, firstline);
SendClientMessageEx(playerid, COLOR_YELLOW, secondline);
}
else SendClientMessageEx(playerid,COLOR_YELLOW, string);
return 1;
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "That player isn't near you.");
}
return 1;
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
}
return 1;
}
Re: Players bugging. -
Re: Players bugging. -