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=cf45278c208065f7c7e26e1a2fe0eaecMé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

Est ce que mon déclo 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
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 16/06/08 20:02    Sujet du message: Est ce que mon déclo leak Citer

Bon voilà dans ma nouvelle map j'ai un déclencheur qui crée une unité toutes les 2.5 secondes pour chaque joueur, le leak vient forcement de ce déclencheur mais je ne vois pas ou.

Gui:
Trigger:
Cree uniter joueur 1
Collapse Evénements
Temps - Every 2.50 seconds of game time
Conditions
Collapse Actions
Set Position_Zeppelin[1] = (Position of Zeppelin[1])
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Joueur 1 (Rouge) is in Race[1]) Egal à  TRUE
Collapse Alors - Actions
Unité - Create 1 Humain[Niveau_joueur[1]] for Joueur 1 (Rouge) at Position_Zeppelin[1] facing Orientation bâtiment par défaut degrees
Sinon - Actions
Custom script:   set udg_Position_Zeppelin[1] = null
Custom script:   call RemoveLocation( udg_Position_Zeppelin[1] )

Position_Zeppelin: point
Zeppelin: unité
race: groupe joueur
Niveau_joueur: entier
_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Deatrathias
Membre actif


Inscrit le: 24 Mai 2008
Messages: 108
Sujets: 3
Spécialité en worldedit: Un peu de tout mais surtout beaucoup de rien.


MessagePosté le: 16/06/08 21:55    Sujet du message: Citer

Tu met udg_Position_Zeppelin[1] à null avant de le supprimer. C'est après qu'il faut le faire, sinon tu ne supprime rien. D'ailleurs il n'est pas forcément nécessaire de le mettre à null car c'est une variable globale.
_________________
ಠ_ಠ
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 16/06/08 22:13    Sujet du message: Citer

Ok je vais le virer ^^ et si non a part sa ? rien de suspect ?
_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 18/06/08 12:57    Sujet du message: Citer

J'ai une question est ce qu'une variable groupe joueur peut leak ?

Mon déclo actuel qui fait pop les unités:
(je ne met que un seul déclencheur de groupe joueur il y en a 4 en tout, le seul truc qui change c'est le déploiement de Race et la variable pour l'unité qui est crée)

Gui:
Trigger:
Cree uniter
Collapse Evénements
Temps - Every 2.50 seconds of game time
Conditions
Collapse Actions
Collapse Groupe joueur - Pick every player in (All players controlled by a Utilisateur player) and do (Actions)
Collapse Boucle - Actions
Set AT_Position_Zeppelin[(Player number of (Picked player))] = (Position of Zeppelin[(Player number of (Picked player))])
Collapse Groupe joueur - Pick every player in Race[1] and do (Actions)
Collapse Boucle - Actions
Unité - Create 1 Humain[Niveau_joueur[(Player number of (Picked player))]] for (Picked player) at AT_Position_Zeppelin[(Player number of (Picked player))] facing Orientation bâtiment par défaut degrees
Collapse Groupe joueur - Pick every player in (All players controlled by a Utilisateur player) and do (Actions)
Collapse Boucle - Actions
Custom script:   call RemoveLocation( udg_AT_Position_Zeppelin[GetConvertedPlayerId(GetEnumPlayer())] )
Custom script:   set udg_AT_Position_Zeppelin[GetConvertedPlayerId(GetEnumPlayer())] = null


AT_position_Zeppelin[#]: point
Zeppelin[#]: unité
Race[#]: groupe joueur
Humain[#]: unité
_________________
Ancien The.gosu


Dernière édition par Anthelme le 18/06/08 13:12; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 18/06/08 13:09    Sujet du message: Citer

Si tu ne détruit pas la force, oui.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 18/06/08 13:12    Sujet du message: Citer

La force = ?
_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 profet
Instanton Gravitationnel Singulier


Inscrit le: 21 Aoû 2007
Messages: 1633
Sujets: 53
Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...)
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Profet (Quantité : 1)

MessagePosté le: 18/06/08 15:36    Sujet du message: Citer

Et comme il l'a été dit, pas besoin de nullifier la variable ;)
_________________

Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70%
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 18/06/08 17:08    Sujet du message: Citer

force = Groupe de joueur
group = Groupe d'unité

Ton premier Pick every crée une force qui n'est jamais détruit.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 18/06/08 17:33    Sujet du message: Citer

Secret:

Gui:
Trigger:
Cree uniter
Collapse Evénements
Temps - Every 2.50 seconds of game time
Conditions
Collapse Actions
Set AT_Groupe_joueur = (All players controlled by a Utilisateur player)
Collapse Groupe joueur - Pick every player in AT_Groupe_joueur and do (Actions)
Collapse Boucle - Actions
Set AT_Position_Zeppelin[(Player number of (Picked player))] = (Position of Zeppelin[(Player number of (Picked player))])
Collapse Groupe joueur - Pick every player in Race[1] and do (Actions)
Collapse Boucle - Actions
Unité - Create 1 Humain[Niveau_joueur[(Player number of (Picked player))]] for (Picked player) at AT_Position_Zeppelin[(Player number of (Picked player))] facing Orientation bâtiment par défaut degrees
Set Unite_cree[(Player number of (Picked player))] = 1
Custom script:   call DestroyGroup( udg_AT_Groupe_unite )
Collapse Groupe joueur - Pick every player in AT_Groupe_joueur and do (Actions)
Collapse Boucle - Actions
Custom script:   call RemoveLocation( udg_AT_Position_Zeppelin[GetConvertedPlayerId(GetEnumPlayer())] )
Custom script:   call DestroyForce( udg_AT_Groupe_joueur )


Si je fait sa sa leak plus ?

Petite question je doit aussi détruire les force de mes variables groupe joueur ?

Up Sa leak toujours ! Crying or Very sad
_________________
Ancien The.gosu


Dernière édition par Anthelme le 18/06/08 18:31; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 18/06/08 18:11    Sujet du message: Citer

je vais encore avoir besoin de vos yeux et de votre sagesse pour ces déclencheurs :p

Secret:

Gui:
Trigger:
Pouvoir 1
Collapse Evénements
Unité - A unit enters (Playable map area)
Collapse Conditions
(Unit-type of (Entering unit)) Egal à  Dummy
Collapse Actions
Set AT_Position_Unite = (Position of (Entering unit))
Set AT_Groupe_unite = (Units owned by (Owner of (Triggering unit)))
Collapse Groupe unité - Pick every unit in AT_Groupe_unite and do (Actions)
Collapse Boucle - Actions
Unité - Order (Picked unit) to Attaquer-Avancer vers AT_Position_Unite
Unité - Order Zeppelin[(Player number of (Owner of (Triggering unit)))] to Arrêter
Unité - Remove (Triggering unit) from the game
Custom script:   call DestroyGroup( udg_AT_Groupe_unite )
Custom script:   call RemoveLocation( udg_AT_Position_Unite )


Secret:

Gui:
Trigger:
Pouvoir 2
Collapse Evénements
Unité - A unit Commence le lancement d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Ordre 2
Collapse Actions
Unité - Reset ability cooldowns for Zeppelin[(Player number of (Owner of (Triggering unit)))]
Set AT_Groupe_unite = (Units owned by (Triggering player))
Collapse Groupe unité - Pick every unit in AT_Groupe_unite and do (Actions)
Collapse Boucle - Actions
Unité - Order (Picked unit) to Suivre Zeppelin[(Player number of (Owner of (Triggering unit)))]
Unité - Order Zeppelin[(Player number of (Owner of (Triggering unit)))] to Arrêter
Custom script:   call DestroyGroup( udg_AT_Groupe_unite )


_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 18/06/08 18:32    Sujet du message: Citer

En Gui (et Jass) toutes création d'un objet (quelque chose qui est pointé avec une variable et non une valeur direct) qui ne sera jamais détruit leak en soit.

Une unité leaks en quelque sorte , mais elle pourra être détruite par le jeu par exemple.

Mais si tu crée une force , le jeu ne le détruira pas de lui même car elle ne sait pas si elle doit le faire , sauf a la fin de la partie elle le détruira. (l'écran noir quand tu quitte une partie)

La plupart des fonction crée les objet au lieu de te donner le pointeur. (rarement pour les widgets (unité,objet,destructible))

Pour évité que tu fasse des choses qui faut pas avec. (imagine tu détruit la position d'une unité , le jeu aura du mal a la savoir où elle est.)

Donc dès qu'il y a des création d'objet et que l'ont perd ses référence ont peut considéré cela comme du leak.

Par exemple : A unit enters (Playable map area)

Playable map area créera une région.

C'est a dire que l'action en elle même leak , mais elle est exécuté qu'une seul fois durant toutes une partie alors ce n'est vraiment pas très grave.

Owner of (Triggering unit))

Cela leak pas car tu ne pourra rien faire au joueur qui n'est pas sensé pouvoir être fait. (Tu ne détruit pas les joueur , donc le jeu te donne directement les référence au lieu de récrée un joueur)


Je crois t'avoir fait un tuto sur les leaks compréhensible , tu est donc sensé maintenant pouvoir repéré se qui leaks ou pas toi même. Razz
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 18/06/08 18:42    Sujet du message: Citer

Lol tu me redit des choses que je connais déjà mais j'ai lu que les plus gros leak viennent des groupe_unite des effets et des points, et a ce que je vois je l'est est déjà régler mais sa leak toujours c'est pour sa je fait appelle au grand génie du we Rolling Eyes.

Donc si je doit enlever tous les objets il faudrait que je re-déclare chaque variable utiliser dans un déclencheur et les détruire ensuite.

Mon déclo de pop actuel:
Secret:

Gui:
Trigger:
Cree uniter
Collapse Evénements
Temps - Every 2.50 seconds of game time
Conditions
Collapse Actions
Set AT_Groupe_joueur = (All players controlled by a Utilisateur player)
Collapse Groupe joueur - Pick every player in AT_Groupe_joueur and do (Actions)
Collapse Boucle - Actions
Set AT_Position_Zeppelin[(Player number of (Picked player))] = (Position of Zeppelin[(Player number of (Picked player))])
Groupe joueur - Pick every player in Race[4] and do (Actions)
Collapse Boucle - Actions
Unité - Create 1 Elfe_de_la_nuit[Niveau_joueur[(Player number of (Picked player))]] for (Picked player) at AT_Position_Zeppelin[(Player number of (Picked player))] facing Orientation bâtiment par défaut degrees
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
And - All (Conditions) are true
Collapse Conditions
((Picked player) Or actuel) Supérieur à  10
Unite_cree[(Player number of (Picked player))] Egal à  2
Collapse Alors - Actions
Joueur - Add -10 to (Picked player) Or actuel
Unité - Create 1 Elfe_de_la_nuit[Niveau_joueur[(Player number of (Picked player))]] for (Picked player) at AT_Position_Zeppelin[(Player number of (Picked player))] facing Orientation bâtiment par défaut degrees
Collapse Sinon - Actions
Set AT_Groupe_unite = (Units owned by (Picked player))
Collapse Groupe unité - Pick every unit in AT_Groupe_unite and do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
((Picked unit) is Un bâtiment) Egal à  TRUE
Collapse Alors - Actions
Unité - Order (Picked unit) to Chasseur de démon - Désactiver Immolation
Sinon - Actions
Custom script:   call DestroyGroup( udg_AT_Groupe_unite )
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Unite_cree[(Player number of (Picked player))] Egal à  2
Collapse Alors - Actions
Set Unite_cree[(Player number of (Picked player))] = 1
Partie - Display to (Player group((Picked player))) the text: Vous n'avez plus as...
Sinon - Actions
Collapse Groupe joueur - Pick every player in AT_Groupe_joueur and do (Actions)
Collapse Boucle - Actions
Custom script:   call RemoveLocation( udg_AT_Position_Zeppelin[GetConvertedPlayerId(GetEnumPlayer())] )
Custom script:   call DestroyForce( udg_AT_Groupe_joueur )


_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 19/06/08 05:35    Sujet du message: Citer

Sa n'a pas l'air de leaks sauf si ton Race[4] est vide , car si tu regarde bien tu Pick every player in AT_Groupe_joueur a l'interieur du Pick every player in Race[4].

J'imagine que c'est soit le copier/coller puis posté qui a "planté" soit une erreur lors du codage.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Anthelme
Anomalie floodiforme


Inscrit le: 28 Aoû 2007
Messages: 1857
Sujets: 93



MessagePosté le: 19/06/08 19:03    Sujet du message: Citer

En faite le pick race 4 n'est pas dans le pick au dessus race4 est déjà un groupe de joueur en lui même

Le faite que race[4] soit vide peut faire leak ?!
_________________
Ancien The.gosu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 20/06/08 00:10    Sujet du message: Citer

Citation:
Le faite que race[4] soit vide peut faire leak ?!


Le fait que tu Pick un groupe vide ne fait pas leaks , dans ton cas le problème est que si le groupe est vide alors il n'y a pas destruction des objets.
Citation:

En faite le pick race 4 n'est pas dans le pick au dessus race4 est déjà un groupe de joueur en lui même


Il y a 3 Pick principal dans ton declo:

A (Pick every player in AT_Groupe_joueur)
B (Pick every player in Race[4])
C (Pick every player in AT_Groupe_joueur)

B n'est pas dans A je suis daccord avec toi , je disait que C est dans B.

Hors C sert à detruire les leaks , donc si B s'exécute pas (Donc Race[4] est vide) , alors C ne s'exécutera donc pas et la destruction des objets aussi.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
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