GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: kev375 le 04 Mars 2009, 18:19:32

Titre: Comment définir un ensemble de véhicule ?
Posté par: kev375 le 04 Mars 2009, 18:19:32
Bonjour bonjour, alors j'ai un petit problème, en fait je veux qu'il n'y ait que la team ARMY qui puisse entrer dans les hydra, mais voila je ne sais pas comment définir l'ensemble de tout les hydra ( 520 ).

J'ai essayé ceci :

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {


{



if (  vehicleid == 520 && gTeam[playerid] == TEAM_ARMY ) {

SetVehicleParamsForPlayer(vehicleid,playerid,0,0);

}else{

SetVehicleParamsForPlayer(vehicleid,playerid,0,1);


}
}
return 1;

}


Voila en esperant avoir de l'aide ( Je me suis endormi devant mon pc tellement je ne trouvais pas de solution ::) )
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: Nikko™ le 04 Mars 2009, 18:26:22
Il faut que tu mette:

Hydra = AddStaticVehicle(520, .....);
en ajoutant bien evidement le new hydra en haut.

Puis dans public OnPlayerStateChange (playerid, newstate, oldstate)

Tu met:

if (newstate == 2)// test si le joueur s'assoit a la place du conducteur .
 {
 new CarID = GetPlayerVehicleID(playerid);
 if (CarID == Hydra && gTeam[playerid] == TEAM_ARMY)
  {
  }
 else
  {
  RemovePlayerFromVehicle(playerid);
  }
 return 1;
}

++
nikko
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: kev375 le 04 Mars 2009, 18:28:24
Merci beaucoup  :)

Ca marcheeeee !  :bangin :bangin :bangin
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: Nikko™ le 04 Mars 2009, 18:30:37
ya de de quoi ;)
j'utilise ce systeme pour des mini mission :) donc je sais que ca marche :)

++
nikko
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: MrFredo le 04 Mars 2009, 18:32:37
Je te conseille d'utiliser GetVehicleModel(), RemovePlayerFromVehicle() et la callback OnPlayerStateChange (car la callback OnPlayerEnterVehicle est appeler a chaque fois que tu apuie sur la touche pour entrer dans un vehicule )

Voila se que sa donnerai

public OnPlayerStateChange(playerid, newstate, oldstate)
{
      if(newstate == PLAYER_STATE_DRIVER) // Si il est conducteur
      {
           new vehicleid = GetPlayerVehicleID(playerid);
           if (GetVehicleModel(vehicleid) == 520 && gTeam[playerid] == TEAM_ARMY )
           {
                SendClientMessage(playerid,COLOR,"Bienvenu dans l'hydra");
           }
           else
           {
                SendClientMessage(playerid,COLOR,"Vous ne faite pas partie de la team Army, vous ne pouvez pas utiliser ce vehicule");
                RemovePlayerFromVehicle(playerid);
           }
     }
     return 1;
}


Nikko a été plus rapide lol mais la methode est diferente mais sa se resemble , avec la methode de nikko tu devra definir une variable pour chaque vehicule army, ma methode tout les hydra seront reservé d'office au army , apres la methode c'est toi qui voit laquel tu prefere selon t'est besoin ;)
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: kev375 le 04 Mars 2009, 18:55:26
Erf les autres team sont ejecté de n'importe quel véhicule. :s

Une idée ?
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: MrFredo le 04 Mars 2009, 19:06:37
Arf oui j'ai mal fait le code voila la correction:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
      if(newstate == PLAYER_STATE_DRIVER) // Si il est conducteur
      {
           new vehicleid = GetPlayerVehicleID(playerid);
           if (GetVehicleModel(vehicleid) == 520)
           {
                if(gTeam[playerid] == TEAM_ARMY )
                {
                     SendClientMessage(playerid,COLOR,"Bienvenu dans l'hydra");
                }
                else
                {
                    SendClientMessage(playerid,COLOR,"Vous ne faite pas partie de la team Army, vous ne pouvez pas utiliser ce vehicule");
                    RemovePlayerFromVehicle(playerid);
                }
           }
     }
     return 1;
}
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: Nikko™ le 04 Mars 2009, 19:07:10
if (newstate == 2)// test si le joueur s'assoit a la place du conducteur .
 {
 new CarID = GetPlayerVehicleID(playerid);
 if (CarID == Hydra)
  {
  if (gTeam[playerid] == TEAM_ARMY)
   {
   }
  else
   {
  RemovePlayerFromVehicle(playerid);
   }
  }
 return 1;
}

++
nikko
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: kev375 le 04 Mars 2009, 19:09:01
Merci beaucoup je test ça tt de suite  ;)
Titre: Re : Re : Comment définir un ensemble de véhicule ?
Posté par: S!m le 05 Mars 2009, 01:16:45
if (newstate == 2)// test si le joueur s'assoit a la place du conducteur .
 {
 new CarID = GetPlayerVehicleID(playerid);
 if (CarID == Hydra)
  {
  if (gTeam[playerid] == TEAM_ARMY)
   {
   }
  else
   {
  RemovePlayerFromVehicle(playerid);
   }
  }
 return 1;
}

++
nikko

nikko, tu devrais éviter autant que possible d'utiliser les chiffres directement de cette façon

1 ) C'est très peu explicite
2 ) la valeur peut-être modifiée dans une future version
3 ) Ce n'est pas plus rapide, les constante sont remplacées par leurs valeurs lors de la compilation

++Sim++
Titre: Re : Comment définir un ensemble de véhicule ?
Posté par: Nikko™ le 05 Mars 2009, 10:44:44
ah bah alors prend pas ma solution ^^

++
nikko