Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Bantas Anomalie floodiforme
Inscrit le: 21 Aoû 2007 Messages: 1524 Sujets: 37
Médailles: 1 (En savoir plus...)
|
Posté le: 03/11/07 04:55 Sujet du message: Groupes limités aux unités =( |
|
|
J'ai récemment eu besoin de faire des groupes d'autres choses que d'unités (d'entiers et d'effets). J'ai malheureusement vité constaté que cela semblait ne pas marcher, mes ForGroup ne faisant aucune éxécution.
Pour info, j'ajoutais mes effets de la manière suivante :
Jass: |
set e = AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeEmbers.mdl",2000 + GetRandomReal(-200,200),1800 + GetRandomReal(-200,200))
call GroupAddUnit(g,H2U(e)) |
J'ai isolé le problème dans une fonction de test, et là, malheureusement, ça ne marche toujours pas :
Jass: | function Test_groupes_effets_ForGroup takes nothing returns nothing
call BJDebugMsg(H2S(GetEnumUnit()))
endfunction
function Trig_Test_groupes_effets_Actions takes nothing returns nothing
local effect e = null
local group g = CreateGroup()
local integer i = 0
call BJDebugMsg("Boucle :")
loop
set i = i + 1
set e = AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeEmbers.mdl",2000 + GetRandomReal(-200,200),1800 + GetRandomReal(-200,200))
call GroupAddUnit(g,H2U(e))
call BJDebugMsg(H2S(e))
exitwhen (i > 10)
endloop
call BJDebugMsg(" ")
call BJDebugMsg("ForGroup :")
call ForGroup(g,function Test_groupes_effets_ForGroup)
call BJDebugMsg(" ")
endfunction
function InitTrig_Test_groupes_effets takes nothing returns nothing
set gg_trg_Test_groupes_effets = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_Test_groupes_effets, 0.00 )
call TriggerAddAction( gg_trg_Test_groupes_effets, function Trig_Test_groupes_effets_Actions )
endfunction |
Les messages indiquant les valeurs des effets à leur création s'affichent bien, mais absolument rien ne s'affiche après ForGroup. Rien. Nada. Niet.
Quelqu'un aurait-il plus d'informations sur ce bug au bug ?
Une solution à peu près optimisée ? _________________
|
|
Revenir en haut |
|
|
Brissou de Mourièssou Créateur de sorts, depuis 1936.
Inscrit le: 30 Aoû 2007 Messages: 1510 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 03/11/07 14:09 Sujet du message: |
|
|
Je pense pas que c'est un bug.
On ne peut surement pas jouer à Dieu dans ce cas là en modifiant un effet en unité. Au niveau du code du jeu il réalise surement des tests et pourra facilement se rendre compte qu'on essaye de l'arnaquer. _________________
|
|
Revenir en haut |
|
|
Magus Membre a fort taux de post
Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
Posté le: 03/11/07 23:16 Sujet du message: |
|
|
Pouvoir utilisé un groupe pour ce genre de chose aurait été utile comme on ne peut pas passer de tableau en paramètre de fonction. Mais je pense qu'un ForGroup utilise des fonctions propres aux unités, et donc lorsqu'il tombe sur autre chose sa coince (faut quand même pas oublier que pour faire ce genre de chose tu passes par un bug du compilateur et que le JASS est censé être un language typé).
En gros il reste le bon vieux game cache. _________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi. |
|
Revenir en haut |
|
|
Bantas Anomalie floodiforme
Inscrit le: 21 Aoû 2007 Messages: 1524 Sujets: 37
Médailles: 1 (En savoir plus...)
|
Posté le: 03/11/07 23:54 Sujet du message: |
|
|
[Master] a écrit: | En gros il reste le bon vieux game cache. | C'est aussi ce que je me suis dis. _________________
|
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 05/11/07 13:59 Sujet du message: |
|
|
J'avais déjà essayé et en effet WC3 vérifie que l'unité existe avant de l'ajouter. _________________
|
|
Revenir en haut |
|
|
|