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...)
Posté le: 21/01/12 21:04 Sujet du message:
Un truc incroyable que j'ai appris relativement récemment, je pensais naïvement que "last created group" en GUI se contentait de pointer la variable bj_lastCreatedGroup.
Que nenni, c'est plus fun :
Jass:
function GetLastCreatedGroup takes nothing returns group
set bj_groupLastCreatedDest = CreateGroup()
call ForGroup(bj_lastCreatedGroup, function GetLastCreatedGroupEnum)
return bj_groupLastCreatedDest
endfunction
Je ne vois pas en quoi créer un nouveau groupe aide en quoi que ce soit, à part créé un leak et utiliser des fonctions useless pour le fun ><
D'ailleurs GetLastCreatedGroupEnum est aussi magnifique, elle est utilisée seulement pour cette fonction dans la librairie Blizzard.j, et on s'en passerait bien.
Au delà de son intérêt nul, c'est aussi la seule fonction qui commence par Get et qui ne retourne rien. _________________
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 21/01/12 21:17 Sujet du message:
Je suppose que c'est pour copier le groupe, comme ça s'il est modifié, on peut toujours le retrouver.
C'est du GUI, de toutes façons . _________________
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...)
Posté le: 21/01/12 21:37 Sujet du message:
Je ne vois pas le rapport, si bj_lastCreatedGroup est modifié, le nouveau groupe sera sa copie conforme étant donné qu'il utilise ce groupe.
Nan vraiment c'est le plus gros fail du GUI que j'ai jamais vu. _________________
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...)
Posté le: 21/01/12 21:46 Sujet du message:
Certes, mais ca ne change rien au fait que si bj_lastCreatedGroup est modifié avant l'appel de cette fonction, cette fonction retournera le même groupe modifié.
Y'a vraiment aucun intérêt, ou je loupe vraiment quelque chose d'essentiel. _________________
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 21/01/12 22:26 Sujet du message:
Gui:
Trigger:
Machin
Evénements
Joueur - Quelqu'un fait quelque chose
Conditions
Actions
Unité - Create 50 Paladin for Joueur 1 (Rouge) at (Center of (Playable map area)) facing Orientation bâtiment par défaut degrees Set HerosDontLeNomCommenceParM = (Last created unit group)
Groupe unité - Pick every unit in HerosDontLeNomCommenceParM and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Substring((Proper name of (Picked unit)), 1, 1)) Différent de M
Alors - Actions
Groupe unité - Remove (Picked unit) from HerosDontLeNomCommenceParM
Sinon - Actions
Set HerosDontLeNomFinitParR = (Last created unit group)
Groupe unité - Pick every unit in HerosDontLeNomCommenceParM and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Substring((Proper name of (Picked unit)), (Length of (Proper name of (Picked unit))), (Length of (Proper name of (Picked unit))))) Différent de r
Alors - Actions
Groupe unité - Remove (Picked unit) from HerosDontLeNomFinitParR
Sinon - Actions
Tu loupes quelque chose qui pourrait être essentiel dans certaines situations. C'est le fait de savoir si on veut récupérer le groupe par valeur ou par variable.
Après, c'est sûr que pour cette fonction, l'intérêt est limité, mais ça fait une différence quand même ^^. _________________
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...)
Posté le: 21/01/12 22:54 Sujet du message:
La façon propre et plus logique de faire cela serait de stocker la dernier groupe créé dans une variable, puis de loop dans ce group et ajouter les unités voulues aux autres groupes.
M'enfin je suppose que c'est trop demandé pour du GUI. _________________
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 01/10/12 20:59 Sujet du message:
Il a écrit:
Certains champs de l'éditeur d'objet ne doivent pas être nuls sous peine de dysfonctionner. La plupart du temps, lorsqu'une valeur nulle est mise à un mauvais champs, la donnée est soit utilisée comme si c'était la valeur maximale possible qui était mise, soit bridée à la valeur minimale possible.
...
• Vitesse projectile -> Valeur maximale.
Petite nouvelle par rapport à ça : dans ma map, j'ai un temps de réaction clairement plus lent en mettant une vitesse projectile à 0 qu'en la mettant à 99999. Mais j'arrive pas à reproduire ça sur une map vide (ça a pas l'air de venir des autres données liées à l'attaque ni au buff "poison lent").
Pour le moment, j'ai trouvé un délai de 0.01 minimum (+/- 0.001) entre l'évènement "est attaqué" et l'évènement "subit des dommages" que ce soit avec 0 ou 99999 de vitesse. Ça descend à 0.007 lorsque l'attaque n'est pas de type "projectile" (ce qui correspondrait à la valeur de l'horloge interne de 0.003125 que je vois sur THW, je suppose).
Bref, il vaut peut-être mieux utiliser les valeurs les plus grandes possibles au lieu d'utiliser ce bug, dans certaines situations. _________________
Toutes les heures sont au format GMT + 1 Heure Aller à la page Précédente1, 2, 3, 4, 5, 6
Page 6 sur 6
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