Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
Posté le: 17/07/10 21:30 Sujet du message: Soucis de spawn unité
Bonsoir a tous! Alors ceci est mon second problème en deux jours (qui dit mieux? Ah j'ai une main au fond... bref)
Alors j'ai confectionné une série de commande pour, dans ma carte, rajouter en jeu des monstres ( dotés de la capacité "Aloc" ) et de pouvoir les supprimer lorsque l'envie m'en prend à l'aide d'un groupe d'unités
Et me voila avec un souci: Mon système ne marche tout simplement pas:
Au fait, il s'agit d'un slide et donc le hero_j est la seule unité controlable c'est pour ca que un coup je cherche l'unité qui a reçu l'action etc (à nettoyer je sais)
Ajout d'une unité mobile douée de la capacité "Aloc" (unité destinée a effectuer une patrouille lorsqu'elle spawn)
Système:
Premier clic droit:
Secret:
Jass:
function Trig_create_monster_1_Actions takes nothing returns nothing
local location point_order = GetOrderPointLoc()
set udg_monster_patrol[0] = point_order
call RemoveLocation( point_order )
set point_order = null
//===========================================================================
function InitTrig_create_monster_2 takes nothing returns nothing
set gg_trg_create_monster_2 = CreateTrigger( )
call DisableTrigger( gg_trg_create_monster_2 )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_create_monster_2, Player(0), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerAddAction( gg_trg_create_monster_2, function Trig_create_monster_2_Actions )
endfunction
Dans les deux déclencheurs du système, les méthodes sont différentes car j'ai presque tout essayé sans réussir...
Après modifications, j'en arrive a la déduction que le problème viens des local... (j'ai fait un trigger en gui l'ai converti en jass et jusque la il marchait... mais après avoir essayé de mettre des locales pour pouvoir éviter un leak, tout plantait. Donc le problème viens de là. Seul soucis, comment faire pour utiliser les locales? Merci de m'aider a répondre à cette question _________________
Le naab? C'est moi!
Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux
Naab un jour... naab toujours!!!
Dernière édition par Mainguet le 18/07/10 14:12; édité 1 fois
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: 18/07/10 11:58 Sujet du message:
Quand tu fais set variablePoint = autreVariablePoint tu ne créés pas de nouveau point, tu transmets juste sa référence à la variable autreVariablePoint.
Donc quand tu détruits variablePoint, autreVariablePoint pointe alors sur une location détruite.
Ta variable locale est sans intérêt ici d'ailleurs.
Tu ne semble pas avoir compris ce qu'était un leak et l'intérêt des variables local. _________________
Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
Posté le: 18/07/10 13:54 Sujet du message:
J'ai compris qu'un leak arrivait lorsque par exemple l'on créait une unité à un point tel point d'ailleurs qui n'est jamais libéré de la mémoire par warcraft
a par si l'on crée un "pointeur" vers ce point pour permettre de le "supprimer" et eviter ainsi un leak de mémoire. Par contre, je ne cache pas que je suis débutant en jass.
Et je me suis aussi rendu compte que l'un des deux étaient inutiles. Par contre, je n'avais pas saisi que mettre set variablePoint = autreVariablePoint ne donne pas la valeure de la seconde à la première mais ne fait que créer un pointeur du premier au second. Ça me fait déjà des connaissances de plus en jass .
Merci pour cette réponse. Je m'endormirais moins bête ce soir _________________
Le naab? C'est moi!
Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux
Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
Posté le: 18/07/10 15:18 Sujet du message:
Merci pour ce "lien" profet (j'ai déjà lu ce tutoriel là) ça ne me fera pas de mal de le relire attentivement (plus que la première fois car je ne m'étais même pas rendu compte que ça ne servais a rien de "nullifier" une globale...) _________________
Le naab? C'est moi!
Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux
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: 18/07/10 17:31 Sujet du message:
Mainguet a écrit:
Merci pour ce "lien" profet (j'ai déjà lu ce tutoriel là) ça ne me fera pas de mal de le relire attentivement (plus que la première fois car je ne m'étais même pas rendu compte que ça ne servais a rien de "nullifier" une globale...)
En fait si ca sert à se préserver d'un leak très très très mineur quand l'handle associé est détruit et que les variables qui pointent dessus ne sont pas nullifiés "en même temps" (même thread).
Mais bon tu peux admettre que ca ne leak pas :p _________________
Page 1 sur 1 La question posée dans ce topic a été résolue !
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