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
-
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
-
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
-
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
-
Merci à vous je test tout de suite :D
-
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
-
Ouais je viens aussi de remarqué :-\
M'enfin c'est déjà mieux que ce que j'avais avant :lmfao
-
ue mais j'aime pas quand sa veut pas si une personne peu nous apporter sa petit lueur
-
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.
-
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
-
Non c'est que else if c'est quand il y a au moins 3 possibilités,là il y en n'a 2 ;)
-
J'avais essayé :D