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=826aede37bade5cd552b87ff4e06ae40Mé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

Ne pas tuer une unité
Aller à la page 1, 2  Suivante
 
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
 Hisoka
Membre actif


Inscrit le: 10 Sep 2014
Messages: 116
Sujets: 3
Spécialité en worldedit: Scénario/cinématiques/effets spéciaux


MessagePosté le: 11/09/14 10:09    Sujet du message: Ne pas tuer une unité Citer

Bonjour!

Dans le cadre d'une campagne, j'aimerai qu'un trigger se lance dans des conditions bien particulières. En effet, je souhaite que lorsque j'attaque une unité spécifiée, celle-ci ne meurt pas et devienne invulnérable juste avant de mourir. On retrouve cette condition dans la campagne des morts-vivants lors de l'assault de Dalaran et que l'on doit au final tuer Antonidas.

Voici ce que j'ai trouvé:
Evenement : Specific unit is attacked (elle est déjà placée sur la carte et je l'indique ici)
Conditions : Points de vie de l'unité inférieurs à 20
Action : unité invulnérable
Lancement d'une cinématique

Le problème : Dans certains cas, l'unité est tuée directement (trop de dégâts effectuées sur elle) donc elle meurt et le trigger ne se lance pas. J'ai augmenté le nombre de PV mais il reste un caractère assez aléatoire qui me dérange.

Sauriez-vous m'aider sur ce point svp?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ghost_of_past
Floodeur prématuré


Inscrit le: 08 Sep 2013
Messages: 532
Sujets: 70
Spécialité en worldedit: GameDesign et optimisation JASS


MessagePosté le: 11/09/14 12:09    Sujet du message: Citer

Faire en sorte que quand elle meurt on la remove( pour éviter d'avoir l'animation de mort) et tu la remplace par la même unité en baissant ses pv à 1 et en la mettant invulnérable

C'est une idée, à prendre ou à laisser
_________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"

"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 florianlenecro
Floodeur prématuré


Inscrit le: 12 Nov 2009
Messages: 711
Sujets: 50
Spécialité en worldedit: Vétéran


MessagePosté le: 11/09/14 12:37    Sujet du message: Citer

Condition / Real Comparison / Unit - property ou state, quelque chose dans le genre.
_________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 11/09/14 18:08    Sujet du message: Citer

Je crois qu'on peut faire revivre des unités avec l'action dans la catégorie héros(ce qui résoudrait le problème de la mort).

Sinon je crois qu'un héros de Rise of Winterchill avait un sort qui empêchait de mourir dans son ancien kit(ce serait le vampire si je me souviens bien), dans ce cas-là faut demander à Softmint comment il s'y était pris.
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 11/09/14 18:12    Sujet du message: Citer

Ouais, il suffit de vérifier si les dégâts infligés sont supérieurs à la vie actuelle de ton unité.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
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: 11/09/14 18:16    Sujet du message: Citer

Tirlititi a écrit:
Ouais, il suffit de vérifier si les dégâts infligés sont supérieurs à la vie actuelle de ton unité.


Pas exactement une unité meurt si elle a 0.405 points de vie, ou un truc du style.
Vaut mieux le prendre en compte.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 florianlenecro
Floodeur prématuré


Inscrit le: 12 Nov 2009
Messages: 711
Sujets: 50
Spécialité en worldedit: Vétéran


MessagePosté le: 11/09/14 20:12    Sujet du message: Citer

Ben tu fais DamageSubit > GetUnitState(life) + 1
_________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


Inscrit le: 09 Mar 2009
Messages: 1154
Sujets: 54
Spécialité en worldedit: Croâ ?


MessagePosté le: 11/09/14 21:21    Sujet du message: Citer

Troll-Brain a écrit:
Tirlititi a écrit:
Ouais, il suffit de vérifier si les dégâts infligés sont supérieurs à la vie actuelle de ton unité.


Pas exactement une unité meurt si elle a 0.405 points de vie, ou un truc du style.
Vaut mieux le prendre en compte.


J'ai déjà eu un cas bizarre où mon unité était morte alors que sa vie était de l'ordre de la dizaine de points de vie, ce qui avait été source de bug car justement j'utilisais la condition "Vie < 0.405" pour vérifier l'état de mort de l'unité. Je ne me rappelle plus des conditions qui ont causé cela mais c'était systématique...
_________________
Croâh ?
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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 11/09/14 21:29    Sujet du message: Citer

florianlenecro a écrit:
Ben tu fais DamageSubit > GetUnitState(life) + 1


Dommage, si tu avais utilisé 0.405 à la place de 1 tu aurais mérité le grade de captain obvious.

rgf a écrit:
Troll-Brain a écrit:
Tirlititi a écrit:
Ouais, il suffit de vérifier si les dégâts infligés sont supérieurs à la vie actuelle de ton unité.


Pas exactement une unité meurt si elle a 0.405 points de vie, ou un truc du style.
Vaut mieux le prendre en compte.


J'ai déjà eu un cas bizarre où mon unité était morte alors que sa vie était de l'ordre de la dizaine de points de vie, ce qui avait été source de bug car justement j'utilisais la condition "Vie < 0.405" pour vérifier l'état de mort de l'unité. Je ne me rappelle plus des conditions qui ont causé cela mais c'était systématique...


Un bâtiment en cours de construction ? (complètement au pif)

A savoir que l'on peut changer le nombre de points de vie d'une unité morte par déclencheur, et à ce que j'ai entendu dire des compétences passives peuvent aussi parfois changer les points de vie d'une unité morte.

Vaut mieux utiliser IsUnitType(unit, UNIT_TYPE_DEAD), mais je ne sais plus comment est considérée une unité en cours de résurrection.
Y'a aussi la fonction native UnitAlive (de common.ai) qui a probablement un autre comportement.
Des tests à ce propos ca serait pas mal (non ne comptez pas sur moi)
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Hisoka
Membre actif


Inscrit le: 10 Sep 2014
Messages: 116
Sujets: 3
Spécialité en worldedit: Scénario/cinématiques/effets spéciaux


MessagePosté le: 12/09/14 09:28    Sujet du message: Citer

Merci pour ces réponses Smile

J'étais persuadé qu'une unité morte ne pouvais plus être prise en compte dans un trigger. A part la réponse évènement dying unit.
Je vais déjà dans un premier temps tester ce qui a été proposé Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ghost_of_past
Floodeur prématuré


Inscrit le: 08 Sep 2013
Messages: 532
Sujets: 70
Spécialité en worldedit: GameDesign et optimisation JASS


MessagePosté le: 12/09/14 15:13    Sujet du message: Citer

dans une mission des humains de roc ya un moment où on bute kel-tuzad, récupère le trigger Wink
_________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"

"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 13/09/14 09:39    Sujet du message: Citer

Gui:
Trigger:
Archmage03Dead
Collapse Evénements
Unité - Antonidas 0172 <gen> Meurt
Collapse Conditions
GAMEOVER Egal à  FALSE
Collapse Actions
Set GAMEOVER = TRUE
Déclencheur - Turn off (This trigger)
Déclencheur - Turn off Archmage03 <gen>
Unité - Replace (Dying unit) with a Antonidas using Valeur par défaut de l'unité life and mana
Set Antonidas = (Last replaced unit)
Unité - Make Antonidas Invulnérable
Unité - Set life of Antonidas to 1.00%
Unité - Order Antonidas to Tenir la position
Déclencheur - Run Leaderboard Update <gen> (checking conditions)
Animation - Play the death animation for all doodads of type Runes magiques within DoodadDeathArea03 <gen>
Animation - Play the death animation for all doodads of type Générateur within DoodadDeathArea03 <gen>
Visibilité - Destroy Archmage03Visibility
Quête - Mark QuestReqArchmage01 as Terminé
Quête - Display to (All players) the Quête mise à  jour message: |cffffcc00QUETE PRI...
Wait Délai de quête de la campagne seconds
Panneau de commandes - Destroy LeaderboardArchmage
Déclencheur - Run Ending01 <gen> (checking conditions)


La procédure est simple, au lieu d'essayer d'empêcher que l'unité meurt, lorsqu'elle meurt, on la remplace.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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: 14/09/14 10:24    Sujet du message: Citer

Remplacer une unité peut engendrer tout un tas de problème derrière, dont une désélection notable.

Si mes souvenirs sont bons, lorsque l’événement "une unité subit des dégâts" se produit, les dégâts ne sont pas encore appliqués.
Et donc à ce moment il suffit de vérifier si les dégâts sont supérieurs aux points de vie actuels de l'unité (sans oublier les 0.405, aller 0.5 pour être safe).
Si c'est le cas on la rend invulnérable, ça devrait fonctionner.

Event : une unité subit des dégâts
condition : points de vie unité - dégâts <= 0.5
action : rendre l'unité invulnérable

EDIT :

Je suppose qu'Ayane a extrait le trigger de la campagne mentionnée, mais c'est pas pour cela que c'est la solution la plus élégante :p
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 14/09/14 17:15    Sujet du message: Citer

L'action pour annuler la mort n'existant pas, la solution de Blizzard est forcément la plus élégante, le reste ne sont que des hacks, surtout qu'il veut l'utiliser dans le même contexte: lancer une cinématique, la remplacer permet d'enlever toutes les auras et donc effets visuels et autres qui pourraient ne pas être voulues pour la cinématique, on n'a pas besoin de la sélection pour une cinématique.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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: 14/09/14 22:42    Sujet du message: Citer

Ayane a écrit:
L'action pour annuler la mort n'existant pas, la solution de Blizzard est forcément la plus élégante, le reste ne sont que des hacks, surtout qu'il veut l'utiliser dans le même contexte: lancer une cinématique, la remplacer permet d'enlever toutes les auras et donc effets visuels et autres qui pourraient ne pas être voulues pour la cinématique, on n'a pas besoin de la sélection pour une cinématique.


Bien entendu la sélection n'était qu'une chose parmi tant d'autres et tu le sais bien, je ne répondrais pas plus que cela (ni à l'avenir si tu comptes en rajouter une couche) à ton troll sur le "forcément".
Ici il faut interpréter l'élégance non pas par les moyens mis en place mais par le résultat (la fin justifie les moyens).
Néanmoins je dois avouer que tu marques un point pour les effets visuels, même si je n'y vois pas vraiment l'intérêt, tout est une question de besoin en effet, et si c'est voulu et que l'on n'a plus besoin de l'unité ultérieurement, alors oui remplacer l'unité quand elle meurt semble la meilleure solution.
_________________
Le violet, c'est moche.
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
Aller à la page 1, 2  Suivante
Page 1 sur 2
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