查看: 3299|回复: 10

[已经解决] 这种效果如何实现?

[复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
发表于 2010-7-13 19:54:04 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
梦石
0
星屑
449
在线时间
190 小时
注册时间
2006-1-8
回帖
44
发表于 2010-7-13 20:02:32 | 显示全部楼层
  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


复制代码

点评

。。。。能吐槽吗。。。。  发表于 2010-7-13 20:06
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 20:24:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 20:30:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
回帖
137
发表于 2010-7-13 20:47:14 | 显示全部楼层
回复 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
复制代码
1.JPG 注意这个17号状态要设置成不可抵抗,重点地方用红框标出来了

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


ps:出于可扩展性的考虑,该方法有一个参数,即解除几个状态

点评

再ps下,忘了将用作钩子的状态id和解除状态id的数组独立到方法外了。。。lz需要的话我可以为你再写一个  发表于 2010-7-13 20:48
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 20:56:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
回帖
137
发表于 2010-7-13 21:11:22 | 显示全部楼层
回复 tsukiyin 的帖子


范例在此
Project2.rar (187.24 KB, 下载次数: 97)
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 21:16:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 21:27:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-14
回帖
51
 楼主| 发表于 2010-7-13 21:49:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部