• 05 Juin 2026, 18:26:05


Auteur Sujet: Sauvegarder une position  (Lu 5420 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Sauvegarder une position
« le: 03 Juillet 2007, 18:14:49 »
Bonjour, Je voudrais savoir comment créer une commande qui sauvegarde notre position, Par exemple :

Je suis a LS, Je fais /S
Je vais a LV, Je fais /R et je reviens a la position pour j'été.

Merci de vos réponces  ;)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne FuriousKing

  • Best-Driver
  • *
  • The King Of Furious
  • Messages: 546
    • Voir le profil
Re : Sauvegarder une position
« Réponse #1 le: 03 Juillet 2007, 18:46:19 »
Il y a déjà un topic la dessus  8) .

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Sauvegarder une position
« Réponse #2 le: 03 Juillet 2007, 18:57:28 »
Je cet mais j'y comprends rien  :(

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Nip

  • *
  • Bandit
  • >> mon steam: v__manu (il y a deux _)
  • Messages: 314
    • Voir le profil
Re : Sauvegarder une position
« Réponse #3 le: 07 Juillet 2007, 20:43:05 »
hhheeeuuuu

moi non plus je comprend rien j'ai toujours des erreur  ;D ;D ;D ;D



SVP aidée nous  :cheers

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Sauvegarder une position
« Réponse #4 le: 07 Juillet 2007, 23:23:43 »
Rien de bien compliqué :

Lorsque qu'un joueur fait "/s", on sauvegarde les coordonnées de l'endroit où il se trouve dans un tableau.
Par exemple : new Float:SavePos[MAX_PLAYERS][3]; // Un triplet de coordonnées par joueur

Quand le joueur fait "/r", on le téléporte aux coordonnées sauvegardées précédement.

Voilà, à vous de jouer.
Courtesy of GtaManiac

Hors ligne kev375

  • *
  • Tueur en série
  • Crab eater
  • Messages: 197
    • Voir le profil
Re : Sauvegarder une position
« Réponse #5 le: 22 Août 2007, 22:10:51 »
Moi sa marche pas   ...  j'avais fais sa dans OnPlayerCmdText :

http://pastebin.com/m6f721abc


Voila, j'espere qu'on pourra m'aider.

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Sauvegarder une position
« Réponse #6 le: 22 Août 2007, 22:21:34 »
Une erreur classique de programmation (je l'ai fait souvent à mes débuts).
Le tableau SavePos doit être déclaré en dehors de toute fonction (après les lignes d'include par exemple).
Donc déplaces simplement la ligne new Float:SavePos[MAX_PLAYERS][3]; tout en haut de ton script
et ajoute la ligne
GetPlayerPos(playerid, SavePos[0],SavePos[1],SavePos[2]); à la place dans OnPlayerCmdText

Un variable déclarée dans un bloc n'existe que pendant que l'éxécution de ce bloc (bloc = ensemble des lignes de code situées entre une accolade ouvrante et une accolade fermante {})
Dans ton cas tu devais certainement avoir une erreur de compilation puisque dans le cas du /r, le tableau SavePos n'est pas déclaré.

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Sauvegarder une position
« Réponse #7 le: 22 Août 2007, 22:23:07 »
Salut !

Je suis gentil je vous passe la mienne !

http://pastebin.com/f426e71d6

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Sauvegarder une position
« Réponse #8 le: 22 Août 2007, 22:52:34 »
Merci infiniment AK  :D

Mais il faut présiser aux autres :

new Float:Pos[MAX_PLAYERS][4]; //
Il faut le mettre tout en haut de votre script sinon la commande ne marchera pas correctement  ;)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Sauvegarder une position
« Réponse #9 le: 22 Août 2007, 23:07:31 »
Juste deux petites remarques pour Arsenik :
1 - Les fonctions GetPlayerFacingAngle et SetPlayerFacingAngle ne fonctionnent que quand le joueur est a pied. Quand il est en vehicule, il faut utiliser GetVehicleZAngle et SetVehicleZAngle. J'ai fait l'essai, le véhicule ne revient pas avec l'angle qu'il avait lors de la sauvegarde.
2 - Ton code permet au passager de retourner à sa position sauvegardée avec le véhicule et tous les joueurs qui sont dedans. Le problème c'est que le bout de code que tu exécute pour le joueur qui se téléporte (notament SetCameraBehindPlayer) n'est pas exécuté pour les autres joueurs ce qui peut faire des choses bizzares (j'ai fait des essais, parfois on ne se voit plus, parfois on est ejecté du vehicule, parfois on est pas téléporté et j'ai peut-être pas tout vu). (En plus, je pense que seul le conducteur doit décidé de l'endroit où doit aller le véhicule sinon, avec 3 passagers, ça peut vite devenir le bordel).

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Re : Sauvegarder une position
« Réponse #10 le: 22 Août 2007, 23:26:36 »
Merci infiniment AK  :D

Mais il faut présiser aux autres :

new Float:Pos[MAX_PLAYERS][4]; //
Il faut le mettre tout en haut de votre script sinon la commande ne marchera pas correctement  ;)

Oui escuse moi ^^

Et heuuu syg sa marche tres bien que je sois a pied ou en vehicule  ::)

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Sauvegarder une position
« Réponse #11 le: 23 Août 2007, 00:43:16 »
Arsenik, fais cet essai :
Tu prends un véhicule
Tu sauvegardes ta position en le dirigeant vers le nord.
Tu circules un peu et tu te places pour que ton véhicule fasse face à l'est par exemple
Tu fais /r et ton véhicule se retrouve bien à la position sauvegardée mais il fait face à l'est, pas au nord (en tout cas chez moi)

Mais bon, c'est pas très grave.

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Re : Sauvegarder une position
« Réponse #12 le: 23 Août 2007, 00:47:51 »
Juste deux petites remarques pour Arsenik :
1 - Les fonctions GetPlayerFacingAngle et SetPlayerFacingAngle ne fonctionnent que quand le joueur est a pied. Quand il est en vehicule, il faut utiliser GetVehicleZAngle et SetVehicleZAngle. J'ai fait l'essai, le véhicule ne revient pas avec l'angle qu'il avait lors de la sauvegarde.
2 - Ton code permet au passager de retourner à sa position sauvegardée avec le véhicule et tous les joueurs qui sont dedans. Le problème c'est que le bout de code que tu exécute pour le joueur qui se téléporte (notament SetCameraBehindPlayer) n'est pas exécuté pour les autres joueurs ce qui peut faire des choses bizzares (j'ai fait des essais, parfois on ne se voit plus, parfois on est ejecté du vehicule, parfois on est pas téléporté et j'ai peut-être pas tout vu). (En plus, je pense que seul le conducteur doit décidé de l'endroit où doit aller le véhicule sinon, avec 3 passagers, ça peut vite devenir le bordel).

++
Syg

Quelle est la solotion pour que il y est que le conducteur qui decide ?

Merci

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Sauvegarder une position
« Réponse #13 le: 23 Août 2007, 00:50:39 »
Faire un test sur l'etat du joueur :

   if (GetPlayerState (playerid) == PLAYER_STATE_DRIVER)
   {
      /* Conducteur : On téléporte */
   }
   else
   {
      /* Passager : On ne téléporte pas */
   }


++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Sauvegarder une position
« Réponse #14 le: 25 Août 2007, 17:28:51 »
Tu c'est pour moi c'est pas trop important ce n'est qu'un petit details ^^

AK.


Tu vois avant? Bah j'étais là encore avant!