Project1

标题: 这种效果如何实现? [打印本页]

作者: tsukiyin    时间: 2010-7-13 19:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: Flyingpww    时间: 2010-7-13 20:02
  1. def remove_state(skill_id)
  2. states = [a,b,c,d,e]   # 定义状态时 a>b>c>d>e
  3. states.sort! {|a,b| b<=>a}
  4. if skill_id == 技能1
  5.   states.shift
  6. end
  7. if skill_id == 技能2
  8. states.shift
  9. states.shift
  10. end
  11. end


复制代码

作者: tsukiyin    时间: 2010-7-13 20:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: tsukiyin    时间: 2010-7-13 20:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkdrium    时间: 2010-7-13 20:47
回复 tsukiyin 的帖子

事件+脚本可以做到,冲突可能性:几乎为0,除非有其它脚本在公共域命名了同名方法
  1. def remove_state(t)
  2.   new_state = [*2..6]
  3.   actor = $game_party.actors.find{|actor| actor.state? 17}
  4.   t.times do
  5.   actor.states.delete(new_state.find do |i|
  6.       actor.state? i
  7.     end)
  8.   end
  9.   actor.states.delete(17)
  10. end
复制代码
注意这个17号状态要设置成不可抵抗,重点地方用红框标出来了

对应的公共事件用这么一句,就可以解除一个状态


ps:出于可扩展性的考虑,该方法有一个参数,即解除几个状态
作者: tsukiyin    时间: 2010-7-13 20:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkdrium    时间: 2010-7-13 21:11
回复 tsukiyin 的帖子


范例在此
Project2.rar (187.24 KB, 下载次数: 97)
作者: tsukiyin    时间: 2010-7-13 21:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: tsukiyin    时间: 2010-7-13 21:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: tsukiyin    时间: 2010-7-13 21:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: tsukiyin    时间: 2010-7-13 22:10
提示: 作者被禁止或删除 内容自动屏蔽




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