Project1

标题: 怎么让人物属性超过999? [打印本页]

作者: 1072319136    时间: 2013-3-23 11:07
标题: 怎么让人物属性超过999?
本人新手,请大师赐教。
作者: 美丽晨露    时间: 2013-3-23 12:06
在Game_Actor,Game_Battler 1
修改相关的数值
或者直接使用破限脚本

作者: 紫英晓狼1130    时间: 2013-3-23 12:40
人物属性突破上限脚本可以解决你的问题~
作者: gg041760    时间: 2013-3-23 12:48
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #等级可无限提升
  5. #パラメータの算出が適当すぎるので、各自修正が必要かと。

  6.   BASE_FINAL_LEVEL = 200   #上限レベル(あんまり大きな値を設定するとハングします)
  7.   MAXHP_LIMIT = 30000    #HP限界値
  8.   MAXSP_LIMIT = 30000    #SP限界値
  9.   STR_LIMIT   = 999    #STR限界値
  10.   DEX_LIMIT   = 999      #DEX限界値
  11.   AGI_LIMIT   = 999      #AGI限界値
  12.   INT_LIMIT   = 999      #INT限界値

  13. class Game_Actor < Game_Battler
  14.   def new_final_level
  15.     lv = BASE_FINAL_LEVEL
  16.     #以下上限LV個別指定用
  17.     #case self.id
  18.     #when 1
  19.     #  lv = 255
  20.     #when 2
  21.     #  lv = 999
  22.     #when 8
  23.     #  lv = 15600
  24.     #end
  25.     return lv
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● EXP 計算
  29.   #--------------------------------------------------------------------------
  30.   def make_exp_list
  31.     actor = $data_actors[@actor_id]
  32.     @exp_list = Array.new(new_final_level + 2)
  33.     @exp_list[1] = 0
  34.     pow_i = 2.4 + actor.exp_inflation / 100.0
  35.     for i in 2..new_final_level + 1
  36.       if i > new_final_level
  37.         @exp_list[i] = 0
  38.       else
  39.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  40.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  41.       end
  42.     end
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● MaxHP の取得
  46.   #--------------------------------------------------------------------------
  47.   def maxhp
  48.     n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  49.     for i in @states
  50.       n *= $data_states[i].maxhp_rate / 100.0
  51.     end
  52.     n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  53.     return n
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 基本 MaxHP の取得
  57.   #--------------------------------------------------------------------------
  58.   def base_maxhp
  59.     n = $data_actors[@actor_id].parameters[0, 1]
  60.     n += $data_actors[@actor_id].parameters[0, 2] * @level
  61.     return n
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 基本 MaxSP の取得
  65.   #--------------------------------------------------------------------------
  66.   def base_maxsp
  67.     n = $data_actors[@actor_id].parameters[1, 1]
  68.     n += $data_actors[@actor_id].parameters[1, 2] * @level
  69.     return n
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 基本腕力の取得
  73.   #--------------------------------------------------------------------------
  74.   def base_str
  75.     n = $data_actors[@actor_id].parameters[2, 1]
  76.     n += $data_actors[@actor_id].parameters[2, 2] * @level
  77.     weapon = $data_weapons[@weapon_id]
  78.     armor1 = $data_armors[@armor1_id]
  79.     armor2 = $data_armors[@armor2_id]
  80.     armor3 = $data_armors[@armor3_id]
  81.     armor4 = $data_armors[@armor4_id]
  82.     n += weapon != nil ? weapon.str_plus : 0
  83.     n += armor1 != nil ? armor1.str_plus : 0
  84.     n += armor2 != nil ? armor2.str_plus : 0
  85.     n += armor3 != nil ? armor3.str_plus : 0
  86.     n += armor4 != nil ? armor4.str_plus : 0
  87.     return [[n, 1].max, STR_LIMIT].min
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 基本器用さの取得
  91.   #--------------------------------------------------------------------------
  92.   def base_dex
  93.     n = $data_actors[@actor_id].parameters[3, 1]
  94.     n += $data_actors[@actor_id].parameters[3, 2] * @level
  95.     weapon = $data_weapons[@weapon_id]
  96.     armor1 = $data_armors[@armor1_id]
  97.     armor2 = $data_armors[@armor2_id]
  98.     armor3 = $data_armors[@armor3_id]
  99.     armor4 = $data_armors[@armor4_id]
  100.     n += weapon != nil ? weapon.dex_plus : 0
  101.     n += armor1 != nil ? armor1.dex_plus : 0
  102.     n += armor2 != nil ? armor2.dex_plus : 0
  103.     n += armor3 != nil ? armor3.dex_plus : 0
  104.     n += armor4 != nil ? armor4.dex_plus : 0
  105.     return [[n, 1].max, DEX_LIMIT].min
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 基本素早さの取得
  109.   #--------------------------------------------------------------------------
  110.   def base_agi
  111.     n = $data_actors[@actor_id].parameters[4, 1]
  112.     n += $data_actors[@actor_id].parameters[4, 2] * @level
  113.     weapon = $data_weapons[@weapon_id]
  114.     armor1 = $data_armors[@armor1_id]
  115.     armor2 = $data_armors[@armor2_id]
  116.     armor3 = $data_armors[@armor3_id]
  117.     armor4 = $data_armors[@armor4_id]
  118.     n += weapon != nil ? weapon.agi_plus : 0
  119.     n += armor1 != nil ? armor1.agi_plus : 0
  120.     n += armor2 != nil ? armor2.agi_plus : 0
  121.     n += armor3 != nil ? armor3.agi_plus : 0
  122.     n += armor4 != nil ? armor4.agi_plus : 0
  123.     return [[n, 1].max, AGI_LIMIT].min
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 基本魔力の取得
  127.   #--------------------------------------------------------------------------
  128.   def base_int
  129.     n = $data_actors[@actor_id].parameters[5, 1]
  130.     n += $data_actors[@actor_id].parameters[5, 2] * @level
  131.     weapon = $data_weapons[@weapon_id]
  132.     armor1 = $data_armors[@armor1_id]
  133.     armor2 = $data_armors[@armor2_id]
  134.     armor3 = $data_armors[@armor3_id]
  135.     armor4 = $data_armors[@armor4_id]
  136.     n += weapon != nil ? weapon.int_plus : 0
  137.     n += armor1 != nil ? armor1.int_plus : 0
  138.     n += armor2 != nil ? armor2.int_plus : 0
  139.     n += armor3 != nil ? armor3.int_plus : 0
  140.     n += armor4 != nil ? armor4.int_plus : 0
  141.     return [[n, 1].max, INT_LIMIT].min
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● レベルの変更
  145.   #     level : 新しいレベル
  146.   #--------------------------------------------------------------------------
  147.   def level=(level)
  148.     # 上下限チェック
  149.     # ★LV上限をnew_final_levelでチェックするように変更
  150.     level = [[level, new_final_level].min, 1].max
  151.     # EXP を変更
  152.     self.exp = @exp_list[level]
  153.   end
  154. end
  155.   
  156.   
  157. class Game_Battler
  158.   #--------------------------------------------------------------------------
  159.   # ● MaxSP の取得
  160.   #--------------------------------------------------------------------------
  161.   def maxsp
  162.     n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  163.     for i in @states
  164.       n *= $data_states[i].maxsp_rate / 100.0
  165.     end
  166.     n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  167.     return n
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 腕力の取得
  171.   #--------------------------------------------------------------------------
  172.   def str
  173.     n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  174.     for i in @states
  175.       n *= $data_states[i].str_rate / 100.0
  176.     end
  177.     n = [[Integer(n), 1].max, STR_LIMIT].min
  178.     return n
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ● 器用さの取得
  182.   #--------------------------------------------------------------------------
  183.   def dex
  184.     n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  185.     for i in @states
  186.       n *= $data_states[i].dex_rate / 100.0
  187.     end
  188.     n = [[Integer(n), 1].max, DEX_LIMIT].min
  189.     return n
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 素早さの取得
  193.   #--------------------------------------------------------------------------
  194.   def agi
  195.     n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  196.     for i in @states
  197.       n *= $data_states[i].agi_rate / 100.0
  198.     end
  199.     n = [[Integer(n), 1].max, AGI_LIMIT].min
  200.     return n
  201.   end
  202.   #--------------------------------------------------------------------------
  203.   # ● 魔力の取得
  204.   #--------------------------------------------------------------------------
  205.   def int
  206.     n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  207.     for i in @states
  208.       n *= $data_states[i].int_rate / 100.0
  209.     end
  210.     n = [[Integer(n), 1].max, INT_LIMIT].min
  211.     return n
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● MaxHP の設定
  215.   #     maxhp : 新しい MaxHP
  216.   #--------------------------------------------------------------------------
  217.   def maxhp=(maxhp)
  218.     @maxhp_plus += maxhp - self.maxhp
  219.     @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  220.     @hp = [@hp, self.maxhp].min
  221.   end
  222.   #--------------------------------------------------------------------------
  223.   # ● MaxSP の設定
  224.   #     maxsp : 新しい MaxSP
  225.   #--------------------------------------------------------------------------
  226.   def maxsp=(maxsp)
  227.     @maxsp_plus += maxsp - self.maxsp
  228.     @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  229.     @sp = [@sp, self.maxsp].min
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 腕力の設定
  233.   #     str : 新しい腕力
  234.   #--------------------------------------------------------------------------
  235.   def str=(str)
  236.     @str_plus += str - self.str
  237.     @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
  238.   end
  239.   #--------------------------------------------------------------------------
  240.   # ● 器用さの設定
  241.   #     dex : 新しい器用さ
  242.   #--------------------------------------------------------------------------
  243.   def dex=(dex)
  244.     @dex_plus += dex - self.dex
  245.     @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 素早さの設定
  249.   #     agi : 新しい素早さ
  250.   #--------------------------------------------------------------------------
  251.   def agi=(agi)
  252.     @agi_plus += agi - self.agi
  253.     @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
  254.   end
  255.   #--------------------------------------------------------------------------
  256.   # ● 魔力の設定
  257.   #     int : 新しい魔力
  258.   #--------------------------------------------------------------------------
  259.   def int=(int)
  260.     @int_plus += int - self.int
  261.     @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
  262.   end
  263. end

  264. #==============================================================================
  265. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  266. #==============================================================================
复制代码

作者: 小和尚    时间: 2013-3-23 12:51
本帖最后由 小和尚 于 2013-3-23 12:56 编辑
  1. $data_actors        = load_data("Data/Actors.rxdata")        #——角色
  2. $data_classes       = load_data("Data/Classes.rxdata")       #——职业
  3. $data_skills        = load_data("Data/Skills.rxdata")        #——特技
  4. $data_items         = load_data("Data/Items.rxdata")         #——物品
  5. $data_weapons       = load_data("Data/Weapons.rxdata")       #——武器
  6. $data_armors        = load_data("Data/Armors.rxdata")        #——防具
  7. $data_enemies       = load_data("Data/Enemies.rxdata")       #——敌人
  8. $data_troops        = load_data("Data/Troops.rxdata")        #——队伍
  9. $data_states        = load_data("Data/States.rxdata")        #——状态
  10. $data_animations    = load_data("Data/Animations.rxdata")    #——动画
  11. $data_tilesets      = load_data("Data/Tilesets.rxdata")      #——图块
  12. $data_common_events = load_data("Data/CommonEvents.rxdata")  #——公共事件
  13. $data_system        = load_data("Data/System.rxdata")        #——状态

  14. for i in 1..1000   #——上限设置
  15. $data_actors[i] = RPG::Actor.new if $data_actors[i]==nil
  16. $data_classes[i] = RPG::Class.new if $data_classes[i]==nil
  17. $data_skills[i] = RPG::Skill.new if $data_skills[i]==nil
  18. $data_items[i] = RPG::Item.new if $data_items[i]==nil
  19. $data_weapons[i] = RPG::Weapon.new if $data_weapons[i]==nil
  20. $data_armors[i] = RPG::Armor.new if $data_armors[i]==nil
  21. $data_enemies[i] = RPG::Enemy.new if $data_enemies[i]==nil
  22. $data_troops[i] = RPG::Troop.new if $data_troops[i]==nil
  23. $data_states[i] = RPG::State.new if $data_states[i]==nil
  24. $data_animations[i] = RPG::Animation.new if $data_animations[i]==nil
  25. $data_tilesets[i] = RPG::Tileset.new if $data_tilesets[i]==nil
  26. $data_common_events[i] = RPG::CommonEvent.new if $data_common_events[i]==nil
  27. $data_system.elements[i] = "" if $data_system.elements[i]==nil
  28. end

  29. save_data($data_actors,"Data/Actors.rxdata")
  30. save_data($data_classes,"Data/Classes.rxdata")
  31. save_data($data_skills,"Data/Skills.rxdata")
  32. save_data($data_items,"Data/Items.rxdata")
  33. save_data($data_weapons,"Data/Weapons.rxdata")
  34. save_data($data_armors,"Data/Armors.rxdata")
  35. save_data($data_enemies,"Data/Enemies.rxdata")
  36. save_data($data_troops,"Data/Troops.rxdata")
  37. save_data($data_states,"Data/States.rxdata")
  38. save_data($data_animations,"Data/Animations.rxdata")
  39. save_data($data_tilesets,"Data/Tilesets.rxdata")
  40. save_data($data_common_events,"Data/CommonEvents.rxdata")
  41. save_data($data_system,"Data/System.rxdata")

  42. exit
复制代码
把这个脚本插入MIAN前然后运行游戏 之后关掉工程 再重启工程 并删除此脚本就可以了 这个脚本默认的上限为1200 如果想改就把上限设置那的数改一下就好了
作者: 1072319136    时间: 2013-3-23 13:41
小和尚 发表于 2013-3-23 12:51
把这个脚本插入MIAN前然后运行游戏 之后关掉工程 再重启工程 并删除此脚本就可以了 这个脚本默认的上限为12 ...

谢谢!!
作者: 1072319136    时间: 2013-3-23 13:44
小和尚 发表于 2013-3-23 12:51
把这个脚本插入MIAN前然后运行游戏 之后关掉工程 再重启工程 并删除此脚本就可以了 这个脚本默认的上限为12 ...

他说“脚本已经被备分”,这是什么情况?
作者: 1072319136    时间: 2013-3-23 13:55
gg041760 发表于 2013-3-23 12:48

这个全部角色属性都变了,能个别改变吗?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1