GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nesik le 10 Janvier 2011, 19:03:28

Titre: Capot de voiture
Posté par: Nesik le 10 Janvier 2011, 19:03:28
J'ai essayer d'utiliser les nouvelles fonctions 0.3c
J'ai donc commencer par faire ouvrir les capots puis les refermer
Voilà ce que j'ai fait :
[code = pawn]
if(strcmp(cmdtext, "/capot", true) == 0)
           {
             new veh = GetPlayerVehicleID(playerid);
             new engine, lights, alarm, doors, bonnet, boot, objective;
             bonnet = 0;
             if(IsPlayerInAnyVehicle(playerid))
                {
                     if(veh != INVALID_VEHICLE_ID)
                    {
                        if(bonnet == 0)
                        {
                            GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez d'ouvrir le capot de la voiture.");
                            bonnet = 1;
                        }
                        else
                        {
                            GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez de fermé le capot de la voiture.");
                            bonnet = 0;
                        }
                    }
                }
             return 1;
    }
Seul problème c'est quand je tape /capot ça l'ouvre mais quand je retape /capot ça ne le ferme pas,j'ai tout essayer avec les variables (enfin j'ai bidouiller ^^)
Si vous savez comment régler sa merci de me le dire  :D
Titre: Re : Capot de voiture
Posté par: steve76 le 10 Janvier 2011, 19:58:55
Le premier soucie, c'est que tu remets la variable bonnet à 0 à chaque fois que tu tapes la commande

Donc même si tu met la variable à 1 quand le capot est ouvert, elle repasse à 0 quand tu retapes la commande, donc ca ne marchera pas.

Ensuite comme le dit Dizzy, il faut que tu fasses un tableau, sinon tu auras des soucies.

++
Steve
Titre: Re : Capot de voiture
Posté par: cristab le 10 Janvier 2011, 20:08:20
surtout que c'est fosser completement :/

il ne faut pas regarder si le joueur a ouvert le capot mais si le capot et ouvert ou fermer du vehicule donc pourquoi playerid?? illogique


if(strcmp(cmdtext, "/capot", true) == 0)
           {
             new veh = GetPlayerVehicleID(playerid);
             new engine, lights, alarm, doors, bonnet, boot, objective;
             //bonnet = 0;
             if(IsPlayerInAnyVehicle(playerid))
                {
                     if(veh != INVALID_VEHICLE_ID)
                    {
GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                        if(bonnet == VEHICLE_PARAMS_OFF)
                        {
                           // GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez d'ouvrir le capot de la voiture.");
                           // bonnet = 1;
                        }
                        else
                        {
                           // GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez de fermé le capot de la voiture.");
                           // bonnet = 0;
                        }
                    }
                }
             return 1;
    }
j'ai commenter ce qui est a retirer
Titre: Re : Capot de voiture
Posté par: Nesik le 10 Janvier 2011, 20:17:05
Merci à vous je test tout de suite  :D
Titre: Re : Capot de voiture
Posté par: cristab le 10 Janvier 2011, 20:23:03
je vient de tester la commande elle fonctionne mais bizzarement il faut la taper 2 fois la premiere fois pour une raison que j'ignore
Titre: Re : Capot de voiture
Posté par: Nesik le 10 Janvier 2011, 20:30:43
Ouais je viens aussi de remarqué  :-\
M'enfin c'est déjà mieux que ce que j'avais avant  :lmfao
Titre: Re : Capot de voiture
Posté par: cristab le 10 Janvier 2011, 20:45:12
ue mais j'aime pas quand sa veut pas si une personne peu nous apporter sa petit lueur
Titre: Re : Capot de voiture
Posté par: Karting06 le 10 Janvier 2011, 21:45:19
Ce ne serait pas mieux ceci :

if(strcmp(cmdtext, "/capot", true) == 0)
           {
             new veh = GetPlayerVehicleID(playerid);
             new engine, lights, alarm, doors, bonnet, boot, objective;
             //bonnet = 0;
             if(IsPlayerInAnyVehicle(playerid))
                {
                     if(veh != INVALID_VEHICLE_ID)
                    {
GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                        if(bonnet == VEHICLE_PARAMS_OFF)
                        {
                           // GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez d'ouvrir le capot de la voiture.");
                           // bonnet = 1;
                        }
                        else if(bonnet == VEHICLE_PARAMS_ON)
                        {
                           // GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                            SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous venez de fermé le capot de la voiture.");
                           // bonnet = 0;
                        }
                    }
                }
             return 1;
    }


Attention je n'ai pas testé le code.
Titre: Re : Capot de voiture
Posté par: FRTORN le 11 Janvier 2011, 20:53:05
Bonsoir , je l'inclus a mon Gm et je te dis le resultat

++FRTORN++....

Me revoila , je viens de l'inclure a mon GM mais sa le fais planter , surement trop d'erreur ou de Warning aucune idée si une personne pourrai le tester pour voir
Titre: Re : Capot de voiture
Posté par: Nesik le 11 Janvier 2011, 21:05:21
Non c'est que else if c'est quand il y a au moins 3 possibilités,là il y en n'a 2  ;)
Titre: Re : Capot de voiture
Posté par: Karting06 le 11 Janvier 2011, 21:34:58
J'avais essayé :D