• 23 Avril 2025, 21:53:22


Auteur Sujet: Aide zone  (Lu 1351 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Aide zone
« le: 25 Février 2008, 22:22:42 »
Bonjour, j'aimerai réaliser une barrière automatique, telle que quand on se trouve dans une zone, une aire, la barrière se lève automatiquement.Mais je ne sais pas quoi utiliser comme fonctions.
J'arrive à faire qu'une commande pour l'ouvrir ne soit accessible que dans une zone, avec un Playertopoint, mais je ne sais pas faire ça.
Pourriez vous m'aider ?

merci d'avance !

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Aide zone
« Réponse #1 le: 25 Février 2008, 23:36:26 »
C'est simple,

Tu fais un timer qui prend la position du joueur (GetPlayerPos)
Après tu regarde si le joueur est dans la zone choisie.
Ensuite quand il y est, Tu fais un MoveObject, Après tu fais un timer qui arrête l'objet.

Regarde Angel Paradise pour plus d'infos.

˙·٠•● 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 Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Aide zone
« Réponse #2 le: 26 Février 2008, 14:32:56 »
merci de ta réponse, mais je ne comprend pas ce que c'est de "faire un timer", et je ne sais pas "où" mettre mes scripts dans mon GF (ongamemodinit, ou autre part...)

merci de votre aide !

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Aide zone
« Réponse #3 le: 26 Février 2008, 15:39:26 »
Bon je te fais une petite démonstration,

http://pastebin.gtaonline.fr/pastebin.php?show=371

Bon ça c'est la version un classique, A toi de faire en sorte que si la barrière est en bas le joueur ne puisse pas la déscendre encors, De voir si elle ne déscends pas etc...

En tout cas tout ça c'est dans Angel Paradise.

˙·٠•● 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 Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Aide zone
« Réponse #4 le: 26 Février 2008, 20:37:58 »
Merci beaucoup de ta réponse, j'ai réussi à faire marcher ma grille.

Hors ligne Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Aide zone
« Réponse #5 le: 29 Février 2008, 20:22:39 »
Jusqu'ici j'étais très content des mes grilles, mais j'ai un nouveau problème, un copain a hosté le serveur chez lui pour qu'on puisse le tester, et il se trouve que seul lui pouvait utiliser la barrière. Savez vous pourquoi, et comment remédier à ce problème ?

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Aide zone
« Réponse #6 le: 29 Février 2008, 22:34:58 »
J'ai pas bien compris. Tu veut dire que quand lui il héberge ton serveur (Avec la barrière) ça marche. Mais quand tu le fais toi non ?

˙·٠•● 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 Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Aide zone
« Réponse #7 le: 01 Mars 2008, 13:59:23 »
Quand moi j'héberge le serveur en LOCAL, cela marche très bien, pour moi dans le jeu, mais quand c'est lui qui l'héberge, cela marche très bien pour lui, mais pas pour moi. J'en déduis que s'il y avait eu d'autres joueurs, cela n'aurait pas non plus marché pour eux.
On dirait que çà marche que pour l'hosteur, même si ça me semble bizarre...

Merci de ta réponse

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Aide zone
« Réponse #8 le: 04 Mars 2008, 03:43:36 »
salut,

tu serait mieu de faire une boucle dans le GetPosTimer.....

voila:
public GetPosTimer(){//d'ou venait ce playerid??
    for(new i; i<MAX_PLAYERS; i++){
        if(IsPlayerConnected(i)){
             GetPlayerPos(playerid,X,Y,Z); /* On récupère la position du joueur */
             if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) { /* Si le joueur est dans les cordonnées à définir */
                  new Float:OX,Float:OY,Float:OZ;
                  GetObjectPos(Barrière,OX,OY,OZ);
                  MoveObject(Portail,OX+0,OY+0,OZ+5,1); /* Là, on déscend la barrière en bas */
                  SetTimerEx("StopObject",6500,0,"i",i); /* Timer pour le joueur.... pour arrêter l'objet */
             }
        }
    }
return 1;
}

voila qui devrait aller mieu

++Sim++