Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=7d7c1836c6b337d6a9337cb2b7bad21cMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

évènement unité reçoit l'ordre de poser un objet ?

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 15/07/09 16:23    Sujet du message: évènement unité reçoit l'ordre de poser un objet ? Citer

Problème étrange que j'ai aujourd'hui Confused

Je n'arrive pas à trouver l'évènement qui se produit lorsqu'une unité reçoit l'ordre de poser un objet. Ca n'entre étonnamment pas dans l'event "unité reçoit un ordre avec point pour cible".

Il y a un bug dans ma carte Murloc Slide, où quand on donne l'ordre au héros de poser la météore (faite pour tuer un naga) pendant le slide, celui-ci se met à courir en plus de slider. Pire encore, si on le laisse poser la boule, il n'y a alors plus aucun moyen de récupérer celle-ci, et la partie est alors bloquée.

La seule solution que je vois à ce problème aujourd'hui, est de rendre l'objet "undroppable", pour qu'on ne puisse pas donner l'ordre de le poser. Ca ne me convient pas du tout Confused
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/


Dernière édition par Max le 18/07/09 15:48; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 15/07/09 18:40    Sujet du message: Citer

C'est marrant je suis justement en train de coder ces events.
War3 ne fait pas la différence entre les différents DROP, poser sur le sol, donner à une autre unité, perd l'objet en utilisant la dernière charge, perd l'objet avec la fonction Remove.
Je le posterais quand je l'aurais finit.

Sinon plutôt qu'utiliser SetUnitPosition tu peux utiliser SetUnitX/Y qui n'interrompent pas les ordres et sont plus optimisées mais plus risqués car ne font pas une foule de vérification, on peut placer une unité en dehors de la map, aucune prise en compte de la collision, etc.
_________________


Dernière édition par Troll-Brain le 15/07/09 18:42; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 15/07/09 18:41    Sujet du message: Citer

Ouh nice.

Edit: je ne voulais pas flooder, juste que ça va m'être très utile pour RC601^^
_________________
Revenir en haut
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 16/07/09 03:22    Sujet du message: Citer

Troll-Brain a écrit:
C'est marrant je suis justement en train de coder ces events.
War3 ne fait pas la différence entre les différents DROP, poser sur le sol, donner à une autre unité, perd l'objet en utilisant la dernière charge, perd l'objet avec la fonction Remove.
Je le posterais quand je l'aurais finit.

Tu veux dire que c'est possible de créer de nouveau types d'évènements ? :O
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 16/07/09 19:43    Sujet du message: Citer

Max a écrit:
Tu veux dire que c'est possible de créer de nouveau types d'évènements ? :O

Rajouter des custom natives oui surement, mais il faudrait utiliser un hack de war3 et que tous les joueurs le lancent au lieu de war3. (sans compter le travail que cela demanderait)
Mais il est très souvent possible d'émuler ces events à grand coup de logique, timers ,tests, debugs et patience en se basant sur les event déjà existant, c'est ce que j'ai fait pour détecter les échanges de ressources entre joueurs :
http://worldedit.free.fr/forum/viewtopic.php?t=2017

Pour le fun et pour m'entrainer je le code avec des fonctions interfaces mais une fois fini je crois que je recoderais tout de zéro, car cela ne semble pas la meilleure façon de procéder, je ferais comme DRES, je suivrais la convention jass pour ajouter un event (oupa, il faut que j'y réfléchisse plus attentivement).
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 17/07/09 08:06    Sujet du message: Citer

J'ai trouvé une solution nikel finalement, à l'aide de la sympathique fonction SetItemDroppable Razz.

-> on met l'item indroppable si on slide, droppable sinon
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 18/07/09 05:01    Sujet du message: Citer

La question de ce topic (mon topic) est marquée comme résolue, mais il ne me semble pas l'avoir mise en résolu Shocked... En tous cas ce n'est pas le cas : j'ai peut-être trouvé une solution dérivative à mon problème mais je me pose toujours la question de l'évènement "unité reçoit l'ordre de poser un objet".

J'ai trouvé EVENT_UNIT_PAWN_ITEM mais ce n'est pas ça, et je ne vois pas à quoi cet évènement correspond.

Troll-Brain a écrit:
Mais il est très souvent possible d'émuler ces events à grand coup de logique, timers ,tests, debugs et patience en se basant sur les event déjà existant, c'est ce que j'ai fait pour détecter les échanges de ressources entre joueurs

Mais pour ça il faut que quand l'unité reçoit l'ordre de poser un objet, un évènement soit déclenché, or je ne trouve pas un tel évènement.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 18/07/09 09:33    Sujet du message: Citer

Max a écrit:
La question de ce topic (mon topic) est marquée comme résolue, mais il ne me semble pas l'avoir mise en résolu Shocked...

Problème résolu.

Citation:
En tous cas ce n'est pas le cas : j'ai peut-être trouvé une solution dérivative à mon problème mais je me pose toujours la question de l'évènement "unité reçoit l'ordre de poser un objet".

J'ai trouvé EVENT_UNIT_PAWN_ITEM mais ce n'est pas ça, et je ne vois pas à quoi cet évènement correspond.

DROP , comme je l'ai dit se déclenche quand une unité perd un objet de quelque façon que ce soit.

Troll-Brain a écrit:
Mais il est très souvent possible d'émuler ces events à grand coup de logique, timers ,tests, debugs et patience en se basant sur les event déjà existant, c'est ce que j'ai fait pour détecter les échanges de ressources entre joueurs

Max a écrit:
Mais pour ça il faut que quand l'unité reçoit l'ordre de poser un objet, un évènement soit déclenché, or je ne trouve pas un tel évènement.

Cf explication ci dessus.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 18/07/09 15:46    Sujet du message: Citer

Troll-Brain a écrit:
DROP , comme je l'ai dit se déclenche quand une unité perd un objet de quelque façon que ce soit.

Oui mais cet évènement ne m'intéresse pas. L'unité reçoit l'ordre de poser l'item (1), va vers l'endroit cliqué (2), pose l'item (3). L'évènement EVENT_UNIT_DROP_ITEM ne survient qu'à l'étape 3. Moi j'aimerais un évènement pour l'étape 1, mais je crois qu'il n'existe pas, comme s'il avait été oublié. En tous cas ça n'entre pas dans l'évènement ordre avec point pour cible (mais logiquement ça devrait être le cas).

Troll-Brain a écrit:
Mais il est très souvent possible d'émuler ces events à grand coup de logique, timers ,tests, debugs et patience en se basant sur les event déjà existant, c'est ce que j'ai fait pour détecter les échanges de ressources entre joueurs

Je ne vois vraiment pas de moyen d'émuler un tel event... La seule chose que je vois c'est que l'unité se déplace sans "avoir reçu d'ordre avec cible" (d'après les event existants)... Et de toute façon si on se basait là-dessus il serait déja trop tard car l'unité aurait commencé à bouger.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 18/07/09 16:17    Sujet du message: Citer

Ah autant pour moi, je croyais que tu voulais détecter quand l'unité pose l'objet sur le sol, et non reçoit l'ordre de la faire, j'avais mal lu la question.

Eh oui comme tu dis aussi étrange que cela puisse paraitre aucun ordre n'est détecté quand une unité reçoit l'ordre de poser un objet sur le sol.


Par contre il semblerait que détecter l'ordre courant de l'unité fonctionne, et comme dans le cas particulier d'un slide, tu utilises déjà des timers à faible période tu pourrais rajouter cette vérification, en espérant que l'intervalle de temps soit suffisant pour empêcher le drop, ce qui me semble être une hypothèse de départ tout à fait raisonnable.

Mais cela ne devrait pas empêcher comme tu dis "l'unité de commencer à bouger", bien que cela ne devrait pas être humainement perceptible.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 18/07/09 17:12    Sujet du message: Citer

Troll-Brain a écrit:
Par contre il semblerait que détecter l'ordre courant de l'unité fonctionne

Ah oui en effet, et l'ordre ici est "dropitem". Je ne connaissais pas ce moyen de détecter l'ordre "courant" d'une unité. Ca va m'être très pratique pour corriger un certain bug... (celui où les monstres s'arrêtent de patrouiller dans les escapes -> au lieu de m'embêter à comparer les positions successives de chaque monstre pour détecter s'il s'est arrêté, je n'ai plus qu'à voir si ces monstres ont toujours un ordre en cours Cool )


Troll-Brain a écrit:
et comme dans le cas particulier d'un slide, tu utilises déjà des timers à faible période tu pourrais rajouter cette vérification, en espérant que l'intervalle de temps soit suffisant pour empêcher le drop, ce qui me semble être une hypothèse de départ tout à fait raisonnable.
Mais cela ne devrait pas empêcher comme tu dis "l'unité de commencer à bouger", bien que cela ne devrait pas être humainement perceptible.

Le déplacement ne serait pas humainement perceptible mais...
Dans le cas de slide sans pouvoir tourner comme on le voit dans de nombreuses cartes, cela créerait un bug : si l'on donnerait l'ordre à son héros de poser un objet pendant qu'il slide, il aurait au plus un centième de seconde pour bouger (dans le cas d'une période de 0.01 s). On n'aurait pas le temps de le voir bouger, mais quelquefois il tournerait légèrement vers le point cliqué. C'est un bug que j'ai repéré au départ dans Polar Escape 3 : dans les moments où on n'était pas censé pouvoir tourner, mass clic droit permettait de tourner souvent très très bien Very Happy (déclo de slide utilisant SetUnitPositionLoc mais ordre non annulé lors d'un clic droit).

Je viens de trouver au passage un bug exploitable probablement dans certaines cartes Razz (je pense à une en particulier ^^). Dans les moments où on ne peut pas tourner (avec la sécurité de l'annulation de l'ordre), on devrait toujours pouvoir y arriver si on a un item sur soi. Cependant je ne connais pas de moyen plus rapide de poser un objet que de faire un clic droit dessus puis clic gauche sur la carte (dur de mass clic comme ça Razz).
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 18/07/09 17:22    Sujet du message: Citer

Enfin bref, corriger le bug de ma map avec l'aide de la fonction SetUnitDroppable a été très rapide, simple et efficace. Rolling Eyes
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 18/07/09 18:40    Sujet du message: Citer

Citation:
Ca va m'être très pratique pour corriger un certain bug... (celui où les monstres s'arrêtent de patrouiller dans les escapes -> au lieu de m'embêter à comparer les positions successives de chaque monstre pour détecter s'il s'est arrêté, je n'ai plus qu'à voir si ces monstres ont toujours un ordre en cours Cool )

Lier à l'unité sa position de départ et d'arrivée, ok.
Détecter quand l'unité cesse de patrouiller, ok.
Mais comment fais tu pour qu'elle reprenne sa patrouille de là où elle se trouve mais qu'elle patrouille du point de départ au point d'arrivée ?
A moins que l'unité s'arrête toujours aux environs d'une de ces 2 coordonnées ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 18/07/09 21:39    Sujet du message: Citer

L'unité s'arrête toujours à l'un des deux points de la patrouille. Peut-être toujours celui de départ ou celui de fin, j'ai besoin de faire plus de tests pour être fixé. (edit : c l'un ou l'autre des deux points)

Autrement, je me contente de supprimer l'unité, la recréer, et la faire patrouiller. Dès qu'un mob s'arrêtera, on le remarquera. J'ai mis une période de vérification de 4 secondes, donc un mob sera arrêté au maximum 4 s. Je pourrais mettre une période plus faible mais je ne suis pas sûr que ça ait une utilité. Ca n'est à priori pas grave qu'on ait cette petite pause dans les patrouilles car que les mobs s'arrêtent, ça n'arrive pas très souvent. Par contre c'est vrai que si le mob se recrée juste devant un joueur, ça peut déstabiliser voire tuer...
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com