if(strcmp(cmd, "/sethp", true) == 0)
{
new tmp1[128], tmp2[128];
tmp1 = strtok(cmd, idx);
tmp2 = strtok(cmd, idx);
if(!strlen(tmp1))
{
SendClientMessage(playerid, 0x555555AA, "Usage: /sethp <id> <hpamount>");
return 1;
}
if(!strlen(tmp2))
{
SendClientMessage(playerid, 0x555555AA, "Usage: /sethp <id> <hpamount>");
return 1;
}
new id, Float:hpamount;
id = strval(tmp1);
hpamount = strval(tmp2);
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player not connected");
return 1;
}
new name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
new str1[128], str2[128];
GetPlayerName(playerid, name1, sizeof(name2));
GetPlayerName(id, name2, sizeof(name2));
SetPlayerHealth(id, hpamount);
format(str1, sizeof(str1), "%s(%d) has set your health to %f !", name1, playerid, hpamount);
format(str2, sizeof(str2), "You have set %s's(%d) health to %f", name2, id, hpamount);
SendClientMessage(id, 0xAAAADDAA, str1);
SendClientMessage(playerid, 0x30EE3000, str2);
return 1;
}
if(strcmp(cmd, "/sethp", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0x555555AA, "Usage: /sethp <id> <hpamount>");
return 1;
}
new playa;
new health;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
health = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
SetPlayerHealth(playa, health);
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "Attention: %s a donné %d% de santé à %s", sendername, health, giveplayer);
ABroadCast(COLOR_YELLOW,string,1);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Vous n'êtes pas admin !");
}
}
return 1;
}
#define isnull(%0) (%0[0] == '\0' || (%0[1] == '\0' && %0[0] == '\1'))
tmp1 = strtok(cmd, idx);
tmp2 = strtok(cmd, idx);
tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
c'est pas inclus dans sscanf ça ?
Bonjour, Ci-dessous, tu lui demande d'extraire cmd comme étant la répétition de la commande /sethp !Code: [Sélectionner]tmp1 = strtok(cmd, idx);
tmp2 = strtok(cmd, idx);
Donc,Code: [Sélectionner]tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
La variable cmdtext est de base dans la callbacks et permet en outre de garder tes différentes données que tu à exécuté pour L'ID et le montant de la santé !
Voilà, Une fois modifier, strlen va en quelques sortes récupérer les données stocker dans cmdtext et les envoyées .
??? D0os-Nox :-\