RPGMakerID
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Komunitas RPG Maker Indonesia
 
IndeksIndeks  Latest imagesLatest images  PencarianPencarian  PendaftaranPendaftaran  Login  
Per 2016, RMID pindah ke RMID Discord (Invite link dihapus untuk mencegah spambot -Theo @ 2019). Posting sudah tidak bisa dilakukan lagi.
Mohon maaf atas ketidaknyamanannya dan mohon kerjasamanya.

 

 Custom Battle Result Script

Go down 
4 posters
PengirimMessage
loloaziib
Newbie
Newbie
loloaziib


Level 5
Posts : 11
Thanked : 0
Engine : RMVX
Skill : Intermediate
Type : Event Designer

Custom Battle Result Script Empty
PostSubyek: Custom Battle Result Script   Custom Battle Result Script Empty2011-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.

Custom Battle Result Script Screen10

Credits
A3d from http://www.rmrk.net

semoga scipt ini berguna bagi yang membutuhkan.. :D


Terakhir diubah oleh loloaziib tanggal 2011-05-27, 23:09, total 1 kali diubah
Kembali Ke Atas Go down
nisamerica
Living Skeleton
nisamerica


Kosong
Posts : 1668
Thanked : 25
Engine : RMVX
Skill : Very Beginner
Type : Artist

Trophies
Awards:


Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-05-24, 14:49

Wow Aluxesnya cewe =)) =)) =))

Btw, ini ga papa disebar2? :D
BIasanya sih kudu make ijin? :D


Great script btw :thumbup:
Kembali Ke Atas Go down
loloaziib
Newbie
Newbie
loloaziib


Level 5
Posts : 11
Thanked : 0
Engine : RMVX
Skill : Intermediate
Type : Event Designer

Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-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...
Kembali Ke Atas Go down
hyperkudit
Pahlawan Super
hyperkudit


Level 5
Posts : 2288
Thanked : 30
Engine : RMXP
Skill : Very Beginner
Type : Artist

Trophies
Awards:

Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-05-24, 15:50

wah aluxesnya cewe :D

btw bukan masalah dia nyebar2 apa enggak...
tapi kalo kita nyebarin karya orang tanpa sepengetahuan dan seijin si empunya kan gk enak juga :D
jadi mending minta ijin dulu untuk ngepost disini?
Kembali Ke Atas Go down
KID_VX
Senior
Senior
KID_VX


Level 5
Posts : 959
Thanked : 24
Engine : Multi-Engine User
Skill : Very Beginner
Type : Developer

Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-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 8)
Kembali Ke Atas Go down
http://new-animecomsite.blogspot.com/
nisamerica
Living Skeleton
nisamerica


Kosong
Posts : 1668
Thanked : 25
Engine : RMVX
Skill : Very Beginner
Type : Artist

Trophies
Awards:


Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-05-24, 17:49

Mungkin lebih baik kalo mo sharing kasih link langsung ke webnya dia aja, di sini cuma nampilin SS dan penjelasan :D

Boleh kan kalo gitu doang? :D
Kembali Ke Atas Go down
KID_VX
Senior
Senior
KID_VX


Level 5
Posts : 959
Thanked : 24
Engine : Multi-Engine User
Skill : Very Beginner
Type : Developer

Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty2011-05-24, 18:19

nisamerica wrote:
Mungkin lebih baik kalo mo sharing kasih link langsung ke webnya dia aja, di sini cuma nampilin SS dan penjelasan :D

Boleh kan kalo gitu doang? :D
nah kalo gitu gak ape ape :)
sebaiknya seperti itu saja :)

Enjoy 8)
Kembali Ke Atas Go down
http://new-animecomsite.blogspot.com/
Sponsored content





Custom Battle Result Script Empty
PostSubyek: Re: Custom Battle Result Script   Custom Battle Result Script Empty

Kembali Ke Atas Go down
 
Custom Battle Result Script
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» [ASK] Custom Script
» [SOLVED] Custom Battle System
» (request) Custom Default Battle system
» [cara pakai]Custom Battle Actions
» [ASK][SOLVED]Custom menu script help

Permissions in this forum:Anda tidak dapat menjawab topik
RPGMakerID :: Engines :: RMXP-
Navigasi: