• 04 Juillet 2025, 12:12:40


Auteur Sujet: Comment détecter si un joueur tombe dans l'eau, et une autre question.  (Lu 2325 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Salif

  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Bonjour à tous,

J'ai un petit soucis, je fais un Event derby, le soucis c'est que je ne sais pas du tout comment on pourrait détecter si un joueur tombe dans l'eau, ou si il sort du périmètre de l’arène Derby. Je sais que ça doit être super simple, mais honnêtement je vois pas trop comment faire, quelqu'un peux m'éclaircir pour que je puisse me lancer dessus ?

Deuxièmement, je voudrais que pour les commandes nécessitant de renseigner l'ID d'un joueur, le joueur puisse renseigner l'ID du joueur, OU le nom du joueur mais je ne sais pas faire cela. Pour l'instant je fonctionne avec les ID seulement. (je code en dcmd si ça peux vous aider) Merci.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Salut, l'eau est à la position Z (hauteur) 0 dans le jeu, tu peux faire un timer qui teste la coordonnée du joueur, attention image paint !


Là, le joueur est dans la zone si sa coordonnée horizontale (x) est entre 500 et 900 et que sa coordonnée Y est entre 200 et 500, et que sa coordonnée Z est au dessus de 2 (si la voiture flotte ça doit être à 0,5 à peu près),  t'as juste à tester ça toutes les 2/3 secondes.

Pour ton 2e problème, tu peux faire une boucle pour récupérer le pseudo de chaque joueur connecté, ensuite quand le joueur tape une commande, tu testes si le 2e paramètre est dans le tableau (2e boucle, avec sscanf ou strcmp)

Bon courage ;)

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Pour l'eau il faut faire attention ( exemple de la carrière de LV, les tunnels, le parking sous l'aeroport de SF.. )
Pour le nom, en utilisant le plugin sscanf tu trouveras ton bonheur avec le paramètre "u"

Hors ligne Salif

  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Ok merci les gars. Donc pour le premier problème, je fais un timer de 2 secondes qui se répète en boucle et si le joueur est à la position Z < 1 alors il a perdu (cela voudrait dire qu'il est tombé à l'eau). En faisant ça, normalement c'est bon ?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Salif

  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Oui mais avec le niveau que j'ai, j'évite d'ajouter des choses assez "poussées" dont je ne comprendrais pas la totalité.

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Ssk, le lien que tu donnes, je ne suis pas sûr qu'il détecte si la personne est dans un véhicule
Car en effet, l'animation de nage n'est pas appliquée lorsque le joueur n'est pas dans un véhicule, donc normalement ça ne détecte pas les véhicules, mais c'est déjà un début ^^

[/url]

Hors ligne vukilore

  • *
  • Nouveau
  • Messages: 13
    • Voir le profil
Tu as juste à comparer si l'animation qu'il est en train d'effectuer est bien celle de la librairie SWIM (il me semble  :unsure:), si c'est le cas alors c'est qu'il est dans l'eau.

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Mais s'il est dans une voiture ...?


Adju ♥
(-_-)



Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Je pense pas qu'il y ait besoin d'aller chercher compliqué, la solution que j'ai donnée suffit normalement, il faut juste prendre en compte les endroits de la map sous le niveau de l'eau comme l'a dit spiirou, mais justement c'est à ça que ça sert de tester les 2 autres coordonnées ;)

Hors ligne Salif

  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Ok Gilux merci je vais voir ça dès que j'ai 5 minutes et je vous redit ce qu'il en est.

Hors ligne Salif

  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Résolu merci les gars !