Project1

标题: 关于分段等级上限脚本/与加点脚本的问题 [打印本页]

作者: fjjghj1    时间: 2015-9-12 19:29
标题: 关于分段等级上限脚本/与加点脚本的问题
本帖最后由 fjjghj1 于 2015-9-12 20:30 编辑

用了以下的脚本,发现角色到达120级后 确实经验变成了----------,可是 一旦用事件增加角色经验以及打怪,还是会继续提升等级呢(用事件的等级提升是正常的,不会提升等级)。 请问该如何修改成用事件增加经验以及战斗获得的经验(在角色到达一阶段/二阶段/三阶段的等级上限后不会获得或着为0呢?就是不管获得多少经验都不会升级饿,,请原谅我的叙述有问题,感谢各位大大!

RUBY 代码复制
  1. # 突破等级、能力上限
  2.  
  3.   # 等级可无限提升
  4.  
  5.   BASE_FINAL_LEVEL = 1000    # 等级最高值 ★★★★ 最高等级
  6.   MAXHP_LIMIT = 9999999     # 气血最高值
  7.   MAXSP_LIMIT = 9999999     # 魔法最高值
  8.   STR_LIMIT   = 999999      # 力量最高值
  9.   DEX_LIMIT   = 999999      # 灵巧最高值
  10.   AGI_LIMIT   = 999999      # 速度最高值
  11.   INT_LIMIT   = 999999      # 魔力最高值
  12.  
  13. class Game_Actor < Game_Battler
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取 EXP 字符串
  16.  
  17.  
  18.   # 示例 一般最高50级
  19.   # 一转 100 级
  20.   # 二转 150 级
  21.   # 三转 200 级
  22.   #--------------------------------------------------------------------------
  23.   def exp_s
  24.     # ★★★★
  25.     if lvv == 0 and @level == 120
  26.       return "--------"
  27.     elsif lvv == 1 and @level == 300
  28.       return "--------"
  29.     elsif lvv == 2 and @level == 500
  30.       return "--------"
  31.     elsif lvv == 3 and @level == 1000
  32.       return "--------"
  33.     else
  34.       return @exp_list[@level+1] > 0 ? @exp.to_s : "--------"
  35.     end
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 获取下一等级的 EXP 字符串
  39.   #--------------------------------------------------------------------------
  40.   def next_exp_s
  41.     # ★★★★
  42.     if lvv == 0 and @level > 119
  43.       return "--------"
  44.     elsif lvv == 1 and @level > 299
  45.       return "--------"
  46.     elsif lvv == 2 and @level > 499
  47.       return "--------"
  48.     elsif lvv == 3 and @level > 999
  49.       return "--------"
  50.     else
  51.       return @exp_list[@level+1] > 0 ? @exp_list[@level+1].to_s : "--------"
  52.     end
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 获取离下一等级还需的 EXP 字符串
  56.   #--------------------------------------------------------------------------
  57.   def next_rest_exp_s
  58.     # ★★★★
  59.     if lvv == 0 and @level == 119
  60.       return "--------"
  61.     elsif lvv == 1 and @level == 299
  62.       return "--------"
  63.     elsif lvv == 2 and @level == 499
  64.       return "--------"
  65.     elsif lvv == 3 and @level == 999
  66.       return "--------"
  67.     else
  68.       return @exp_list[@level+1] > 0 ?
  69.         (@exp_list[@level+1] - @exp).to_s : "--------"
  70.     end
  71.   end
  72.   def new_final_level
  73.     def new_final_level
  74.   lv = BASE_FINAL_LEVEL
  75.   case self.lvv
  76.   when 0
  77.     lv = 120
  78.   when 1
  79.     lv = 300
  80.   when 2
  81.     lv = 500
  82.   when 3
  83.     lv = 1000
  84.   end
  85.   return lv
  86. end
  87.  
  88.     lv = BASE_FINAL_LEVEL
  89.     #以下上限LV個別指定用
  90.     #case self.id
  91.     #when 1
  92.     #  lv = 255
  93.     #when 2
  94.     #  lv = 999
  95.    #when 23
  96.     #  lv = 500
  97.     #end
  98.     return lv
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 计算 EXP
  102.   #--------------------------------------------------------------------------
  103. def make_exp_list
  104.     actor = $data_actors[@actor_id]
  105. @exp_list = Array.new(BASE_FINAL_LEVEL + 2)
  106.     @exp_list[1] = 0
  107.     pow_i = 2.4 + actor.exp_inflation / 100.0
  108.     for i in 2..BASE_FINAL_LEVEL + 1
  109.       if i > BASE_FINAL_LEVEL
  110.         @exp_list[i] = 0
  111.       else
  112.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  113.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  114.       end
  115.     end
  116.   end
  117.  
  118.   #--------------------------------------------------------------------------
  119.   # ● 获取 MaxHP
  120.   #--------------------------------------------------------------------------
  121.   def maxhp
  122.     n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  123.     for i in @states
  124.       n *= $data_states[i].maxhp_rate / 100.0
  125.     end
  126.     n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  127.     return n
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ● 获取基本 MaxHP
  131.   #--------------------------------------------------------------------------
  132.   def base_maxhp
  133.     n = $data_actors[@actor_id].parameters[0, 1]
  134.     n += $data_actors[@actor_id].parameters[0, 2] * @level
  135.     return n
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 获取基本 MaxSP
  139.   #--------------------------------------------------------------------------
  140.   def base_maxsp
  141.     n = $data_actors[@actor_id].parameters[1, 1]
  142.     n += $data_actors[@actor_id].parameters[1, 2] * @level
  143.     return n
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 获取基本力量
  147.   #--------------------------------------------------------------------------
  148.   def base_str
  149.     n = $data_actors[@actor_id].parameters[2, 1]
  150.     n += $data_actors[@actor_id].parameters[2, 2] * @level
  151.     weapon = $data_weapons[@weapon_id]
  152.     armor1 = $data_armors[@armor1_id]
  153.     armor2 = $data_armors[@armor2_id]
  154.     armor3 = $data_armors[@armor3_id]
  155.     armor4 = $data_armors[@armor4_id]
  156.     n += weapon != nil ? weapon.str_plus : 0
  157.     n += armor1 != nil ? armor1.str_plus : 0
  158.     n += armor2 != nil ? armor2.str_plus : 0
  159.     n += armor3 != nil ? armor3.str_plus : 0
  160.     n += armor4 != nil ? armor4.str_plus : 0
  161.     return [[n, 1].max, STR_LIMIT].min
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 获取基本灵巧
  165.   #--------------------------------------------------------------------------
  166.   def base_dex
  167.     n = $data_actors[@actor_id].parameters[3, 1]
  168.     n += $data_actors[@actor_id].parameters[3, 2] * @level
  169.     weapon = $data_weapons[@weapon_id]
  170.     armor1 = $data_armors[@armor1_id]
  171.     armor2 = $data_armors[@armor2_id]
  172.     armor3 = $data_armors[@armor3_id]
  173.     armor4 = $data_armors[@armor4_id]
  174.     n += weapon != nil ? weapon.dex_plus : 0
  175.     n += armor1 != nil ? armor1.dex_plus : 0
  176.     n += armor2 != nil ? armor2.dex_plus : 0
  177.     n += armor3 != nil ? armor3.dex_plus : 0
  178.     n += armor4 != nil ? armor4.dex_plus : 0
  179.     return [[n, 1].max, DEX_LIMIT].min
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 获取基本速度
  183.   #--------------------------------------------------------------------------
  184.   def base_agi
  185.     n = $data_actors[@actor_id].parameters[4, 1]
  186.     n += $data_actors[@actor_id].parameters[4, 2] * @level
  187.     weapon = $data_weapons[@weapon_id]
  188.     armor1 = $data_armors[@armor1_id]
  189.     armor2 = $data_armors[@armor2_id]
  190.     armor3 = $data_armors[@armor3_id]
  191.     armor4 = $data_armors[@armor4_id]
  192.     n += weapon != nil ? weapon.agi_plus : 0
  193.     n += armor1 != nil ? armor1.agi_plus : 0
  194.     n += armor2 != nil ? armor2.agi_plus : 0
  195.     n += armor3 != nil ? armor3.agi_plus : 0
  196.     n += armor4 != nil ? armor4.agi_plus : 0
  197.     return [[n, 1].max, AGI_LIMIT].min
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● 获取基本魔力
  201.   #--------------------------------------------------------------------------
  202.   def base_int
  203.     n = $data_actors[@actor_id].parameters[5, 1]
  204.     n += $data_actors[@actor_id].parameters[5, 2] * @level
  205.     weapon = $data_weapons[@weapon_id]
  206.     armor1 = $data_armors[@armor1_id]
  207.     armor2 = $data_armors[@armor2_id]
  208.     armor3 = $data_armors[@armor3_id]
  209.     armor4 = $data_armors[@armor4_id]
  210.     n += weapon != nil ? weapon.int_plus : 0
  211.     n += armor1 != nil ? armor1.int_plus : 0
  212.     n += armor2 != nil ? armor2.int_plus : 0
  213.     n += armor3 != nil ? armor3.int_plus : 0
  214.     n += armor4 != nil ? armor4.int_plus : 0
  215.     return [[n, 1].max, INT_LIMIT].min
  216.   end
  217.   # ★★★★ 转数
  218.   def lvv
  219.     @lvv = 0 if @lvv.nil?
  220.     return @lvv
  221.   end
  222.  
  223.   def lvv=(lvv)
  224.     # 防止出现负数
  225.     @lvv = [lvv, 0].max
  226.     # 防止转生超过最大等级
  227.     self.level = new_final_level if @level > new_final_level
  228.   end
  229.  
  230.  
  231.   # ★★★★ 转生
  232.   def lvvpl
  233.     @lvv = lvv + 1
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● 更改 EXP
  237.   #     exp : 新的 EXP
  238.   #--------------------------------------------------------------------------
  239.   def exp=(exp)
  240.     # ★EXPの上限チェックを解除
  241.     @exp = [exp, 0].max
  242.     # 升级
  243.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  244.       # ★★★★ @lvv 转数 一转二转三转 等在这里设置
  245.       if lvv == 0 and @level == 120
  246.         @exp = @exp_list[@level] # ★★ 1.12 改
  247.         return
  248.       elsif lvv == 1 and @level == 300
  249.         @exp = @exp_list[@level]
  250.         return
  251.       elsif lvv == 2 and @level == 500
  252.         @exp = @exp_list[@level]
  253.         return
  254.       elsif lvv == 3 and @level == 1000
  255.         @exp = @exp_list[@level]
  256.         return
  257.       end
  258.  
  259.       @hp = maxhp
  260.       @sp = maxsp
  261.       @level += 1
  262.       # 学会特技
  263.       for j in $data_classes[@class_id].learnings
  264.         if j.level == @level
  265.           learn_skill(j.skill_id)
  266.         end
  267.       end
  268.     end
  269.     # 降级
  270.     while @exp < @exp_list[@level]
  271.       @level -= 1
  272.     end
  273.     # 修正当前的 HP 与 SP 超过最大值
  274.     @hp = [@hp, self.maxhp].min
  275.     @sp = [@sp, self.maxsp].min
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● レベルの変更
  279.   #     level : 新しいレベル
  280.   #--------------------------------------------------------------------------
  281.   def level=(level)
  282.     # 上下限チェック
  283.     # ★LV上限をnew_final_levelでチェックするように変更
  284.     level = [[level, new_final_level].min, 1].max
  285.     # EXP を変更
  286.     self.exp = @exp_list[level]
  287.   end
  288. end
  289.  
  290.  
  291. class Game_Battler
  292.   #--------------------------------------------------------------------------
  293.   # ● 获取 MaxSP
  294.   #--------------------------------------------------------------------------
  295.   def maxsp
  296.     n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  297.     for i in @states
  298.       n *= $data_states[i].maxsp_rate / 100.0
  299.     end
  300.     n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  301.     return n
  302.   end
  303.   #--------------------------------------------------------------------------
  304.   # ● 获取力量
  305.   #--------------------------------------------------------------------------
  306.   def str
  307.     n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  308.     for i in @states
  309.       n *= $data_states[i].str_rate / 100.0
  310.     end
  311.     n = [[Integer(n), 1].max, STR_LIMIT].min
  312.     return n
  313.   end
  314.   #--------------------------------------------------------------------------
  315.   # ● 获取灵巧
  316.   #--------------------------------------------------------------------------
  317.   def dex
  318.     n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  319.     for i in @states
  320.       n *= $data_states[i].dex_rate / 100.0
  321.     end
  322.     n = [[Integer(n), 1].max, DEX_LIMIT].min
  323.     return n
  324.   end
  325.   #--------------------------------------------------------------------------
  326.   # ● 获取速度
  327.   #--------------------------------------------------------------------------
  328.   def agi
  329.     n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  330.     for i in @states
  331.       n *= $data_states[i].agi_rate / 100.0
  332.     end
  333.     n = [[Integer(n), 1].max, AGI_LIMIT].min
  334.     return n
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # ● 获取魔力
  338.   #--------------------------------------------------------------------------
  339.   def int
  340.     n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  341.     for i in @states
  342.       n *= $data_states[i].int_rate / 100.0
  343.     end
  344.     n = [[Integer(n), 1].max, INT_LIMIT].min
  345.     return n
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ● 设置 MaxHP
  349.   #     maxhp : 新的 MaxHP
  350.   #--------------------------------------------------------------------------
  351.   def maxhp=(maxhp)
  352.     @maxhp_plus += maxhp - self.maxhp
  353.     @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  354.     @hp = [@hp, self.maxhp].min
  355.   end
  356.   #--------------------------------------------------------------------------
  357.   # ● 设置 MaxSP
  358.   #     maxsp : 新的 MaxSP
  359.   #--------------------------------------------------------------------------
  360.   def maxsp=(maxsp)
  361.     @maxsp_plus += maxsp - self.maxsp
  362.     @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  363.     @sp = [@sp, self.maxsp].min
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ● 设置力量
  367.   #     str : 新的力量
  368.   #--------------------------------------------------------------------------
  369.   def str=(str)
  370.     @str_plus += str - self.str
  371.     @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
  372.   end
  373.   #--------------------------------------------------------------------------
  374.   # ● 设置灵巧
  375.   #     dex : 新的灵巧
  376.   #--------------------------------------------------------------------------
  377.   def dex=(dex)
  378.     @dex_plus += dex - self.dex
  379.     @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
  380.   end
  381.   #--------------------------------------------------------------------------
  382.   # ● 设置速度
  383.   #     agi : 新的速度
  384.   #--------------------------------------------------------------------------
  385.   def agi=(agi)
  386.     @agi_plus += agi - self.agi
  387.     @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   # ● 设置魔力
  391.   #     int : 新的魔力
  392.   #--------------------------------------------------------------------------
  393.   def int=(int)
  394.     @int_plus += int - self.int
  395.     @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
  396.   end
  397. end

作者: fjjghj1    时间: 2015-9-12 20:32
刚才自己试了一下,发现好像等级上线脚本本身没有问题,是因为加点脚本导致的,请问各位大该改哪里呀?谢谢
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5.  
  6. # 脚本使用设定:
  7.  
  8.  
  9. LEVEL_UP_POINT = 3  # 每升一级所增加的点数
  10. LEVEL_UP_VARIABLE = 100  # 储存角色点数的变量编号与角色id编号的差值
  11.                          # 默认情况 = 100,
  12.                          # 则是数据库里1号角色的加点数存于101号变量
  13.                          # 3号角色的加点数存于103号变量。
  14.                          # 你可以直接操作变量赠与角色可分配点数
  15.  
  16. # 每增加一次点数,各项能力值的变化:357-410行
  17.  
  18. # 使用方法介绍:
  19.  
  20. # 本脚本不会取代原猩豆δ埽皇且桓龈郊庸δ堋?BR># 也就是说,默认的升级还在,但可以用这个功能手动追加点数。
  21. # 如果你想纯粹使用手动加点(而升级不提升能力),只要把数据库中角色升级能力,
  22. # 1-99级全部等于一个相同数值就行了。
  23.  
  24. # 呼唤加点场景的方法:$scene = Scene_Lvup.new(角色编号,返回菜单编号)。
  25. # 默认都是0号
  26.  
  27. # 加点场景中,page up,page down换人,如果想加点完毕后返回地图,
  28. # 464行$scene = Scene_Menu.new(0)改为$scene = Scene_Map.new
  29.  
  30. # 推荐脚本搭配:魔法商店脚本,两者结合,制作自由型RPG
  31.  
  32. #==============================================================================
  33. # ■ Game_Actor
  34. #------------------------------------------------------------------------------
  35. #  处理角色的类。(再定义)
  36. #==============================================================================
  37. class Game_Actor < Game_Battler
  38.   #--------------------------------------------------------------------------
  39.   # ● 更改 EXP
  40.   #     exp : 新的 EXP
  41.   #--------------------------------------------------------------------------
  42.   def exp=(exp)
  43.     @exp = [exp, 0].max
  44.     # 升级
  45.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  46.       @level += 1
  47.       # 增加4点可自由分配的点数
  48. if self.id > 30
  49.   $game_variables[self.id + LEVEL_UP_VARIABLE] += 5
  50. else
  51.   ##修改
  52.   # 打开开关1,id为3的角色额外获得2点,打开开关2,id为4的角色额外获得2点,以此类推
  53.   extra_point = $game_switches[self.id + 1524] ? 2 : 0
  54.   $game_variables[self.id + LEVEL_UP_VARIABLE] += (LEVEL_UP_POINT + extra_point)
  55.   ($db_point[@actor_id])[5] += (LEVEL_UP_POINT + extra_point)#加的1行
  56. end
  57.  
  58.       # 学会特技
  59.       for j in $data_classes[@class_id].learnings
  60.  
  61.         if j.level == @level
  62.           if @level >= 99
  63.           else
  64.           learn_skill(j.skill_id)
  65.           end
  66.         end
  67.       end
  68.     end
  69.     # 降级
  70.     while @exp < @exp_list[@level]
  71.       # 遗忘特技
  72.       for j in $data_classes[@class_id].learnings
  73.  
  74.         if j.level == @level
  75.           if @level >= 99
  76.           else
  77.           forget_skill(j.skill_id)
  78.           end
  79.         end
  80.       end
  81.       @level -= 1
  82.     end
  83.     # 修正当前的 HP 与 SP 超过最大值
  84.     @hp = [@hp, self.maxhp].min
  85.     @sp = [@sp, self.maxsp].min
  86.     $game_temp.common_event_id = 178
  87.   end
  88. end
  89. #==============================================================================
  90. # ■ Window_Base
  91. #------------------------------------------------------------------------------
  92. #  游戏中全部窗口的超级类(追加定义)
  93. #==============================================================================
  94. class Window_Base < Window
  95.   #--------------------------------------------------------------------------
  96.   # ● 描绘 HP
  97.   #     actor : 角色
  98.   #     x     : 描画目标 X 坐标
  99.   #     y     : 描画目标 Y 坐标
  100.   #     width : 描画目标的宽
  101.   #--------------------------------------------------------------------------
  102.   def draw_actor_hp_lvup(actor, x, y)
  103.     self.contents.font.color = Color.new(79,39,0,255)
  104.     if $temp_hp == 0
  105.       self.contents.font.color = Color.new(79,39,0,255)
  106.       self.contents.draw_text(x + 120 , y, 48, 32, actor.maxhp.to_s, 2)
  107.     else
  108.       maxhp = actor.maxhp + $temp_hp.to_i
  109.       self.contents.font.color = Color.new(79,39,0,255)
  110. #      self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
  111.       self.contents.font.color = normal_color      
  112. #      self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
  113.       if $temp_hp >=0
  114.         self.contents.font.color = Color.new(0, 255, 0)
  115.         self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
  116. #        self.contents.draw_text(x + 155, y, 36, 32, " +",2)
  117.       else
  118.         self.contents.font.color = Color.new(0, 255, 0)
  119.         self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
  120. #        self.contents.draw_text(x + 155, y, 36, 32, " -",2)
  121.       end
  122. #      self.contents.draw_text(x + 200, y, 36, 32, $temp_hp.to_s, 2)
  123.       self.contents.font.color = Color.new(79,39,0,255)
  124. #      self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
  125.     end
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 描绘 SP
  129.   #     actor : 角色
  130.   #     x     : 描画目标 X 坐标
  131.   #     y     : 描画目标 Y 坐标
  132.   #     width : 描画目标的宽
  133.   #--------------------------------------------------------------------------
  134.   def draw_actor_sp_lvup(actor, x, y)
  135.     self.contents.font.color = Color.new(79,39,0,255)
  136.     if $temp_sp == 0
  137.       self.contents.font.color = Color.new(79,39,0,255)
  138.       self.contents.draw_text(x + 120 , y, 48, 32, actor.maxsp.to_s, 2)
  139.     else
  140.       maxsp = actor.maxsp + $temp_sp.to_i
  141.       self.contents.font.color = Color.new(79,39,0,255)
  142. #      self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
  143.       self.contents.font.color = normal_color      
  144. #      self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
  145.       if $temp_sp >=0
  146.         self.contents.font.color = Color.new(0, 255, 0)
  147.         self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
  148. #        self.contents.draw_text(x + 155, y, 36, 32, " +",2)
  149.       else
  150.         self.contents.font.color = Color.new(0, 255, 0)
  151.         self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
  152. #        self.contents.draw_text(x + 155, y, 36, 32, " -",2)
  153.       end
  154. #      self.contents.draw_text(x + 200, y, 36, 32, $temp_sp.to_s, 2)
  155.       self.contents.font.color = Color.new(79,39,0,255)
  156. #      self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
  157.     end
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 描绘能力值
  161.   #     actor : 角色
  162.   #     x     : 描画目标 X 坐标
  163.   #     y     : 描画目标 Y 坐标
  164.   #     type  : 能力值种类 (0~4)
  165.   #--------------------------------------------------------------------------
  166.   def draw_actor_lvup(actor, x, y, type)   
  167.     # 定义数字颜色
  168.     lvup = Color.new(79,39,0,255)   
  169.     upcolor = Color.new(0, 255, 0)
  170.     downcolor = Color.new(79,39,0,255)
  171.     self.contents.font.color = normal_color   
  172.     case type
  173.     when 0
  174.         parameter_name = $data_system.words.str
  175.         parameter_value = actor.str
  176.         parameter_value_temp = parameter_value + $temp_str.to_i
  177.       if $temp_str != 0
  178. #        lvup = upcolor
  179. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  180.         if $temp_str >= 0
  181.           lvup = upcolor
  182.           self.contents.font.color = lvup
  183.           parameter_name = $data_system.words.str
  184.           parameter_value = actor.str
  185. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  186.         else
  187.           lvup = downcolor
  188.           self.contents.font.color = lvup#Color.new(255,255,0,255)
  189.           parameter_name = $data_system.words.str
  190.           parameter_value = actor.str
  191. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  192.         end        
  193. #        self.contents.draw_text(x + 272, y, 80, 32, $temp_str.abs.to_s,1)
  194.         self.contents.font.color = Color.new(255, 0, 0)
  195. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  196.       end
  197.     when 1
  198.       parameter_name = $data_system.words.dex
  199.       parameter_value = actor.dex
  200.       parameter_value_temp = parameter_value + $temp_dex.to_i
  201.       if $temp_dex != 0
  202. #        lvup = upcolor
  203. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  204.         if $temp_dex >= 0
  205.           lvup = upcolor
  206.           self.contents.font.color = lvup
  207.           parameter_name = $data_system.words.dex
  208.           parameter_value = actor.dex
  209. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  210.         else
  211.           lvup = downcolor
  212.           self.contents.font.color = lvup#Color.new(255,255,0,255)
  213.           parameter_name = $data_system.words.dex
  214.           parameter_value = actor.dex
  215. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  216.         end        
  217. #        self.contents.draw_text(x + 272, y, 80, 32, $temp_dex.abs.to_s,1)
  218.         self.contents.font.color = Color.new(255, 0, 0)
  219. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  220.       end
  221.     when 2
  222.       parameter_name = $data_system.words.agi
  223.       parameter_value = actor.agi
  224.       parameter_value_temp = parameter_value + $temp_agi.to_i
  225.       if $temp_agi != 0
  226. #        lvup = upcolor
  227. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  228.         if $temp_agi >= 0
  229.           lvup = upcolor
  230.           self.contents.font.color = lvup
  231.           parameter_name = $data_system.words.agi
  232.           parameter_value = actor.agi
  233. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  234.         else
  235.           lvup = downcolor
  236.           self.contents.font.color = lvup#Color.new(255,255,0,255)
  237.           parameter_name = $data_system.words.agi
  238.           parameter_value = actor.agi
  239. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  240.         end        
  241. #        self.contents.draw_text(x + 272, y, 80, 32, $temp_agi.abs.to_s,1)
  242.         self.contents.font.color = Color.new(255, 0, 0)
  243. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  244.       end
  245.     when 3
  246.       parameter_name = $data_system.words.int
  247.       parameter_value = actor.int
  248.       parameter_value_temp = parameter_value + $temp_int.to_i
  249.       if $temp_int != 0
  250. #        lvup = upcolor
  251. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  252.         if $temp_int >= 0
  253.           lvup = upcolor
  254.           self.contents.font.color = lvup
  255.           parameter_name = $data_system.words.int
  256.           parameter_value = actor.int
  257. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  258.         else
  259.           lvup = downcolor
  260.           self.contents.font.color = lvup#Color.new(255,255,0,255)
  261.           parameter_name = $data_system.words.int
  262.           parameter_value = actor.int
  263. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  264.         end        
  265. #        self.contents.draw_text(x + 272, y, 80, 32, $temp_int.abs.to_s,1)
  266.         self.contents.font.color = Color.new(255, 0, 0)
  267. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  268.       end
  269.     when 4
  270.       parameter_name = ""
  271.       parameter_value = $point
  272.       if $point != 0
  273.         lvup = upcolor
  274.       end
  275.     end   
  276.     self.contents.font.color = Color.new(79,39,0,255)
  277.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  278.     self.contents.font.color = Color.new(79,39,0,255)
  279.     self.contents.draw_text(x + 450, y, 36, 32, parameter_value.to_s)   
  280.     if type != 4
  281.       self.contents.draw_text(x + 480, y, 36, 32, " →")
  282.     end  
  283.     self.contents.font.color = lvup
  284.     self.contents.draw_text(x + 510, y, 60, 32, parameter_value_temp.to_s)
  285.     self.contents.font.color = Color.new(79,39,0,255)  
  286.   end
  287. end





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