You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

游戏脚本开发:如何在无限循环中仅执行一次条件代码?

解决方法

你需要添加一个状态标记变量来记录目标代码是否已经执行过,以此避免重复触发。具体修改如下:

// 初始化标记,默认未执行过目标代码
bool hasTriggered = false;
while (true)
{
    var value = swed.ReadInt(localplayer, offsets.health);
    // 只有当数值为70且从未触发过时,才执行代码
    if (value == 70 && !hasTriggered)
    {
        Console.WriteLine("hello");
        // 标记为已触发,防止后续重复执行
        hasTriggered = true;
    }
    // 如果你需要:数值离开70后,再次回到70时能重新触发,就取消下面这段注释
    // else if (value != 70 && hasTriggered)
    // {
    //     hasTriggered = false;
    // }
}

逻辑说明

  • hasTriggered 相当于一个开关,初始值为false,代表还没执行过你要的那段代码。
  • 当读取到的数值等于70,且开关处于未触发状态时,才会执行输出操作,同时把开关拨到已触发状态。
  • 之后哪怕数值一直停留在70,因为开关已经是true,触发条件不再满足,就不会重复输出"hello"。

内容的提问来源于stack exchange,提问作者Finn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:07:09