GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Azz45 le 19 Octobre 2008, 19:20:08
-
Salut , mes chéres compatriotes
Je vais vous expliquer mon souci :
Quand je me met Chef du FBI ou autres et que je monte dans une voiture qui appartient au FBI
sa me dit Vous n'avez pas les clefs comment faire pour que chaque faction es ces voitures et que si nous sommes membre ou leader sa nous mettent pas le ' Vous n'avez pas les clefs de ce véhicule '
++ My
-
montre ton script lol (je débute mais sur sa on ma aider donc j'aide)
-
salut,
pour associer chaque véhicule a une faction, tu récupère leur ID (des véhicules) et puis cherche le code ou il y a le truc des clefs
on récupère les id avec des array (tu verra pourquoi)
alors tu déclare les variables/constantes
#define NBVEH_FBI 100 //le nombre dew véhicules du FBI
new VehicleFBI[NBVEH_FBI];
puis dans OnGameModeInit
VehicleFBI[0] = AddStaticVehicle(543,345.34,345.676,74.46534,123,-1,-1);
VehicleFBI[1] = AddStaticVehicle(543,3.34,87.454,74.46534,123,-1,-1);
VehicleFBI[2] = AddStaticVehicle(543,3245.34,644.676,74.46534,123,-1,-1);
VehicleFBI[3] = AddStaticVehicle(543,1345.34,35.676,74.46534,123,-1,-1);
....
puis tu fais des test du genre (ça devrait être dans OnPlayerEnterVehicle ou OnPlayerStateChange:
if(gteam[playerid] = TEAM_FBI){
for(new i; i < NBVEH_FBI; i++){
if(vehicleid == VehiculeFBI[i])return 1;
}
}
et puis je crois que c'est a peu près ça.... ;)
++Sim++
-
y a encore beaucoup plus simple avec les carid dans les newcar tu recreer un carid c'est a dire IsaChefFBI
tu definit l'id de ton vehicle cad laligne ou ilest dans tes addstaticvehcileex.
Une fois fait sa tu fait if( newcar == ton carid de ta voitrue)
et en dessous tu met if !playerinfo[playerid][pleader] = IDFBI )
et tu met remove player pour que si il est pas chef du fbi il soit ejecter.
-
je trouve pas ca plus simple,
ta reprit exactement la meme chose mais sans les array pour les voitures de la faction, tu remarquera que dans son cas, il y a plus d'un véhicule par faction... je ne voit pas le fbi avec un seul camion...
++Sim++
-
Merci de vos aide je vais essayé sa :lock
-
hein je tes pas compris justement les carid et pas mal la dessus tu peut designer plusieur vehicule perso je marche avec sa et j'ai pas mal de vehicule de faction donc tu peut facilment avoir les carid et avoir plusieur voiture par faction.
-
ouais,
mais quand tu arrive pour faire le test sur tous les véhicules, il faut que tu les nomme tous.... genre
if(vehicleid == vehicleFbi1 || vehicleid == vehicleFbi2 || vehicleid == vehicleFbi3 || vehicleid == vehicleFbi4 etc....
tandis qu'avec un array, tu fais une simple boucle...
++Sim++
-
non pas besoin tu as un public carid comme isacop
public IsACopCar(carid)
{
if((carid == 1 || carid == 2 || carid == 3 || carid == 4))
{
return 1;
}
return 0;
}ensuite pour le remove player.
if(IsACopCar(newcar))
{
if(IsACop(playerid)) { }// etant donner playerinfo pmember,pleader
else { RemovePlayerFromVehicle(playerid); }
}
et si on veut on peut rajouter un texte.
Et si ses pas definit vous faite sa par exemple pour un gang.
if(newcar == 18 || newcar == 19 || newcar == 33 || newcar == 34)// les newcar etant les ligne de vos voiture comme carid.
{
if(PlayerInfo[playerid][pMember] == 10||PlayerInfo[playerid][pLeader] == 10) { }
else
{
SendClientMessage(playerid,COLOR_GREY," Vous n'etes pas ////// !");
RemovePlayerFromVehicle(playerid);
}
}
Donc moi je préfère carid bref c'est mon opinion je respecte la tienne :).
++