GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nawak-Unknown le 15 Mai 2011, 20:53:27

Titre: [AIDE] Pour fonction /sethealth ...
Posté par: Nawak-Unknown le 15 Mai 2011, 20:53:27
Bonjour,

J'aurais besoin de votre aide, je voudrais crée une fonction de soin comme celle la -> /sethealth "1" "28". 28 etant le nombre de vie qu'auras le joueur (avec SetPlayerHealth) et 1 l'ID du joueur.
Exemple :
 Un joueur tape /sethealth 1 28
 Le joueur qui auras l'ID 1 auras par la suite 28 vie.

Merci.
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Xartrick le 15 Mai 2011, 20:55:39
Utilise la fonction strtok

http://wiki.sa-mp.com/wiki/Strtok (http://wiki.sa-mp.com/wiki/Strtok)
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Nawak-Unknown le 15 Mai 2011, 21:09:15
Merci de ta reponse,
Je n'y arrive pas ... Je crois que le tuto utilise une ancienne version de PAWN ... Pourais-tu m'expliquer comment strtock fonctionne ? Ou alors me donner un bout de script assez simple qui utilise cette fonction ?
Merci.
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Xartrick le 15 Mai 2011, 21:10:29
Sur le Wiki, un tutoriel est présent, je n'en vois pas l'utilité, appart te faire le code.
Et pour l'ancienne version de PAWN, rien à voir ;).
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: cristab le 15 Mai 2011, 21:10:43
la commande toute prete sur le bas de cette page ^^

http://wiki.sa-mp.com/wiki/Fast_Commands (http://wiki.sa-mp.com/wiki/Fast_Commands)
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Nawak-Unknown le 15 Mai 2011, 21:22:47
Pour presque tout les script de la page ca me dit :
C:\Users\Dylan\Desktop\samp03csvr_R2-2_win32\gamemodes\Nawak.pwn(91) : error 017: undefined symbol "dcmd"
C:\Users\Dylan\Desktop\samp03csvr_R2-2_win32\gamemodes\Nawak.pwn(244) : warning 203: symbol is never used: "dcmd_heal"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Xartrick le 15 Mai 2011, 21:28:36
Utilise tu dcmd ?

http://forum.sa-mp.com/showthread.php?t=48239 (http://forum.sa-mp.com/showthread.php?t=48239)
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: cristab le 16 Mai 2011, 10:32:42
le copier coller ne t'apprendras rien
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Nawak-Unknown le 17 Mai 2011, 17:55:26
cristab -> Je sais que le copier-coller ne m'apprendras rien, mais si il ne marche pas, ca ne sert a rien de l'apprendre.
Xartick -> Je n'en sais rien, je ne sais pas ce que c'est, je voudrait juste une simple fonction de /heal ...  :wall

Merci de vos réponses :)
Titre: Re : Re : [AIDE] Pour fonction /sethealth ...
Posté par: vitry_selkato le 21 Mai 2011, 12:13:23
cristab -> Je sais que le copier-coller ne m'apprendras rien, mais si il ne marche pas, ca ne sert a rien de l'apprendre.
Xartick -> Je n'en sais rien, je ne sais pas ce que c'est, je voudrait juste une simple fonction de /heal ...  :wall

Merci de vos réponses :)


   if (!strcmp(cmd, "/heal", true))
   {
   new pid,id,tmp[256],tmpp[256];
   tmp = strtok(cmdtext, idx);
   tmpp = strtok(cmdtext, idx);
   if   (!strlen(tmp))
   {
   SendClientMessage(playerid, COLOR_GREEN, "USAGE: /heal [playerid] [health]");
   return 1;
   }
   pid = strval(tmp);
   if    (!(IsPlayerConnected(pid)))
   {
   SendClientMessage(playerid, COLOR_RED, "Mauvais player apuis sur TAB pour voir le bon ID");
   return 1;
   }
   id = strval(tmpp);
   GetPlayerName(pid, pidName, sizeof(pidName));
   format(tmp, sizeof(tmp), "Ta régénéré %s (ID:%d)",pidName,pid);
   SendClientMessage(playerid, 0xAA3333AA, tmp);
   GetPlayerName(playerid, AdminName, sizeof(AdminName));
   format(tmp, sizeof(tmp), "%s ta régénéré %d",AdminName,id);
   GameTextForPlayer(pid, tmp, 1000,1);
   SetPlayerHealth(pid,id);
   return 1;
   }
    else if   (!strcmp(cmd, "/setarmour", true))
   {
   new pid,id,tmp[256],tmpp[256];
   tmp = strtok(cmdtext, idx);
   tmpp = strtok(cmdtext, idx);
   if   (!strlen(tmp))
   {
   SendClientMessage(playerid, COLOR_GREEN, "USAGE: /armour [playerid] [armour]");
   return 1;
   }
   pid = strval(tmp);
   if    (!(IsPlayerConnected(pid)))
   {
   SendClientMessage(playerid, COLOR_RED, "Mauvais player apuis sur TAB pour voir le bon ID");
   return 1;
   }
   id = strval(tmpp);
   GetPlayerName(pid, pidName, sizeof(pidName));
   format(tmp, sizeof(tmp), "Tu as donner a %s (ID:%d) armure %d",pidName,pid,id);
   SendClientMessage(playerid, 0xAA3333AA, tmp);
   GetPlayerName(playerid, AdminName, sizeof(AdminName));
   format(tmp, sizeof(tmp), "%s Ta donné une armure %d",AdminName,id);
   GameTextForPlayer(pid, tmp, 1000,1);
   SetPlayerArmour(pid,id);
   return 1;
   }

Tu va surment tomber sur des Erreures , mais rien de bien compliquer il faut definir les couleur #define COLOR_RED 0xla couleur html que tu trouve sur google =D ou sur sa-mp wiki .
Titre: Re : [AIDE] Pour fonction /sethealth ...
Posté par: Ssk le 21 Mai 2011, 12:48:47
vitry_selkato, on met les scripts entre les balises code, les scripts de plus de 20 lignes sont à mettre sur le pastebin de GTAOnline !
http://www.gtaonline.fr/forums/index.php/topic,12060.0.html (http://www.gtaonline.fr/forums/index.php/topic,12060.0.html)
Titre: Re : Re : [AIDE] Pour fonction /sethealth ...
Posté par: Aegoss le 21 Mai 2011, 19:21:24
cristab -> Je sais que le copier-coller ne m'apprendras rien, mais si il ne marche pas, ca ne sert a rien de l'apprendre.
Xartick -> Je n'en sais rien, je ne sais pas ce que c'est, je voudrait juste une simple fonction de /heal ...  :wall

Merci de vos réponses :)

Te calmer est ton obligation, sinon une sentence tu recevras !