GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nico_Torres le 02 Août 2009, 18:22:34

Titre: [Resolu]Demande de script /heal
Posté par: Nico_Torres le 02 Août 2009, 18:22:34
Bonjour,


voilà, est ce que quelqu'un pourrait me passer un script pour que, a un endroit, on puisse taper une commande du style /heal pour avoir la vie a fond et un /me mange ?


Les endroits:
- Devant le frigo dans la maison de CJ:

(http://weedarr.wdfiles.com/local--files/interior/Cjshouse.jpg)


- Devant le frigo de cet interieur:

(http://weedarr.wdfiles.com/local--files/interior/Ganghouse.jpg)

- La derriere la porte y a un frigo, juste devant:

(http://weedarr.wdfiles.com/local--files/interior/Crackden.jpg)


Merci d'avance !


Resolu, script:

if(strcmp(cmd,"/heal",true)==0)
{//accolade 1
if(IsPlayerConnected(playerid))
{//acc 2
  if(PlayerToPoint(3.0,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
    { // acc 3
        SetPlayerArmour(playerid, 100); // armure =100
          SetPlayerHealth(playerid, 50); // GET = Enregistré sa santé, Set = mettre sa santé
GetPlayerName(playerid, sendername, sizeof(sendername)); // Prend le nom du joueur
format(string, sizeof(string), "* %s mange des Chip's.", sendername);// Enregistre le message...
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//... et l'écrit en violet dans le chat
return 1;
    } // acc 3
}//acc 2
}//acc 1
Titre: Re : Demande de script /heal
Posté par: Jerome02 le 02 Août 2009, 18:38:08
pour manger tu peu faire un truque du genre :

if(strcmp(cmd,"/mangerpizza",true)==0)
{
   if(IsPlayerConnected(playerid))
   {
       if(PlayerToPoint(3.0,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
       {
        new Float:health;
                GetPlayerHealth(playerid,health);
                if (health > 100)
                {
                SendClientMessage(playerid,COLOR_GREY,"Vous avez plus faim pour manger une autre pizza");
              return 1;
           }
              new Float:hp;
           GetPlayerHealth(playerid,hp);
           SetPlayerHealth(playerid,hp+5);
return 1;
}


pour /heal c'est presque la même chose  ;)

Titre: Re : Demande de script /heal
Posté par: Nico_Torres le 02 Août 2009, 19:50:13
Merci mais en fait le problème que j'ai, c'est d'avoir un... une sorte de zone ou on peux faire la commande, pas un point net, tu sais comment faire ?
Titre: Re : Demande de script /heal
Posté par: Ssk le 03 Août 2009, 00:05:57
PlayerToPoint


Te permet de faire ce que tu demande ( Zone en Cylindre )
Titre: Re : Demande de script /heal
Posté par: ApocKalipsS le 03 Août 2009, 19:21:31
Change le 3.0, plus il est élevé, plus le joueur peut taper la commande loin des coordonées.
Titre: Re : Demande de script /heal
Posté par: Nico_Torres le 03 Août 2009, 19:40:15
Mais,

if(strcmp(cmd,"/heal",true)==0)
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerToPoint(50,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
        {
        SetPlayerArmour(playerid, 100);
                    SetPlayerHealth(playerid, 50);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s mange des Chip's.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}

Est ce que ce code est ok ? Enfin, si je vais a la coordoné et que je tape /heal sa me donnera 100 d'armure et 50 point de vie ? et sa fera /me mange des chips ?
Titre: Re : Demande de script /heal
Posté par: Lychaos le 03 Août 2009, 19:43:17
Heuu y'auras peut etre un prob si tu met pas les calback x=)
Titre: Re : Demande de script /heal
Posté par: Nico_Torres le 03 Août 2009, 20:08:36
{
if(strcmp(cmd,"/heal",true)==0)
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerToPoint(50,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
        {
        SetPlayerArmour(playerid, 100);
                    SetPlayerHealth(playerid, 50);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s mange des Chip's.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}

C'est ok ca ?
Titre: Re : Demande de script /heal
Posté par: Lychaos le 03 Août 2009, 20:16:31
non :boulz

Tiens, et prend note  :rules  :lmfao

if(strcmp(cmd,"/heal",true)==0)
{ // accollade 1
   if(IsPlayerConnected(playerid))
   { // accollade 2
       if(PlayerToPoint(50,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
       { // accollade 3
        SetPlayerArmour(playerid, 100); // armure =100
                    SetPlayerHealth(playerid, 50); // santé=50
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s mange des Chip's.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
} // accollade 3
            } // accollade 2
       } // accollade 1

Te manquais une accollade.. Il faut autant de "{" que "}" dans une fonction
Titre: Re : Demande de script /heal
Posté par: cristab le 03 Août 2009, 20:28:10
attention avec ceci SetPlayerHealth(playerid, 50); si votre joueur a 90 de vie il se retrouveras avec 50 utiliser le GetPlayerHealth


PS l'accolade avant if(strcmp(cmd,"/heal",true)==0) je voit ce qu'elle fait la
Titre: Re : Demande de script /heal
Posté par: Azz45 le 03 Août 2009, 20:44:48
Je voulais le dire cristab  >:(

C'est pour ça que je t'es demandé sur msn afin d'être sur.
Titre: Re : Demande de script /heal
Posté par: Lychaos le 03 Août 2009, 20:49:14
Ah oui lol, et comme un c** je fait rien, mais en plus, je complete "I'm a :boulet"
Titre: Re : Demande de script /heal
Posté par: Nico_Torres le 03 Août 2009, 20:55:14
if(strcmp(cmd,"/heal",true)==0)
    if(IsPlayerConnected(playerid))
        if(PlayerToPoint(50,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
        { // accollade 4
        SetPlayerArmour(playerid, 100); // armure =100
                    GetPlayerHealth(playerid, 50); // santé=50
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s mange des Chip's.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
    } // accollade 4

Ok, sa c'est bon alors ?
Titre: Re : Demande de script /heal
Posté par: ApocKalipsS le 03 Août 2009, 21:02:06
Toujours des accolades après les if !

iif(strcmp(cmd,"/heal",true)==0)
{//accolade 1
if(IsPlayerConnected(playerid))
{//acc 2
  if(PlayerToPoint(3.0,playerid,1357.7896,-1739.4857,13.5469)) // l'endroit que tu veut faire la commande
    { // acc 3
        SetPlayerArmour(playerid, 100); // armure =100
          SetPlayerHealth(playerid, 50); // GET = Enregistré sa santé, Set = mettre sa santé
GetPlayerName(playerid, sendername, sizeof(sendername)); // Prend le nom du joueur
format(string, sizeof(string), "* %s mange des Chip's.", sendername);// Enregistre le message...
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//... et l'écrit en violet dans le chat
return 1;
    } // acc 3
}//acc 2
}//acc 1
Titre: Re : Demande de script /heal
Posté par: cristab le 03 Août 2009, 21:30:33
oula je repere des catastrophe ^^

new Float:Vie;
Vie = GetPlayerHealth(playerid,Vie);
SetPlayerHealth(playerid, Vie + 50);

Voila en grios ce qu'il faut utiliser
Titre: Re : [Resolu]Demande de script /heal
Posté par: Lychaos le 03 Août 2009, 21:37:03
Ah ouai mais a ce moment la faut mettre un if health<100

car sinon le joueur va monter dans les 500 pdv xD
Titre: Re : [Resolu]Demande de script /heal
Posté par: cristab le 03 Août 2009, 21:44:25
aussi mais je ne vait pas dire tout les reponse ^^
Titre: Re : [Resolu]Demande de script /heal
Posté par: ApocKalipsS le 03 Août 2009, 21:49:32
Ah, j'avais oublié qu'il voulait rajouté.  :dry
Titre: Re : [Resolu]Demande de script /heal
Posté par: Lychaos le 03 Août 2009, 22:12:19
Mais heuuu, admettons que le joueurs ait 70 pdv (qui est inferieur a 100) il fait /heal, hop, il gagne 50 du coup il arrive a 120pdv

Comment y remedier? :O
Titre: Re : [Resolu]Demande de script /heal
Posté par: S!m le 04 Août 2009, 00:19:56
Salut,

tu n'as qu;a ajouter un petit test si la quantité de vie totale dépasse 100 et alors le mettre à 100 au lieu de, par exemple, 120

++Sim++
Titre: Re : [Resolu]Demande de script /heal
Posté par: Lychaos le 04 Août 2009, 00:21:48
Ahh Oui, je voit par exemple faire

If health>100
  SetPlayerHealt = 100

Merci de m'avoir mit sur la voie!
Titre: Re : [Resolu]Demande de script /heal
Posté par: cristab le 04 Août 2009, 00:26:31
comme a dit Sim ce genre la en gros


new Float:Vie;
Vie = GetPlayerHealth(playerid,Vie);
if(Vie == 100)
{
SendClientMessage(playerid,couleur,"tu n'es pas faim!");
}
if(Vie >50)
{
SetPlayerHealth(playerid, 100);
}
else
{
SetPlayerHealth(playerid, Vie + 50);
}

Quelque chose pret

Pour ton aide dans la sign sa etait repondu mais c'est pas la peine de le rappeler si on voit si on sait on repond sinon on laisse