C'est la seule "correction" à l'heure actuelle. Et j'ai implémenté ça surtout parceque je trouve leurs GetValue()/SetValue() des GlobalVariables super %*@$^= !!!
Bonjour à tous !
Après une journée riche en maux de tête, voici la bêta de la v1.2.4, téléchargeable ici :
http://www.mediafire...9ujruecv4363qbw
On retrouveras toutes les modifications que j'ai fait pour Gerauld, le tout avec une interface des préférences retravaillée (et qui devrait plus correspondre à ce que tu voulais à la base). J'ai également procédé à quelques petits changements sur l'interface en général, notamment pour rendre à la fenêtre des préférences son rôle : vous y retrouverez donc les options de langue et de thème. On y retrouvera également des informations telles que le chemin de Skyrim ainsi que les arguments utilisés pour la compilation des script (que vous pouvez modifier sans risque, le bouton Annuler étant là pour ça
).
Pour continuer encore un peu sur l'interface, sachez qu'il y a désormais une fonction de recherche (mais les raccourcis claviers ne sont pas faits, inutile de vous acharnez sur Ctrl+F ^^).
Enfin, grosse correction de l'auto-complétion qui ne respectait pas la portée des variables. Là, je sens que je parle chinois pour certains, alors voici une petite image :
Pour ceux qui ne voyent pas la différence, on peut voir que, depuis l'évènement
OnActivate, les variables AAB et AAC qui sont respectivement déclarée dans les fonctions
test1() et
test2() ne sont
plus suggérées par l'auto-complétion, dans la mesure où il s'agit d'une erreur dit "de portée". Cela fonctionne aussi bien évidemment à l'intérieur des fonctions, et les variables globales (celles déclarées directement dans le script) sont accessible de partout.
Voilà pour une journée avec finalement peu de changements mais qui m'a bien retourné la tête ! J'espère que vous apprécierez !
===
Nouvelle journée, nouvelle version !
Pas grand-chose aujourd'hui, mais suffisament pour que beaucoup de ne fassent plus d'erreurs concernant les états ! Et oui, j'ai (enfin) intégré la gestion des States ! Ce qui mérite d'ailleurs une petite explication en image, car cela pourrait en perturber certains.
Tout d'abord, le code exemple :
ScriptName NouveauScript Extends ObjectReference
{Code exemple pour démontrer la gestion de la portée et des states}
Actor AAAA
Function TestA()
Actor AAA
EndFunction
Function TestB()
Actor AAB
EndFunction
Auto State MonEtat
Function TestC(Actor ABCD)
EndFunction
Event OnActivate(ObjectReference akActionRef)
EndEvent
EndState
Ici, on peut voir que la fonction
TestC() qui est dans le State
MonEtat a accès à toutes les fonctions, y compris celles dans l'état par défaut.
Chose plus surprenante ici, on remarque que les fonctions
TestA() et
TestB() ont aussi accès à
TestC() alors que cette dernière est dans un état différent. Alors pourquoi cela ? Tout simplement car toutes fonctions déclarées dans un State doit aussi avoir un équivalent dans le State par défaut, sous peine d'une erreur de compilation ^^. Typiquement, mon script présenté ici est faux et ne compilera pas car
TestC() n'est pas déclaré dans le State par défaut. Vous ne trouverez aucune aide concernant les variables et propriétés contenues dans un State car
un State ne doit contenir ni variables ni propriétés !
Avec cette nouveauté, je pense avoir fait le tour de la gestion des portées. Il faut rajouter à cette fonctionnalité la prise en charge effective des mot-clés
Self et
Parent.
Comme d'habitude, le lien de téléchargement :
http://www.mediafire...gnuxxwqa8ch5023
===
Bonjour,
Version 1.2.5.1 en ligne :
http://www.mediafire...t7tucs7c3pcg2e7
Je commence à bosser sur la compilation. Cette version ajoute les informations de position du curseur dans l'éditeur (ligne, colonne et caractère), et surtout, les erreurs du compilateur sont maintenant correctement récupérées. Pas de grandes nouveautés donc, juste de quoi pouvoir débugger.
===
Et voilà ! Encore une petite mise à jour qui apporte cette fois-ci une vraie fonctionnalité : le formatage des erreurs de compilateur pour plus de clarté, et la possibilité d'atteindre chaque erreur d'un simple double-clic !
(Lorsque l'on souhaite "atteindre" une erreur, la ligne de l'erreur est automatiquement sélectionnée comme présenté sur la capture)
J'en ai profité pour "traduire" un paquet de messages d'erreur de façon à rendre cela plus facile à comprendre pour les débutants. Si aucune traduction n'est trouvé, c'est la version anglaise qui apparaîtra. N'hésitez pas à me faire suivre les messages d'erreur en anglais, ainsi que le morceau de code qui génère l'erreur pour que je puisse l'intégrer.
Avec ça, je pense avoir fait le tour de quasiment toutes les fonctionnalités que je voulais ajouter à mon outil. Donc après quelques corrections de bugs et d'anomalies, je pense qu'on pourra parler d'une v2.0 plutôt très stable et haute en fonctionnalités !
Amusez-vous bien
Lien :
http://www.mediafire...wz7wrdwfq8ei0cv
Modifié par Lucead, 25 octobre 2012 - 22:11.