Command problem
#1

I have problem with this command, i can't set armour i wanna max armour to be 99.

Код:
CMD:setarmour(playerid,params[])
{
	if(pInfo[playerid][pLevel] >= 2)
	{
		new id,amount;
        if(sscanf(params, "ui",id,amount)) return SendClientMessage(playerid, yellow, "Usage: /Setarmour <Player ID/Part of nick> <Amount> (1-100)!");
        if(IsPlayerConnected(id))
		{
            if(amount > 0 || amount < 100)return SendClientMessage(playerid, red, "Invalid amount!");
			format(Jstring, sizeof(Jstring), "You have set %s's Armour to '%d'", GetName(id), amount);
			SendClientMessage(playerid,yellow,Jstring);
			format(Jstring,sizeof(Jstring),"Admin '%s' has set your Armour to '%d'", GetName(playerid), amount);
			SendClientMessage(id,yellow,Jstring);
			SetPlayerArmour(id, amount);
			CommandToAdmins(playerid,"setarmour");
			return 1;
	    }
		else return ShowMessage(playerid, red, 2);
	}
	else return ShowMessage(playerid, red, 1);
}
Reply
#2

Those it give u an error or... and why dont u just put the amount 0 - 99 then?
Reply
#3

if(amount > 0 && amount < 100)
Reply
#4

Is that not saying if the amount is greater than 0 or less than 100 it's invalid?

Код:
 
  if(amount > 0 || amount < 100)
Shouldn't it be this way round?
Код:
  if(amount < 0 || amount > 99)
Reply
#5

Код:
CMD:setarmour(playerid,params[])
{
		if(pInfo[playerid][pLevel] < 2)return ShowMessage(playerid, red, 1);
		new id,amount;
        if(sscanf(params, "ui",id,amount)) return SendClientMessage(playerid, yellow, "Usage: /Setarmour <Player ID/Part of nick> <Amount> (1-100)!");
        if(!IsPlayerConnected(id))	return ShowMessage(playerid, red, 2);
        if(  0 > amount > 100)return SendClientMessage(playerid, red, "Invalid amount!");
		format(Jstring, sizeof(Jstring), "You have set %s's Armour to '%d'", GetName(id), amount);
		SendClientMessage(playerid,yellow,Jstring);
		format(Jstring,sizeof(Jstring),"Admin '%s' has set your Armour to '%d'", GetName(playerid), amount);
		SendClientMessage(id,yellow,Jstring);
		SetPlayerArmour(id, amount);
		CommandToAdmins(playerid,"setarmour");
		return 1; 
}
Have fun!
Reply
#6

Quote:
Originally Posted by CSLangdale
Посмотреть сообщение
Is that not saying if the amount is greater than 0 or less than 100 it's invalid?

Код:
 
  if(amount > 0 || amount < 100)
Shouldn't it be this way round?
Код:
  if(amount < 0 || amount > 99)
Thanks, fixed rep+
Reply
#7

By the way, armor value is a float like health.
Reply
#8

PHP код:
CMD:setarmour(playerid,params[])
{
    if(
pInfo[playerid][pLevel] >= 2)
    {
        new 
idFloat:amount;
        if(
sscanf(params"uf",id,amount)) return SendClientMessage(playeridyellow"Usage: /Setarmour <Player ID/Part of nick> <Amount> (1-100)!");
        if(
IsPlayerConnected(id))
        {
            if(
amount <= 0.0 || amount 100.0) return SendClientMessage(playeridred"Invalid amount!");
            
format(Jstringsizeof(Jstring), "You have set %s's Armour to '%d'"GetName(id), amount);
            
SendClientMessage(playerid,yellow,Jstring);
            
format(Jstring,sizeof(Jstring),"Admin '%s' has set your Armour to '%d'"GetName(playerid), amount);
            
SendClientMessage(id,yellow,Jstring);
            
SetPlayerArmour(idamount);
            
CommandToAdmins(playerid,"setarmour");
            return 
1;
        }
        else return 
ShowMessage(playeridred2);
    }
    else return 
ShowMessage(playeridred1);

new idiot_count = 5;
Reply
#9

pawn Код:
CMD:setarmour(playerid, params[])
{
    if(pInfo[playerid][pLevel] < 2) return ShowMessage(playerid, red, 1);
    new id, Float:amount;
    if(sscanf(params, "uf", id, amount)) return SendClientMessage(playerid, yellow, "Usage: /Setarmour <Player ID/Part of nick> <Amount> (0-99)!");
    if(!IsPlayerConnected(id)) return ShowMessage(playerid, red, 2);
    if(!(0.0 <= amount <= 99.0)) return SendClientMessage(playerid, red, "Invalid amount!");
    format(Jstring, sizeof(Jstring), "You have set %s's Armour to '%0.2f'", GetName(id), amount);
    SendClientMessage(playerid, yellow, Jstring);
    format(Jstring, sizeof(Jstring), "Admin '%s' has set your Armour to '%0.2f'", GetName(playerid), amount);
    SendClientMessage(id, yellow, Jstring);
    SetPlayerArmour(id, amount);
    CommandToAdmins(playerid, "setarmour");
    return 1;
}
idiot_count++;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)