GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Sismix84 le 15 Octobre 2007, 19:19:52

Titre: commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 15 Octobre 2007, 19:19:52
bonsoir,

comme j'ai fait une zone DM où ont y rentre par le biais d'une téléportation, je voudrais pour y sortir de la même sorte mais faire en sorte que le personnage revienne a son tout premier spawn (quand il se connecte) pour chaqun des skins et je ne sais pas faire le SetPlayerPos.

Merci de m'aider svp.
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Nip le 15 Octobre 2007, 19:28:36
Lu

Tu cree uen teleportation /back

exemple si la team groove est teleporter a l'airport de ls tu fai un /back qui teleporte a l'airport de ls  pour la team groove
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 15 Octobre 2007, 19:33:19
en fait c'est que j'ai 18 skins et j'ai pas trop envis de faire une commande pour chaque skins, j'aimerais en faire une seul.
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Syg le 15 Octobre 2007, 23:52:51
Il existe une fonction qui s'appelle SpawnPlayer et qui sert justememt à faire ce que tu veux faire.
Attention toutefois, si le joueur est dans un intérieur, il faut le remettre dans l'intérieur 0 avant de forcer son spawn.

Voilà :
Code: (cpp) [Sélectionner]
if (strcmp(cmdtext, "/back", true) == 0)
{
   SetPlayerInterior (playerid, 0);
   SpawnPlayer (playerid);
   return 1;
}

++
Syg
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 16 Octobre 2007, 16:09:11
merci Syg,e ne connaissait pas le SpawnPlayer, tu vient de m'aprendre un truc, merci
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 16 Octobre 2007, 18:56:15
petit problème avec ta commande, si je suis dans une voiture la caméra reste sur la voiture. comment doit-je faire pour réparer ce bug ?
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: [StAfF]MaN le 16 Octobre 2007, 19:19:37
Tu est dans une voiture et la cam reste decu ?? Quand tu t'ais téléporté ?? Ou tu veu téléporter un caisse en même temps ??
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Syg le 16 Octobre 2007, 21:56:54
Puisque tu veux que ton joueur soit re-spawné, tu le fais sortir de sa voiture juste avant :
Code: (cpp) [Sélectionner]
if (strcmp(cmdtext, "/back", true) == 0)
{
   RemovePlayerFromVehicle (playerid);
   SetPlayerInterior (playerid, 0);
   SpawnPlayer (playerid);
   return 1;
}

Si tu es perfectionniste, tu peux tester si le joueur est bien dans un véhicule avant d'appeler RemovePlayerFromVehicle au moyen de la fonction IsPlayerInAnyVehicle.
Mais le RemovePlayerFromVehicle peut être fait même si le joueur est à pied.

++
Syg
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: UrbanGhetto le 16 Octobre 2007, 22:49:03
Ouais parsque ça fais idiot si on est dans un AT-400 lol
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Syg le 17 Octobre 2007, 01:11:26
C'était pas ça le problème, c'est que la caméra ne suit pas, elle reste sur le véhicule quand tu "respawnes" le joueur.
Mais bon, dans son cas, le véhicule n'est pas nécessaire donc on le vire.

++
Syg
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 17 Octobre 2007, 07:24:34
Syg, donc avec la deuxième commande, le personnage sort de la voiture avant d'être téléporter ?
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Syg le 17 Octobre 2007, 11:36:59
Oui, comme son nom l'indique, RemovePlayerFromVehicle enlève le joueur du véhicule dans lequel il se trouve (conducteur ou passager).

++
Syg
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Sismix84 le 17 Octobre 2007, 17:00:41
ok merci Syg
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: raptor2003 le 17 Octobre 2007, 18:35:28
J'ai essayé et ça marche, mais quand le joueur et ejecter du vehicule, la camera reste quand même sur le vehicule

Comment faire?
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Eloctro le 17 Octobre 2007, 19:27:28
Moi je préfère de créer le point de téléportation pour le player et la un autre a coter du player pour la voiture mes la ses impossible car la téléportation du skin ses sans la voiture la ses pas facile.
Titre: Re : commande pour se téléporter a son premier spawn
Posté par: Syg le 18 Octobre 2007, 00:32:28
Effectivement, ça ne marche pas.
C'est du au fait que la fonction RemovePlayerFromVehicle n'ejecte pas le joueur du véhicule mais le force à sortir normallement. Et ceci prend un plus d'une seconde et demie.
Donc quand on fait le SpawnPlayer, le joueur est encore en train de sortir de son véhicule et ça merde. Il faut attendre que l'animation de sortie du véhicule soit finie pour pouvoir "spawner" le joueur.

Il existe une solution, que j'utilise souvent quand j'ai des problèmes chiants : Reporter l'appel à une fonction au moyen d'un timer.

Voici ce qu'il faut faire pour que ça marche :
http://pastebin.gtaonline.fr/pastebin.php?show=132

++
Syg