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

Variables locales en GUI
Aller à la page Précédente  1, 2
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 24/04/08 17:46    Sujet du message: Citer

Et concernant le fait de convertir des déclencheurs Gui en Jass en ne changeant que le nom des variables pour en faire des locales, c'est possible ?
Si oui, est-ce que ça risque de poser des problèmes ou est-ce qu'il y a des limitations ?
_________________
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...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 24/04/08 18:59    Sujet du message: Citer

Il n'y a pas de limitations en Jass, donc si tu convertit ton déclencheur en Jass tu pourra sans problèmes utiliser les variables locales (du moment que tu ne leur donne pas le même nom que tes variables globales.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Troll-Brain
Ri1kamoua


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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 24/04/08 19:53    Sujet du message: Citer

aprés faut comprendre un minimum le code.
une locale n'est accessible que dans sa fonction
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 24/04/08 20:48    Sujet du message: Citer

Merci de vos réponses, ça m'éclaire un petit peu plus.

Autre question, est-ce que l'utilisation de locale dans un déclencheur en GUI pour un entier se justifie ? En gros est-ce que ça provoque un leak, si j'utilise une variable globale pour un entier dont je me sers à chaque fois qu'un certain sort est jeté ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Troll-Brain
Ri1kamoua


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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 24/04/08 21:03    Sujet du message: Citer

Rhadamante a écrit:
Merci de vos réponses, ça m'éclaire un petit peu plus.

Autre question, est-ce que l'utilisation de locale dans un déclencheur en GUI pour un entier se justifie ? En gros est-ce que ça provoque un leak, si j'utilise une variable globale pour un entier dont je me sers à chaque fois qu'un certain sort est jeté ?


nan un entier ca leak pas.
et une variable locale n'est vraiment nécessaire qu'aprés un wait
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Créateur de race (Quantité : 1) Grand décorateur (Quantité : 2)

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

Merci encore ! Ils sont fort ces entiers quand même...
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 zril
Membre actif


Inscrit le: 02 Jan 2008
Messages: 175
Sujets: 35



MessagePosté le: 15/06/08 01:22    Sujet du message: Citer

j'ai essayé de faire le cercle qui change de taille mais ça lag trop Sad


edit : oops me suis planté de topic ^^
_________________


Dernière édition par zril le 15/06/08 11:41; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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...)
Concours de sorts amusants (Quantité : 1) Créateur de héros (Quantité : 1)

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

Une brève explication du pourquoi les entiers et autres types de bases sont gentils alors que les les autres y sont vilains, ils polluent notre mémoire et squatte notre processeur.

Un entier c'est simplement qu'une valeur, stocké sur très peu de place, il est donc aisé de la transporter à travers tout notre code. On peut la recopier à chaque fois qu'on l'envoie dans une fonction ou dans une autre variable. Alors que les autres, les unités par exemple, c'est un gros tas de variables différentes: des entiers, des floats, un modèle, une texture, des sons et compagnie... Tout ce monde utilise pas mal de mémoire, c'est pas du tout pratique à transporter, puis notre unité on veut la conserver sans s'amuser à la recopier partout. Donc pour se balader aussi facilement avec son unité qu'avec son entier on garde seulement l'adresse mémoire où sont stockées toute les données.
Une métaphore pour bien comprendre, pour déménager c'est plus pratique de changer d'adresse que de transporter sa maison là où veut.
Le problème c'est que si on paume notre adresse, on peut plus retrouver notre unité, il faut donc vider cette mémoire pour supprimer correctement l'objet.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
 Shadows_Killers
Membre actif


Inscrit le: 24 Aoû 2009
Messages: 116
Sujets: 9
Spécialité en worldedit: Ne pas finir ce que j'ai commencé


MessagePosté le: 30/09/09 15:47    Sujet du message: Citer

J'avais compris le début, Bryce, mais avec ton exemple j'avoue que je suis largué ^^. Bon, en fait j'exagère mais je trouve l'exemple plus compliqué que la théorie, comme quoi..
En revanche, je trouve ce petit tuto pratique, il faudra que je pense à m'en servir si j'ai des problèmes de "wait".
_________________
Projet : Le Grand Démolisseur, La Récré Star Wars
En cours : prépa MP

AFK
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

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

MessagePosté le: 30/09/09 16:01    Sujet du message: Citer

Euh.. ça ne marche plus depuis la 1.24 de s'y prendre comme ça. Ceci dit, on peut encore le faire de façon détournée, avec des trucs de ce genre :
Gui:
Trigger:
Actions
Custom script: local unit u
Set MaVariableLocale = (Dying Unit)
Custom script: set u = udg_MaVariableLocale
Wait 2.00 seconds
Custom script: set udg_MaVariableLocale = u
Effet spécial - Create a special effect attached to the overhead of MaVariableLocale using AbilitiesSpellsOtherTalkToMeTalkToMe.mdl


Cependant, suite à la suppression du bug dit de shadowing des variables globales (c'est celui dont on parle!), jasshelper vérifie que vos variables locales ont bien des noms différents de vos variables globales. Donc il y a peut-être moyen de faire ça comme dans le tuto avec jasshelper.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Shadows_Killers
Membre actif


Inscrit le: 24 Aoû 2009
Messages: 116
Sujets: 9
Spécialité en worldedit: Ne pas finir ce que j'ai commencé


MessagePosté le: 30/09/09 20:31    Sujet du message: Citer

De toutes façons, je n'ai ni jasshelper ni aucun add-on pour le JASS étant donné que je me contente du GUI (je n'ai pas le niveau du JASS, pour l'instant ça reste trop galère !). En revanche, ta technique avec les Custom script me plait, d'autant plus que j'ai compris ^^.
[edit] correction d'une faute (eh oui, il faut bien ...)
_________________
Projet : Le Grand Démolisseur, La Récré Star Wars
En cours : prépa MP

AFK
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 20/01/10 11:16    Sujet du message: Citer

Cette méthode ne fonctionne plus du tout avec le nouveau patch à moins d'avoir Jasshelper et le shadowing des variables activés.
Lol Vexorian qui vient à la rescousse des adeptes du GUI !!!

Pour faire simple on va dire qu'il faut le JassNewGenPack, et éditer le fichier jasshelper.conf (avec un éditeur de texte) présent dans le dossier jassnewgenpack5d, en rajoutant une ligne :
[doshadowfixer]

On n'est plus limité en nombre de variables locales ainsi déclarées dans un trigger.
Mais y'a toujours les limitations de l'interface gui, inutilisable dans un pick every unit , dans une condition de if, etc ...
Bref à chaque fois que le gui utilise la variable dans une fonction, de part la nature d'une variable locale, accessible uniquement dans la fonction où elle est déclarée.

On peut bien sur y remédier en utilisant une variable globale tampon.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 14/05/12 22:21    Sujet du message: Citer

Les limitations du GUI restent les mêmes mais il me semble que depuis les "nouveaux" patchs on puisse utiliser autant de variables locales "local ... udg_..." que l'on souhaite dans une même fonction (déclencheur).

Simplement maintenant les variables locales ont la priorité par rapport aux variables globales quand elles ont le même nom.
Et on ne plus "typecaster" en utilisant le même nom pour une variable locale et globale avec des types différents.

Autrement dit cette méthode ne serait plus obsolète mais totalement viable (mais encore fois il reste le problème du GUI qui a tendance à diviser en plusieurs fonctions la moindre opération comme les conditions de "if/then".

A tester et confirmer, ou infirmer d'ailleurs.
_________________
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 -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2
Page 2 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