XP 스크립트

http://www.dubealex.com/asylum/index.php?showtopic=6512
  이 스크립트에서 전투후 주어지는 경험치는 (적 파티 경험치)/(파티의 캐릭터 수)입니다.  즉, 경험치가 20인 몬스터를 2명이서 잡으면 한 사람당 돌아오는 경험치는 10이 됩니다.


#=============================================================
# • After Battle Changes
#------------------------------------------------------------------------------
# Slipknot
# 1.1
# 15/02/06
#------------------------------------------------------------------------------
=begin
  Version 1.1
  - Fixed experience split.
  - In the result window, now appear the total experience.
=end
#=============================================================

module Battle_End_Options
  #--------------------------------------------------------------------------
  # • Split experience received?
  #--------------------------------------------------------------------------
  Split_Exp = false
  #--------------------------------------------------------------------------
  # • Full recover when actor increase level?
  #--------------------------------------------------------------------------
  Level_Up_Recover = true
  #--------------------------------------------------------------------------
  # • Phase 5 wait time
  #--------------------------------------------------------------------------
  End_Frames = 70
  #--------------------------------------------------------------------------
end

#------------------------------------------------------------------------------
# Begin Scene_Battle Edit
#------------------------------------------------------------------------------
class Scene_Battle
  #--------------------------------------------------------------------------
  include Battle_End_Options
  #--------------------------------------------------------------------------
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = gold = old_exp = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        exp += enemy.exp
        gold += enemy.gold
        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
    treasures = treasures[0..5]
    psize = $game_party.actors.size-1
    old_exp = exp
    if Split_Exp
      can_get = 0
      0.upto(psize) do |x|
        actor = $game_party.actors[x]
        next if actor.cant_get_exp?
        can_get += 1
      end
      exp = (old_exp / can_get).ceil if can_get > 0
    end
    for i in 0..psize
      actor = $game_party.actors[i]
      unless actor.cant_get_exp?
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
          @status_window.level_up(i)
          if Level_Up_Recover
            actor.hp = actor.maxhp
            actor.sp = actor.maxsp
          end
        end
      end
    end
    $game_party.gain_gold(gold)
    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
    @result_window = Window_BattleResult.new(old_exp, gold, treasures)
    @phase5_wait_count = End_Frames
  end
end
#------------------------------------------------------------------------------
# End Scene_Battle Edit
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# Begin Game_Actor Edit
#------------------------------------------------------------------------------
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  def final_level?
    return @level >= $data_actors[@actor_id].final_level
  end
  #--------------------------------------------------------------------------
  def cant_get_exp?
    return true if final_level?
    super
  end
end
#------------------------------------------------------------------------------
# End Game_Actor Edit
#------------------------------------------------------------------------------

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '15'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
141 기타 밤/낮 변화 시스템 스크립트 4 file 백호 2009.02.21 1770
140 전투 전투 결과 화면 개조 스크립트 10 file 백호 2009.02.21 2497
139 전투 전투 카메라 스크립트 5 file 백호 2009.02.21 2455
138 타이틀/게임오버 타이틀 화면전 로고를 띄우는 스크립트 9 백호 2009.02.21 2728
137 타이틀/게임오버 타이틀 화면에 옵션을 추가하는 스크립트 2 file 백호 2009.02.21 2092
136 기타 분류 별로 윈도우 스킨 다르게 사용하기 file 백호 2009.02.21 1015
135 HUD 적의 남은 HP만큼 적의 이름 색깔 변하는 스크립트 6 file 백호 2009.02.21 2337
134 HUD HP/SP 상태를 표시해주는 간이 윈도우 3 file 백호 2009.02.21 3068
133 화면에 축소된 맵을 표시하는 스크립트 7 file 백호 2009.02.21 2394
132 아이템 아이템,돈 보관창고 스크립트 4 file 백호 2009.02.21 1770
131 메뉴 메뉴 화면 개조 스크립트 1 백호 2009.02.21 1668
130 장비 장비 화면 개조 스크립트 1 file 백호 2009.02.21 1824
129 메뉴 플레이 시간 윈도우 개조 file 백호 2009.02.21 1330
128 아이템 아이템 종류별로 분류시키는 스크립트 3 file 백호 2009.02.21 1259
127 HUD 게임 플레이시 맵의 이름을 표시하는 스크립트 1 file 백호 2009.02.21 1935
126 이동 및 탈것 8방향 이동 & 대쉬 스크립트 5 백호 2009.02.21 1703
125 상점 상점 메뉴 개조시킨 스크립트 9 file 백호 2009.02.21 2322
124 기타 거울에 캐릭터의 모습을 반사하는 효과 5 file 백호 2009.02.21 1472
123 영상 XP에서 AVI파일을 지원가능하게 하는 스크립트 2 백호 2009.02.21 1189
122 전투 버틀러 색조 변경 5 file 백호 2009.02.21 1552
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Next
/ 52