#1

Hello!

This command, works just fine:

Quote:


if(strcmp("/SetHealth", cmd, true) == 0)
{
new tmp1[256];
new tmp2[256];

tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);

new id = strval(tmp1);
new health = strval(tmp2);

new string[250];

SetPlayerHealth(id, health);

GetPlayerName(id, iName, sizeof(iName));

format(string, sizeof(string), "You've set %s (%d)'s Health to: %d.", iName, id, health);
SendClientMessage(playerid, 0x33AA33AA, string);

}
return 1;
}
Well, here's the thing:

You can set somebody's health to: 10, 25, 54, 61, 67, 73, 81, etc...
But what about: 10.5, 25.6, 54.4, 61.7, 73.2, 81.3, etc... ?

I need an option which is able to set Player's health/armour/etc... To a decimal number, for an example 23.3.

Is it even posible, and if You could post an example here, thank You!

- TheViking
Reply
#2

Use Floatstr instead of strval in the health variable.. and make it a float..
Reply
#3

Hmmm...

I'm still new to this, and it's a bit complicated for me.
Could You please post an example, I would be really appreciative, please. :/
Reply
#4

pawn Код:
if(strcmp("/SetHealth", cmd, true) == 0)
{
    new tmp1[256];
    new Float:tmp2[256];

    tmp1 = strtok(cmdtext, idx);
    tmp2 = strtok(cmdtext, idx);

    new id = strval(tmp1);
    new health = FloatStr(tmp2);

    new string[250];

    SetPlayerHealth(id, health);

    GetPlayerName(id, iName, sizeof(iName));

    format(string, sizeof(string), "You've set %s (%d)'s Health to: %d.", iName, id, health);
    SendClientMessage(playerid, 0x33AA33AA, string);
    return 1;
}
Try this..
Reply
#5

Nope, doesn't work.
Reply
#6

Don't use strcmp it's awful, use ZCMD is a faster command processor.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)