XP 스크립트

#LV限界突破
#
#最初に断っておきますと、このスクリプトを使うよりも
#自力で改造した方が、色々自由にできるしオススメです。
#なので、参考程度に見てもらえるといいかもしれません。
#(もちろん、これ単体でも動くように作っていますので
#そのまま使って頂いても構いません。)
#
#そのまま使う場合の注意点として、
#今までのスクリプトと違い、元からある処理をいくつか書き換えてます。
#併用とかする場合、なるべく上の方に貼り付ければなんとかなる、かもしれません。
#
#使い方
#まず、データベースのアクター設定でパラメータの設定をします。
#各パラメータは 初期値 + 基本値 * LV で算出されます。
#アクターのLV1の時のパラメータの値が初期値
#LV2の時の値が基本値です。
#仮にHPの初期値が1500、基本値が150としたいならば、
#データベースのアクターのパラメータ設定で
#LV1の時のHPが1500、LV2の時のHPが150となるように設定してください。
#
#パラメータの算出が適当すぎるので、各自修正が必要かと。

BASE_FINAL_LEVEL = 9999 #上限レベル(あんまり大きな値を設定するとハングします)
MAXHP_LIMIT = 99999999 #HP限界値
MAXSP_LIMIT = 99999999 #SP限界値
STR_LIMIT = 999999 #STR限界値
DEX_LIMIT = 999999 #DEX限界値
AGI_LIMIT = 999999 #AGI限界値
INT_LIMIT = 999999 #INT限界値

class Game_Actor < Game_Battler
def new_final_level
lv = BASE_FINAL_LEVEL
#以下上限LV個別指定用
#case self.id
#when 1
# lv = 255
#when 2
# lv = 999
#when 8
# lv = 15600
#end
return lv
end
#--------------------------------------------------------------------------
# ● EXP 計算
#--------------------------------------------------------------------------
def make_exp_list
actor = $data_actors[@actor_id]
@exp_list = Array.new(new_final_level + 2)
@exp_list[1] = 0
pow_i = 2.4 + actor.exp_inflation / 100.0
for i in 2..new_final_level + 1
if i > new_final_level
@exp_list[i] = 0
else
n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
@exp_list[i] = @exp_list[i-1] + Integer(n)
end
end
end
#--------------------------------------------------------------------------
# ● MaxHP の取得
#--------------------------------------------------------------------------
def maxhp
n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
for i in @states
n *= $data_states[i].maxhp_rate / 100.0
end
n = [[Integer(n), 1].max, MAXHP_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● 基本 MaxHP の取得
#--------------------------------------------------------------------------
def base_maxhp
n = $data_actors[@actor_id].parameters[0, 1]
n += $data_actors[@actor_id].parameters[0, 2] * @level
return n
end
#--------------------------------------------------------------------------
# ● 基本 MaxSP の取得
#--------------------------------------------------------------------------
def base_maxsp
n = $data_actors[@actor_id].parameters[1, 1]
n += $data_actors[@actor_id].parameters[1, 2] * @level
return n
end
#--------------------------------------------------------------------------
# ● 基本腕力の取得
#--------------------------------------------------------------------------
def base_str
n = $data_actors[@actor_id].parameters[2, 1]
n += $data_actors[@actor_id].parameters[2, 2] * @level
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.str_plus : 0
n += armor1 != nil ? armor1.str_plus : 0
n += armor2 != nil ? armor2.str_plus : 0
n += armor3 != nil ? armor3.str_plus : 0
n += armor4 != nil ? armor4.str_plus : 0
return [[n, 1].max, STR_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 基本器用さの取得
#--------------------------------------------------------------------------
def base_dex
n = $data_actors[@actor_id].parameters[3, 1]
n += $data_actors[@actor_id].parameters[3, 2] * @level
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.dex_plus : 0
n += armor1 != nil ? armor1.dex_plus : 0
n += armor2 != nil ? armor2.dex_plus : 0
n += armor3 != nil ? armor3.dex_plus : 0
n += armor4 != nil ? armor4.dex_plus : 0
return [[n, 1].max, DEX_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 基本素早さの取得
#--------------------------------------------------------------------------
def base_agi
n = $data_actors[@actor_id].parameters[4, 1]
n += $data_actors[@actor_id].parameters[4, 2] * @level
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.agi_plus : 0
n += armor1 != nil ? armor1.agi_plus : 0
n += armor2 != nil ? armor2.agi_plus : 0
n += armor3 != nil ? armor3.agi_plus : 0
n += armor4 != nil ? armor4.agi_plus : 0
return [[n, 1].max, AGI_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 基本魔力の取得
#--------------------------------------------------------------------------
def base_int
n = $data_actors[@actor_id].parameters[5, 1]
n += $data_actors[@actor_id].parameters[5, 2] * @level
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.int_plus : 0
n += armor1 != nil ? armor1.int_plus : 0
n += armor2 != nil ? armor2.int_plus : 0
n += armor3 != nil ? armor3.int_plus : 0
n += armor4 != nil ? armor4.int_plus : 0
return [[n, 1].max, INT_LIMIT].min
end
#--------------------------------------------------------------------------
# ● EXP の変更
# exp : 新しい EXP
#--------------------------------------------------------------------------
def exp=(exp)
# ★EXPの上限チェックを解除
@exp = [exp, 0].max
# レベルアップ
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
@level += 1
# スキル習得
for j in $data_classes[@class_id].learnings
if j.level == @level
learn_skill(j.skill_id)
end
end
end
# レベルダウン
while @exp < @exp_list[@level]
@level -= 1
end
# 現在の HP と SP が最大値を超えていたら修正
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● レベルの変更
# level : 新しいレベル
#--------------------------------------------------------------------------
def level=(level)
# 上下限チェック
# ★LV上限をnew_final_levelでチェックするように変更
level = [[level, new_final_level].min, 1].max
# EXP を変更
self.exp = @exp_list[level]
end
end


class Game_Battler
#--------------------------------------------------------------------------
# ● MaxSP の取得
#--------------------------------------------------------------------------
def maxsp
n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
for i in @states
n *= $data_states[i].maxsp_rate / 100.0
end
n = [[Integer(n), 0].max, MAXSP_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● 腕力の取得
#--------------------------------------------------------------------------
def str
n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
for i in @states
n *= $data_states[i].str_rate / 100.0
end
n = [[Integer(n), 1].max, STR_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● 器用さの取得
#--------------------------------------------------------------------------
def dex
n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
for i in @states
n *= $data_states[i].dex_rate / 100.0
end
n = [[Integer(n), 1].max, DEX_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● 素早さの取得
#--------------------------------------------------------------------------
def agi
n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
for i in @states
n *= $data_states[i].agi_rate / 100.0
end
n = [[Integer(n), 1].max, AGI_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● 魔力の取得
#--------------------------------------------------------------------------
def int
n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
for i in @states
n *= $data_states[i].int_rate / 100.0
end
n = [[Integer(n), 1].max, INT_LIMIT].min
return n
end
#--------------------------------------------------------------------------
# ● MaxHP の設定
# maxhp : 新しい MaxHP
#--------------------------------------------------------------------------
def maxhp=(maxhp)
@maxhp_plus += maxhp - self.maxhp
@maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
@hp = [@hp, self.maxhp].min
end
#--------------------------------------------------------------------------
# ● MaxSP の設定
# maxsp : 新しい MaxSP
#--------------------------------------------------------------------------
def maxsp=(maxsp)
@maxsp_plus += maxsp - self.maxsp
@maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● 腕力の設定
# str : 新しい腕力
#--------------------------------------------------------------------------
def str=(str)
@str_plus += str - self.str
@str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 器用さの設定
# dex : 新しい器用さ
#--------------------------------------------------------------------------
def dex=(dex)
@dex_plus += dex - self.dex
@dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 素早さの設定
# agi : 新しい素早さ
#--------------------------------------------------------------------------
def agi=(agi)
@agi_plus += agi - self.agi
@agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
end
#--------------------------------------------------------------------------
# ● 魔力の設定
# int : 新しい魔力
#--------------------------------------------------------------------------
def int=(int)
@int_plus += int - self.int
@int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
end
end

일단 스크립트 (f11버튼)을 눌러 Main 위에다가 이걸 붙여놓으시고요^^

그다음 액터의 설정으로 들어가 레벨 설정을 해두시면 되는것 같습니다^^

그럼~


출처 니오티 스크립트 자료실

Who's WMN

?
 
 

  W M  N  
                  자료공유

Comment '23'
  • ?
    WMN 2008.03.18 16:07

    ,

  • ?
    WMN 2008.03.18 16:08
    K
  • ?
    작은악마 2008.03.18 18:08
    이거 능력치도 9999까지있는건가; ㅎ ;;
    그런데 어느세월에 다업할까;;
  • ?
    WMN 2008.03.18 18:45

    .

  • ?
    작은악마 2008.03.19 18:45
    댓글도배 ㅎㄷㄷ;?? ㅋㅋ
  • profile
    NewSet 2008.03.28 21:16
    감사합니다..
  • profile
    RPG짱 2008.04.09 18:23

    안되는뎁쇼.....

  • ?
    WMN 2008.04.09 18:57
    잘만 되는뎁쇼?
  • ?
    Cherryl 2009.07.05 18:56
    저도 안되는데용 ...ㅠㅠ 9999로 안올라간다는....
  • ?
    노우! 2008.04.09 19:06
    잘되는데욤?
  • ?
    유니온 2008.04.13 10:13

    #LV한계 돌파
    #
    #최초로 끊어 두면, 이 스크립트를 사용하는 것보다도
    #자력으로 개조하는 것이, 여러가지 자유롭게 할 수 있고 추천입니다.
    #그래서, 참고 정도로 보일 수 있으면 좋을지도 모릅니다.
    #(물론, 이것 단체에서도 움직이도록(듯이) 만들고 있기 때문에
    #그대로 사용해 받아도 상관하지 않습니다.)
    #
    #그대로 사용하는 경우의 주의점으로서
    #지금까지의 스크립트와 달라, 원으로부터 있는 처리를 몇개인가 고쳐 쓰고 있습니다.
    #병용이라든지 하는 경우, 가능한 한 위에 붙이면 어떻게든 되는, 일지도 모릅니다.
    #
    #사용법
    #우선, 데이타베이스의 액터 설정으로 파라미터의 설정을 합니다.
    #각 파라미터는 초기치 + 기본치 * LV 로 산출됩니다.
    #액터의 LV1때의 파라미터의 값이 초기치
    #LV2때의 값이 기본치입니다.
    #만일 HP의 초기치가 1500, 기본치가 150으로 하고 싶다면,
    #데이타베이스의 액터의 파라미터 설정으로
    #LV1때의 HP가 1500, LV2때의 HP가 150이 되도록(듯이) 설정해 주세요.
    #
    #파라미터의 산출이 너무 적당하므로, 각자 수정이 필요한 것으로.

    BASE_FINAL_LEVEL = 9999 #상한 레벨(너무 큰 값을 설정하면 행 합니다)
    MAXHP_LIMIT = 99999999 #HP한계치
    MAXSP_LIMIT = 99999999 #SP한계치
    STR_LIMIT = 999999 #STR 한계치
    DEX_LIMIT = 999999 #DEX 한계치
    AGI_LIMIT = 999999 #AGI 한계치
    INT_LIMIT = 999999 #INT 한계치

    class Game_Actor < Game_Battler
    def new_final_level
    lv = BASE_FINAL_LEVEL
    #이하 상한 LV개별 지정용
    #case self.id
    #when 1
    # lv = 255
    #when 2
    # lv = 999
    #when 8
    # lv = 15600
    #end
    return lv
    end
    #--------------------------------------------------------------------------
    # ● EXP 계산
    #--------------------------------------------------------------------------
    def make_exp_list
    actor = $data_actors[@actor_id]
    @exp_list = Array.new(new_final_level + 2)
    @exp_list[1] = 0
    pow_i = 2.4 + actor.exp_inflation / 100.0
    for i in 2..new_final_level + 1
    if i > new_final_level
    @exp_list[i] = 0
    else
    n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
    @exp_list[i] = @exp_list[i-1] + Integer(n)
    end
    end
    end
    #--------------------------------------------------------------------------
    # ● MaxHP 의 취득
    #--------------------------------------------------------------------------
    def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
    for i in @states
    n *= $data_states[i].maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, MAXHP_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 기본 MaxHP 의 취득
    #--------------------------------------------------------------------------
    def base_maxhp
    n = $data_actors[@actor_id].parameters[0, 1]
    n += $data_actors[@actor_id].parameters[0, 2] * @level
    return n
    end
    #--------------------------------------------------------------------------
    # ● 기본 MaxSP 의 취득
    #--------------------------------------------------------------------------
    def base_maxsp
    n = $data_actors[@actor_id].parameters[1, 1]
    n += $data_actors[@actor_id].parameters[1, 2] * @level
    return n
    end
    #--------------------------------------------------------------------------
    # ● 기본 완력의 취득
    #--------------------------------------------------------------------------
    def base_str
    n = $data_actors[@actor_id].parameters[2, 1]
    n += $data_actors[@actor_id].parameters[2, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.str_plus : 0
    n += armor1 != nil ? armor1.str_plus : 0
    n += armor2 != nil ? armor2.str_plus : 0
    n += armor3 != nil ? armor3.str_plus : 0
    n += armor4 != nil ? armor4.str_plus : 0
    return [[n, 1].max, STR_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 기본 손재주가 있음의 취득
    #--------------------------------------------------------------------------
    def base_dex
    n = $data_actors[@actor_id].parameters[3, 1]
    n += $data_actors[@actor_id].parameters[3, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.dex_plus : 0
    n += armor1 != nil ? armor1.dex_plus : 0
    n += armor2 != nil ? armor2.dex_plus : 0
    n += armor3 != nil ? armor3.dex_plus : 0
    n += armor4 != nil ? armor4.dex_plus : 0
    return [[n, 1].max, DEX_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 기본 민첩함의 취득
    #--------------------------------------------------------------------------
    def base_agi
    n = $data_actors[@actor_id].parameters[4, 1]
    n += $data_actors[@actor_id].parameters[4, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.agi_plus : 0
    n += armor1 != nil ? armor1.agi_plus : 0
    n += armor2 != nil ? armor2.agi_plus : 0
    n += armor3 != nil ? armor3.agi_plus : 0
    n += armor4 != nil ? armor4.agi_plus : 0
    return [[n, 1].max, AGI_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 기본 마력의 취득
    #--------------------------------------------------------------------------
    def base_int
    n = $data_actors[@actor_id].parameters[5, 1]
    n += $data_actors[@actor_id].parameters[5, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.int_plus : 0
    n += armor1 != nil ? armor1.int_plus : 0
    n += armor2 != nil ? armor2.int_plus : 0
    n += armor3 != nil ? armor3.int_plus : 0
    n += armor4 != nil ? armor4.int_plus : 0
    return [[n, 1].max, INT_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● EXP 의 변경
    # exp : 새로운 EXP
    #--------------------------------------------------------------------------
    def exp=(exp)
    # ★EXP의 상한 체크를 해제
    @exp = [exp, 0].max
    # 레벨업
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
    @level += 1
    # 스킬 습득
    for j in $data_classes[@class_id].learnings
    if j.level == @level
    learn_skill(j.skill_id)
    end
    end
    end
    # 레벨 다운
    while @exp < @exp_list[@level]
    @level -= 1
    end
    # 현재의 HP 와 SP 가 최대치를 넘고 있으면 수정
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
    end
    #--------------------------------------------------------------------------
    # ● 레벨의 변경
    # level : 새로운 레벨
    #--------------------------------------------------------------------------
    def level=(level)
    # 상하한체크
    # ★LV상한을 new_final_level로 체크하도록(듯이) 변경
    level = [[level, new_final_level].min, 1].max
    # EXP 를 변경
    self.exp = @exp_list[level]
    end
    end


    class Game_Battler
    #--------------------------------------------------------------------------
    # ● MaxSP 의 취득
    #--------------------------------------------------------------------------
    def maxsp
    n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
    for i in @states
    n *= $data_states[i].maxsp_rate / 100.0
    end
    n = [[Integer(n), 0].max, MAXSP_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 완력의 취득
    #--------------------------------------------------------------------------
    def str
    n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
    for i in @states
    n *= $data_states[i].str_rate / 100.0
    end
    n = [[Integer(n), 1].max, STR_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 손재주가 있음의 취득
    #--------------------------------------------------------------------------
    def dex
    n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
    for i in @states
    n *= $data_states[i].dex_rate / 100.0
    end
    n = [[Integer(n), 1].max, DEX_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 민첩함의 취득
    #--------------------------------------------------------------------------
    def agi
    n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
    for i in @states
    n *= $data_states[i].agi_rate / 100.0
    end
    n = [[Integer(n), 1].max, AGI_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 마력의 취득
    #--------------------------------------------------------------------------
    def int
    n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
    for i in @states
    n *= $data_states[i].int_rate / 100.0
    end
    n = [[Integer(n), 1].max, INT_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● MaxHP 의 설정
    # maxhp : 새로운 MaxHP
    #--------------------------------------------------------------------------
    def maxhp=(maxhp)
    @maxhp_plus += maxhp - self.maxhp
    @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
    @hp = [@hp, self.maxhp].min
    end
    #--------------------------------------------------------------------------
    # ● MaxSP 의 설정
    # maxsp : 새로운 MaxSP
    #--------------------------------------------------------------------------
    def maxsp=(maxsp)
    @maxsp_plus += maxsp - self.maxsp
    @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
    @sp = [@sp, self.maxsp].min
    end
    #--------------------------------------------------------------------------
    # ● 완력의 설정
    # str : 새로운 완력
    #--------------------------------------------------------------------------
    def str=(str)
    @str_plus += str - self.str
    @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 손재주가 있음의 설정
    # dex : 새로운 손재주가 있음
    #--------------------------------------------------------------------------
    def dex=(dex)
    @dex_plus += dex - self.dex
    @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 민첩함의 설정
    # agi : 새로운 민첩함
    #--------------------------------------------------------------------------
    def agi=(agi)
    @agi_plus += agi - self.agi
    @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 마력의 설정
    # int : 새로운 마력
    #--------------------------------------------------------------------------
    def int=(int)
    @int_plus += int - self.int
    @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
    end
    end

     

  • ?
    그릴레옹 2008.10.11 11:01
    번역ㄳ
  • ?
    꼬마법사♬ 2008.04.13 23:49
    레벨이좀짱인듯  = ㅅ= ;;;
  • ?
    개구리 2008.07.24 07:18
    유니옷?? 이님꺼 그래로 붙여 넣으면 되나요??
  • ?
    ㅡㅅㅡ 2008.08.25 16:10
    네.
    붙여넣으시면 사용이 가능합니다.
  • ?
    ese1315 2008.09.23 15:55
    왜 않되는거지...
  • ?
    Iceboy 2008.11.04 21:59
    사용방법을 알려드리겠습니다.
    이 스크립트를 적용시키고 f9에서 최고 레벨을 9999로 설정하면?
    99까지밖에 안된다고 하죠. 사실 스크립트는 플레이어에 영향을 주는 것이지 게임 설정에는 별 영향이 없습니다.(뭔솔인지..)
    그럼 어떻게 하면 적용이 될까요?
    이 스크립트를 적용하고 이벤트 하나를 만듭니다.
    내용은
    ◆레벨의 증감 : 파티 전체, +98

    입니다.
    왜 +99는 안되냐면 99을 올리면 100이 되기 때문입니다.
    그리고 테스트 플레이를 눌러보면. 이벤트에게서 98을 업 해서 99가 되었습니다.
    한번 더해보세요.
    99를 초과할 것입니다.

    부가정보 한가지!!!
    레벨이 9999까지 되있는데 최대레벨을 더 올리는 방법!
    제가 고치라고 하는곳을 고치시면 됩니다.

    #LV限界突破
    #
    #最初に断っておきますと、このスクリプトを使うよりも
    #自力で改造した方が、色々自由にできるしオススメです。
    #なので、参考程度に見てもらえるといいかもしれません。
    #(もちろん、これ単体でも動くように作っていますので
    #そのまま使って頂いても構いません。)
    #
    #そのまま使う場合の注意点として、
    #今までのスクリプトと違い、元からある処理をいくつか書き換えてます。
    #併用とかする場合、なるべく上の方に貼り付ければなんとかなる、かもしれません。
    #
    #使い方
    #まず、データベースのアクター設定でパラメータの設定をします。
    #各パラメータは 初期値 + 基本値 * LV で算出されます。
    #アクターのLV1の時のパラメータの値が初期値
    #LV2の時の値が基本値です。
    #仮にHPの初期値が1500、基本値が150としたいならば、
    #データベースのアクターのパラメータ設定で
    #LV1の時のHPが1500、LV2の時のHPが150となるように設定してください。
    #
    #パラメータの算出が適当すぎるので、各自修正が必要かと。

    BASE_FINAL_LEVEL = 9999 #上限レベル(あんまり大きな値を設定するとハングします)
    MAXHP_LIMIT = 99999999 #HP限界値
    MAXSP_LIMIT = 99999999 #SP限界値
    STR_LIMIT = 999999 #STR限界値
    DEX_LIMIT = 999999 #DEX限界値
    AGI_LIMIT = 999999 #AGI限界値
    INT_LIMIT = 999999 #INT限界値

    class Game_Actor < Game_Battler
    def new_final_level
    lv = BASE_FINAL_LEVEL
    #以下上限LV個別指定用
    #case self.id
    #when 1
    # lv = 255
    #when 2
    # lv = 999
    #when 8
    # lv = 15600
    #end
    return lv
    end
    #--------------------------------------------------------------------------
    # ● EXP 計算
    #--------------------------------------------------------------------------
    def make_exp_list
    actor = $data_actors[@actor_id]
    @exp_list = Array.new(new_final_level + 2)
    @exp_list[1] = 0
    pow_i = 2.4 + actor.exp_inflation / 100.0
    for i in 2..new_final_level + 1
    if i > new_final_level
    @exp_list[i] = 0
    else
    n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
    @exp_list[i] = @exp_list[i-1] + Integer(n)
    end
    end
    end
    #--------------------------------------------------------------------------
    # ● MaxHP の取得
    #--------------------------------------------------------------------------
    def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
    for i in @states
    n *= $data_states[i].maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, MAXHP_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 基本 MaxHP の取得
    #--------------------------------------------------------------------------
    def base_maxhp
    n = $data_actors[@actor_id].parameters[0, 1]
    n += $data_actors[@actor_id].parameters[0, 2] * @level
    return n
    end
    #--------------------------------------------------------------------------
    # ● 基本 MaxSP の取得
    #--------------------------------------------------------------------------
    def base_maxsp
    n = $data_actors[@actor_id].parameters[1, 1]
    n += $data_actors[@actor_id].parameters[1, 2] * @level
    return n
    end
    #--------------------------------------------------------------------------
    # ● 基本腕力の取得
    #--------------------------------------------------------------------------
    def base_str
    n = $data_actors[@actor_id].parameters[2, 1]
    n += $data_actors[@actor_id].parameters[2, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.str_plus : 0
    n += armor1 != nil ? armor1.str_plus : 0
    n += armor2 != nil ? armor2.str_plus : 0
    n += armor3 != nil ? armor3.str_plus : 0
    n += armor4 != nil ? armor4.str_plus : 0
    return [[n, 1].max, STR_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 基本器用さの取得
    #--------------------------------------------------------------------------
    def base_dex
    n = $data_actors[@actor_id].parameters[3, 1]
    n += $data_actors[@actor_id].parameters[3, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.dex_plus : 0
    n += armor1 != nil ? armor1.dex_plus : 0
    n += armor2 != nil ? armor2.dex_plus : 0
    n += armor3 != nil ? armor3.dex_plus : 0
    n += armor4 != nil ? armor4.dex_plus : 0
    return [[n, 1].max, DEX_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 基本素早さの取得
    #--------------------------------------------------------------------------
    def base_agi
    n = $data_actors[@actor_id].parameters[4, 1]
    n += $data_actors[@actor_id].parameters[4, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.agi_plus : 0
    n += armor1 != nil ? armor1.agi_plus : 0
    n += armor2 != nil ? armor2.agi_plus : 0
    n += armor3 != nil ? armor3.agi_plus : 0
    n += armor4 != nil ? armor4.agi_plus : 0
    return [[n, 1].max, AGI_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 基本魔力の取得
    #--------------------------------------------------------------------------
    def base_int
    n = $data_actors[@actor_id].parameters[5, 1]
    n += $data_actors[@actor_id].parameters[5, 2] * @level
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.int_plus : 0
    n += armor1 != nil ? armor1.int_plus : 0
    n += armor2 != nil ? armor2.int_plus : 0
    n += armor3 != nil ? armor3.int_plus : 0
    n += armor4 != nil ? armor4.int_plus : 0
    return [[n, 1].max, INT_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● EXP の変更
    # exp : 新しい EXP
    #--------------------------------------------------------------------------
    def exp=(exp)
    # ★EXPの上限チェックを解除
    @exp = [exp, 0].max
    # レベルアップ
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
    @level += 1
    # スキル習得
    for j in $data_classes[@class_id].learnings
    if j.level == @level
    learn_skill(j.skill_id)
    end
    end
    end
    # レベルダウン
    while @exp < @exp_list[@level]
    @level -= 1
    end
    # 現在の HP と SP が最大値を超えていたら修正
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
    end
    #--------------------------------------------------------------------------
    # ● レベルの変更
    # level : 新しいレベル
    #--------------------------------------------------------------------------
    def level=(level)
    # 上下限チェック
    # ★LV上限をnew_final_levelでチェックするように変更
    level = [[level, new_final_level].min, 1].max
    # EXP を変更
    self.exp = @exp_list[level]
    end
    end


    class Game_Battler
    #--------------------------------------------------------------------------
    # ● MaxSP の取得
    #--------------------------------------------------------------------------
    def maxsp
    n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
    for i in @states
    n *= $data_states[i].maxsp_rate / 100.0
    end
    n = [[Integer(n), 0].max, MAXSP_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 腕力の取得
    #--------------------------------------------------------------------------
    def str
    n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
    for i in @states
    n *= $data_states[i].str_rate / 100.0
    end
    n = [[Integer(n), 1].max, STR_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 器用さの取得
    #--------------------------------------------------------------------------
    def dex
    n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
    for i in @states
    n *= $data_states[i].dex_rate / 100.0
    end
    n = [[Integer(n), 1].max, DEX_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 素早さの取得
    #--------------------------------------------------------------------------
    def agi
    n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
    for i in @states
    n *= $data_states[i].agi_rate / 100.0
    end
    n = [[Integer(n), 1].max, AGI_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● 魔力の取得
    #--------------------------------------------------------------------------
    def int
    n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
    for i in @states
    n *= $data_states[i].int_rate / 100.0
    end
    n = [[Integer(n), 1].max, INT_LIMIT].min
    return n
    end
    #--------------------------------------------------------------------------
    # ● MaxHP の設定
    # maxhp : 新しい MaxHP
    #--------------------------------------------------------------------------
    def maxhp=(maxhp)
    @maxhp_plus += maxhp - self.maxhp
    @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
    @hp = [@hp, self.maxhp].min
    end
    #--------------------------------------------------------------------------
    # ● MaxSP の設定
    # maxsp : 新しい MaxSP
    #--------------------------------------------------------------------------
    def maxsp=(maxsp)
    @maxsp_plus += maxsp - self.maxsp
    @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
    @sp = [@sp, self.maxsp].min
    end
    #--------------------------------------------------------------------------
    # ● 腕力の設定
    # str : 新しい腕力
    #--------------------------------------------------------------------------
    def str=(str)
    @str_plus += str - self.str
    @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 器用さの設定
    # dex : 新しい器用さ
    #--------------------------------------------------------------------------
    def dex=(dex)
    @dex_plus += dex - self.dex
    @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 素早さの設定
    # agi : 新しい素早さ
    #--------------------------------------------------------------------------
    def agi=(agi)
    @agi_plus += agi - self.agi
    @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
    end
    #--------------------------------------------------------------------------
    # ● 魔力の設定
    # int : 新しい魔力
    #--------------------------------------------------------------------------
    def int=(int)
    @int_plus += int - self.int
    @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
    end
    end

    BASE_FINAL_LEVEL = 9999 #上限レベル(あんまり大きな値を設定するとハングします)

    위 부분의 9999를 고치세요.(글씨체가..)
  • ?
    크라상 2009.01.14 18:55
    VX엔 안먹히네
    OTL
  • ?
    섭현김 2009.01.30 12:03
    너무 잘돼네요 경치를 9999999주기를 했더니 레벨이 빛의 속도로 올라가네
  • ?
    면상포맷해 2009.02.07 19:56
    레벨이 99밖에 없어서 아쉬웠는데 정말 감사요^^
  • ?
    rpg형석 2009.02.16 13:09
    어떻게함???
  • profile
    9서클메이지 2009.07.16 21:24

    흠... 능력치 조절이 조금 힘들지만 그래도 쓸만하군요!

     

  • ?
    타락영혼 2010.01.28 13:50

    흐어어 난 데이터 베이스에서 수정가능한게 필요한.. ㅠㅠ

     


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6313
981 저장 자동 세이브 스크립트 4 WMN 2008.03.17 1471
980 타이틀/게임오버 죽었을떄 마을로이동하기&생명초 사용하기 9 WMN 2008.03.17 2098
979 펫시스탬 예제 첨부 11 WMN 2008.03.17 2065
978 창꼬 스크립트! 금고 입니당 ^^ 8 WMN 2008.03.17 1595
977 메뉴 온라인메뉴처럼!! 메이플 메뉴처럼!! 변신~스크립트 33 WMN 2008.03.17 6827
976 메세지 분풀해 표시 스크립트 9 WMN 2008.03.17 2711
975 이동 및 탈것 이동루트에 관해서... 2 WMN 2008.03.17 1487
974 [수정]스토리스크랩트 {예제 첨부} 10 file WMN 2008.03.17 2230
973 [스크립트 모음집] 5 file WMN 2008.03.17 3268
» 레벨 9999 스크립트 23 WMN 2008.03.17 2219
971 점프 대쉬 스크립트 11 WMN 2008.03.17 2345
970 저상 슬롯 15개 스크립트 9 WMN 2008.03.18 1498
969 파티 Party Changer 4.0 by Dargor (SDK2.3 호환) 3 WMN 2008.04.06 1576
968 Seph's Test Bed 0.4 (SDK2 호환, Method & Class Library 2 WMN 2008.04.06 1330
967 메뉴 메뉴에서 커맨더실행하기 5 WMN 2008.04.06 1683
966 장비 Multi Equip 3.1.4 by Trickster (SDK2 호환, Method & Class Li… 4 file WMN 2008.04.06 1599
965 ABM(액알)+Jindow(진도우) 3 WMN 2008.04.06 5118
964 윈도우_게이지 (HP, SP, 경험치<소수점포함>… 12 WMN 2008.04.06 4860
963 스크립트 호출 명령어 통합버전 / Version 2.21 / 8 WMN 2008.04.06 1544
962 타크티카르바트르시스템 17 WMN 2008.04.06 3096
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52