Project1

标题: (已近解决)关于一个状态叠加的脚本 [打印本页]

作者: 水晶飞风    时间: 2017-5-21 05:02
标题: (已近解决)关于一个状态叠加的脚本
本帖最后由 水晶飞风 于 2017-5-21 22:44 编辑

这个脚本他具体应该是能起到这么一个作用的:
队友获得了状态1,之后他又获得了一次状态1,因为脚本的原因,状态1会被替换成状态2

但是在我反复测试开新工程后也毫无反应(替换不掉/没起作用)
所以来此寻求答案_(:зゝ∠)_拜托各位了。

RUBY 代码复制
  1. #使用方法:直接放进脚本编辑器,然后在下面自己设置。
  2. class Game_Battler
  3.  
  4.   STATE_UPGRADE = {
  5.     50 => [51, 52, 53],  #51、52、53号状态为三个等级。通过添加50号状态来升级
  6.     60 => [61, 62],        #想添加更多可以自己尝试修改。
  7.   }
  8.  
  9.   alias as_20141212 add_state
  10.   def add_state(id)
  11.     levels = STATE_UPGRADE[id]
  12.     return as_20141212(id) unless levels
  13.     index = levels.index { |state| state?(state) } # 当前等级
  14.     return as_20141212(id) unless index
  15.     return if index == levels.size - 1   # 已经达到最高等级
  16.     remove_state levels[index]
  17.     as_20141212 levels[index + 1]
  18.   end
  19.  
  20. end

范例.rar

1.42 MB, 下载次数: 84

进去让拉尔夫用测试技能跟史莱姆战斗就看的出状态不会发生变动


作者: 百里_飞柳    时间: 2017-5-21 10:35
本帖最后由 百里_飞柳 于 2017-5-21 10:37 编辑

  1. #使用方法:直接放进脚本编辑器,然后在下面自己设置。
  2. class Game_Battler

  3.   STATE_UPGRADE = {
  4.   #修改by老鹰 添加状态=>[从添加状态为0级开始的各等级状态]
  5.     26 => [26,27,28],  #26、27、28号状态为三个等级。通过添加26号状态来升级
  6.     60 => [60,61, 62],        #想添加更多可以自己尝试修改。
  7.   }

  8.   alias as_20141212 add_state
  9.   def add_state(id)
  10.     levels = STATE_UPGRADE[id]
  11.     return as_20141212(id) unless levels
  12.     index = levels.index { |state| self.state?(state) } # 当前等级
  13.     return as_20141212(id) unless index # 第一次添加该状态
  14.     return if index == levels.size - 1   # 已经达到最高等级
  15.     remove_state levels[index]
  16.     as_20141212 levels[index + 1]
  17.   end

  18. end
复制代码

作者: 紫菜豆腐煲    时间: 2017-5-21 22:22
本帖最后由 紫菜豆腐煲 于 2017-5-21 09:34 编辑
百里_飞柳 发表于 2017-5-20 21:35


借贴问一下,可不可以实现口袋妖怪的状态,
-6到+6,开始时为0
这个脚本只能加,不能减




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