GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: scott1 le 31 Octobre 2009, 16:13:37

Titre: CarToPoint?
Posté par: scott1 le 31 Octobre 2009, 16:13:37
Est il possible de faire un style de PlayeToPoint mais pour les voiture? Genre si un jour tape /sortir, que si la voitre 5 est près du point x,y,z elle respawn. Merci
Titre: Re : CarToPoint?
Posté par: S!m le 31 Octobre 2009, 18:18:23
Salut,

oui c'est possible, il suffit de prendre un PlayerToPoint et remplacer le GetPlayerPos par GetVehiclePos

++Sim++
Titre: Re : CarToPoint?
Posté par: scott1 le 31 Octobre 2009, 18:52:05
Je n'ai pas compris :/
Titre: Re : CarToPoint?
Posté par: S!m le 31 Octobre 2009, 18:56:19
Salut,

trouve un code PlayerToPoint et regarde le,

tu verra que la fonction récupère la position du joueur, il te suffit alors de remplacer la fonction pour récupérer la position d'un joueur par celle pour récupérer la position d'un véhicule

++Sim++
Titre: Re : CarToPoint?
Posté par: Diablo62 le 31 Octobre 2009, 22:20:18
Salut.

Est il possible de faire un style de PlayeToPoint mais pour les voiture? Genre si un jour tape /sortir, que si la voitre 5 est près du point x,y,z elle respawn. Merci

Moi par contre, c'est ça que je n'arrive pas à comprendre. Pourrait tu expliquer plus clairement se que tu souhaites STP ?
Titre: Re : CarToPoint?
Posté par: scott1 le 31 Octobre 2009, 22:34:02
Je fait genre ceci

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

====>   forward CarToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z); ?
Titre: Re : CarToPoint?
Posté par: cristab le 31 Octobre 2009, 22:37:01
et ?? Sim ta donner la reponse
Titre: Re : CarToPoint?
Posté par: scott1 le 02 Novembre 2009, 10:53:01
Mais j'ai pas bien compris
Titre: Re : CarToPoint?
Posté par: ghm94 le 02 Novembre 2009, 14:01:53
PlayerToPoint récupère les position du joueur, remplace les fonction qui récupère les position du joueur par ceux qui récupère la position du véhicule.
oublie pas qu'il ne faut pas utiliser playerid mais vehicleid

++
Titre: Re : CarToPoint?
Posté par: scott1 le 02 Novembre 2009, 14:11:23
Ok Merci

EDIT:

Alors j'ai ajouter ceci

forward VehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z);
puis
....cmd /exit...
if(IsAEssenceCar(carid))
{
    if (carid != 0)
{
SetVehicleToRespawn(carid);
}
if(EssencePickup[playerid][0] >= 1 && EssencePickup[playerid][0] <= 25)
{
EssencePickup[playerid][0]--;
}
if(VehicleToPoint(10, 3, -50.0,-1141.7,2.0))
{
    SetVehicleToRespawn(3);
}
if(VehicleToPoint(10, 4, -50.0,-1141.7,2.0))
{
    SetVehicleToRespawn(4);
}
    TogglePlayerControllable(playerid, 1);
    RemovePlayerFromVehicle(playerid);
    EssenceVar[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
}

et

public VehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(vehicleid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}

Mais ça ne fonctionne pas, les vehicule tout pres ne respawn pas ( véhicule 3 et 4)
Titre: Re : Re : CarToPoint?
Posté par: S!m le 03 Novembre 2009, 00:35:14
Petit indice...
    if(IsPlayerConnected(vehicleid))
++Sim++
Titre: Re : Re : Re : CarToPoint?
Posté par: scott1 le 03 Novembre 2009, 01:13:27
Petit indice...
    if(IsPlayerConnected(vehicleid))
++Sim++
En effet avec mûr reflection un véhicule ne peux pas  être connecté xD.

Je le suprime? je le remplace?
Titre: Re : CarToPoint?
Posté par: S!m le 03 Novembre 2009, 01:29:54
Salut,

la suppression me semble la solution

si jamais tu désire laissé un test afin de vérifeir si le véhicule est valide, tu peut toujours en faire un test GetVehicleModel (qui retourne plus de 400 si le véhicule est valide)

++Sim++
Titre: Re : CarToPoint?
Posté par: scott1 le 03 Novembre 2009, 13:02:20
Ok Merci