GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Spaggiari le 11 Avril 2010, 16:39:20

Titre: Pickup Inversés ?
Posté par: Spaggiari le 11 Avril 2010, 16:39:20
Salut,

Donc voilà j'ai un probléme avec mes Pickups..

J'ai un Pickup devant la porte de la pizzeria qui nous teleporte dans la Pizzeria.
J'ai un Pickup devant la porte du Jefferson Motel qui nous téléporte dans le Jefferson Motel.

Avant que je n'ajoute le Pickup du Jefferson Motel, ça marchait trés bien pour la pizzeria, là j'ai add le Pickup Jefferson et quand je vais sur celui de la Pizzeria ca me téléporte dans le Jefferson...Et sur tous les autres Pickups pas un seul ne va à la Pizzeria.

C'est un vrai casse tête j'ai cherché pendant longtemps mais je ne trouve pas, voici les codes :

 // Pizzeria
     pickpizza = AddStaticPickup (1318, 1, 2567.3188, -1625.8817, 326.4784, -1); // exterieur
     pickpizza2 = AddStaticPickup (1582, 1, 373.7085, -119.0500, 1001.4922, -1); // Pizza à manger
     pickpizza3 = AddStaticPickup (1318, 1, 372.2730,-133.5232,1001.4922, -1); // Sortie de la pizza (interior)
     // Jefferson Motel
     pickjeff1 = AddStaticPickup (1318, 1, 2539.4998,-1563.2997,326.5057, -1); // porte exterieur
     pickjeff2 = AddStaticPickup (1318, 1, 2215.1504,-1150.5293,1025.7969, -1); // Porte Intérieure (entrée)
     pickjeff3 = AddStaticPickup (1318, 1, 2535.2339,-1509.1490,326.2382, -1); // Porte de la cour (exterieur)




// Pizzeria
if(pickupid == pickpizza)  SetPlayerPos(playerid,373.825653,-117.270904,1001.499511);
if(pickupid == pickpizza)  SetPlayerInterior(playerid, 5);
// Jefferson Motel
if(pickupid == pickjeff1)  SetPlayerInterior (playerid, 15);
if(pickupid == pickjeff1)  SetPlayerPos(playerid,2215.454833,-1147.475585,1025.796875);

Voilà si vous avez une petite idée dites toujours, merci !

Titre: Re : Pickup Inversés ?
Posté par: cristab le 11 Avril 2010, 17:37:14
// Pizzeria
if(pickupid == pickpizza)  SetPlayerPos(playerid,373.825653,-117.270904,1001.499511);
else if(pickupid == pickpizza)  SetPlayerInterior(playerid, 5);
// Jefferson Motel
else if(pickupid == pickjeff1)  SetPlayerInterior (playerid, 15);
else if(pickupid == pickjeff1)  SetPlayerPos(playerid,2215.454833,-1147.475585,1025.796875);
Titre: Re : Pickup Inversés ?
Posté par: Spaggiari le 11 Avril 2010, 18:03:25
Je vais tester mais merci je pense que j'aurais pu chercher  longtemps  :king

EDIT :

Avec la 1ere version je tombe dans le vide
Avec la 2eme version j'atterit au Jefferson..

Double post
J'ai essayé en mettant des  {  et } Mais non toujours pas le résultat que je veut, je tourne en rond  :'(

Double post
Up   :lmao


Vraiment je cherche depuis tout à l'heure mais c'est la galére
Titre: Re : Pickup Inversés ?
Posté par: Syg le 13 Avril 2010, 14:45:22
La réponse est très simple :
La fonction AddStaticPickup renvoie toujours 1 si le pickup est crée (0 sinon). (http://wiki.sa-mp.com/wiki/AddStaticPickup (http://wiki.sa-mp.com/wiki/AddStaticPickup))

Donc dans ton cas, pickpizza=pickpizza2=pickpizza3=pickjeff1=pickjeff2=pickjeff3=1.

Pour pouvoir récupérer les ID des pickups, il faut utiliser la fonction CreatePickup (http://wiki.sa-mp.com/wiki/CreatePickup (http://wiki.sa-mp.com/wiki/CreatePickup)) qui a exactement les mêmes paramètres que AddStaticPickup.

Il n'y a d'ailleurs aucun intérêt à se servir de la fonction AddStaticPickup.

Sinon, le code de Gzsume est très bien, inspire t'en.
++
Syg
Titre: Re : Pickup Inversés ?
Posté par: Spaggiari le 13 Avril 2010, 17:50:45
Merci de l'info, je vais tester ça.