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

Project1

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

[已经解决] 【ACE】如何让状态在mp归0的情况下自动解除?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1985
在线时间
176 小时
注册时间
2022-6-24
帖子
176
跳转到指定楼层
1
发表于 2023-1-25 06:01:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就如标题所言,想要做出这样的效果有什么办法?
我先尝试过了用技能呼叫公共事件开启开关,然后让开关开启自动进行的公共事件来不断赋值mp变量,最后判定mp为零消除状态,但是公共事件不知道为什么没用?还是说战斗的时候不能用公共事件?
在尝试做游戏了,但还是个菜狗(结果现在编程,音乐和剧情设计没开始学,画画也暂时没时间学了(;д;))

(个人精神状况不是很好,有时会说出一些奇怪且根本没法理解意思的话,直接无视就好,如果说出的话不小心冒犯到你,我会在精神状况良好时和你道歉的(`・ω・´)(不过一般在感觉到不适时会直接下线,请勿过于担心))

Lv5.捕梦者

梦石
0
星屑
24287
在线时间
5046 小时
注册时间
2016-3-8
帖子
1618
2
发表于 2023-1-25 10:41:14 | 只看该作者
众所周知, 1号状态(濒死会在hp为0时自动附加, hp不为0时自动移除
所以反过来说,  只要找到相应的语句,  就能改成mp不为0时啥也不变, mp为0时自动移除

相应的语句:Game_BattlerBase 504行的@hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)

写个alias:
class Game_BattlerBase
  alias refresh_state_by_zero_mp refresh
  def refresh
    refresh_state_by_zero_mp
    remove_state(状态id) if @mp == 0
  end
end

点评

感谢125大佬的帮助,问题已经解决了,谢谢  发表于 2023-1-26 06:33

评分

参与人数 1+1 收起 理由
ACRI + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 12:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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