Project1

标题: 修改角色能力值问题。 [打印本页]

作者: hijl1990    时间: 2013-6-28 11:42
标题: 修改角色能力值问题。
在事件中修改角色能力值时,能不能直接定义角色能力,而不是增加多少减少多少。

我是像让主角能力值修改时超过100时自动变为100,或者直接设定成不能超过100。

请问该怎么处理?
作者: wwwcctvty    时间: 2013-6-28 13:03
100 if actor.str >= 100
作者: wwwcctvty    时间: 2013-6-28 13:33
、、、、、最好还是你说要什么 效果,再放上工程吧、、、
作者: 巴尔德    时间: 2013-6-28 14:15
其实不用脚本啊

1.gif (5.25 KB, 下载次数: 3)

1.gif

作者: hijl1990    时间: 2013-6-28 15:11
wwwcctvty 发表于 2013-6-28 13:33
、、、、、最好还是你说要什么 效果,再放上工程吧、、、

恩,工程在这里。。
如果方便的话能顺便帮我看下我遇到的其他问题吗?
工程目前使用了魔塔式战斗和隐藏材料的合成,然后就没有了。。
能看看怎么把魔塔战斗脚本里默认的战斗后打开A开关改成自己设置吗?
然后是隐藏材料的合成能改成每次都需要扣SP值吗?
谢谢。。

新.rar

217.27 KB, 下载次数: 24


作者: wwwcctvty    时间: 2013-6-28 17:45
已经改成合成消耗10体力、、
新.rar (218.75 KB, 下载次数: 19)
作者: hijl1990    时间: 2013-6-28 18:41
wwwcctvty 发表于 2013-6-28 17:45
已经改成合成消耗10体力、、

可能我工程裏還沒做時間系統的關係,我的设想是每分钟都减少力量灵巧这些属性,然后通过吃东西恢复一定数值。。
然后各属性上限就是100,不能超过100,和等级无关。。
我刚试了一下,属性还是可以超过100。。。
作者: hijl1990    时间: 2013-6-28 20:28
wwwcctvty 发表于 2013-6-28 17:45
已经改成合成消耗10体力、、

是这样的,我用事件做了个时间系统,然后变量时间加一的时候属性就减各数值。。然后我又做了个水源,喝水的效果是属性+20,接着属性就变100多了。。我不想他超过100的。。
作者: 芯☆淡茹水    时间: 2013-7-2 15:16
复制下面的脚本,插入到 main 前
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取基本力量
  4.   #--------------------------------------------------------------------------
  5.   def base_str
  6.     n = $data_actors[@actor_id].parameters[2, @level]
  7.     weapon = $data_weapons[@weapon_id]
  8.     armor1 = $data_armors[@armor1_id]
  9.     armor2 = $data_armors[@armor2_id]
  10.     armor3 = $data_armors[@armor3_id]
  11.     armor4 = $data_armors[@armor4_id]
  12.     n += weapon != nil ? weapon.str_plus : 0
  13.     n += armor1 != nil ? armor1.str_plus : 0
  14.     n += armor2 != nil ? armor2.str_plus : 0
  15.     n += armor3 != nil ? armor3.str_plus : 0
  16.     n += armor4 != nil ? armor4.str_plus : 0
  17.     return [[n, 1].max, 100].min
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取基本灵巧
  21.   #--------------------------------------------------------------------------
  22.   def base_dex
  23.     n = $data_actors[@actor_id].parameters[3, @level]
  24.     weapon = $data_weapons[@weapon_id]
  25.     armor1 = $data_armors[@armor1_id]
  26.     armor2 = $data_armors[@armor2_id]
  27.     armor3 = $data_armors[@armor3_id]
  28.     armor4 = $data_armors[@armor4_id]
  29.     n += weapon != nil ? weapon.dex_plus : 0
  30.     n += armor1 != nil ? armor1.dex_plus : 0
  31.     n += armor2 != nil ? armor2.dex_plus : 0
  32.     n += armor3 != nil ? armor3.dex_plus : 0
  33.     n += armor4 != nil ? armor4.dex_plus : 0
  34.     return [[n, 1].max, 100].min
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 获取基本速度
  38.   #--------------------------------------------------------------------------
  39.   def base_agi
  40.     n = $data_actors[@actor_id].parameters[4, @level]
  41.     weapon = $data_weapons[@weapon_id]
  42.     armor1 = $data_armors[@armor1_id]
  43.     armor2 = $data_armors[@armor2_id]
  44.     armor3 = $data_armors[@armor3_id]
  45.     armor4 = $data_armors[@armor4_id]
  46.     n += weapon != nil ? weapon.agi_plus : 0
  47.     n += armor1 != nil ? armor1.agi_plus : 0
  48.     n += armor2 != nil ? armor2.agi_plus : 0
  49.     n += armor3 != nil ? armor3.agi_plus : 0
  50.     n += armor4 != nil ? armor4.agi_plus : 0
  51.     return [[n, 1].max, 100].min
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 获取基本魔力
  55.   #--------------------------------------------------------------------------
  56.   def base_int
  57.     n = $data_actors[@actor_id].parameters[5, @level]
  58.     weapon = $data_weapons[@weapon_id]
  59.     armor1 = $data_armors[@armor1_id]
  60.     armor2 = $data_armors[@armor2_id]
  61.     armor3 = $data_armors[@armor3_id]
  62.     armor4 = $data_armors[@armor4_id]
  63.     n += weapon != nil ? weapon.int_plus : 0
  64.     n += armor1 != nil ? armor1.int_plus : 0
  65.     n += armor2 != nil ? armor2.int_plus : 0
  66.     n += armor3 != nil ? armor3.int_plus : 0
  67.     n += armor4 != nil ? armor4.int_plus : 0
  68.     return [[n, 1].max, 100].min
  69.   end
  70. end
复制代码

作者: hijl1990    时间: 2013-7-3 17:56
算了,既然没有解决办法,那就换个思路制作好了,还是谢谢大家解答。。
作者: 芯☆淡茹水    时间: 2013-7-7 15:44
hijl1990 发表于 2013-7-3 17:56
算了,既然没有解决办法,那就换个思路制作好了,还是谢谢大家解答。。

额~,少加了一个地方,下面脚本已试验过。

RUBY 代码复制
  1. #================================================================================
  2. class Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   # ● 获取力量
  5.   #--------------------------------------------------------------------------
  6.   def str
  7.     n = [[base_str + @str_plus, 1].max, 999].min
  8.     for i in @states
  9.       n *= $data_states[i].str_rate / 100.0
  10.     end
  11.     n = [[Integer(n), 1].max, 100].min
  12.     return n
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取灵巧
  16.   #--------------------------------------------------------------------------
  17.   def dex
  18.     n = [[base_dex + @dex_plus, 1].max, 999].min
  19.     for i in @states
  20.       n *= $data_states[i].dex_rate / 100.0
  21.     end
  22.     n = [[Integer(n), 1].max, 100].min
  23.     return n
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 获取速度
  27.   #--------------------------------------------------------------------------
  28.   def agi
  29.     n = [[base_agi + @agi_plus, 1].max, 999].min
  30.     for i in @states
  31.       n *= $data_states[i].agi_rate / 100.0
  32.     end
  33.     n = [[Integer(n), 1].max, 100].min
  34.     return n
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 获取魔力
  38.   #--------------------------------------------------------------------------
  39.   def int
  40.     n = [[base_int + @int_plus, 1].max, 999].min
  41.     for i in @states
  42.       n *= $data_states[i].int_rate / 100.0
  43.     end
  44.     n = [[Integer(n), 1].max, 100].min
  45.     return n
  46.   end
  47. end
  48. #==============================================================================
  49. class Game_Actor < Game_Battler
  50.   #--------------------------------------------------------------------------
  51.   # ● 获取基本力量
  52.   #--------------------------------------------------------------------------
  53.   def base_str
  54.     n = $data_actors[@actor_id].parameters[2, @level]
  55.     weapon = $data_weapons[@weapon_id]
  56.     armor1 = $data_armors[@armor1_id]
  57.     armor2 = $data_armors[@armor2_id]
  58.     armor3 = $data_armors[@armor3_id]
  59.     armor4 = $data_armors[@armor4_id]
  60.     n += weapon != nil ? weapon.str_plus : 0
  61.     n += armor1 != nil ? armor1.str_plus : 0
  62.     n += armor2 != nil ? armor2.str_plus : 0
  63.     n += armor3 != nil ? armor3.str_plus : 0
  64.     n += armor4 != nil ? armor4.str_plus : 0
  65.     return [[n, 1].max, 100].min
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 获取基本灵巧
  69.   #--------------------------------------------------------------------------
  70.   def base_dex
  71.     n = $data_actors[@actor_id].parameters[3, @level]
  72.     weapon = $data_weapons[@weapon_id]
  73.     armor1 = $data_armors[@armor1_id]
  74.     armor2 = $data_armors[@armor2_id]
  75.     armor3 = $data_armors[@armor3_id]
  76.     armor4 = $data_armors[@armor4_id]
  77.     n += weapon != nil ? weapon.dex_plus : 0
  78.     n += armor1 != nil ? armor1.dex_plus : 0
  79.     n += armor2 != nil ? armor2.dex_plus : 0
  80.     n += armor3 != nil ? armor3.dex_plus : 0
  81.     n += armor4 != nil ? armor4.dex_plus : 0
  82.     return [[n, 1].max, 100].min
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 获取基本速度
  86.   #--------------------------------------------------------------------------
  87.   def base_agi
  88.     n = $data_actors[@actor_id].parameters[4, @level]
  89.     weapon = $data_weapons[@weapon_id]
  90.     armor1 = $data_armors[@armor1_id]
  91.     armor2 = $data_armors[@armor2_id]
  92.     armor3 = $data_armors[@armor3_id]
  93.     armor4 = $data_armors[@armor4_id]
  94.     n += weapon != nil ? weapon.agi_plus : 0
  95.     n += armor1 != nil ? armor1.agi_plus : 0
  96.     n += armor2 != nil ? armor2.agi_plus : 0
  97.     n += armor3 != nil ? armor3.agi_plus : 0
  98.     n += armor4 != nil ? armor4.agi_plus : 0
  99.     return [[n, 1].max, 100].min
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 获取基本魔力
  103.   #--------------------------------------------------------------------------
  104.   def base_int
  105.     n = $data_actors[@actor_id].parameters[5, @level]
  106.     weapon = $data_weapons[@weapon_id]
  107.     armor1 = $data_armors[@armor1_id]
  108.     armor2 = $data_armors[@armor2_id]
  109.     armor3 = $data_armors[@armor3_id]
  110.     armor4 = $data_armors[@armor4_id]
  111.     n += weapon != nil ? weapon.int_plus : 0
  112.     n += armor1 != nil ? armor1.int_plus : 0
  113.     n += armor2 != nil ? armor2.int_plus : 0
  114.     n += armor3 != nil ? armor3.int_plus : 0
  115.     n += armor4 != nil ? armor4.int_plus : 0
  116.     return [[n, 1].max, 100].min
  117.   end
  118. end





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