Project1

标题: 如何让被附加了26号状态的角色不能被复活? [打印本页]

作者: szzyc0    时间: 2014-1-17 13:05
标题: 如何让被附加了26号状态的角色不能被复活?
一个我方的队友如果被附加了26号状态,在他死亡后,其他人对他使用复活的技能或物品时不起作用,不允许解除“战斗不能”的状态。我该怎么做?
作者: 正太君    时间: 2014-1-18 10:15
这倒不难做,但是不能被复活岂不是永久死亡了?
作者: 天地有正气    时间: 2014-1-18 12:33
很简单,在26号状态设置和战斗不能一样,然后物品增减状态不要勾上26号就行了。
作者: H·H·Y    时间: 2014-1-18 12:43
天地有正气 发表于 2014-1-18 12:33
很简单,在26号状态设置和战斗不能一样,然后物品增减状态不要勾上26号就行了。 ...

这样做就有两个战斗不能,两个战斗不能的状态之间不会冲突吧?
比如那个已经死掉的角色死亡后仍然可以行动之类的。(我没有测试过随便猜测的)
作者: qq544670783    时间: 2014-1-18 15:04
正太君 发表于 2014-1-18 10:15
这倒不难做,但是不能被复活岂不是永久死亡了?

战斗之后自动解除该状态的
作者: 芯☆淡茹水    时间: 2014-1-20 09:59
本帖最后由 芯☆淡茹水 于 2014-1-23 04:05 编辑
  1. ###############################################################################
  2. # 复制脚本,插入到 main 前。
  3. ###############################################################################
  4. class Game_Battler
  5.   #--------------------------------------------------------------------------
  6.   def remove_state(state_id, force = false)
  7.     #########################################################
  8.     #下面括号里填 不能被复活的状态 ID。
  9.     if self.hp0? and state?(26)  
  10.       return
  11.     end
  12.     #########################################################
  13.     # 无法附加本状态的情况下
  14.     if state?(state_id)
  15.       # 被强制附加的状态、并不是强制解除的情况下
  16.       if @states_turn[state_id] == -1 and not force
  17.         # 过程结束
  18.         return
  19.       end
  20.       # 现在的 HP 为 0 当作选项 [当作 HP 0 的状态]有效的场合
  21.       if @hp == 0 and $data_states[state_id].zero_hp
  22.         # 判断是否有另外的 [当作 HP 0 的状态]状态
  23.         zero_hp = false
  24.         for i in @states
  25.           if i != state_id and $data_states[i].zero_hp
  26.             zero_hp = true
  27.           end
  28.         end
  29.         # 如果可以解除战斗不能、将 HP 更改为 1
  30.         if zero_hp == false
  31.           @hp = 1
  32.         en
  33.       end
  34.       # 将状态 ID 从 @states 队列和 @states_turn hash 中删除
  35.       @states.delete(state_id)
  36.       @states_turn.delete(state_id)
  37.     end
  38.     # 检查 HP 及 SP 的最大值
  39.     @hp = [@hp, self.maxhp].min
  40.     @sp = [@sp, self.maxsp].min
  41.   end
  42. end
  43. ###############################################################################
复制代码





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