What am I doing wrong? (CMD:givearmour)
#1

Script:
Код:
public OnPlayerCommandText(playerid, parims[])
{
CMD:givearmour(playerid, params[])
new id Float: amount;
	if(sccanf(params, "uf", id, amount))
	    return SendClientMessage(playerid, -1, "SYNTAX: /givearmour [id] [amount]");

	SetPlayerArmour(id, amount);
	Player[id][amount] = amount;
	return 1;
}
Errors:
Код:
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(92) : error 025: function heading differs from prototype
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(94) : error 017: undefined symbol "givearmour"
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(95) : error 001: expected token: ";", but found "new"
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(95) : error 001: expected token: ";", but found "-label-"
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(95) : warning 221: label name "Float" shadows tag name
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(95) : error 017: undefined symbol "amount"
C:\Users\Lee\Desktop\BTRGW\gamemodes\BCLDM.pwn(95) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


6 Errors.
Reply
#2

You don't put ZCMD commands in OnPlayerCommandText, you put them outside callbacks.
Reply
#3

You forgot to put a comma, and why are you putting ZCMD commands on a callback
pawn Код:
new id Float: amount;
should be
pawn Код:
new id, Float:amount;
Reply
#4

Quote:
Originally Posted by Mean
Посмотреть сообщение
You don't put ZCMD commands in OnPlayerCommandText, you put them outside callbacks.
Tried that, still no luck :/
Reply
#5

CMD:givearmour(playerid, params[])
{
new id, Float: amount;
if(sccanf(params, "uf", id, amount))
return SendClientMessage(playerid, -1, "SYNTAX: /givearmour [id] [amount]");

SetPlayerArmour(id, amount);
Player[id][amount] = amount;
return 1;
}
Add that anywhere in your script, not in OnPlayerCommandText
Reply
#6

Quote:
Originally Posted by MattSlater
Посмотреть сообщение
CMD:givearmour(playerid, params[])
Код:
{
new id, Float: amount;
	if(sccanf(params, "uf", id, amount))
	    return SendClientMessage(playerid, -1, "SYNTAX: /givearmour [id] [amount]");

	SetPlayerArmour(id, amount);
	Player[id][amount] = amount;
	return 1;
}
Add that anywhere in your script, not in OnPlayerCommandText
One warning:
Код:
C:\Users\Lee\Desktop\BTRGW\gamemodes\testing.pwn(253) : warning 203: symbol is never used: "givearmour"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Reply
#7

Jonsey same mah problem!
Reply
#8

Try this:

pawn Код:
CMD:givearmour(playerid, params[])
{
    new id, Float:amount;
    if(sscanf(params, "uf", id, amount)){ return SendClientMessage(playerid, -1, "[SYTAX] /givearmour [Player ID] [Amount]"); }
   
    SetPlayerArmour(id, amount);
    Player[id][armour] = amount;
    return 1;
}
Your mistakes were:

You put CMD inside of a callback (That's wrong!).
(playerid, parims[]) ? It's params[].
Forgot "{" after CMD line.
new id Float: amount; - Forgot "," after "id".
It's sscanf, not sccanf.
Reply
#9

Quote:
Originally Posted by SiDiCeR
Посмотреть сообщение
Try this:

pawn Код:
CMD:givearmour(playerid, params[])
{
    new id, Float:amount;
    if(sscanf(params, "uf", id, amount)){ return SendClientMessage(playerid, -1, "[SYTAX] /givearmour [Player ID] [Amount]"); }
   
    SetPlayerArmour(id, amount);
    Player[id][armour] = amount;
    return 1;
}
Your mistakes were:

You put CMD inside of a callback (That's wrong!).
(playerid, parims[]) ? It's params[].
Forgot "{" after CMD line.
new id Float: amount; - Forgot "," after "id".
It's sscanf, not sccanf.
Still get this error with that mate:

Код:
C:\Users\Lee\Desktop\BTRGW\gamemodes\testing.pwn(252) : warning 203: symbol is never used: "givearmour"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Reply
#10

What line is "252" ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)