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

Project1

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

[已经解决] 清除状态

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3591
在线时间
1890 小时
注册时间
2010-6-19
帖子
1211
跳转到指定楼层
1
发表于 2022-10-11 08:26:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
用脚本如何写,当敌人死亡,清除敌人身上的所有状态?

Lv3.寻梦者

梦石
0
星屑
2821
在线时间
585 小时
注册时间
2022-7-13
帖子
89
2
发表于 2022-10-11 08:36:23 | 只看该作者
本帖最后由 我为鱼肉 于 2022-10-11 10:10 编辑

if enemy.dead?
for id in enemy.states
enemy.remove_state(id)
end
end
战斗场景中可用@active_battler或者@target_battlers选到敌人
sprite_battler中可用@battler选到敌人
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3591
在线时间
1890 小时
注册时间
2010-6-19
帖子
1211
3
 楼主| 发表于 2022-10-12 21:29:55 | 只看该作者
我为鱼肉 发表于 2022-10-11 08:36
if enemy.dead?
for id in enemy.states
enemy.remove_state(id)

我试着写在伤害的后面,貌似没效果,写错了吗

  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 5 : 显示伤害)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step5
  5.     # 隐藏帮助窗口
  6.     @help_window.visible = false
  7.     # 刷新状态窗口
  8.     @status_window.refresh
  9.     # 显示伤害
  10.     for target in @target_battlers
  11.       if target.damage != nil
  12.         target.damage_pop = true
  13.         
  14.         #----------------------------
  15.         # 当战斗者死亡
  16.         if @active_battler.dead?
  17.           for id in @active_battler.states
  18.             # 清除战斗者状态
  19.             @active_battler.remove_state(id)
  20.           end
  21.         end
  22.         #-----------------------------
  23.         
  24.       end
  25.     end
  26.     # 移至步骤 6
  27.     @phase4_step = 6
  28.   end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2821
在线时间
585 小时
注册时间
2022-7-13
帖子
89
4
发表于 2022-10-13 06:05:05 | 只看该作者
本帖最后由 我为鱼肉 于 2022-10-13 10:09 编辑
  1. #----------------------------
  2.         # 当战斗者死亡
  3.         if target.dead?
  4.           for id in target.states
  5.             next if id == 1#战斗不能,就跳过
  6.             # 清除战斗者状态
  7.             target.remove_state(id, true)
  8.           end
  9.         end
  10.         #-----------------------------
复制代码

点评

完美解决 感谢  发表于 2022-10-14 14:35
target.add_states(状态id, true)#true即强制附加该状态  发表于 2022-10-13 22:22
如果想让目标死亡的时候获得1个状态该怎么写?比如获得20号状态  发表于 2022-10-13 21:23

评分

参与人数 1星屑 +50 +1 收起 理由
RyanBern + 50 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 10:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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