设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1600|回复: 3
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
帖子
518
跳转到指定楼层
1
发表于 2013-7-13 16:26:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

2
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

点评

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

使用道具 举报

Lv1.梦旅人

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

谢谢 @hys111111 满意答案
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 07:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表