|
| Custom Battle Result Script | |
| | Pengirim | Message |
---|
loloaziib Newbie
Posts : 11 Thanked : 0 Engine : RMVX Skill : Intermediate Type : Event Designer
| Subyek: Custom Battle Result Script 2011-05-24, 14:45 | |
| hi, aku cuma mau berbagi script ajah buat kalian. ini ada Battle result script, jadi kalo abis menang battlenya. langsung muncul window level up gitu. kalo yang belom ngaerti apa maksudnya, coba aja scriptnya. ini buatan A3D, dari forum bule... - Code:
-
#================================================================= # ? Battle Result by A3D Ver. 1.02 # Useful : show battle result in a different way # Effect to default script : this code will replace methode "start_phase5" & "update_phase5" in Scene_Battle # How to install : in script editor, insert all the code above main # Note : this script is for non-commercial use only, give credit if use # Contact : A3D (hyper_s@hotmail.com) #=================================================================
module A3D WAIT_WINDOW_APPEAR = 60 WAIT_RUNNING_NUMBER = 20 STEP_EXP = 1 STEP_GOLD = 1 SE_LEVELUP = ["007-System07", 100, 100] SE_NEWSKILL = ["007-System07", 100, 100] FONT_NAME = "Tahoma" FONT_SIZE = 22 end
#============================================================================== # ? Scene_Battle #==============================================================================
class Scene_Battle #-------------------------------------------------------------------------- # ? After battle phase start #-------------------------------------------------------------------------- def start_phase5 # It moves to phase 5 @phase = 5 # Performing battle end ME $game_system.me_play($game_system.battle_end_me) # You reset to BGM before the battle starting $game_system.bgm_play($game_temp.map_bgm) # Initializing EXP, the gold and the treasure exp = 0 gold = 0 treasures = [] # Loop for enemy in $game_troop.enemies # When the enemy hides and it is not state unless enemy.hidden # Adding acquisition EXP and the gold exp += enemy.exp gold += enemy.gold # Treasure appearance decision if rand(100) < enemy.treasure_prob if enemy.item_id > 0 treasures.push($data_items[enemy.item_id]) end if enemy.weapon_id > 0 treasures.push($data_weapons[enemy.weapon_id]) end if enemy.armor_id > 0 treasures.push($data_armors[enemy.armor_id]) end end end end # Treasure acquisition for item in treasures case item when RPG::Item $game_party.gain_item(item.id, 1) when RPG::Weapon $game_party.gain_weapon(item.id, 1) when RPG::Armor $game_party.gain_armor(item.id, 1) end end # Create Variable & Window @phase5_step = 1 @wait_window_appear = A3D::WAIT_WINDOW_APPEAR @wait_running_number = A3D::WAIT_RUNNING_NUMBER @resultreceive_window = Window_ResultReceive.new(exp, gold, treasures) @resultgold_window = Window_ResultGold.new @resultparty_window = Window_ResultParty.new @actor_level_before = [] @resultlevel_window = [] @resultskill_window = [] for i in 0...$game_party.actors.size actor = $game_party.actors[i] @actor_level_before[i] = actor.level @resultlevel_window[i] = Window_ResultLevel.new(i) @resultskill_window[i] = Window_ResultSkill.new(i) end end #-------------------------------------------------------------------------- # ? Update Phase 5 #-------------------------------------------------------------------------- def update_phase5 case @phase5_step when 1 # EXP & Gold Phase update_phase5_step1 when 2 # Skill Phase update_phase5_step2 when 3 # Delete Window Phase update_phase5_step3 end end #-------------------------------------------------------------------------- # ? Update Phase 5 Step 1 #-------------------------------------------------------------------------- def update_phase5_step1 # Wait Count Before Window Appear if @wait_window_appear > 0 @wait_window_appear -= 1 if @wait_window_appear == 0 @resultreceive_window.visible = true @resultgold_window.visible = true @resultparty_window.visible = true $game_temp.battle_main_phase = false end return end # Wait Count Before Running Number if @wait_running_number > 0 @wait_running_number -= 1 return end # Change Item Page if Input.trigger?(Input::RIGHT) if @resultreceive_window.max_page != 1 $game_system.se_play($data_system.cursor_se) @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1 @resultreceive_window.refresh end end # EXP & Gold Rolling if (@resultreceive_window.exp != 0 || @resultreceive_window.gold != 0) # Input C to Shortcut Calculation if Input.trigger?(Input::C) for i in 0...$game_party.actors.size actor = $game_party.actors[i] level_before = actor.level actor.exp += @resultreceive_window.exp if actor.level > level_before @resultlevel_window[i].visible = true Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2]) end end $game_party.gain_gold(@resultreceive_window.gold) @resultreceive_window.exp = 0 @resultreceive_window.gold = 0 @resultreceive_window.refresh @resultgold_window.refresh @resultparty_window.refresh end # EXP if @resultreceive_window.exp != 0 step_exp = @resultreceive_window.exp >= A3D::STEP_EXP.abs ? A3D::STEP_EXP.abs : @resultreceive_window.exp for i in 0...$game_party.actors.size actor = $game_party.actors[i] if actor.next_rest_exp <= step_exp && actor.next_rest_exp != 0 @resultlevel_window[i].visible = true Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2]) end actor.exp += step_exp end @resultreceive_window.exp -= step_exp @resultreceive_window.refresh @resultparty_window.refresh end # Gold if @resultreceive_window.gold != 0 step_gold = @resultreceive_window.gold >= A3D::STEP_GOLD.abs ? A3D::STEP_GOLD.abs : @resultreceive_window.gold $game_party.gain_gold(step_gold) @resultreceive_window.gold -= step_gold @resultreceive_window.refresh @resultgold_window.refresh end return end # Input C to Bypass Step if Input.trigger?(Input::C) @phase5_step = 2 return end end #-------------------------------------------------------------------------- # ? Update Phase 5 Step 2 #-------------------------------------------------------------------------- def update_phase5_step2 # Change Item Page if Input.trigger?(Input::RIGHT) if @resultreceive_window.max_page != 1 $game_system.se_play($data_system.cursor_se) @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1 @resultreceive_window.refresh end end # Initialize Skill Phase if @initialized_skill_phase == nil for i in 0...$game_party.actors.size actor = $game_party.actors[i] for skill in $data_classes[actor.class_id].learnings if skill.level > @actor_level_before[i] && skill.level <= actor.level Audio.se_play("Audio/SE/" + A3D::SE_NEWSKILL[0], A3D::SE_NEWSKILL[1], A3D::SE_NEWSKILL[2]) @resultskill_window[i].skill_id = skill.skill_id @resultskill_window[i].visible = true @resultskill_window[i].refresh @skill_phase_active = true end end end @initialized_skill_phase = true end # If Skill Phase Active, Show Window if @skill_phase_active != nil if @resultskill_window[0].x != 456 for i in 0...$game_party.actors.size @resultskill_window[i].x -= 23 end return end else @phase5_step = 3 return end # Input C to Bypass Step if Input.trigger?(Input::C) @phase5_step = 3 return end end #-------------------------------------------------------------------------- # ? Update Phase 5 Step 3 #-------------------------------------------------------------------------- def update_phase5_step3 # Delete All Result-Window @resultreceive_window.dispose @resultgold_window.dispose @resultparty_window.dispose for i in 0...$game_party.actors.size @resultlevel_window[i].dispose @resultskill_window[i].dispose end battle_end(0) end end
#============================================================================== # ? Game_Actor #==============================================================================
class Game_Actor def next_rest_exp return @exp_list[@level+1] > 0 ? (@exp_list[@level+1] - @exp) : 0 end
end
#============================================================================== # ? Window_ResultReceive #==============================================================================
class Window_ResultReceive < Window_Base #-------------------------------------------------------------------------- # ? Attr #-------------------------------------------------------------------------- attr_accessor :exp attr_accessor :gold attr_accessor :page attr_reader :max_page #-------------------------------------------------------------------------- # ? Initialize #-------------------------------------------------------------------------- def initialize(exp, gold, treasures) super(40, 28, 224, 212) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = A3D::FONT_NAME self.contents.font.size = A3D::FONT_SIZE self.back_opacity = 160 self.visible = false @exp = exp @gold = gold @treasures = treasures @page = 1 @max_page = treasures.size > 4 ? 2 : 1 refresh end #-------------------------------------------------------------------------- # ? Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -8, self.width - 32, 32, "Exp") self.contents.draw_text(0, 16, self.width - 32, 32, $data_system.words.gold) self.contents.draw_text(0, 40, self.width - 32, 32, $data_system.words.item + " [" + @page.to_s + "/" + @max_page.to_s + "]" ) self.contents.font.color = normal_color self.contents.draw_text(0, -8, self.width - 32, 32, @exp.to_s, 2) self.contents.draw_text(0, 16, self.width - 32, 32, @gold.to_s, 2) if @treasures.size == 0 self.contents.draw_text(0, 68, self.width - 32, 32, "< Nothing. >") elsif @treasures.size > 4 bitmap = RPG::Cache.windowskin($game_system.windowskin_name) self.contents.blt(184, 116, bitmap, Rect.new(168, 24, 16, 16), 255) end y = 68 item_start_index = @page == 1 ? 0 : 4 for i in item_start_index...@treasures.size item = @treasures[i] draw_item_name(item, 0, y) y += 28 end end end
#============================================================================== # ? Window_ResultGold #==============================================================================
class Window_ResultGold < Window_Base #-------------------------------------------------------------------------- # ? Initialize #-------------------------------------------------------------------------- def initialize super(40, 240, 224, 52) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = A3D::FONT_NAME self.contents.font.size = A3D::FONT_SIZE self.back_opacity = 160 self.visible = false refresh end #-------------------------------------------------------------------------- # ? Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -8, self.width - 32, 32, "Total " + $data_system.words.gold) self.contents.font.color = normal_color self.contents.draw_text(0, -8, self.width - 32, 32, $game_party.gold.to_s, 2) end end
#============================================================================== # ? Window_ResultParty #==============================================================================
class Window_ResultParty < Window_Base #-------------------------------------------------------------------------- # ? Initialize #-------------------------------------------------------------------------- def initialize super(264, 28, 336, 264) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = A3D::FONT_NAME self.contents.font.size = A3D::FONT_SIZE self.back_opacity = 160 self.visible = false refresh end #-------------------------------------------------------------------------- # ? Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...$game_party.actors.size actor = $game_party.actors[i] y = 60 * i + 22 draw_actor_graphic(actor, 24, y + 28 ) draw_actor_name(actor, 64, y - 28) self.contents.font.color = system_color self.contents.draw_text(116, y, (self.width - 32), 32, "Lv.") self.contents.draw_text(188, y, (self.width - 32), 32, "Next") self.contents.font.color = normal_color self.contents.draw_text(-140, y, (self.width - 32), 32, actor.level.to_s ,2) self.contents.draw_text(0 , y, (self.width - 32), 32, actor.next_rest_exp_s ,2) end end end
#============================================================================== # ? Window_ResultLevel #==============================================================================
class Window_ResultLevel < Window_Base #-------------------------------------------------------------------------- # ? Initialize #-------------------------------------------------------------------------- def initialize(id) super(332, 60 * id + 40, 124, 60) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = A3D::FONT_NAME self.contents.font.size = A3D::FONT_SIZE self.back_opacity = 160 self.visible = false self.z = 200 refresh end #-------------------------------------------------------------------------- # ? Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.draw_text(0, -2, self.width - 32, 32, "Level-Up !!", 1) end end
#============================================================================== # ? Window_ResultSkill #==============================================================================
class Window_ResultSkill < Window_Base #-------------------------------------------------------------------------- # ? Attr #-------------------------------------------------------------------------- attr_accessor :skill_id #-------------------------------------------------------------------------- # ? Initialize #-------------------------------------------------------------------------- def initialize(id) super(640, 60 * id + 40, 200, 60) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = A3D::FONT_NAME self.contents.font.size = A3D::FONT_SIZE self.back_opacity = 160 self.visible = false self.z = 200 @skill_id = nil end #-------------------------------------------------------------------------- # ? Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear if @skill_id == nil return end skill = $data_skills[@skill_id] bitmap = RPG::Cache.icon(skill.icon_name) self.contents.blt(0, 2, bitmap, Rect.new(0, 0, 24, 24), 255) self.contents.font.color = normal_color self.contents.draw_text(32, -2, self.width - 64, 32, skill.name) end end cara makenya: - copy kode diatas kemudian buka script editor script editor - klik kanan pada tulisan main( ada di script paling bawah), kemudian klik kiri insert. - abis itu beri nama script itu Battle_result. - kemudian paste ke isi script tsb. - klik OK. - save project - buat event yang langsung ke pertarungan yang musuhnya mudah.supaya kamu bisa lebih cepat menang - jalankan game. setelah kamu melawan musuh dan menang,penampakan battle_result nya bakal kaya gini. CreditsA3d from http://www.rmrk.net semoga scipt ini berguna bagi yang membutuhkan..
Terakhir diubah oleh loloaziib tanggal 2011-05-27, 23:09, total 1 kali diubah | |
| | | nisamerica Living Skeleton
Posts : 1668 Thanked : 25 Engine : RMVX Skill : Very Beginner Type : Artist
Trophies
Awards:
| | | | loloaziib Newbie
Posts : 11 Thanked : 0 Engine : RMVX Skill : Intermediate Type : Event Designer
| Subyek: Re: Custom Battle Result Script 2011-05-24, 15:37 | |
| gpp kok, yang bikin scriptnya aja di sebar. yang penting udah kasih tau siapa yang ngebuat..
itu aluxesnya cewek gara-garanya mau nge test char buatan sendiri... | |
| | | hyperkudit Pahlawan Super
Posts : 2288 Thanked : 30 Engine : RMXP Skill : Very Beginner Type : Artist
Trophies
Awards:
| Subyek: Re: Custom Battle Result Script 2011-05-24, 15:50 | |
| wah aluxesnya cewe btw bukan masalah dia nyebar2 apa enggak... tapi kalo kita nyebarin karya orang tanpa sepengetahuan dan seijin si empunya kan gk enak juga jadi mending minta ijin dulu untuk ngepost disini? | |
| | | KID_VX Senior
Posts : 959 Thanked : 24 Engine : Multi-Engine User Skill : Very Beginner Type : Developer
| Subyek: Re: Custom Battle Result Script 2011-05-24, 15:58 | |
| - loloaziib wrote:
- gpp kok, yang bikin scriptnya aja di sebar. yang penting udah kasih tau siapa yang ngebuat..
itu aluxesnya cewek gara-garanya mau nge test char buatan sendiri... ya tetep aja bang yang bikin scrit nya aja di sebar , ya iyalah, dia kan yang bikin scriptnya, so tersrah dia mau di sebarin dimanapun juga, nah kalo dikau kan buka pembuatnya, jadi dikau setidaknya harus meminta iizin dan tentunya mendapatkan konfirmasi kalo dirimu boleh menyebarkan tuh script buatan orang tersebut, kalo gak , nanti bisa di anggap pencurian , walopun di sertakan juga founder nya.. Dan forum ini juga mempunyai aturan Enjoy | |
| | | nisamerica Living Skeleton
Posts : 1668 Thanked : 25 Engine : RMVX Skill : Very Beginner Type : Artist
Trophies
Awards:
| Subyek: Re: Custom Battle Result Script 2011-05-24, 17:49 | |
| Mungkin lebih baik kalo mo sharing kasih link langsung ke webnya dia aja, di sini cuma nampilin SS dan penjelasan Boleh kan kalo gitu doang? | |
| | | KID_VX Senior
Posts : 959 Thanked : 24 Engine : Multi-Engine User Skill : Very Beginner Type : Developer
| Subyek: Re: Custom Battle Result Script 2011-05-24, 18:19 | |
| | |
| | | Sponsored content
| Subyek: Re: Custom Battle Result Script | |
| |
| | | | Custom Battle Result Script | |
|
Similar topics | |
|
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
| Latest topics | » [Web Novel] Gloria Infidelis by LightNightKnight 2016-11-17, 21:27
» [Announcement] Forum baru untuk RMID by TheoAllen 2016-08-25, 16:39
» Where I'm Wrong ? by ReydVires 2016-07-24, 16:10
» flakeheartnet's Resources part III by flakeheartnet 2016-07-08, 14:30
» Keira's Art Warehouse by KeiraBlaze 2016-06-28, 19:27
» Theo Core Time System + Bingung by Lockin 2016-06-27, 16:24
» Error Script, Maybe ? by Lockin 2016-06-27, 16:20
» Nusaimoe @ RMID Lounge by Jihad Bagas 2016-06-21, 05:02
» Call Random Battle by Lockin 2016-06-15, 17:04
» Flakeheartnet Resources Part II [come back gift] by flakeheartnet 2016-06-07, 15:51
|
Statistics
|
Members: [ 4947 ]
Topics: [ 8258 ]
Posts: [ 112606 ]
Newest member: [ https://rmid.forumotion.net/u4968 ]
|
|
|
|