[Scripts] CKPE - Editeur Papyrus français

Vous trouverez ici les conseils indispensables pour bien modder et maîtriser les outils de modding des jeux.
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Gerauld »

Salut, ayant pas mal de scripts à faire j'en profite pour continuer de tester CKPE à fond. Il sera bientôt mis à l'épreuve sur des scripts de 700-800 lignes pour voir s'il prend en compte la limite de taille des scripts (un truc qui m'a énervé la 1ère fois que je me suis retrouvé dans l'éditeur de script vanilla et que je ne pouvais pas terminer de taper ma ligne de script... Je croyais à un bug alors que non).

Les reports du jour :
Tout d'abord, un petit soucis (qui ne m'empêche pas de l'utiliser mais qui m'oblige à une compilation via le CK) dont j'avais oublié de te parler :
Image
Cela semble le faire sur les scripts dont le nom comporte plusieurs underscores (les noms faits ainsi me permettent de m'y retrouver dans les cohortes de scripts nécessaires pour certains mods...).
J'ai effectué un test avec un script vanilla dont le nom n'en contient pas et ça fonctionne sans soucis.

Sinon, l'ajout de "as" dans la liste d'auto-complétion serait sympathique car ce petit mot magique permet à lui seul de nombreuses pirouettes dans les scripts (je l'utilise assez souvent ;) ). "as" donne actuellement "AssociationType" en auto-complétion.

Concernant le test de la dernière fonction ajoutée, il a du mal avec les majuscules et minuscules (donc tout ce qui ne provient pas de l'auto-complétion) :
Image
Cela ne gêne en rien. Ça attire l'oeil du scripteur juste deux secondes, le temps de voir que tout va bien. Je ne sais même pas si ça mérite d'être corrigé tant c'est minime.

Du coup, je me suis amusé à tout activer pour tester l'ensemble de CKPE.
Image
Les deux endif ont été ajoutés automatiquement. Il ne devrait y en avoir qu'un seul.
L'ajout d'une ligne "elseif" sous-entend la présence préalable d'une ligne "if" donc la présence du "endif" associé.
En clair, un "eslesif" ne devrait pas provoquer l'ajout d'un "endif". (même fonctionnement que l'ajout d'un "else")

Bon voila, mis à part le 1er soucis, le reste n'est que du détail. J'ai envoyé un MP à un autre scripteur pour lui conseiller de tester également CKPE. Il ne devrait toutefois pas rencontrer le soucis de compliation, ses scripts ne comprenant généralement au maximum qu'un underscrore en début de nom ou aucun.

Au boulot. :)
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Lucead »

Gerauld a écrit :Salut, ayant pas mal de scripts à faire j'en profite pour continuer de tester CKPE à fond. Il sera bientôt mis à l'épreuve sur des scripts de 700-800 lignes pour voir s'il prend en compte la limite de taille des scripts (un truc qui m'a énervé la 1ère fois que je me suis retrouvé dans l'éditeur de script vanilla et que je ne pouvais pas terminer de taper ma ligne de script... Je croyais à un bug alors que non).
Tu ne devrais pas rencontrer ce problème. Si tu souhaite éditer un script qui fait 1Go, tu peux ! Par contre, il est possible que des problèmes de performances se fassent ressentir (le script étant ré-analysé à chaque modification de texte pour identifier les fonctions, variables, etc). D'où l'utilité de pouvoir désactiver certaines analyses de l'auto-complétion, pour accélérer le traitement.
Gerauld a écrit : Les reports du jour :
Tout d'abord, un petit soucis (qui ne m'empêche pas de l'utiliser mais qui m'oblige à une compilation via le CK) dont j'avais oublié de te parler :
Image
Cela semble le faire sur les scripts dont le nom comporte plusieurs underscores (les noms faits ainsi me permettent de m'y retrouver dans les cohortes de scripts nécessaires pour certains mods...).
J'ai effectué un test avec un script vanilla dont le nom n'en contient pas et ça fonctionne sans soucis.
Faut que je regarde en détail, mais à première vu, le script que tu essayes de compiler a été ouvert via la fonction "Ouvrir". Il est possible qu'il y est un problème de droit par rapport au fichier où tu travailles. Rien de sûr toutefois, mais l'histoire des underscores me paraît franchement bizarre. A moins que ce soit le prmeier underscore qu'il n'aime pas... Est-ce que tu peux me donner le chemin complet de ton script (avec son nom) ?
Gerauld a écrit : Sinon, l'ajout de "as" dans la liste d'auto-complétion serait sympathique car ce petit mot magique permet à lui seul de nombreuses pirouettes dans les scripts (je l'utilise assez souvent ;) ). "as" donne actuellement "AssociationType" en auto-complétion.
Je le rajoute à la liste (je sais pas si je vais pas finir par l'externaliser cette foutue liste :pensif: ). Par contre, l'auto-complétion n'est pas prise en compte sur les types casté (sauf si tu passes par une variable temporaire non, c'est pas du tout géré). Faudrait que je m'en occupe, mais ça tellement s'annonce chiant... :triste:
Gerauld a écrit : Du coup, je me suis amusé à tout activer pour tester l'ensemble de CKPE.
Image
Les deux endif ont été ajoutés automatiquement. Il ne devrait y en avoir qu'un seul.
L'ajout d'une ligne "elseif" sous-entend la présence préalable d'une ligne "if" donc la présence du "endif" associé.
En clair, un "eslesif" ne devrait pas provoquer l'ajout d'un "endif". (même fonctionnement que l'ajout d'un "else")
En général, en programmation, utiliser elseif est souvent vu comme "pas propre". En général, on glisse un If dans le bloc Else. J'ai même tendance à oublier que ce mot-clé existe ^^ Je vais voir pour ignorer l'auto-complétion dans ce cas précis.
Gerauld a écrit : Concernant le test de la dernière fonction ajoutée, il a du mal avec les majuscules et minuscules (donc tout ce qui ne provient pas de l'auto-complétion) :
Image
Cela ne gêne en rien. Ça attire l'oeil du scripteur juste deux secondes, le temps de voir que tout va bien. Je ne sais même pas si ça mérite d'être corrigé tant c'est minime.
Je vais faire en sorte qu'il ne tienne pas en compte la casse. Concernant cette fonctionnalité, elle s'adresse surtout aux débutants pour leur dire : "Attention ! Ton script ne compilera pas parce que cet évènement n'existe pas !". Le fait que cela s'affiche pour un problème de casse de caractère pourrait en perturber certains.

Merci pour tes retours :maitre: Concernant le dernier point, si tu vois des astuces/conseils/pièges courants, je suis preneur pour les intégrer !


PS : Quand une erreur avec un message qui fait peur survient, un fichier CKPE.log est créé à côté de l'exécutable contenant l'erreur. Cela t'éviteras de faire des captures ^^ (sauf si tu aimes ça bien sûr, moi ça me dérange pas)
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Gerauld »

Le fichier a été ouvert à partir du CK avec la commande "open in external editor". CKPE est en mode administrateur sous windows 7 64bits.
Le chemin vers un des scripts qui bloquent :
Le script compilé :
C:\Program Files (x86)\Steam\SteamApps\common\skyrim\Data\Scripts\_SEC_FURN_MOVE_SCRIPT.pex
La source :
C:\Program Files (x86)\Steam\SteamApps\common\skyrim\Data\Scripts\Source\_SEC_FURN_MOVE_SCRIPT.psc
Je viens de faire un test à partir du répertoire en double-cliquant sur le fichier psc...
Mon fichier a disparu d'ailleurs après la deuxième manip (paix à son ame). C'est pas grave, c'était un tout petit script.
Le log de l'essai que je viens de faire :
► Afficher le texte
Je vais faire des tests poussés concernant la taille des scripts. La limite imposée par l'éditeur vanilla a peut-être une utilité. Je créerai un script d'environ 1100-1200 lignes pour tester (ouverture par l"diteur vanilla puis test en jeu). Cela me permettra de terminer les dernières modifs de SEI par la même occasion.

Concernant le elseif, je ne savais pas (il est vrai que je suis pas programmeur). Je regarderai un peu sur le net car j'ai l'intention de reprendre sur quelques langages après plus d'une décennie sans toucher une ligne de code... Si c'est lié à une question d'optimisation de l'exécution une fois la compilation faite, ça m'intéresse.

Bon courage.
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Lucead »

Désolé que tu ais perdu ton script, c'était pas vraiment l'objectif -_-"

Peux-tu réessayer ta manipulation en enlevant le tout premier underscore ?
Si c'est ça, ben ... merde alors !
Et si tu peux essayer en copiant le script dans le répertoire des scripts du jeu et compiler depuis le navigateur de scripts, ça serait parfait :) J'ai mal lu...

Si tu veux, je peux te créer un script valide de 10k lignes (ou autant que tu veux d'ailleurs) en quelques minutes. Si tu veux vraiment tester... :p

Pour les elseif, c'est plus pour la lisibilité. En terme de performance, le compilateur l'optimise derrière de toute façon. C'est qu'une règle d'écriture répandue, tu n'es pas obligé de la respecter. C'est juste qu'à titre personnel, je l'évite toujours. Surtout qu'en C#, ça n'existe même plus ^^ Voilà pourquoi je l'avais oublié.

J'ai bientôt corrigé tous les soucis (en dehors du problème de compilation). J'ai aussi externalisé la liste des mot-clés, vous pourrez donc la modifier à loisir (faudra juste que j'explique comment).

EDIT : A priori, pas de problèmes avec l'underscore en début de nom. Par contre, pour compiler un script inclus dans Program Files, il faut effectivement lancé CKPE en administrateur. :pensif:

Est-ce que le nom de ton script a le même nom que son fichier (en prenant en compte la différence majuscule/minuscule) ?
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Gerauld »

Pour le script, c'était quelques lignes donc pas de soucis. Je garde toujours des copies des sources des scripts. D'ailleurs, je suis en train de faire des tests de compilation de scripts avec plusieurs noms différents (1, plusieurs ou sans underscores) créés à partir du CK, de CKPE ou à la main avec présence ou non d'un fichier compilé associé à chaque fois.
Je te posterai tout ça avec les fichiers logs qui vont bien et des captures.

Concernant les scripts longs, pas de soucis. J'ai déjà des scripts fonctionnels (donc testables en jeu) qui peuvent atteindre rapidement des longueurs énormes (j'ai été obligé d'externaliser pas mal de fonctions de certains car j'avais atteint les limites de taille). Cela me permettra de terminer les corrections d'un autre mod assez rapidement.
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Lucead »

Est-ce que le nom de ton script a le même nom que son fichier (en prenant en compte la différence majuscule/minuscule) ?

EDIT : Au pire, est-ce que tu peux m'envoyer ton script qui plante ? Si y a pas de droits de copyright dessus bien sûr :siffle:
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Gerauld »

En fait, cela ne vient pas du script, de son nom ou de ce qu'il contient. Ni même de s'il a été créé par le CK, CKPE ou apporté par un mod ou lors d'une décompression de bsa.
Le plantage est lié uniquement au mode d'ouverture du script par CKPE.
Les tests effectués pour en arriver à cette conclusion (avec captures d'écran) :
http://www.mediafire.com/file/qkjz9gg5w ... stCKPE.pdf
En gros, si on utilises "open in external editor" ou si on ouvre un script à partir du répertoire scripts\source, la compilation plantera et effacera les fichiers psc et pex associés, tout du moins chez moi.
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Lucead »

Merci pour ces détails essentiels ! Ca me donne mal au crâne, mais je pense avoir assez d'informations pour trouver l'erreur. Chapeau bas en tout cas, on peut dire que tu es patient ! :maitre:

En attendant, voici un petit fix : http://www.mediafire.com/?y2khhwmzozsrdqz (pour ceux qui débarquent, cette archive ne contient pas tous les fichiers nécessaires)

Celui-ci devrait corriger les autres erreurs que tu m'as remontées, et ne devrait plus supprimer les script pour le problème actuel ,même si cela devrait poser d'autres petits problèmes : en pratique, notamment une impression que CKPE ne prends plus en compte les modifications que tu apportes lorsque tu modifies un script. Mais au moins, tu ne perdras pas ton script !


EDIT : Soit c'est chez moi que cela ne pose aucun problème, soit j'ai résolu le problème sans faire gaffe ! Impossible de reproduire le cas N°2, cela fonctionne toujours à la perfection. :pensif:
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Lucead »

Et hop ! Nouveau correctif : http://www.mediafire.com/?kb3ozc3qbndqgbb
Mes supputations sur le fonctionnement du CK étaient erronées, en fait il fait plus propre que je l'aurai cru (ce qui est quand même difficile à croire quand on voit la dose de bugs du CK...).

En fait, lorsque l'on demande au CK d'ouvrir un fichier dans un outil externe, il envoie le chemin complet du script. Or, j'avais prévu CKPE pour recevoir en argument UNIQUEMENT le nom des scripts (par exemple : CKPE.exe Actor). Donc avec le mélange entre chemin de fichier et nom de script, il en déduisait par un "savant mélange" que le script était Test1.psc.psc ...

Le problème devrait donc être résolu. De la même façon, le titre des onglets se met maintenant à jour lors d'une sauvegarde.
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [UTILITAIRE] CKPE - EDITEUR PAPYRUS FRANÇAIS

Message par Gerauld »

Comme toujours, je testerai tout ceci en profondeur et je te remonterai les éventuels problèmes, remarques ou idées.
C'est de l'excellent boulot cet éditeur. Si l'auto-complétion et les fonctions ajoutées peuvent en encourager certains à se lancer dans le scripting, ce serait une bonne chose. Une page dédiée dans le wiwiki serait aussi un plus.

EDIT : il faudrait peut-être aussi diffuser les correctifs sur Wiwiland pour éviter d'autres disparitions de scripts...
Répondre

Retourner vers « Tutoriels et conseils de réalisation »