GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Salif le 17 Juillet 2013, 14:27:19
-
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.
-
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 !
(http://image.noelshack.com/fichiers/2013/29/1374065566-sans-titre.png)
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 ;)
-
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"
-
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 ?
-
Il y a ça sinon.
http://forum.sa-mp.com/showthread.php?t=173944 (http://forum.sa-mp.com/showthread.php?t=173944)
-
Oui mais avec le niveau que j'ai, j'évite d'ajouter des choses assez "poussées" dont je ne comprendrais pas la totalité.
-
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 ^^
-
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.
-
Mais s'il est dans une voiture ...?
-
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 ;)
-
Ok Gilux merci je vais voir ça dès que j'ai 5 minutes et je vous redit ce qu'il en est.
-
Résolu merci les gars !