Closed zidianzhimeng closed 4 weeks ago
先描述一下这个问题吧,我不太清楚现在这个bug是什么情况
进入结算界面后直接点击完成按钮,但是这时按钮不会马上显示,点击是无效的。所以会再次触发结算界面的执行函数,第二次点击才成功,我加了1秒延迟就解决了
关于最大战斗次数规则的实现,推荐采用以下的实现示例,不推荐直接在task.py
文件中直接添加函数
from utils.task import task
from utils.config import config
from utils import logger
from schema import info
# 条件任务 - 最大战斗次数
# 当战斗次数达到最大战斗次数时,停止战斗
# 装饰器 conditional 用于定义条件任务
# 参数 name 为任务名称
# 参数 condition 为条件函数,返回 True 时执行任务
# 示例中使用了 lambda 表达式定义条件函数
# 任务函数无需参数,无需返回值
@task.conditional(
name="最大战斗次数",
condition=lambda: config.maxFightCount and info.fightCount >= config.maxFightCount,
)
def max_fight_times():
"""
达到最大战斗次数
"""
logger.info(f"当前已达到最大战斗次数{config.maxFightCount},停止战斗")
task.stop()
在 handle
文件夹下创建conditional.py
文件,编写条件事件。
请修改一下后提交
有个问题,现在的战斗次数计算是进入选择角色页面就加1。这会导致如果打不过怪,重新进入选择角色页面,依旧会加1,我的想法是这种战斗失败的情况不要记录战斗次数。当然最好的方法是优化战斗逻辑,不要让战斗失败,但是建议战斗次数记录的逻辑再优化一下。
添加限制最大战斗次数的功能,并且修复结算界面的bug