Chào các bạn ...Mình hôm nay có một cái Loading bar , chạy khá tốt ....Mình xin mạng phép hướng dẫn cho các bạn Vào RM XP , F11 bạn là một cái Script mới : và cho cái Code này vào : # A gradient bar... no need to explain :P # Made By Illusion class Bitmap def gradient_fill_rect(x, y, width = nil, height = nil, color = nil) if x.is_a?(Rect) color = y height = x.height end origin_aplha = color.alpha temp_color_alpha = 0 for i in 0...height temp_color_alpha += origin_aplha / height.to_f temp_color = Color.new(color.red, color.green, color.blue, temp_color_alpha) if x.is_a?(Rect) self.fill_rect(x, temp_color) else self.fill_rect(x, y + i, width, height - i, temp_color) end end end end Xong , Bạn vào Cái window effects , Cho cái này vào : #============================================================================== # ■ Window_Base #------------------------------------------------------------------------------ # Some modifications to make some special effects. # By : Illusion # Descriptions : # self.shake = true >> Will shake the window and its contents. # self.bounce(x or y or both) >> Will "bounce" the window up, donw, left and right. # self.continuous_transparency = true >> Will make the window fade in and out. # Before setting one these settings in your scene do this : # @window_thing.x = desired x # @window_thing.y = desired y # @window_thing.update # @window_thing.effect_attribute = true or false #============================================================================== class Window_Base attr_accessor :shake attr_accessor :bounce_x attr_accessor :bounce_y attr_accessor :continuous_transparency alias effects_initialize initialize alias effects_update update def initialize(x, y, width, height) @old_x = x @old_y = y effects_initialize(x, y, width, height) self.shake = false self.bounce_x = false self.bounce_y = false self.continuous_transparency = false end def update @old_x = self.x unless move_effects @old_y = self.y unless move_effects effects_update # If the window has a shake status, shake it. if self.shake self.x = @old_x + rand(5) self.y = @old_y - rand(5) end # If the window has a bouncing status, move it. if self.bounce_y @down = true if self.y < @old_y - 40 @down = false if self.y > @old_y+ 10 self.y += 1 if @down self.y -= 1 unless @down end if self.bounce_x @left = true if self.x < @old_x - 20 @left = false if self.x > @old_x + 30 self.x += 1 if @left self.x -= 1 unless @left end # If the window has a transparency status, change its transparency it. if self.continuous_transparency @opacity_up = true if self.opacity <= 10 @opacity_up = false if self.opacity >= 255 self.opacity += 2 if @opacity_up self.opacity -= 2 unless @opacity_up end end #------------------------------------------------------------- # ● Enables bouncing effect #------------------------------------------------------------- def bounce self.bounce_x = self.bounce_y = true end #------------------------------------------------------------- # ● Checks that no window effect is active. #------------------------------------------------------------- def move_effects a = false a = true if self.bounce_x a = true if self.bounce_y a = true if self.shake return a end end Tiếp , Bạn vào Game_System và sửa nó : sau đó cho cái dòng này vào : class Game_System #-------------------------------------------------------------------------- # ● Returns the default windowskin name. #-------------------------------------------------------------------------- def windowskin_name if @windowskin_name == nil begin return $data_system.windowskin_name rescue return '001-Blue01' end else return @windowskin_name end end end Sau đó là Tiếp cai Sript mới : tên Là Load Window :cho cái này vào : #============================================================================== # ■ Window_Load_Data #------------------------------------------------------------------------------ # Shows the loading data bar and percentage. # By : Illusion #============================================================================== class Window_Load_Data < Window_Base attr_accessor :text attr_accessor :color #-------------------------------------------------------------------------- # ● Initializes the window. #-------------------------------------------------------------------------- def initialize super(190, 206, 250 + 32, 30 + 32 - 15) self.contents = Bitmap.new(250, 32 - 6) self.contents.font.name = $defaultfonttype self.contents.font.size = 16 self.contents.font.color = Color.new(255, 255, 255, 255) @text = "" @color = Color.new(0, 0, 0, 255) self.visible = true end #-------------------------------------------------------------------------- # ● Updates the bar and the text. #-------------------------------------------------------------------------- def set_text_and_bar(percentage) percentage = percentage.floor.to_i update # Clears the contents. self.contents.clear self.contents.gradient_fill_rect(0, 0, (percentage / 100.0 * self.contents.width), self.contents.height, @color) text = @text+percentage.to_s+'%' self.contents.draw_text(8, -4, text.size * 32, 32, text, 0) end end Và cuối cùng là .... Các bạn đến cái Scene_Title Tìm cái dòng 67 , Xóa hết ,,,, Xong cho vào Cái này : #============================================================================== # ■ Scene_Title #------------------------------------------------------------------------------ # Custom load window added. # By Illusion #============================================================================== class Scene_Title #-------------------------------------------------------------------------- # ● Main #-------------------------------------------------------------------------- def main # Go to B_TEST if user is testing a batttle. if $BTEST battle_test return end # Create a new game_system $game_system = Game_System.new # Create the Sprites and windows. @sprite = Sprite.new @sprite.bitmap = RPG::Cache.title(load_data("Data/System.rxdata").title_name) # If data is already loaded, skip this part. if $data_system == nil Graphics.transition @window = Window_Load_Data.new @window.color = Color.new(rand(255), rand(255), rand(255), 255) @window.width = 283 @window.height = 60 load_hero_data @window.color.set(rand(255), rand(255), rand(255)) load_class_data @window.color.set(rand(255), rand(255), rand(255)) load_skill_data @window.color.set(rand(255), rand(255), rand(255)) load_item_data @window.color.set(rand(255), rand(255), rand(255)) load_weapons_data @window.color.set(rand(255), rand(255), rand(255)) load_armor_data @window.color.set(rand(255), rand(255), rand(255)) load_ennemy_data @window.color.set(rand(255), rand(255), rand(255)) load_troop_data @window.color.set(rand(255), rand(255), rand(255)) load_states_data @window.color.set(rand(255), rand(255), rand(255)) load_animations_data @window.color.set(rand(255), rand(255), rand(255)) load_tilesets_data @window.color.set(rand(255), rand(255), rand(255)) load_common_events_data @window.color.set(rand(255), rand(255), rand(255)) load_system_data Graphics.freeze @window.dispose end # Define the commands. s1 = "New Game" s2 = "Continue" s3 = "Exit" @command_window = Window_Command.new(192, [s1, s2, s3]) @command_window.back_opacity = 160 @command_window.x = 320 - @command_window.width / 2 @command_window.y = 288 @command_window.update # Makes the command window bounce, removed if not desired. @command_window.bounce # Checks if a save file exists. @continue_enabled = false for i in 0..3 if FileTest.exist?("Save#{i+1}.sav") @continue_enabled = true end end # Disable the command if no save file exists, otherwise, place cursor on the continue option. if @continue_enabled @command_window.index = 1 else @command_window.disable_item(1) end # Play title BGM. $game_system.bgm_play($data_system.title_bgm) # Stop the ME and BGS. Audio.me_stop Audio.bgs_stop # De-freeze the screen. Graphics.transition # メインループ loop do # Update the screen. Graphics.update # Update the keyboard input. Input.update # Update. update # If $scene is not a Scene_Title, break. if $scene != self break end end # Freezes the screen. Graphics.freeze # Release all the bitmaps / erase them. @command_window.dispose @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # ● Load Hero data #-------------------------------------------------------------------------- def load_hero_data @window.text = 'Loading actor data ' size = load_data("Data/Actors.rxdata").size $data_actors = [] for i in 0...size + 1 $data_actors = load_data("Data/Actors.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load class data #-------------------------------------------------------------------------- def load_class_data @window.text ='Loading class data ' size = load_data("Data/Classes.rxdata").size $data_classes = [] for i in 0...size + 1 $data_classes = load_data("Data/Classes.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load skill data #-------------------------------------------------------------------------- def load_skill_data @window.text = 'Loading skill data ' size = load_data("Data/Skills.rxdata").size $data_skills = [] for i in 0...size + 1 $data_skills = load_data("Data/Skills.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load item data #-------------------------------------------------------------------------- def load_item_data @window.text = 'Loading items data ' size = load_data("Data/Items.rxdata").size $data_items = [] for i in 0...size + 1 $data_items = load_data("Data/Items.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load weapons data #-------------------------------------------------------------------------- def load_weapons_data size = load_data("Data/Weapons.rxdata").size $data_weapons = [] @window.text = 'Loading weapon data ' for i in 0...size + 1 $data_weapons = load_data("Data/Weapons.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load armor data #-------------------------------------------------------------------------- def load_armor_data size = load_data("Data/Armors.rxdata").size $data_armors = [] @window.text = 'Loading armor data ' for i in 0...size + 1 $data_armors = load_data("Data/Armors.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load ennemy data #-------------------------------------------------------------------------- def load_ennemy_data size = load_data("Data/Enemies.rxdata").size $data_enemies = [] @window.text = 'Loading ennemy data ' for i in 0...size + 1 $data_enemies = load_data("Data/Enemies.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load troop data #-------------------------------------------------------------------------- def load_troop_data size = load_data("Data/Troops.rxdata").size $data_troops = [] @window.text = 'Loading troop data ' for i in 0...size + 1 $data_troops = load_data("Data/Troops.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load states data #-------------------------------------------------------------------------- def load_states_data size = load_data("Data/States.rxdata").size $data_states = [] @window.text = 'Loading state data ' for i in 0...size + 1 $data_states = load_data("Data/States.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load animations data #-------------------------------------------------------------------------- def load_animations_data size = load_data("Data/Animations.rxdata").size $data_animations = [] @window.text = 'Loading animations data ' for i in 0...size + 1 $data_animations = load_data("Data/Animations.rxdata") @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load tilesets data #-------------------------------------------------------------------------- def load_tilesets_data size = load_data("Data/Tilesets.rxdata").size $data_tilesets = [] @window.text = 'Loading tilestets data ' for i in 0...size + 1 $data_tilesets[i] = load_data("Data/Tilesets.rxdata")[i] @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load common events data #-------------------------------------------------------------------------- def load_common_events_data size = load_data("Data/CommonEvents.rxdata").size $data_common_events = [] @window.text = 'Loading common events data ' for i in 0...size $data_common_events[i] = load_data("Data/CommonEvents.rxdata")[i] @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end #-------------------------------------------------------------------------- # ● Load system data #-------------------------------------------------------------------------- def load_system_data system_attr_data = ['magic_number', 'party_members', 'elements', 'switches', 'variables', 'windowskin_name', 'title_name ', 'gameover_name' , 'battle_transition', 'title_bgm', 'battle_bgm ', 'battle_end_me ', 'gameover_me ', 'cursor_se', 'decision_se', 'cancel_se', 'buzzer_se', 'equip_se', 'shop_se ', 'save_se ', 'load_se', 'battle_start_se', 'escape_se', 'actor_collapse_se ', 'enemy_collapse_se', 'words', 'start_map_id', 'start_x', 'start_y', 'test_battlers', 'test_troop_id', 'battleback_name ', 'battler_name ', 'battler_hue', 'edit_map_id '] size = system_attr_data.size $data_system = RPG::System.new @window.text = 'Loading system data ' for i in 0...size + 1 eval('$data_system.'+system_attr_data[i]+' = load_data("Data/System.rxdata").'+system_attr_data[i]) rescue nil @window.set_text_and_bar((i / size.to_f * 100).to_i) Graphics.update Input.update end end end Xong rùi ....Chúc thành công nha ... Nếu là không được thì Vào đây lấy Demo nha : [URL=http://www.megaupload.com/?d=WDE3LGMC]DEMO[/URL][/i][/i][/i][/i][/i][/i]
Đề nghị ông cho mã vào trong bảng code đi , để dài thế này kiếm MP hả , ủa , mà Window Effect ở đâu rậy
Đề nghị ông cho mã vào trong bảng code đi , để dài thế này kiếm MP hả , ủa , mà Window Effect ở đâu rậy
Cái Loading Bar này thật ra là có công dụng gì ? Sao tui nhìn hổng hiểu gì hết trơn dzậy ??? ----------------------------------------------------------- AI GIẤU CÁI CHỮ KÍ CỦA TUI THÌ TRẢ LẠI NGHe ! KO GIỠN ĐÂU À !!!
Ông Duong44 ơi, tui thấy ông nhiều chuyện quá đừng có lúc nào cũng dậy không người ta phải thế này thế kia chứ nếu ông giỏi thì đừng chạy lăng xăng hãy ngồi 1 chỗ mà thể hiện tài năng xem ông có tự mình viết được 1 cái script như các bạn khác không nhé.
Bố cái thằng điên này , tao có động gì tới mày đâu , chẳng qua nói phét mấy câu với anh em cho vui thui , ủa , mày ko đủ trí khôn để hiểu tao đang đùa à
cái code trên rất hay, tuy nhiên hầu như chỉ dành cho game nào to và có 1 thư viện nhạc + hình ảnh lớn. Chứ với game nhỏ thì làm chơi chơi cho oai thì cũng.......giảm giá trị của game và tăng thời gian load game thay vì giảm.... => not applicable Cám ơn vì đã share
Code này dùng cho màu mè một chút thui ..chứ nó cũng chẵng công dụng gì ...Y như là bạn install game thì nó Load ra đấy thui mà ...Nếu bạn thích thì lấy ...Còn không thì thui ....Lần sau mình sẽ gởi cho bà con cái CBS theo kiểu FF 9 ( hay và đôc đáo)
Về rồi ko thèm tắt nick hả , cái Code này của ông có dùng đc đâu , làm gì có cái nào gọi là Window_Effect