SA-MP Forums Archive
help warn? - 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)
+--- Thread: help warn? (/showthread.php?tid=595794)



help warn? - Tween73 - 07.12.2015

error 029: invalid expression, assumed zero "else"

CMD:warn(playerid, params[])
{
new string[128],reason[128],id;
if(sscanf(params, "uS(No Reason)[128]", id, reason)) return SendClientMessage(playerid, COLOR_WHITE,"Usage: /warn [ID][Reason]");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: Player not connected.");
if(id == playerid) return SendClientMessage(playerid, COLOR_RED, "ERROR: You cannot warn yourself.");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOR_RED, "ERROR: You cannot use this command on higher admin.");
PlayerInfo[id][warns] += 1;
{
format(string, sizeof(string), "%s has been warned by %s [Reason] %s [%i/3]", GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_RED, string);
}
else
{
format(string, sizeof(string), "%s has been kicked by %s [Reason] %s [%i/3]", GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_RED, string);
KickDelay(id);
}
return 1;
}


Respuesta: help warn? - Cepillado - 08.12.2015

Well, the problem is that this:

Код:
PlayerInfo[id][warns] += 1;
{
format(string, sizeof(string), "%s has been warned by %s [Reason] %s [%i/3]", GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_RED, string);
}
Is wrong, therefore you can't use the "else" function.

The key { must be used after an "if" statement "Playerinfo[id][warns] += 1;" is just a function, not a statement.

Also, using just "else" won't give you the result that you need, you should add the following:

Код:
if(PlayerInfo[id][warns] == 3)
{
format(string, sizeof(string), "%s has been kicked by %s [Reason] %s [%i/3]", GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_RED, string);
KickDelay(id);
}



Re: help warn? - Tween73 - 08.12.2015

Thank you Cepillado <3


Re: help warn? - Tween73 - 08.12.2015

Hey /unwarn?


Re: help warn? - Tween73 - 08.12.2015

WTF xd

Quote:

Tween73 has been warned by Tween73 [Reason] test [1/3] <-- "1"

Tween73 has been warned by Tween73 [Reason] test [2/3] <-- "2"

Tween73 has been warned by Tween73 [Reason] test [3/3] <-- "3"

Tween73 has been kicked by Tween73 [Reason] test [3/3] <-- "4"

Server closed the connection.




Respuesta: help warn? - Cepillado - 08.12.2015

Sorry, change
Код:
if(PlayerInfo[id][warns] == 3)
to
Код:
if(PlayerInfo[id][warns] == 2)



Re: help warn? - Tween73 - 08.12.2015

Thank you


Re: help warn? - Tween73 - 08.12.2015

warn wtf Only "2"?
Tween73 has been kicked by Tween73 [Reason] test [2/3]



Re: help warn? - jlalt - 08.12.2015

PHP код:
CMD:warn(playeridparams[])
{
new 
string[128],reason[128],id;
if(
sscanf(params"uS(No Reason)[128]"idreason)) return SendClientMessage(playeridCOLOR_WHITE,"Usage: /warn [ID][Reason]");
if(
id == INVALID_PLAYER_ID) return SendClientMessage(playeridCOLOR_RED"ERROR: Player not connected.");
if(
id == playerid) return SendClientMessage(playeridCOLOR_RED"ERROR: You cannot warn yourself.");
if(
PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return SendClientMessage(playeridCOLOR_RED"ERROR: You cannot use this command on higher admin.");
PlayerInfo[id][warns] += 1;
if(
PlayerInfo[id]warns] < 3) {
format(stringsizeof(string), "%s has been warned by %s [Reason] %s [%i/3]"GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_REDstring);
}
else
{
format(stringsizeof(string), "%s has been kicked by %s [Reason] %s [%i/3]"GetName(id), GetName(playerid), reason,PlayerInfo[id][warns]);
SendClientMessageToAll(COLOR_REDstring);
KickDelay(id);
}
return 
1;

That should work


Re: help warn? - Tween73 - 08.12.2015

Fix change
Quote:

if(PlayerInfo[id]warns] < 3) {

to

Quote:

if(PlayerInfo[id][warns] < 3) {