GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: /cartman le 19 Février 2009, 20:49:52

Titre: telep en vehicule
Posté par: /cartman le 19 Février 2009, 20:49:52
salut voila un bout de sccript de mon serveur j'ai mis /s pour sauver ma position et /r pour i revenir mais je joueur spawner sur le vehicule et non a la place de conducteur donc j'ai fait secis :

//-----------------------------------Loading position-----------------------------------
   if (strcmp(cmdtext, "/r", true)==0)
   {
        if(IsPlayerInAnyVehicle(playerid))
      {
      SetVehiclePos(GetPlayerVehicleID(playerid), Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
      PutPlayerInVehicle(playerid, vehicleid,0);
      }
      else
      {
      SetPlayerPos(playerid, Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
      }
         return 1;
   }
   

et il ne reconait " vehicleid" a la  ligne    PutPlayerInVehicle(playerid, vehicleid,0);  .

mercie de m'aider :)
Titre: Re : telep en vehicule
Posté par: S!m le 19 Février 2009, 21:53:18
salut,

en théorie, si tu n'utilise que le SetVehiclePos, le joueur devrait rester dans le véhicule.

ton erreur vient du fais que vehicleid n'existe pas, utilise plutôt la fonction GetPlayerVehicleID(playerid) comme dans la ligne du dessus

si tu veut améliorer la performance, tu devrais créer une variable vehicleid dans laquelle tu stockerais la valeur retournée par GetPlayerVehicleid puis t'en servir dans le SetVehiclePos et PutPlayerInVehicle

++Sim++
Titre: Re : telep en vehicule
Posté par: NatiVe™ le 19 Février 2009, 23:25:43
A la place de

vehicleid
tu met

GetPlayerVehicleID(playerid)
Exemple:

GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
Ou alors tu définie le vehicleid:

vehicleid = GetPlayerVehicleID(playerid)
NV. 8)