dcmd_healme(playerid, params[])
{
if(sscanf(params, "s", playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");
else
{
SetPlayerHealth(playerid, 100.0);
SendClientMessage(playerid, 0x00FF00AA, "You have been healed");
return 1;
}
}
if(sscanf(params, " s", playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");
dcmd_heal(playerid, params[])
{
new id;
if (strlen(params))
{
id = strval(params);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}
dcmd_healme(playerid, params[])
{
new
id;
if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");
else
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
return 1;
}
}
if(sscanf(params, "s", playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");
if(sscanf(params, "u", playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");
cmd_healme(playerid, params[])
{
if(isnull(params))
{
SetPlayerHealth(playerid, 100.0);
SendClientMessage(playerid, 0x00FF00AA, "You have been healed");
}
else return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");//if he adds ANYTHING after healme this will come up.
return 1;
}
I think you need to change this line
pawn Code:
pawn Code:
|
and.. How to:
If the number is more than 100 and less than 1 then this should return:
"SendClientMessage(playerid, 0xFF0000FF, "ERRROR: Max: 100 Minimum: 1);"
Example: "/heal 1 1000"
1000 = Over the maximum (100) so then the Message (SendClientMessage(playerid, 0xFF0000FF, "ERRROR: Max: 100 Minimum: 1);) shuld return...
Something Like:
else if(amount <= 1 && amount >= 100) return SendClientMessage(playerid, 0xFF0000FF, "ERRROR: Max: 100 Minimum: 1");
cmd_healme(playerid, params[])
{
new pID, pHealth;
if(!sscanf(params, "ui",pID, pHealth))
{
if(IsPlayerConnected(pID))
{
if(pHealth > 1 || pHealth < 101)
{
SetPlayerHealth(pID, pHealth);
SendClientMessage(pID, 0x00FF00AA, "You have been healed");
}
else return SendClientMessage(playerid, 0xFFFFFFFF,"Error: Please use |Max|: 100, |Min|: 1");
}
else return SendClientMessage(playerid, 0xFFFFFFFF,"This player is not online.");
}
else return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/healme\"");//if he adds ANYTHING after healme this will come up.
return 1;
}
dcmd_setplayerhealth(playerid, params[])
{
new targetid, Float:amount;
if(sscanf(params, "uf", targetid, amount)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/setplayerhealth <playerid> <amount>\"");
if(targetid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
{
if(amount > 1 || amount < 101)
{
new playername[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(targetid, targetname, sizeof(targetname));
format(string, sizeof(string), "%s(%d) set %s(%d)'s health to %.0f", targetname, targetid, playername, playerid, amount);
SendClientMessageToAll(0x50FF05FF, string);
SetPlayerHealth(playerid, amount);
} else return SendClientMessage(playerid, 0xFFFFFFFF,"Error: Please use |Max|: 100, |Min|: 1");
}
return 1;
}
Actually its < 100 and not < 101 because it'll count 101 to. You have to add <= 101 for that
Also I dont think amount needs to be a float |
if(amount >= 1 || amount <= 100)
Actually its < 100 and not < 101 because it'll count 101 to. You have to add <= 101 for that
Also I dont think amount needs to be a float |
if(amount > 1 || amount < 101)
if(amount > 1 && amount < 101)
dcmd_setplayerhealth(playerid, params[])
{
new targetid, Float:amount;
if(sscanf(params, "uf", targetid, amount)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/setplayerhealth <playerid> <amount>\"");
else if(targetid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
{
if(amount > 1 && amount < 101)
{
new playername[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(targetid, targetname, sizeof(targetname));
format(string, sizeof(string), "%s(%d) set %s(%d)'s health to %.0f", targetname, targetid, playername, playerid, amount);
SendClientMessageToAll(0x50FF05FF, string);
SetPlayerHealth(playerid, amount);
return 1;
} else return SendClientMessage(playerid, 0xFFFFFFFF,"Error: Please use |Max|: 100, |Min|: 1");
}
}
Because you declared your "amount" as a Float. So it has to be a decimal number and 20 is not decimal.
So just don't use floats in this command, it's much simpler. |
dcmd_setplayerhealth(playerid, params[])
{
new targetid,/*Float: - This you dont need*/ amount;
if(sscanf(params, "ui", targetid, amount)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/setplayerhealth <playerid> <amount>\"");
else if(!IsPlayerConnected(targetid)/*targetid == INVALID_PLAYER_ID - I suggest you to use IsPlayerConnected since there InvalidPlayerID can be bugged*/) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
{
if(amount > 1 && amount < 101)
{
new playername[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(targetid, targetname, sizeof(targetname));
format(string, sizeof(string), "%s(%d) set %s(%d)'s health to %.0f", targetname, targetid, playername, playerid, amount);
SendClientMessageToAll(0x50FF05FF, string);
SetPlayerHealth(playerid, amount);
return 1;
} else return SendClientMessage(playerid, 0xFFFFFFFF,"Error: Please use |Max|: 100, |Min|: 1");
}
}
dcmd_setplayerhealth(playerid, params[])
{
new targetid, Float:amount;
if(sscanf(params, "uf", targetid, amount)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/setplayerhealth <playerid> <amount>\"");
if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, "Player not found");
if(amount > 1 && amount < 101)
{
new playername[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(targetid, targetname, sizeof(targetname));
format(string, sizeof(string), "%s(%d) set %s(%d)'s health to %.0f", targetname, targetid, playername, playerid, amount);
SendClientMessageToAll(0x50FF05FF, string);
SetPlayerHealth(playerid, amount);
}
else SendClientMessage(playerid, 0xFFFFFFFF,"Error: Please use |Max|: 100, |Min|: 1");
return 1;
}