查看: 1708|回复: 3

[已经解决] 怎样让角色获得某个状态

[复制链接]
梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
发表于 2013-7-13 16:26:24 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
       if self.state?(18)
         @hp = 0
       end
这段脚本是如果角色附带第18号状态解除则HP=0 我希望达到当该角色的18号状态解除则附带战斗不能状态 这个脚本应该怎么写

万兽

梦石
0
星屑
602
在线时间
2271 小时
注册时间
2006-11-4
回帖
4701

贵宾

发表于 2013-7-13 19:01:45 | 显示全部楼层
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1号状态为死亡状态,10号为特定状态,那么在Game_Battler2里这么写:
  1. #--------------------------------------------------------------------------
  2.   # ● 状态自然解除 (回合改变时调用)
  3.   #--------------------------------------------------------------------------
  4.   def remove_states_auto
  5.     for i in @states_turn.keys.clone
  6.       if @states_turn[i] > 0
  7.         @states_turn[i] -= 1
  8.       elsif rand(100) < $data_states[i].auto_release_prob
  9.         remove_state(i)      end
  10.     end
  11.   end
复制代码
改成:
  1. #--------------------------------------------------------------------------
  2.   # ● 状态自然解除 (回合改变时调用)
  3.   #--------------------------------------------------------------------------
  4.   def remove_states_auto
  5.     for i in @states_turn.keys.clone
  6.       if @states_turn[i] > 0
  7.         @states_turn[i] -= 1
  8.       elsif rand(100) < $data_states[i].auto_release_prob
  9.         remove_state(i)
  10.         if i==10
  11.         self.add_state(1)
  12.         end
  13.       end
  14.     end
  15.   end
复制代码
这样当10号状态自然解除的时候,角色就会被附加战斗不能的状态。其它情况一样的处理方法。

点评

俺的意思是是否只在自然解除的时候才触发,印象中以前玩过一个RPG就是这样,只有当某状态自然解除时才触发死亡,强制解除不触发。  发表于 2013-7-14 15:37
直接定义在 解除状态 remove_state(state_id, force = false) 里。不论是自然解除还是强制解除,都要经过 remove_state  发表于 2013-7-14 14:32

评分

参与人数 2星屑 +110 梦石 +1 收起 理由
明特·布兰马修 + 10 塞糖
hys111111 + 100 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
 楼主| 发表于 2013-7-14 21:38:18 | 显示全部楼层
弗雷德 发表于 2013-7-13 19:01
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1 ...

能不能在附加战斗不能状态前显示一个动画?

点评

slef.animation_id = XX  发表于 2013-7-14 21:41
回复

使用道具 举报

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
 楼主| 发表于 2013-7-14 23:40:44 | 显示全部楼层
弗雷德 发表于 2013-7-13 19:01
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1 ...

谢谢 @hys111111 满意答案
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部