seigneurmax
Nombre de messages : 70 Age : 33 Date d'inscription : 28/10/2006
| Sujet: Problème de placement de script Dim 29 Oct - 23:10 | |
| je tente d'insere un script pour afficher dans lesmessages les lettres une par une sur sapce world et sir knight dit "placer ce script la ou il ce doit" d'accooooord genial donc du coup je lemet ou ? XD - Citation :
- class Window_Message < Window_Selectable
# ------------------------------------ def initialize super(80, 304, 480, 160) self.contents = Bitmap.new(width - 32, height - 32) self.visible = false self.z = 9998 @update_text = true @fade_in = false @fade_out = false @contents_showing = false @cursor_width = 0 self.active = false self.index = -1 end # ------------------------------------ def dispose terminate_message $game_temp.message_window_showing = false if @input_number_window != nil @input_number_window.dispose end super end # ------------------------------------ def terminate_message self.active = false self.pause = false self.index = -1 self.contents.clear @update_text = true @contents_showing = false if $game_temp.message_proc != nil $game_temp.message_proc.call end $game_temp.message_text = nil $game_temp.message_proc = nil $game_temp.choice_start = 99 $game_temp.choice_max = 0 $game_temp.choice_cancel_type = 0 $game_temp.choice_proc = nil $game_temp.num_input_start = 99 $game_temp.num_input_variable_id = 0 $game_temp.num_input_digits_max = 0 if @gold_window != nil @gold_window.dispose @gold_window = nil end end # ------------------------------------ def refresh self.contents.clear self.contents.font.color = normal_color @x = @y = 0 @cursor_width = 0 if $game_temp.choice_start == 0 @x = 8 end if $game_temp.message_text != nil @text = $game_temp.message_text begin last_text = @text.clone @text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } end until @text == last_text @text.gsub!(/\\[Nn]\[([0-9]+)\]/) do $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" end @text.gsub!(/\\\\/) { "\000" } @text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } @text.gsub!(/\\[Gg]/) { "\002" } end end # ------------------------------------ def reset_window if $game_temp.in_battle self.y = 16 else case $game_system.message_position when 0 self.y = 16 when 1 self.y = 160 when 2 self.y = 304 end end if $game_system.message_frame == 0 self.opacity = 255 else self.opacity = 0 end self.back_opacity = 160 end # ------------------------------------ def update_text if @text != nil while ((c = @text.slice!(/./m)) != nil) if c == "\000" c = "\\" end if c == "\001" @text.sub!(/\[([0-9]+)\]/, "") color = $1.to_i if color >= 0 and color <= 7 self.contents.font.color = text_color(color) end end if c == "\002" if @gold_window == nil @gold_window = Window_Gold.new @gold_window.x = 560 - @gold_window.width if $game_temp.in_battle @gold_window.y = 192 else @gold_window.y = self.y >= 128 ? 32 : 384 end @gold_window.opacity = self.opacity @gold_window.back_opacity = self.back_opacity end next end if c == "\n" if @y >= $game_temp.choice_start @cursor_width = [@cursor_width, @x].max end @y += 1 @x = 0 if @y >= $game_temp.choice_start @x = 8 end next end self.contents.draw_text(4 + @x, 32 * @y, 40, 32, c) @x += self.contents.text_size(c).width $game_system.se_play($data_system.decision_se) return end end if $game_temp.choice_max > 0 @item_max = $game_temp.choice_max self.active = true self.index = 0 end if $game_temp.num_input_variable_id > 0 digits_max = $game_temp.num_input_digits_max number = $game_variables[$game_temp.num_input_variable_id] @input_number_window = Window_InputNumber.new(digits_max) @input_number_window.number = number @input_number_window.x = self.x + 8 @input_number_window.y = self.y + $game_temp.num_input_start * 32 end @update_text = false #�š end # ------------------------------------ def update super if @fade_in self.contents_opacity = 255 if @input_number_window != nil @input_number_window.contents_opacity = 255 end if self.contents_opacity == 255 @fade_in = false end end if @input_number_window != nil @input_number_window.update if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) $game_variables[$game_temp.num_input_variable_id] = @input_number_window.number $game_map.need_refresh = true @input_number_window.dispose @input_number_window = nil terminate_message end return end if @contents_showing if @update_text update_text return end if $game_temp.choice_max == 0 self.pause = true end if self.pause == true && Input.dir4 != 0 terminate_message end if Input.trigger?(Input::B) if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0 $game_system.se_play($data_system.cancel_se) $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1) terminate_message end terminate_message if self.pause == true end if Input.trigger?(Input::C) if $game_temp.choice_max > 0 $game_system.se_play($data_system.decision_se) $game_temp.choice_proc.call(self.index) end terminate_message end return end if @fade_out == false and $game_temp.message_text != nil @contents_showing = true $game_temp.message_window_showing = true reset_window refresh Graphics.frame_reset self.visible = true self.contents_opacity = 0 if @input_number_window != nil @input_number_window.contents_opacity = 0 end @fade_in = true return end if self.visible @fade_out = true self.opacity = 0 if self.opacity == 0 self.visible = false @fade_out = false $game_temp.message_window_showing = false end return end end # ------------------------------------ def update_cursor_rect if @index >= 0 n = $game_temp.choice_start + @index self.cursor_rect.set(8, n * 32, @cursor_width, 32) else self.cursor_rect.empty end end end | |
|
Siegfried Admin
Nombre de messages : 1634 Age : 37 Localisation : Valence, France Emploi : Etudiant Loisirs : RPG Making, Musique, dessin, mangas Date d'inscription : 17/05/2006
| Sujet: Re: Problème de placement de script Dim 29 Oct - 23:19 | |
| Comme d'habitude, au-dessus de Main... Et prière de mettre des titres explicites : Ca permettra à la personne ayant le même problème de trouver son cas déjà traité. | |
|
seigneurmax
Nombre de messages : 70 Age : 33 Date d'inscription : 28/10/2006
| Sujet: Re: Problème de placement de script Lun 30 Oct - 0:36 | |
| au dessus de main mais quel nom ? au hasard ? et en plus j'ai deja essayé ça m'enleve les ecriture enfin je vais réessayer ...(concernant le probleme c'est bien un probleme avec un script parce que je pense pas qu'il y aura assez de place si je met tout erf ) edit:non je confirme bien que quand je met le script et que je lance mon jeu sa fait que les boites de dialogue sont la sans ce que j'ai ecris dessus donc en gros y'a le son qui fait comme si il y avait les lettres une à une mais sansles lettres ... | |
|
Siegfried Admin
Nombre de messages : 1634 Age : 37 Localisation : Valence, France Emploi : Etudiant Loisirs : RPG Making, Musique, dessin, mangas Date d'inscription : 17/05/2006
| Sujet: Re: Problème de placement de script Lun 30 Oct - 2:00 | |
| Le nom des scripts n'influe jamais sur leur fonctionnement... C'est juste pour se repèrer... L'écriture : - Citation :
- Après la ligne 4 :
self.contents = Bitmap.new(width - 32, height - 32) Rajoute : - Citation :
- self.contents.font.name = $fontface
self.contents.font.size = $fontsize | |
|
Kaiyh-Chan Modérateur
Nombre de messages : 430 Localisation : Quelque part Emploi : Un métier Loisirs : Making, jeux vidéo, écriture et dessin Date d'inscription : 10/10/2006
| Sujet: Re: Problème de placement de script Lun 6 Nov - 19:45 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: Problème de placement de script | |
| |
|