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=414cca4ef89eaa5de529f3cbd6f81f63Mé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

Leak ?
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
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



MessagePosté le: 11/04/12 14:32    Sujet du message: Leak ? Citer

Je voudrais votre avis, je me suis mis à essayer de palier au Leak de mes TRES nombreux déclencheurs.

Y à-t-il des leaks dans ces triggers ? :
Secret:

Gui:
Trigger:
Evénements
Unité - A unit Acquiert un objet
Conditions
(Item being manipulated) Egal à  Sceau de téléportation 0000 <gen>
Actions
Custom script:   local effect udg_TmpEffect = null
Set TmpPoint = (Center of TP 1 <gen>)
Unité - Create 1 Cercle de puissance for Neutre Passif at TmpPoint facing Orientation bâtiment par défaut degrees
Custom script:   call RemoveLocation( udg_TmpPoint )
Collapse For each (Integer A) from 1 to 1, do (Actions)
Collapse Boucle - Actions
Set TmpPoint = (Center of POP fontaine vie <gen>)
Effet spécial - Create a special effect at TmpPoint using AbilitiesSpellsOtherVolcanoVolcanoDeath.mdl
Custom script:   call RemoveLocation( udg_TmpPoint )
Set TmpEffect = (Last created special effect)
Effet spécial - Destroy TmpEffect
Unité - Unhide Fontaine de mana 0066 <gen>
Collapse For each (Integer A) from 1 to 1, do (Actions)
Collapse Boucle - Actions
Set TmpPoint = (Center of POP fontaine mana <gen>)
Effet spécial - Create a special effect at TmpPoint using AbilitiesSpellsOtherVolcanoVolcanoDeath.mdl
Custom script:   call RemoveLocation( udg_TmpPoint )
Set TmpEffect = (Last created special effect)
Effet spécial - Destroy TmpEffect
Unité - Unhide Fontaine de santé 0067 <gen>
Destructible - Kill Rocailles 0440 <gen>
Destructible - Kill Rocailles 0439 <gen>


Secret:

Gui:
Trigger:
Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 2 (Bleu) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 3 (Cyan) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 4 (Pourpre) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 5 (Jaune) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 6 (Orange) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 7 (Vert) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 8 (Rose) types a chat message containing -repick as Résultat équivalent
Conditions
repick_off[(Player number of (Triggering player))] Egal à  FALSE
Actions
Collapse Groupe unité - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is Un bâtiment) Egal à  FALSE)) and do (Actions)
Collapse Boucle - Actions
Unité - Remove (Picked unit) from the game
Set TmpPoint = (Center of REPICK <gen>)
Unité - Create 1 Feu follet for (Triggering player) at TmpPoint facing Orientation bâtiment par défaut degrees
Custom script:   call RemoveLocation( udg_TmpPoint )
Set TmpPoint = (Center of REPICK <gen>)
Caméra - Pan camera for (Triggering player) to TmpPoint over 0.00 seconds
Custom script:   call RemoveLocation( udg_TmpPoint )
Set assassin[1] = 0
Set barbare[1] = 0
Set chamane[1] = 0
Set druide[1] = 0
Set guerrier[1] = 0
Set magefire[1] = 0
Set mageice[1] = 0
Set paladin[1] = 0
Set ranger[1] = 0
Set warlock[1] = 0


_________________
Un jour je finirai une map W3
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

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

Il ne me semble pas, mais juste une petite précision : lorsque tu détruis un effet juste après sa création, tu n'est pas obligé de le stocker dans une variable pour ensuite le détruire à partir de cette variable. Utilise simplement cette action :
Gui:
Trigger:
Effet spécial - Destroy (Last created special effect)


Edit: Oups! A force d'utiliser des groups globals, j'en oublie qu'ils leakent. Rajoute cette action dans un custom script avant GroupEnum :
Jass:
bj_wantDestroyGroup = true

Ps : les loop qui vont de 1 à 1 servent à rien Wink.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



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

Je t'avouerai, j'ai pas compris ce que tu as dit,
-avant le GroupEnum ?
-et je devrais mettre quoi à la place d'un loop 1 à 1, car si je met pas au minimum çà, mon 2ème effet ne marche pas.
_________________
Un jour je finirai une map W3
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/04/12 14:49    Sujet du message: Citer

ton pick leak,
tu crée une variable Groupe unité tu entre les même parametre dedans puis tu met ta variable dans le pick et le
custom scipt : call DestroyGroup ( udg_tavar ) apres ton pick ou a la fin du declo comme tu le sens
_________________
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é
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

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

Ton deuxième déclencheur deviendrait ça :

Gui:
Trigger:
Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 2 (Bleu) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 3 (Cyan) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 4 (Pourpre) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 5 (Jaune) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 6 (Orange) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 7 (Vert) types a chat message containing -repick as Résultat équivalent
Joueur - Joueur 8 (Rose) types a chat message containing -repick as Résultat équivalent
Conditions
repick_off[(Player number of (Triggering player))] Egal à  FALSE
Actions
Custom script:   set bj_wantDestroyGroup = true
Collapse Groupe unité - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is Un bâtiment) Egal à  FALSE)) and do (Actions)
Collapse Boucle - Actions
Unité - Remove (Picked unit) from the game
Set TmpPoint = (Center of REPICK <gen>)
Unité - Create 1 Feu follet for (Triggering player) at TmpPoint facing Orientation bâtiment par défaut degrees
Custom script:   call RemoveLocation( udg_TmpPoint )
Set TmpPoint = (Center of REPICK <gen>)
Caméra - Pan camera for (Triggering player) to TmpPoint over 0.00 seconds
Custom script:   call RemoveLocation( udg_TmpPoint )
Set assassin[1] = 0
Set barbare[1] = 0
Set chamane[1] = 0
Set druide[1] = 0
Set guerrier[1] = 0
Set magefire[1] = 0
Set mageice[1] = 0
Set paladin[1] = 0
Set ranger[1] = 0
Set warlock[1] = 0


Sinon je vois pas trop pourquoi ton deuxième effet ne marcherait pas Confused. Une boucle allant de 1 à x répète les actions x fois, donc une boucle allant de 1 à 1 les répète 1 fois -> autant s'en passer.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



MessagePosté le: 11/04/12 15:20    Sujet du message: Citer

Merci bien pour les réponses, j'ai fait comme toi Sapeur-Gobelin Smile
Du coup je vais refaire tous mes déclencheurs de téléportation, déjà (sava être loooooooooooong) + les 80 déclencheurs pour choisir mes héros Crying or Very sad
_________________
Un jour je finirai une map W3
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/04/12 15:33    Sujet du message: Citer

80 !!! lol tu utilise quoi comme systeme?
_________________
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é
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



MessagePosté le: 11/04/12 15:57    Sujet du message: Citer

Un truc très basique mais qui marche, çà fait 1an maintenant et j'étais encore plus nul que maintenant, j'avais trouvé un tuto sur le net et je l'ai recopier puis copier collé 80 fois sur 3 map différentes mdr....j'ai honte Cool

Gui:
Trigger:
Evénements
Unité - A unit enters Ranger <gen>
Conditions
((Owner of (Triggering unit)) Egal à  Joueur 1 (Rouge)) and (ranger[1] Egal à  0)
Actions
Unité - Remove (Triggering unit) from the game
Set ranger[1] = 1
Wait 2.00 seconds
Unité - Create 1 Sylvanas for Joueur 1 (Rouge) at (Center of Zone de depart <gen>) facing Orientation bâtiment par défaut degrees
Caméra - Pan camera for Joueur 1 (Rouge) to (Center of Zone de depart <gen>) over 0.00 seconds
Set J1 = (Last created unit)

Ce truc là pour 10 héros et 8 joueurs mdr
Oubliez le leak hein, je ne m'y suis pas encore mis Smile
_________________
Un jour je finirai une map W3
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 11/04/12 16:12    Sujet du message: Citer

J'ai mal pour toi.
Dire qu'un déclencheur suffirait... Regarde un peu dans les tutos, il y a pas mal d'exemple de sélection. Le choix par taverne peut aussi être assez intéressant ne faisant intervenir qu'une région.
_________________
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/04/12 16:18    Sujet du message: Citer

Taverne = ROXX ATTITUDE
_________________
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/04/12 16:28    Sujet du message: Citer

plutot que de faire "set ranger [1] = 1" tu peux faire set ranger ["numéro du joueur(propriétaire de (Triggering Unit))] = 1
puis tu stock le joueur dans une variable "player = le joueur" et à la place de "Unité - Create 1 Sylvanas for Joueur 1 (Rouge) ..." tu met "Unité - Create 1 Sylvanas for "player" ...

Attention le système n'est pas "multiinstanciable", il sert juste a réduire ton nombre de déclencheurs.

Sinon utilise un de ces deux systèmes:

Tuto de sélection par flèches ou double-click par moi

ou

Tuto de sélection par Taverne par kapoka
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



MessagePosté le: 11/04/12 16:41    Sujet du message: Citer

J'avais pensé à le refaire en 8 déclencheurs (nombre de joueurs max) seulement ils auraient fallu que je change mon système de repick que je viens juste de terminer Very Happy. Et je n'ai pas les capacités pour en refaire un pour mes nouveaux déclencheurs. Mais je vais essayer différentes façon dont les 2 tutos de Lord_Demon_X pour voir.
_________________
Un jour je finirai une map W3
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Vladadamm
Floodozaurus


Inscrit le: 11 Fév 2011
Messages: 2151
Sujets: 114
Spécialité en worldedit: Chasser le Dragon, puis l'exterminer proprement avec une petite cuillère et une poêle.


MessagePosté le: 11/04/12 18:37    Sujet du message: Citer

Gui:
Trigger:
Set TmpPoint = (Center of REPICK <gen>)
Unité - Create 1 Feu follet for (Triggering player) at TmpPoint facing Orientation bâtiment par défaut degrees
Custom script:   call RemoveLocation( udg_TmpPoint )
Set TmpPoint = (Center of REPICK <gen>)
Caméra - Pan camera for (Triggering player) to TmpPoint over 0.00 seconds
Custom script:   call RemoveLocation( udg_TmpPoint )

Arrow
Gui:
Trigger:
Set TmpPoint = (Center of REPICK <gen>)
Unité - Create 1 Feu follet for (Triggering player) at TmpPoint facing Orientation bâtiment par défaut degrees
Caméra - Pan camera for (Triggering player) to TmpPoint over 0.00 seconds
Custom script:   call RemoveLocation( udg_TmpPoint )

Là, le point ne leak pas, tant qu'il n'y a pas d'action wait ou autre écoulation de temps au milieu ^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 tetronitte
Floodeur prématuré


Inscrit le: 08 Avr 2012
Messages: 551
Sujets: 33



MessagePosté le: 12/04/12 22:19    Sujet du message: Citer

Donc les unité créé ne leak pas si il n'y à pas de "wait" ?
_________________
Un jour je finirai une map W3
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Vladadamm
Floodozaurus


Inscrit le: 11 Fév 2011
Messages: 2151
Sujets: 114
Spécialité en worldedit: Chasser le Dragon, puis l'exterminer proprement avec une petite cuillère et une poêle.


MessagePosté le: 12/04/12 22:24    Sujet du message: Citer

Les unités ne leakent pas. C'est le point qui leak. Il leak dans ce cas si par exemple tu fait ça :

Gui:
Trigger:
Set TmpPoint = (Center of REPICK <gen>)
Unité - Create 1 Feu follet for (Triggering player) at TmpPoint facing Orientation bâtiment par défaut degrees
Wait 3.00 seconds
Caméra - Pan camera for (Triggering player) to TmpPoint over 0.00 seconds
Custom script:   call RemoveLocation( udg_TmpPoint )


Sinon, il ne leak pas.
_________________
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

 
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