Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
|
Revenir en haut |
|
|
florianlenecro Floodeur prématuré
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
|
Posté le: 11/04/17 09:27 Sujet du message: |
|
|
Wow,
Ca c'est du leak a gogo.
Tout d'abord je te conseille ces petits tutos pour l'utilisation des variables puis leur gestion pour éviter les leaks:
- Variable
- Variable
- Gestion leaks
Ensuite pour ton problème, tout d'abord tu crées une variable Groupe unité, tu l'init au debut de ton déclencheur ou Actions de tes IF/THEN/ELSE avec ton groupe (Random x unit(...)). Note ici que le random et units within range forme de 2 leak potentiel
Ensuite tu utilises ta variable(groupe random) dans ton pick every unit et appliques les mêmes actions. _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon" |
|
Revenir en haut |
|
|
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
|
Revenir en haut |
|
|
florianlenecro Floodeur prématuré
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
|
Posté le: 12/04/17 12:42 Sujet du message: |
|
|
Pourquoi tu fais une boucle qui se répete au lieu de mettre Random "x" unit ( ... )?
Donc tu as soit ce choix soit, tu crées un autre groupe qui va contenir ( unit within "r" range ..) et a chaque itération tu fais un groupe unité remove unit de ton unité choisi aléatoirement. _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon" |
|
Revenir en haut |
|
|
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
|
Revenir en haut |
|
|
florianlenecro Floodeur prématuré
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
|
Posté le: 12/04/17 21:34 Sujet du message: |
|
|
Il y a de forte chance que ca vienne du fait que ton dummy meurt avant d'avoir cast sachant que 1 cast c'est 1s min sans oublié la rotation de l'unité possible avant le cast _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon" |
|
Revenir en haut |
|
|
Chaosium Floodeur prématuré
Inscrit le: 31 Aoû 2007 Messages: 606 Sujets: 12 Spécialité en worldedit: Enchanteur des enchantements.
|
Posté le: 13/04/17 09:37 Sujet du message: |
|
|
J'avoue qu'une seconde c'est juste pour un dummy. Assure-toi qu'il ait 0.00 en animation lancer point dans l'éditeur d'unité, au moins les sorts seront instantanés. _________________
|
|
Revenir en haut |
|
|
florianlenecro Floodeur prématuré
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
|
Posté le: 13/04/17 12:42 Sujet du message: |
|
|
le temps de cast est tj 1s même si tu mets en dessous de 1 si je me rappelle bien donc met ton exipration timer à 2 ou 3s _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon" |
|
Revenir en haut |
|
|
Toc@rd Membre actif
Inscrit le: 14 Avr 2009 Messages: 175 Sujets: 17 Spécialité en worldedit: Décors
|
Posté le: 13/04/17 19:35 Sujet du message: |
|
|
Salut,
Voilà comment je fais pour ce genre de chose ; c'est une furie de zone sur les alliés mais ça marche pareil que ce que tu veux faire :
En gros tu utilises "units in range matching conditions" plutôt que simplement units in range, comme ça tu peux faire une liste d'exceptions (que les ennemis, etc). Après, dés qu'une unité a reçu son effet, tu la sort du groupe comme ça elle ne peut pas être re-ciblée.
Si y'a des trucs que tu ne comprends pas n'hésite pas.
PS : Plutôt que d'utiliser des images pour nous montrer, fais clic droit sur ton déclencheur / ta fonction, puis "copier comme texte" et colle le sur le forum entre les balises Gui. _________________
|
|
Revenir en haut |
|
|
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
Posté le: 13/04/17 19:50 Sujet du message: |
|
|
En fait le problème que j'ai c'est que lorsqu'il sélectionne les 2 unités aléatoires il prend celle qui dort. Et ensuite dans mon test il soustrait les unités qui dort donc il me reste plus que une cible ou même aucune.
Mais j'arrive pas à faire la bonne condition parce que si je fais ça :
Gui: | Trigger: Set SleepGroupTarget = (Random 2 units from (Units within 800.00 of (Position of (Triggering unit)) matching (((Matching unit) has buff Torpeur) Egal à TRUE))) |
Ca marche même plus xD, Si je dis "picked units" ça marche que pour "pick every unit...." et si je dis "triggering unit" ca se réfère au lançeur de sort.
J'arrive pas à faire référence aux unités que le random à séléctionner
EDIT: Je regarde ta solution Toc@rd
Ok je ferai un retour dès que possible, mais je peux pas ce soir _________________
|
|
Revenir en haut |
|
|
Chaosium Floodeur prématuré
Inscrit le: 31 Aoû 2007 Messages: 606 Sujets: 12 Spécialité en worldedit: Enchanteur des enchantements.
|
Posté le: 13/04/17 21:39 Sujet du message: |
|
|
Après tu peux faire Pick every unit in SleepGroupTarget et là picked unit marchera.
Aussi, si dans ta condition tu dis que matching unit a le buff égal à TRUE, ça veut dire que les actions suivantes n'affecteront que les unités qui sont déjà endormies, essaye avec false. _________________
|
|
Revenir en haut |
|
|
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
Posté le: 13/04/17 22:47 Sujet du message: |
|
|
Citation: | Aussi, si dans ta condition tu dis que matching unit a le buff égal à TRUE, ça veut dire que les actions suivantes n'affecteront que les unités qui sont déjà endormies, essaye avec false. |
=> Je viens d'essayer cela ne change rien apparemment.
Gui: | Trigger: Set DUMMIES[5] = (Random unit from UltimeGroupUnit[3]) |
Et la j'ai un léger problème, elle est de type quoi cette variable ?
Parce que si c'est unité, il me propose pas de faire un random d'un groupe (dafuck ?)
Et si c'est un groupe d'unité, bah je peux pas cibler un group d'unité (à la place de picked unité) depuis
Gui: | Trigger: Unité - Order (Last created unit) to Seigneur de l'épouvante mort-vivant - Torpeur (Picked unit) |
_________________
|
|
Revenir en haut |
|
|
Toc@rd Membre actif
Inscrit le: 14 Avr 2009 Messages: 175 Sujets: 17 Spécialité en worldedit: Décors
|
Posté le: 14/04/17 16:29 Sujet du message: |
|
|
Là je pars pour deux jours, mais si lundi t'y es toujours pas arrivé pas je te le ferai. Essaye de refaire ton sort selon la même architecture que ma furie, elle marche très bien et n'a normalement aucun leak.
(UltimeGroupUnit est une variable groupe unité oui.)
Joyeuses Pacques à tous. _________________
|
|
Revenir en haut |
|
|
Ørß Ptit Nouveau
Inscrit le: 26 Aoû 2012 Messages: 37 Sujets: 9
|
Posté le: 15/04/17 15:31 Sujet du message: |
|
|
Le problème que j'ai c'est que :
Gui: | Trigger: Groupe unité - Remove all units of Dummies[1] from SleepGroupTarget |
Je peux pas enlever une seule unité, si j'utilise remove unit il me demande une unité en entrer et comme j'ai un groupe d'unité, non sérieux soi y'a une commande que j'ai pas soit y'a un truc super utile dont j'ignore l'existence.
Du coup j'ai ça :
Gui: | Trigger: Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) |
EDIT: Si j'ai besoin d'aide sur un autre truc, je refait un topic ou je poste à la suite ? C'est pour faire disparaître un debuff ou tout du moins ne pas l'afficher _________________
|
|
Revenir en haut |
|
|
Chaosium Floodeur prématuré
Inscrit le: 31 Aoû 2007 Messages: 606 Sujets: 12 Spécialité en worldedit: Enchanteur des enchantements.
|
Posté le: 16/04/17 20:52 Sujet du message: |
|
|
Je viens de remarquer un truc :
Gui: | Trigger: Pick every unit in (Random 2 units from (Units within 800.00 of (Position of (Triggering unit)) matching (((Matching unit) has buff Torpeur) Egal à FALSE))) and do (Actions) |
Ton matching là il inclue le lanceur de sort en fait, à mon avis ce qu'il se passe c'est que ton dummy essaye de lancer la torpeur sur ton héros, mais ça marche pas vu que c'est une de tes unités, donc ça fait une unité en moins dans ton groupe. Il faut que tu rajoutes une condition "matching unit is an enemy of player égal à TRUE", et éventuellement une autre "matching unit is alive égal à TRUE", sinon ça peut techniquement inclure les unités mortes à portée.
Pour ton autre problème, si c'est pas directement lié à ça, mieux vaut créer un autre sujet oui.
Edit: J'avais mis ally au lieu d'enemy. _________________
|
|
Revenir en haut |
|
|
|