Benutzerinformationen überspringen
Ankömmling
Motto: Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht.
show text
Hi leute,
Ich brauch einen skript, mit dem die Text box bei dem event befehl show text
nich einfach mit dem klick der enter- oder leertaste verschwindet,sondern
das man ca 5 sec warten muss oder das die box erst verschwindet, wenn der
text ganz angezeigt wurde.
Lg Arunio
PS: Derjenige, der mir den script gibt, bekommt einen eintrag in die credits des spiels.
Ich brauch einen skript, mit dem die Text box bei dem event befehl show text
nich einfach mit dem klick der enter- oder leertaste verschwindet,sondern
das man ca 5 sec warten muss oder das die box erst verschwindet, wenn der
text ganz angezeigt wurde.
Lg Arunio
PS: Derjenige, der mir den script gibt, bekommt einen eintrag in die credits des spiels.
Benutzt doch das UMS. Da kannst du das alles einstellen.
Wenn du es selbst nicht findest guck ich heute Abend nochmal.
UMS - UCoders Message System | RPG Studio
Wenn du es selbst nicht findest guck ich heute Abend nochmal.
UMS - UCoders Message System | RPG Studio
Nur noch selten hier.
'Til now, I always let people walk all over me!
From now on, if anyone makes fun of me, I'll kill 'em! Just like that!
From now on, if anyone makes fun of me, I'll kill 'em! Just like that!
Solltest du das UMS nicht haben wollen, habe ich dir das Normale Windows_Messsage Script kurz verändert.
Du kannst das Script separat über Main einfügen.
Ab Zeile 247 kannst du bei diesem Befehl : Graphics.transition(50) die verzögerung selbst bestimmen.
Benutze dafür die Zahl in Klammern.
MFG
Du kannst das Script separat über Main einfügen.
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
# Window_Message-Verzögern # In Zeile 247 kannst du bei Graphics.transition(50) # die Zahl in den Klammern die verzögerung einstellen. #============================================================================== # ** Window_Message #------------------------------------------------------------------------------ # This message window is used to display text. #============================================================================== class Window_Message < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(80, 304, 480, 160) self.contents = Bitmap.new(width - 32, height - 32) self.visible = false self.z = 9998 @fade_in = false @fade_out = false @contents_showing = false @cursor_width = 0 self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * Dispose #-------------------------------------------------------------------------- def dispose terminate_message $game_temp.message_window_showing = false if @input_number_window != nil @input_number_window.dispose end super end #-------------------------------------------------------------------------- # * Terminate Message #-------------------------------------------------------------------------- def terminate_message self.active = false self.pause = false self.index = -1 self.contents.clear # Clear showing flag @contents_showing = false # Call message callback if $game_temp.message_proc != nil $game_temp.message_proc.call end # Clear variables related to text, choices, and number input $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 # Open gold window if @gold_window != nil @gold_window.dispose @gold_window = nil end end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = normal_color x = y = 0 @cursor_width = 0 # Indent if choice if $game_temp.choice_start == 0 x = 8 end # If waiting for a message to be displayed if $game_temp.message_text != nil text = $game_temp.message_text # Control text processing 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 # Change "\\\\" to "\000" for convenience text.gsub!(/\\\\/) { "\000" } # Change "\\C" to "\001" and "\\G" to "\002" text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } text.gsub!(/\\[Gg]/) { "\002" } # Get 1 text character in c (loop until unable to get text) while ((c = text.slice!(/./m)) != nil) # If \\ if c == "\000" # Return to original text c = "\\" end # If \C[n] if c == "\001" # Change text color text.sub!(/\[([0-9]+)\]/, "") color = $1.to_i if color >= 0 and color <= 7 self.contents.font.color = text_color(color) end # go to next text next end # If \G if c == "\002" # Make gold window 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 # go to next text next end # If new line text if c == "\n" # Update cursor width if choice if y >= $game_temp.choice_start @cursor_width = [@cursor_width, x].max end # Add 1 to y y += 1 x = 0 # Indent if choice if y >= $game_temp.choice_start x = 8 end # go to next text next end # Draw text self.contents.draw_text(4 + x, 32 * y, 40, 32, c) # Add x to drawn text width x += self.contents.text_size(c).width end end # If choice if $game_temp.choice_max > 0 @item_max = $game_temp.choice_max self.active = true self.index = 0 end # If number input 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 end #-------------------------------------------------------------------------- # * Set Window Position and Opacity Level #-------------------------------------------------------------------------- def reset_window if $game_temp.in_battle self.y = 16 else case $game_system.message_position when 0 # up self.y = 16 when 1 # middle self.y = 160 when 2 # down self.y = 304 end end if $game_system.message_frame == 0 self.opacity = 255 else self.opacity = 0 end self.back_opacity = 160 end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super # If fade in if @fade_in self.contents_opacity += 24 if @input_number_window != nil @input_number_window.contents_opacity += 24 end if self.contents_opacity == 255 @fade_in = false end return end # If inputting number if @input_number_window != nil @input_number_window.update # Confirm 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 # Dispose of number input window @input_number_window.dispose @input_number_window = nil terminate_message end return end # If message is being displayed if @contents_showing # If choice isn't being displayed, show pause sign if $game_temp.choice_max == 0 self.pause = true end # Cancel 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 end # Confirm 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 Graphics.freeze # Verzögerung einstellen # Graphics.transition(50) terminate_message end return end # If display wait message or choice exists when not fading out 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 message which should be displayed is not shown, but window is visible if self.visible @fade_out = true self.opacity -= 48 if self.opacity == 0 self.visible = false @fade_out = false $game_temp.message_window_showing = false end return end end #-------------------------------------------------------------------------- # * Cursor Rectangle Update #-------------------------------------------------------------------------- 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 |
zum Lesen den Text mit der Maus markieren
Ab Zeile 247 kannst du bei diesem Befehl : Graphics.transition(50) die verzögerung selbst bestimmen.
Benutze dafür die Zahl in Klammern.
MFG
Realität ist auch nur eine Art von Rollenspiel.
Ähnliche Themen
-
Skript-Anfragen »-
Eine(n) Text/Variable erscheinen lassen
(23. April 2011, 01:03)
-
Skript-Anfragen »-
Eine(n) Text/Variable erscheinen lassen
(23. April 2011, 01:03)
-
Skript-Anfragen »-
Eine(n) Text/Variable erscheinen lassen
(23. April 2011, 01:03)
-
Events & Technik »-
Show Text + Show Choices in einem Fenster geht nicht!
(13. Juli 2010, 18:03)
-
Skript-Anfragen »-
Suche ein Skript mitdem am anfang des Spielst die Story angezeigt wird.
(18. Januar 2008, 20:16)
