CMD:warn
#1

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;
}
Reply
#2

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);
Reply
#3

Oh i see!

Try this code...

PHP код:
CMD:warn(playeridparams[])
{        
        new 
string[128], giveplayeridreason[64];
        if(
sscanf(params"us[64]"giveplayeridreason)) return SendClientMessage(playeridCOLOR_WHITE"USAGE: /warn [playerid/partofname] [reason]");
        if(
IsPlayerConnected(giveplayerid))
        {
            if(
PlayerInfo[giveplayerid][pAdmin] >= 1)
            {
                
SendClientMessage(playeridCOLOR_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(stringsizeof(string), "AdmCmd: %s (IP: %s) was banned by %s (had 3 Warnings), reason: %s"GetPlayerNameEx(giveplayerid), ipGetPlayerNameEx(playerid), reason);
                
Log("logs/ban.log"string);
                
format(stringsizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: %s"GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
                
ABroadCast(COLOR_LIGHTREDstring5);
                
PlayerInfo[giveplayerid][pBanned] = 1;
                
AddBan(ip);
                
Kick(giveplayerid);
                return 
1;
            }
            
format(stringsizeof(string), "AdmCmd: %s was warned by %s, reason: %s"GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
            
ABroadCast(COLOR_LIGHTREDstring1);
            
format(stringsizeof(string), "AdmCmd: %s was warned by %s, reason: %s"GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
            
Log("logs/admin.log"string);
            
format(stringsizeof(string), "You were warned by %s, reason: %s"GetPlayerNameEx(playerid), reason);
            
SendClientMessage(giveplayeridCOLOR_LIGHTREDstring);
            return 
1;
        }
    }
    else 
SendClientMessage(playeridCOLOR_GRAD1"You're not authorized to use that command!");
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)