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 6159
661 이동 및 탈것 Super Simple Vehicle System Enhanced 8.0 by DerVVulfman 1 Alkaid 2010.12.12 1956
660 변수/스위치 Switchless Common Events by PK8(XP/VX/VXA) Alkaid 2012.09.15 1199
659 메뉴 Tales Of Symphonia Menu 8 file 백호 2009.02.21 1744
658 기타 Tax Script 1.2 by The Darklord@rmxp.org 2 file 백호 2009.02.22 1130
657 메시지 Taylor's Simple Message System 2000 Alkaid 2020.07.05 242
656 기타 Terrain Encounter Areas by SephirothSpawn 백호 2009.02.22 778
655 기타 Tetris Attack by trickster 1 file 백호 2009.02.22 986
654 기타 Text Scroll by Dubealex (Release 3) 2 file 백호 2009.02.22 939
653 기타 Text to RGSS by DerVVulfman Alkaid 2011.04.18 1319
652 영상 The AVI Player 1.3 by DerVVulfman 3 Alkaid 2010.10.08 1707
651 기타 The General Monster Generator 1.1 by DerVVulfman 1 file Alkaid 2011.03.02 1496
650 전투 The Lycan ABS by DerVVulfman Alkaid 2013.07.22 1895
649 변수/스위치 The Self Data Suite by PK8 (XP/VX/VXA) Alkaid 2012.09.14 1232
648 기타 Trailing Characters ver.1 by SephirothSpawn 6 file 백호 2009.02.22 1551
647 그래픽 Transition Pack 1.11 by Fantasist Alkaid 2011.01.22 2043
646 스킬 Trickster's Bag of Skill Effects file 백호 2009.02.22 1077
645 스킬 Trickster's Bag of Skill Effects (SDK 필요) Alkaid 2012.09.17 1289
644 이동 및 탈것 Trickster's Caterpillar System 0.99 3 Alkaid 2010.12.23 1590
643 메뉴 Trickster's Plug 'n' Play Gradient Bar 2.0 1 file 백호 2009.02.22 2051
642 전투 Trickster씨의 전투 시스템 (SDK 필수?) Alkaid 2012.09.18 3257
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 52 Next
/ 52