2k3 < VX < Ace < XP
mar. 02 sept. 2014 - 20h09
Oy, J'aurais besoin d'un coup de main pour comprendre quelque chose dans les scripts, en RGSS2 (VX 1er du nom donc). En fait j'aimerais comprendre comment lire exactement les notes de spell/item/etc via les scripts. Pas évident à expliquer, mais avec un exemple dans un script qui s'en sert... http://www.eclipso.fr/bibliotheque.php?page=view&id=21&element=386 Genre dans ce script, ça se sert des notes pour gérer l'ajout de stat sous conditions. En fait j'aimerais piger comment il lit exactement ça car j'ai absolument rien pigé quand il est écrit des trucs du style : [code]when /<(?:CRITICAL|crit)[ ](.*):[ ]([\+\-]\d+)>/i case $1.upcase[/code] Car besoin de me servir de ça pour un script personnel pour que ce soit bien plus simple à gérer. (c'est juste la lecture (puis écriture) qui me gêne, je n'y pige presque rien) Donc si quelqu'un peut m'éclairer, car j'ai pas réussi à trouver moi même d'la doc claire pour expliquer (et j'espère avoir réussi à faire comprendre mon soucis^^). Thanks d'avance.
jeu. 04 sept. 2014 - 11h20
Ces trucs bizarres sont des expressions régulières (regexp) C'est avec ça que tu reconnais dans une chaîne de caractère (la note) des motifs comme par exemple ici les balises. (<[b][/b]critical truc: + ou - machin>) Doc : http://www.ruby-doc.org/core-2.1.1/Regexp.html Tu as un script complet qui propose une syntaxe balistique générique (calquée sur XML) pour ajouter les informations que tu veux avec le nom que tu veux dans les notes que tu veux, et les récupérer : https://github.com/nukiFW/RPGMaker/tree/master/ExtensionNotes Avec ça tu peux créer des tags avec n'importe quel nom comme : <[b][/b]agi>90<[b][/b]/agi> <[b][/b]str>8<[b][/b]/int> <[b][/b]int>50<[b][/b]/int> (exemple 1) Ou encore : <[b][/b]bonus agi="90" str="8" int="50" [b][/b]/> (exemple 2) Dans le premier exemple, si tu veux récupérer la valeur "agi", tu fais "lanoteenquestion.tags[:agi].value" Dans le deuxième exemple, si tu veux récupérer la valeur "agi", tu fais "lanoteenquestion.tags[:bonus].agi" Avec "lanoteenquestion", l'instance qui possède l'attribut "note", eeeeeeeeeeeet je ne sais pas où tu la trouve, dans l'immédiat. EDIT: Désolé, c'est pour RMVXAce... J'avais pas vu... ^^" 'Faut voir si on peut le rendre compatible avec VX.
lun. 08 sept. 2014 - 17h48
Merci quand même, j'ai tenté de piger le truc mais j'avoue ne pas avoir tout pigé.
En fait pour être plus précis, j'arrive pas à piger les moindres "codes" comme dans l'exemple donné qui fait qu'après via un "$1" "$2" ça arrive à extraire les 2 infos (dans l'exemple, la stat et le montant).
Car genre si j'voulais pouvoir traduire un truc comme
sam. 04 oct. 2014 - 14h53
Avec le script "ExtensionNotes" que je t'ai donné, tu peux déjà écrire et récupérer ce que tu veux dans les notes, sans scripter tes RegeXP toi-même. Pour ce qui est de t'expliquer comment écrire tes RegeXP toi-même, je n'ai pas le niveau... mais pour les lire, c'est simple, ça correspond aux parenthèses qui capturent les portions de l'expression. Si tu prends cet exemple : [code]/<(.+):\s*(.*)>/[/code] Tu as : . = tous les caractères (sauf sauts de ligne) \s = caractère "espace" + = rencontrés une fois ou plus * = rencontrés une fois ou pas du tout "<" et ">" cherchera les caractères... "<" et ">". ":" cherchera le caractère... ":" Pour les parenthèses, je t'explique tout de suite après. Donc typiquement, ça chechera les expressions sous la forme : <[b][/b]bidule: truc> Sauf que les parenthèses capturantes vont justement capturer "bidule" (.+) et "truc" (.*). Et les mettre dans les variables $1 et $2. Au lieu de $1 et $2, tu peux donner un nom à tes captures, en rajoutant "?<[b][/b]lenomquetuveux>" dans les parenthèses, par exemple : /<[b][/b](?<[b][/b]bidule[b][/b]>.+):\s*(?<[b][/b]truc[b][/b]>.*)[b][/b]>/ La première capture sera dans la variable "bidule", la seconde sera dans la variable "truc".
dim. 05 oct. 2014 - 16h36
J'comprends un peu mieux^^ Thanks. Du coup entre tes infos et l'inspiration d'un autre script j'ai pu faire ce que je voulais avec ces notes^^