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=1a476e50ade1ca43695176e8f4856344Mé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

Me servir d'Autoindex correctement
Aller à la page Précédente  1, 2, 3
 
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
 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: 15/03/10 18:28    Sujet du message: Citer

onCreate -> ce n'est pas propre au vJass, c'est utilisé par AutoIndex, Il faut impérativement placer cette méthode au dessus de "implement AutoCreate".
Pourquoi ?
Car les nomDeLaMethod.exists dans les static if ne vérifient que les method qui se trouvent au dessus de ces if, et non en dessous.
Ce fonctionnement des static if est plutôt chiant, mais d'un autre côté si les static if .exists pouvaient détecter les method situées en dessous il faudrait les .evaluate/.execute.
Ce qui serait pas mal, mais dans ce cas précis c'est inutile.

A noter que si tu appelles une method se trouvant en dessous de l'endroit où tu l'appelles, elle sera automatiquement .evaluate(), tu peux désactiver cette possibilité en rajoutant une ligne :
Code:
[forcemethodevaluate]
dans jasshelper.conf (situé à la racine du JNGP).
Personnellement je l'ai fait car j'ai horreur des .evaluate inutiles, je places mes fonctions dans l'ordre requis ou je stipule moi même qu'il faut les .evaluate() quand c'est nécessaire.

.evaluate/.execute permet d'ouvrir un nouveau thread (en gros un moyen de contourner le limit op), mais c'est plus lent qu'un simple call.
Vexorian désactive le .evaluate, si la method ainsi appelée se trouve au dessus, car il croyait que TriggerEvaluate n'ouvrait pas un nouveau thread, ce qui est faux, et aussi histoire d'améliorer le code des fainéasses impurs et incultes qui n'ont pas [forcemethodevaluate] d'activé.
C'est plutôt chiant car call > .evaluate > .execute > ExecuteFunc, en terme de rapidité.
Or même si on stipule soit même le .evaluate c'est ignoré si la méthode ainsi appelée se trouve en dessous ou encore est inliné.
Cette règle ne s'applique pas aux fonctions.

En fait je n'ai pas grand chose contre cette method elle a été bien codé, tu peux choisir de déclarer ou non ta propre method create.

C'est juste pour t'expliquer comment fonctionne le vJass.

onDestroy -> propre au vJass et là par contre c'est très chiant car c'est appelé à chaque appel de .deallocate, et comme AutoData utilise sa propre method destroy, tu ne peux pas déclarer la tienne car le vJass ne le supporte pas.
Tu peux parfois vouloir .deallocate une instance sans pour autant appeler la method onDestroy, et dans ce cas tu es obligé d'utiliser un booléen pour stopper l'appel de onDestroy avec un if dans la première ligne de code ><
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 15/03/10 22:34    Sujet du message: Citer

Merci pour les informations.


A propos je viens de remarquer qu'AutoIndex ne détecte pas, avec AutoCreate, les unités issues d'une amélioration d'unité.

Ca doit être lié à la mécanique de Warcraft, mais c'est marant, vu qu'en théorie un upgrade est fait pour changer l'unité (donc en créer une nouvelle, dans ma tête).
_________________
Revenir en haut
 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: 15/03/10 22:40    Sujet du message: Citer

Apocalypse a écrit:
Merci pour les informations.


A propos je viens de remarquer qu'AutoIndex ne détecte pas, avec AutoCreate, les unités issues d'une amélioration d'unité.

Ca doit être lié à la mécanique de Warcraft, mais c'est marant, vu qu'en théorie un upgrade est fait pour changer l'unité (donc en créer une nouvelle, dans ma tête).


Stoa le marrant, on en créé pas une nouvelle, on la transforme, comme avec une compétence de morph (avec ou sans cast).
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 15/03/10 22:42    Sujet du message: Citer

Troll-Brain a écrit:
Apocalypse a écrit:
Merci pour les informations.


A propos je viens de remarquer qu'AutoIndex ne détecte pas, avec AutoCreate, les unités issues d'une amélioration d'unité.

Ca doit être lié à la mécanique de Warcraft, mais c'est marant, vu qu'en théorie un upgrade est fait pour changer l'unité (donc en créer une nouvelle, dans ma tête).


Stoa le marrant, on en créé pas une nouvelle, on la transforme, comme avec une compétence de morph (avec ou sans cast).


Bah c'est bête qu'il ne l'ait pas prévu dans sa library. Ca ne fait qu'un event de plus Smile
_________________
Revenir en haut
 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: 15/03/10 22:50    Sujet du message: Citer

Tu raisonnes bizarrement.
En plus t'as déjà un event natif pour les upgrade.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 17/03/10 15:59    Sujet du message: Citer

Oui à tes deux phrases.

Anyway ça fonctionne maintenant.

C'est juste que j'avais toujours cru que l'upgrade était un équivalent de ReplaceUnitBJ
_________________
Revenir en haut
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 Précédente  1, 2, 3
Page 3 sur 3
La question posée dans ce topic a été résolue !

 
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