| Script : Découper un Commentaire [Résolu] | |
|
|
Auteur | Message |
---|
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Script : Découper un Commentaire [Résolu] Jeu 26 Fév 2009 - 18:19 | |
| Hellouw ! Voilà je cherche à faire un systéme de "carte" (Vous comprendrez une fois sur mon jeu si j'arrive à la faire) Donc dans un objet je met en commentaire genre - Code:
-
ATK= 4 DEF= 5 Et j'aimerais pouvoir recuper dans differente variable la valeur de ATK et de DEF, je sais qu'il y a une espéce de methode de decoupage (Comme sur le script de ASHKA pour le projet **********) Et voilà, je n'arrive pas ! Je n'arrive à récuper qu'une seul valeur mais pas deux... J'espére que vous m'avez un peu compris :s
Dernière édition par La Meche le Mar 3 Mar 2009 - 9:57, édité 1 fois |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Script : Découper un Commentaire [Résolu] Jeu 26 Fév 2009 - 19:44 | |
| Essaye d'analyser son script ^^ Avec cette méthode - Code:
-
class String def decoupe bloc = [] self.split(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end Ca découpe un objet de type String par ligne. Sur ton commentaire après, imagination qu'il est dans @commentaire - Code:
-
module RPG class BaseItem def ta_methode @commentaire.decoupe #Découpe le commentaire for line in text if line == "ATK=" attaque = line.delete("ATK=").to_i # Enléve ATK= et prend la valeur d'après. end end return attaque end end end Voila ^^
Dernière édition par Blockade le Sam 7 Mar 2009 - 21:18, édité 1 fois |
|
| |
Poulet trizo Lv.3
Inscrit le : 13/02/2009 Messages : 35
| Sujet: Re: Script : Découper un Commentaire [Résolu] Jeu 26 Fév 2009 - 22:07 | |
| Bonjour . A quoi servent réellement les commentaires ? Je sais qu'ils servent pour le mutli-slot, mais en général ? |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Jeu 26 Fév 2009 - 23:05 | |
| a se repérer dans la programmation event:
ex. commentaire: "#ici modificaton du hero" |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 9:02 | |
| Je suis vraiment pas doué... Donc ma scene marche et tout seulement attaque ne prend aucune valeur ! Pourtant je ne vois pas ce qui bloque... - Code:
-
class String def decoupe bloc = [] self.split(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end ################################## class Scene_Jeu < Scene_Base def start @espace = Window_Jeu.new end def terminate @espace.dispose end def update if Input.trigger?(Input::B) print @attaque.to_s $scene = Scene_Map.new end end end ################################## class Window_Jeu < Window_Base def initialize super(0, 0, 128, 128) @commentaire = $data_items[5].note @commentaire.decoupe #Découpe le commentaire for line in @commentaire if line == "ATK=" @attaque = line.delete("ATK=").to_i # Enléve ATK= et prend la valeur d'après. end end return @attaque draw_text(0, 0, 128, 24, @attaque.to_s, 1) end end |
|
| |
Invité
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 9:42 | |
| Si c'est une Window,tu devrai avoir une méthode refresh, je me trompe. De plus, tu fais ton return, avant ton draw text, ce qui veut dire que ton draw_text ne se fera jamais,enfin je pense. Je trouve ça bizarre ton print @attaque.to_s dans ta Scene. Voilà comment je ferai plutôt - Code:
-
class String def decoupe bloc = [] self.split(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end ################################## class Scene_Jeu < Scene_Base def start @espace = Window_Jeu.new end def terminate @espace.dispose end def update if Input.trigger?(Input::B) @espace.update $scene = Scene_Map.new end end end ################################## class Window_Jeu < Window_Base def initialize super(0, 0, 128, 128) @commentaire = $data_items[5].note refresh end def refresh self.contents.clear @texte = @commentaire.decoupe #Découpe le commentaire for line in @texte if line == "ATK=" @attaque = line.delete("ATK=").to_i # Enléve ATK= et prend la valeur d'après. end end draw_text(0, 0, 128, 24, @attaque.to_s, 1) end end
Après je sais pas si c'est bon ou pas. |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 10:05 | |
| presque ca mais si la ligne ne contient pas que "ATK=", alors elle ne sera pas égale à "ATK=" donc: - Code:
-
if line.include?("ATK=") @attaque=line.gsub!("ATK=","") end mieux, on aurait pu faire - Code:
-
line.gsub!(/ATK\=([0-9]+)/){@attaque=$1} ou - Code:
-
@attaque=line.split('=')[1] berka |
|
| |
Invité
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 10:12 | |
| Avec le gsub!, tu remplace "ATK=" par " ", c'est bien ça? Euh...pour les autres lignes, tu m'as largué complètement là enfin surtout la 1ère, pour l'autre,je pense avoir compris, tu sépares ce qui se trouve avant et après "=", et tu donne à @attaque la valeur qui se trouve après "=" |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 10:26 | |
| pour la premiere, je remplace ATK= par nil ( "" )
pour la seconde c'est une regexp (expression reguliere) on extrait des elements dynamiques de la chaine: donc tout les nombres de 0-9 la variable $1 (spéciale) récupere la derniere valeur extraite
pour la trousieme je découpe la chaine par le = et je recupere la seconde valeur du tableau, le nombre |
|
| |
Invité
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 10:29 | |
| Merci pour les précisions Berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 13:12 | |
| Oula ok merci ! J'ai encore pas mal de chose à apprendre moi ! La preuve : Des que je rajoute d'autre commentaire après ATK= 3 dans un objet j'ai le droit à de jolie carré |
|
| |
Invité
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 13:20 | |
| Comment tu mets tes commentaires et qu'est ce que tu mets? |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 13:25 | |
| en fait c'est l'espace dans les commentaires il faut remplacer \n par \x00 |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 14:43 | |
| Même avec \x00 il y a toujours les 2 carrés... - Citation :
- Comment tu mets tes commentaires et qu'est ce que tu mets?
Bah dans l'onglet objet => Commentaire => - Code:
-
ATK= 3 DEF= 4 |
|
| |
Invité
| Sujet: Re: Script : Découper un Commentaire [Résolu] Ven 27 Fév 2009 - 14:58 | |
| - Code:
-
def refresh self.contents.clear @texte = @commentaire.decoupe #Découpe le commentaire for line in @texte if line.include?("ATK=") @attaque=line.gsub!("ATK=","") end if line.include?("DEF=") @defense=line.gsub!("DEF=","") end end draw_text(0, 0, 128, 24, @attaque.to_s, 1) draw_text(0, 100, 128, 24, @defense.to_s, 1) #a toi de voir les valeurs end
Voilà ce que j'essaierai,mais sans grande conviction - Citation :
- Bah dans l'onglet objet => Commentaire =>
Nan,je savais pas je me suis mal exprimé,c'était la façon que t'avais de mettre ton commentaire que je demandais |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 10:28 | |
| Nouveau bug ^^ Alors j'ai un petit probléme avec .note Lorsque je rentre - Code:
-
@note =$data_items[5].note Tout marche Mais que je rentre avec une inconnu - Code:
-
@note =$data_items[@id_monstres.to_i].note Cela ne marche pas ! Même si - Code:
-
@id_monstres.to_i est initialize avant est dans une autre variable (peut être que c'était le .to_i qui buggé mais non...) Bref... Comme faire pour que marche avec une inconnu ? EDIT : Enfaite c'est juste une variable qui ne prend aucune valeur O.o C'est zarb çà ! Les variables @x Sont valable tout le temps temps que la scene tourne nan ? |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 11:34 | |
| pour les carrés, vérifies dans ta db, parfois il mets des caracteres spéciaux dans les formulaires
les variables d'instances sont détruites lors de la fermeture de la classe.
le meilleur moyen de comprendre les erreurs c'est de mettre p @id_monstre juste avant son utilisation: si elle renvoie nil, il y a un probleme d'init
berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 11:37 | |
| Sa y est merci j'ai trouvé ce qu'il buggué ^^ C'est bien le @id_monstres ! J'aurais pourtant j'urré que les variables @x été toujours valable pendant que la scene tournait bon bref j'ai tord. Donc sa y est tout marche j'ai juste un autre souci d'affichage maintenant O.o Window_Command me créer un fléche dont je n'ai entiérement pas besoin et impossible à enlever... |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 12:07 | |
| c'est parce que le bitmap de contenu est plus large que la window:
tu as self.contents : c'est le bmp ou sont disposés les elements de la fenetre. donc, tu as du définir un autre choix dans ta window_command
berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 12:37 | |
| Bah mon window c'est : - Code:
-
class Window_Choix < Window_Command
def initialize choix = ["Attaquer", "Defendre", "Objet"] super(128, choix, 1 , 24) end
end Je n'ai en aucun cas créer de self.contents. ... |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 13:22 | |
| ouille aie... le moyen de créer des Window_Command est: - Code:
-
choix=["Attaquer", "Defendre", "Objet"] @commandes=Window_Command.new(largeur,choix, nbre_colonnes) berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 13:42 | |
| Ah voui, enfin y'a toujours cette jolie fleche qui m'embete plus qu'autres choses... |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 13:57 | |
| tu n'as pas modifié la Window_Selectable ? et si tu descends en bas de la liste, il ne t'affiche rien ?
berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 14:49 | |
| Bah J'arrive à bouger le curseur et tout Mais y'a toujours cette fleche... |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Script : Découper un Commentaire [Résolu] Dim 1 Mar 2009 - 15:31 | |
| Ça se produit quand le choix que t'a affiché n'est pas défini dans un array. Essaye de le définir dans un array ça devrait marcher. |
|
| |
| Sujet: Re: Script : Découper un Commentaire [Résolu] | |
| |
|
| |
| Script : Découper un Commentaire [Résolu] | |
|