SA-MP Forums Archive
warn command - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: warn command (/showthread.php?tid=67240)



warn command - Flo_White - 27.02.2009

Код:
dcmd_warn(playerid,params[])
{
	new opfer,string[128],string1[128],grund,oname[MAX_PLAYER_NAME],warnings,t,mo,y,h,minu,s;
	warnings = PlayerData[playerid][Warns];
 	gettime(h,minu,s); getdate(t,mo,y);
	if(PlayerData[playerid][Level] >= 1)
	{
	  if(sscanf(params,"us",opfer,grund)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /warn [playerid] [reason]");
		if (!IsPlayerConnected(opfer)) return SendClientMessage(playerid, COLOR_SYSTEM, "Invalid ID!");
    PlayerData[opfer][Warns]++;
    GetPlayerName(opfer,oname,sizeof(oname));
    format(string,sizeof(string),"[Server] %s has been warned by Administrator %s [Reason: %s] (%d/3)",oname,PlayerName(playerid),grund,warnings);
    SendClientMessageToAll(COLOR_YELLOW,string);
    format(string1,sizeof(string1),"%s has been warned by Administrator %s [Reason: %s] (%d/3) (%d.%d.%d)",oname,PlayerName(playerid),grund,warnings,t,mo,y);
    WarnLog(string1);
    return 1;
	}
	if(PlayerData[opfer][Warns] == 3)
		{
		  GetPlayerName(opfer,oname,sizeof(oname));
 			SendClientMessage(playerid, COLOR_RED, "You have been kicked. Reason: (3 Warnings)");
	 	  format(string, sizeof(string), "[Server] %s has been kicked by Administrator %s [Reason: 3 Warnings]", oname, PlayerName(playerid));
	 	  format(string1,sizeof(string1),"[Server] %s has been kicked by Administrator %s [Reason: 3 Warnings] (%d.%d.%d || %d:%d:%d)",oname,PlayerName(playerid),t,mo,y,h,minu,s);
    	KickLog(string1);
			Kick(opfer);
			return 1;
		}
	else return SendClientMessage(playerid,COLOR_RED,"Admins only!");
}
it start at (0/3) but it should start (1/3). and when i warn it goes up to 3 and then to 4,5,6... but after 3 warnings it should kick the guy who got warned the third time :/

greetings


Re: warn command - Jefff - 27.02.2009

Maybe that.

Код:
dcmd_warn(playerid,params[])
{
	new opfer,string[128],string1[128],grund,oname[MAX_PLAYER_NAME],t,mo,y,h,minu,s;
 	gettime(h,minu,s); getdate(t,mo,y);
	if(PlayerData[playerid][Level] >= 1)
	{
	  if(sscanf(params,"us",opfer,grund)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /warn [playerid] [reason]");
		if (!IsPlayerConnected(opfer)) return SendClientMessage(playerid, COLOR_SYSTEM, "Invalid ID!");
    PlayerData[opfer][Warns]++;
    GetPlayerName(opfer,oname,sizeof(oname));
    format(string,sizeof(string),"[Server] %s has been warned by Administrator %s [Reason: %s] (%d/3)",oname,PlayerName(playerid),grund,PlayerData[opfer][Warns]);
    SendClientMessageToAll(COLOR_YELLOW,string);
    format(string1,sizeof(string1),"%s has been warned by Administrator %s [Reason: %s] (%d/3) (%d.%d.%d)",oname,PlayerName(playerid),grund,PlayerData[opfer][Warns],t,mo,y);
    WarnLog(string1);
		if(PlayerData[opfer][Warns] == 3)
		{
 			SendClientMessage(playerid, COLOR_RED, "You have been kicked. Reason: (3 Warnings)");
	 	  format(string, sizeof(string), "[Server] %s has been kicked by Administrator %s [Reason: 3 Warnings]", oname, PlayerName(playerid));
	 	  format(string1,sizeof(string1),"[Server] %s has been kicked by Administrator %s [Reason: 3 Warnings] (%d.%d.%d || %d:%d:%d)",oname,PlayerName(playerid),t,mo,y,h,minu,s);
    	KickLog(string1);
			Kick(opfer);
		}
	}
	return 1;
}
U cant place here return 1; because U stop the command here and this not check the 3 warns

Код:
	  if(sscanf(params,"us",opfer,grund)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /warn [playerid] [reason]");
		if (!IsPlayerConnected(opfer)) return SendClientMessage(playerid, COLOR_SYSTEM, "Invalid ID!");
    PlayerData[opfer][Warns]++;
    GetPlayerName(opfer,oname,sizeof(oname));
    format(string,sizeof(string),"[Server] %s has been warned by Administrator %s [Reason: %s] (%d/3)",oname,PlayerName(playerid),grund,warnings);
    SendClientMessageToAll(COLOR_YELLOW,string);
    format(string1,sizeof(string1),"%s has been warned by Administrator %s [Reason: %s] (%d/3) (%d.%d.%d)",oname,PlayerName(playerid),grund,warnings,t,mo,y);
    WarnLog(string1);
    return 1;
	}



Re: warn command - Flo_White - 27.02.2009

thank you