Je vais pas dire que c'est simple, mais c'est simple ^^ Tu as raison de venir demander de l'aide !!!
Alors comme tu veut en priorité ta deuxième question je vais commencer par elle et finir par l'ambulance

Pour ta commande, il te faudra utiliser la fonction strtok
Code
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Tu place ce code dans ton script, en fin de script, pour pas qu'il gène

Ensuite tu suis cette forme en remplacent bien sur le code pour qu'il soit a ta façon :
Code
if (!strcmp(cmd, "/soin", true))
{
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, " /soin [ID] [valeur]");
return 1;
}
pid = strval(tmp);
if (!(IsPlayerConnected(pid)))
{
SendClientMessage(playerid, COLOR_RED, "Joueur non connecté");
return 1;
}
id = strval(tmpp);
SetPlayerHealth(pid,id);
return 1;
}
LE code fonctionnera mais il faut que tu l'aménage a ton script, tu a des news a mettre etc... Attention aux interférences avec les autres commandes !!!!
Ensuite pour que cette commande ne soit possible que quand le joueur est près d'un autre joueur, tu va utiliser ProxDetector, je te laisse le trouver

samp.com
Tu sera donc obliger de rajouter une condition, par exemple quand le joueur est près d'un autre joueur, une variable se met a 1, et dans la commande tu mettre un if(tavariable == 1) blabla ^^
On verra pour ton autre question quand celle ci sera résolu !!! ^^
Ce message a été modifié par superpompier - 26 décembre 2008 - 04:38 .