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=031ea17e594c98e6bed04d35995a70abMé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

Questions sur le vJass

 
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
 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: 29/02/12 16:01    Sujet du message: Questions sur le vJass Citer

J'aurais plusieurs questions à propos du vJass.

Tout d'abord j'ai été assez déçu d'apprendre qu'une structure a une limite d'instances simultanées. A quoi ça sert de faire du vJass si c'est pour retomber dans les défauts du Gui? Je sais bien que cette limite ne peut pas être atteinte mais c'est crade...

Ensuite j'aimerais savoir à quoi servent les méthodes? Franchement je trouve ça assez inutile étant donné que ça fait exactement la même chose qu'une fonction. Pourquoi ne pas utiliser une fonction externe à la structure?

Pourquoi faut-il préciser le nombre de déploiements d'une variable dans une structure? C'est assez problématique quand ça dépend d'une autre variable étant donné qu'on ne peut pas exprimer ce déploiement en fonction d'une variable.

Et pour finir, si on crée un groupe dans une structure, avant de la détruire, faut il le détruire et le nullifier ou c'est fait automatiquement?
_________________
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: 29/02/12 16:58    Sujet du message: Citer

Du fait qu'il est impossible d'atteindre la limite Vexorian n'a peut-être pas pris la peine de mettre un nombre d'instanciabilité infini.
Après je mis connais pas suffisamment en (V)jass pour te répondre
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 29/02/12 17:35    Sujet du message: Citer

On peut créer des structures/variables globales avec plus de 8190 instances, mais ça ralentit l'exécution et c'est rare qu'on en ait besoin.
http://www.wc3c.net/vexorian/jasshelpermanual.html#storintro

Les méthodes, ben, dans l'absolue, c'est pareil qu'un appel de fonction, mais dans l'absolue, tout est une histoire de 0 et de 1 en informatique. C'est quand même plus lisible et plus intéressant d'avoir des méthodes dans certaines situations (je dis ça, mais personnellement j'en utilise très peu ^^').

Pour la taille des array de la structure, c'est parce qu'un array dans une struct est un array 2D donc il faut préciser la taille. Si c'est une taille variable, il te faut recourir à des astuces qu'on peut pas te donner tant qu'on sait pas ce que tu veux faire.

Il faut détruire le groupe, à priori (ça ne se fait pas automatiquement). Tu peux déclarer une méthode "onDestroy" qui se lance automatiquement lorsque la structure est détruite et mettre la destruction du groupe dans le corps de cette méthode.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
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: 29/02/12 17:38    Sujet du message: Citer

Merci pour cette réponse claire et nette Smile.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 02/03/12 14:32    Sujet du message: Citer

intéressant comme topic.

merci de cette question et de cette réponse.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 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: 02/03/12 15:45    Sujet du message: Citer

Il faut simplement garder en tête que le vJass n'est pas un langage réel, c'est un préprocesseur du jass, il se "contente" d'ajouter du sucre syntaxique, et qu'au final le code reste du jass.
On peut toutefois surpasser les limitations de l'éditeur officiel, tel que l'impossibilité de déclarer des variables globales de certains types, grâce au JNGP, mais on peut bien entendu aussi le faire en éditant directement le script de la map.

Autrement dit, les limitations du jass restent vraies.
Il est très intéressant de regarder comment un code vJass est généré, en regardant le fichier "outputwar3map.j" dans le sous dossier "logs" du JNGP, une fois la map sauvegardée.

Je recommande aussi fortement d'utiliser le tag [forcemethodevaluate] dans le fichier jasshelper.conf (celui présent dans le dossier du JNGP, pas dans le sous dossier jasshelper), pour éviter des TriggerEvaluate de method involontaires.

Personnellement j'utilise aussi le tag [noimplicitthis], parce que je ne trouve pas que ne pas pouvoir identifier au premier coup d'oeil sur le code si le membre fait partie de la struct ( "this." optionnel) ou pas soit très judicieux.

J'utilise la version de jasshelper maintenue actuellement par cohadar, pour ses diverses améliorations apportées et à venir :
http://www.hiveworkshop.com/forums/warcraft-editing-tools-277/jasshelper-2011-12-19-a-208802/

Et finalement je ne trouve pas un grand intérêt à la method onDestroy/onCreate, autant définir directement les method create/destroy, sans oublier d'utiliser allocate/deallocate si besoin, à l'intérieur de celles ci.
_________________
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
Page 1 sur 1

 
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