| [Résolu]Problème de lettre sur ce script. | |
|
Auteur | Message |
---|
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 19:57 | |
| Bonjours. Alors voilà, j'ai pris le script que voici: - Code:
-
#============================================================================== # Informational Long Text Scene # by jfjohnny5 # 11/21/2010 #============================================================================== # Creates a new scene for displaying long text fields to be used as tutorials, # background story, or other informational material. # # The key to the "Long Text Window" is that the text content is loaded from # external text files and can be of almost any length, as the script # dynamically creates as many pages as are needed to display the content. # # Edit the COMMANDS list below to include the name for the given entry as well # as the relative path to the .txt file containing the long text. # # You must include the following image file for the "more text" indicator: # # <project folder>\Graphics\Pictures\more_text.png # #------------------------------------------------------------------------------ # use the following script call to create the scene: # # $scene = Scene_Tutorial.new # #============================================================================== $imported = {} if $imported == nil $imported["TutorialScene"] = true
#============================================================================== # CONFIGURATION #==============================================================================
module TUT # Customize menu options and associated text files here. Be sure that any # additional selections follow the numbering convention (0,1,2,3,4,5,etc). # Text file path is relative to the main directory for the RPGM project. # The default configuration points to files in a "Text" subdirectory. COMMANDS = { #ID => [Command Name, Text File] 0 => ["Combat", "Text/combat.txt"], 1 => ["Grade", "Text/skills.txt"], 2 => ["Cuisine", "Text/rows.txt"], 3 => ["Soutient", "Text/saving.txt"], 4 => ["Affects", "Text/Affects.txt"], 5 => ["Quête", "Text/Quête.txt"], 6 => ["Eglise", "Text/Eglise.txt"], }#Do Not Remove # The default text file to be loaded. This is also the text seen upon first # opening the window. DEFAULT = "Text/default.txt" RETURN_MENU = true # Return to menu after exiting? false = return to map MENU_INDEX = 7 # Menu slot to return to (only if above is true) end #============================================================================== #----------------------------END CONFIGURATION--------------------------------- #==============================================================================
#============================================================================== # Long Text Window #==============================================================================
class Window_LongText < Window_Base attr_reader :more_text #---------------------------------------------------------------------------- # Initialize #---------------------------------------------------------------------------- def initialize super(0, 0, Graphics.width*0.7, Graphics.height) @max_lines = (height-32)/WLH @more_text = false load_long_text end #---------------------------------------------------------------------------- # Refresh #---------------------------------------------------------------------------- def refresh self.contents.clear draw_long_text end #---------------------------------------------------------------------------- # Update #---------------------------------------------------------------------------- def update super update_icon end #---------------------------------------------------------------------------- # Load Long Text #---------------------------------------------------------------------------- def load_long_text(textFile=TUT::DEFAULT) file = File.open(textFile) text = "" @textArray = [] while line = file.gets text << line end text.gsub!("\n"," <%LINE_BREAK%> ") @textArray = text.split(" ") draw_long_text end #---------------------------------------------------------------------------- # Draw Long Text #---------------------------------------------------------------------------- def draw_long_text self.contents.clear y_off = 0 drawArray = [] tempArray = [] lines_count = 0 while !@textArray.empty? and lines_count < @max_lines-1 loop do if @textArray.first == "<%LINE_BREAK%>" @textArray.shift break end tempArray.clear tempArray.replace(drawArray) tempArray << @textArray.first drawRect = self.contents.text_size(tempArray.join(" ")) if drawRect.width < self.width-32 drawArray << @textArray.shift else break end end self.contents.draw_text(x, y+y_off, width, WLH, drawArray.join(" ")) drawArray.clear y_off += WLH lines_count += 1 end if !@textArray.empty? and lines_count == @max_lines-1 @more_text = true more_text_icon unless @icon_exists == true else @more_text = false if @icon_exists == true @icon.dispose @icon_exists = false end end end #---------------------------------------------------------------------------- # More Text Icon #---------------------------------------------------------------------------- def more_text_icon @icon = Sprite.new @icon.x = (self.width/2)-100 @icon.y = Graphics.height-30 @icon.z = 200 @icon.bitmap = Bitmap.new("Graphics/Pictures/more_text.png") @icon_exists = true end #---------------------------------------------------------------------------- # More Text Icon Update #---------------------------------------------------------------------------- def update_icon if @icon_exists if @icon.opacity > 145 and @opacityDown == true @icon.opacity -= 5 elsif @icon.opacity == 145 @icon.opacity += 5 @opacityDown = false end if @icon.opacity < 255 and @opacityDown == false @icon.opacity += 5 elsif @icon.opacity == 255 @icon.opacity -= 5 @opacityDown = true end end end end
#============================================================================== # Tutorial Select Window #==============================================================================
class Window_TutSelect < Window_Selectable #---------------------------------------------------------------------------- # Initialize #---------------------------------------------------------------------------- def initialize super(Graphics.width*0.7,0,Graphics.width*0.3,Graphics.height) @commands = TUT::COMMANDS @item_max = @commands.size refresh self.index = 0 end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i) end end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update super refresh end #-------------------------------------------------------------------------- # Draw Item #-------------------------------------------------------------------------- def draw_item(index, enabled = true) cmdArray = @commands[index] rect = item_rect(index) rect.x += 4 rect.width -= 8 self.contents.clear_rect(rect) if self.active self.contents.font.color = normal_color else self.contents.font.color = Color.new(160,160,160) end self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(rect, cmdArray[0]) end end
#============================================================================== # Tutorial Scene #==============================================================================
class Scene_Tutorial < Scene_Base #---------------------------------------------------------------------------- # Start #---------------------------------------------------------------------------- def start super create_menu_background @long_text_window = Window_LongText.new @select_window = Window_TutSelect.new @select_window.active = true end #---------------------------------------------------------------------------- # Update (Frame Update) #---------------------------------------------------------------------------- def update super update_menu_background @long_text_window.update @select_window.update if @long_text_window.more_text == true @select_window.active = false @long_text_window.active = true else @select_window.active = true @long_text_window.active = false end if @select_window.active == true update_select_window elsif @long_text_window.active == true update_long_text_window end end #---------------------------------------------------------------------------- # Update Select Window #---------------------------------------------------------------------------- def update_select_window if Input.trigger?(Input::B) Sound.play_cancel if TUT::RETURN_MENU $scene = Scene_Menu.new(TUT::MENU_INDEX) else $scene = Scene_Map.new end elsif Input.trigger?(Input::C) Sound.play_decision cmdArray = TUT::COMMANDS[@select_window.index] @long_text_window.load_long_text(cmdArray[1]) end end #---------------------------------------------------------------------------- # Update Long Text Window #---------------------------------------------------------------------------- def update_long_text_window if Input.trigger?(Input::C) or Input.trigger?(Input::B) Sound.play_decision @long_text_window.draw_long_text end end #---------------------------------------------------------------------------- # Terminate #---------------------------------------------------------------------------- def terminate super dispose_menu_background @long_text_window.dispose @select_window.dispose end end Il marche correctement sauf au niveau des écritures: - Spoiler:
Tout les rectangles sont des lettres avec un accent (à; é; ç; è, ê...) J'ai testé sur projet vierge et avec la police de base de RM et j'ai eu le même problème... Donc voilà je demande de l'aide parce que je n'ai aucune idée d'où le problème peux venir...
Dernière édition par RitoJS le Mar 27 Mar 2012 - 15:51, édité 1 fois |
|
| |
Invité Invité
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 20:10 | |
| Effectivement, le problème de certains scripts (comme celui des quêtes que j'utilise) viennent des accents (tu le signales en plus xD), d'ailleurs c'est assez bizarre vu que tu écris tes textes hors du script il devrait pouvoir les lires sans problème. Je vais voir ce que je peux faire, mais ça m'étonnerait que j'arrive à le résoudre. ^^" Tu peux m'expliquer un peu son fonctionnement ? Pour les textes par exemple, on doit les mettre à quel endroit ?
EDIT: J'ai compris, mais j'ai vraiment la flemme, tu peux me faire une démo avec un appel et un simple texte. |
|
| |
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 20:31 | |
| Pour les textes il faut créer un dossier et le nommer "Text", dans ce dossier tu crée un fichier text et tu écris ce que tu veux. Ensuite, dans le script tu vas vers ces lignes: - Code:
-
COMMANDS = { #ID => [Command Name, Text File] 0 => ["Combat", "Text/combat.txt"], 1 => ["Grade", "Text/skills.txt"], 2 => ["Cuisine", "Text/rows.txt"], 3 => ["Soutient", "Text/saving.txt"], 4 => ["Affects", "Text/Affects.txt"], 5 => ["Quête", "Text/Quête.txt"], 6 => ["Eglise", "Text/Eglise.txt"], }#Do Not Remove Les numéros sont l'ordre dans le lequel les onglets apparaîtra. Les mots comme Grade sont les mots qui vont apparaitre pour définir un onglets. Les mots comme "Text/combat.txt" sont les fichiers texte que le script va appeler pour l'onglet en question. Il te faudra aussi placer cette image dans le dossier picture: - Spoiler:
Elle doit s'appeler "more_text". Voilà. |
|
| |
Invité Invité
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 20:35 | |
| C'est pour ça que je voudrais une démo, j'ai vraiment la flemme de faire toute la configuration surtout que je ne suis pas sur que ça va marcher.
Faudrait demander à Metroid vu que c'est une bête de script. |
|
| |
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 20:36 | |
| Ah oui il y a une demo^^, Je cherche et j'édite.
Edit:Voilà. |
|
| |
Invité Invité
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 21:02 | |
| Le problème c'est que ce n'est pas un français qui a fait ce script, donc évidemment il n'a pas pensé aux accents. Dans certains scripts ont peut contourner cette règle en mettant deux '' au début et à la fin et en modifiant l'appel, mais là vu que tout doit être écrit sur un document texte, il n'y a aucun moyen sauf de faire une modification de script, chose que je serais incapable de faire sur celui-ci. Après tu as la bonne méthode des events, vu que ce sont que des textes ce serait limite plus facile de le faire avec des images. Sinon essaie de contacter MP voir si il peut faire quelque chose où encore Zeus et Grim, enfin essaie de voir ça avec eux. |
|
| |
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 21:13 | |
| Ok, je vais essayer demander et si sa marche pas ben j'aurais plus qu'a retourner aux event. Merci d'avoir essayé. |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 22:22 | |
| J'apprends le Ruby en ce moment. Donc peut être que d'ici une semaine ou deux je pourrais régler ton problème. |
|
| |
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mer 14 Mar 2012 - 22:30 | |
| |
|
| |
Siegfried Mage (niveau 2)
Messages postés : 286 Date d'inscription : 31/07/2011 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Lun 26 Mar 2012 - 23:04 | |
| Salut. Ouvre tes fichiers textes avec un éditeur comme notepad++ et change l'encodage en "UTF-8 sans bom", puis enregistre. C'est exactement le même problème que pour un site internet qui n'affiche pas les accents. |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Lun 26 Mar 2012 - 23:17 | |
| (nan ça c'est quand t'es pas doué Il faut bien vérifier que l'encodage de sa page est le même que celui du fichier et celui des information qu'on inclue dedans, et le sans BOM c'est par rapport à certains problèmes de traitement des langages, c'est théoriquement réglé sur php mais bon...) |
|
| |
Siegfried Mage (niveau 2)
Messages postés : 286 Date d'inscription : 31/07/2011 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Lun 26 Mar 2012 - 23:58 | |
| Quand on lit des .txt, même sur un site, il faut le bon encodage. Enfin bref, essayez ça pour ce problème de script, ça devrait marcher. |
|
| |
RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mar 27 Mar 2012 - 15:50 | |
| J’essaie et je dit si ça marche.^^ Edit: Ça marche ! \o/ Merci à vous tous ! |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mar 27 Mar 2012 - 19:32 | |
| J'ai rien fait perso XD Mais de rien quand même |
|
| |
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [Résolu]Problème de lettre sur ce script. Mar 27 Mar 2012 - 21:48 | |
| Je précise que j'ai mis les points qu'il fallait, au cas où on m'enquiquinerait encore avec ça ! |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu]Problème de lettre sur ce script. | |
| |
|
| |
|