CMD:warn -
Jimmi - 08.08.2015
I did the command/warn on the zcmd + sscanf but now when I warn someone doesn't appear the message as received warn ...
Код:
CMD:warn(playerid, params[])
{
new year, month,day;
new targetid, motiv[100], string[256];
getdate(year, month, day);
if(sscanf(params,"us[99]",targetid,motiv)) return SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Folosire:{FFFFFF} /warn [playerid/numejucator] [reason]");
if(targetid != INVALID_PLAYER_ID)
{
if(PlayerInfo[targetid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GREY, "Nu poti da warn unui administrator cu rangul mai mare ca al tau.");
if(PlayerInfo[targetid][pWarns] < 3)
{
PlayerInfo[targetid][pWarns] += 1;
Update(targetid,pWarningsx);
format(string, sizeof(string), "I-ai dat lui %s 1 punct de WARN din motivul: %s", GetName(targetid), motiv);
SendClientMessage(playerid, COLOR_GREY,string);
format(string, sizeof(string), "Ai primit de la adminul %s Warn +1 deoarece: %s", GetName(playerid), motiv);
SendClientMessage(targetid, COLOR_GREY,string);
}
else
{
format(string, sizeof(string), "AdmCmd: %s a primit ban de la %s(3 warns), motiv: %s (%d-%d-%d) \n", GetName(targetid), GetName(playerid), motiv, month, day, year);
format(string, sizeof(string), "%s{0066FF}Info: %s{a9c4e4} a primit ban de la %s (3 Warns), motiv: %s", string, GetName(targetid), GetName(playerid), motiv);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[targetid][pReg] = -999;
Update(targetid,pRegisteredx);
PlayerInfo[targetid][pWarns] = 0;
Update(targetid,pWarningsx);
new playersip[256];
GetPlayerIp(targetid,playersip,sizeof(playersip));
strmid(PlayerInfo[targetid][pIP], playersip, 0, 100, 255);
Update(targetid, pIPx);
Kick(targetid);
ExecCMD[playerid]++;
return 1;
}
}
else
{
format(string, sizeof(string), " %d nu este conectat.", targetid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
SaveExecCMDS(playerid, "/warn", ExecCMD[playerid]);
return 1;
}
Re: CMD:warn -
xVIP3Rx - 08.08.2015
You have to delay the kick a bit for the message to show up (In case that's the problem)
if not, then try to download crash detect...cause I don't think anything's wrong with your code.
pawn Код:
CMD:warn(playerid, params[])
{
new targetid, motiv[100];
if(sscanf(params,"us[100]",targetid,motiv)) return SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Folosire:{FFFFFF} /warn [playerid/numejucator] [reason]");
if(targetid != INVALID_PLAYER_ID)
{
if(PlayerInfo[targetid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GREY, "Nu poti da warn unui administrator cu rangul mai mare ca al tau.");
if(PlayerInfo[targetid][pWarns] < 3)
{
PlayerInfo[targetid][pWarns] ++;
Update(targetid,pWarningsx);
format(string, sizeof(string), "I-ai dat lui %s 1 punct de WARN din motivul: %s", GetName(targetid), motiv);
SendClientMessage(playerid, COLOR_GREY,string);
format(string, sizeof(string), "Ai primit de la adminul %s Warn +1 deoarece: %s", GetName(playerid), motiv);
SendClientMessage(targetid, COLOR_GREY,string);
}
else
{
new year, month, day, string[256];
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s a primit ban de la %s(3 warns), motiv: %s (%d-%d-%d) \n", GetName(targetid), GetName(playerid), motiv, month, day, year);
format(string, sizeof(string), "%s{0066FF}Info: %s{a9c4e4} a primit ban de la %s (3 Warns), motiv: %s", string, GetName(targetid), GetName(playerid), motiv);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[targetid][pReg] = -999;
Update(targetid,pRegisteredx);
PlayerInfo[targetid][pWarns] = 0;
Update(targetid,pWarningsx);
new playersip[256];
GetPlayerIp(targetid,playersip,sizeof(playersip));
strmid(PlayerInfo[targetid][pIP], playersip, 0, 100, 255);
Update(targetid, pIPx);
SetTimerEx("KickPlayer", 200, 0, "i", targerid);
ExecCMD[playerid]++;
return 1;
}
}
else
{
format(string, sizeof(string), " %d nu este conectat.", targetid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
SaveExecCMDS(playerid, "/warn", ExecCMD[playerid]);
return 1;
}
forward KickPlayer(playerid);
public KickPlayer(playerid) return Kick(playerid);
Re: CMD:warn -
XBrianX - 09.08.2015
Oh i see!
Try this code...
PHP код:
CMD:warn(playerid, params[])
{
new string[128], giveplayerid, reason[64];
if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /warn [playerid/partofname] [reason]");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Admins can't be warned!");
return 1;
}
PlayerInfo[giveplayerid][pWarns] += 1;
if(PlayerInfo[giveplayerid][pWarns] >= 3)
{
new ip[32];
GetPlayerIp(giveplayerid,ip,sizeof(ip));
format(string, sizeof(string), "AdmCmd: %s (IP: %s) was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), ip, GetPlayerNameEx(playerid), reason);
Log("logs/ban.log", string);
format(string, sizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 5);
PlayerInfo[giveplayerid][pBanned] = 1;
AddBan(ip);
Kick(giveplayerid);
return 1;
}
format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 1);
format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
Log("logs/admin.log", string);
format(string, sizeof(string), "You were warned by %s, reason: %s", GetPlayerNameEx(playerid), reason);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
return 1;
}
}
else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
return 1;
}