当前位置:首页 > M2插件 > SD插件 > 正文内容

SD插件SDWhile循环判断指令详解 - 批量发奖脚本配置

M2GM2026-10-12SD插件46
摘要:SD插件循环判断指令用SDWhile命令实现,本文讲解命令格式说明、参数讲解、实战案例与常见坑点。命令带循环变量、检测符号、判断参数、自增自减值四个参数,必须与sdENDWHILE配对并放在#ACT下使用,循环体里要让变量逼近退出条件避免死循环,支持多层嵌套,适合批量回收与按数量重复发奖。…
[TOCM]

很多人在问脚本里怎么让一段命令重复执行指定次数,比如按数量循环发奖励、批量处理包裹物品。SD插件的循环判断指令SDWhile就是解决这个的,它让你给定一个变量和判断条件,条件成立就反复跑循环体,直到条件不满足才退出。写回收、批量发物品这类脚本时,用它比复制粘贴十遍命令清爽得多。

我第一次用的时候忘了在循环体里给变量减一,结果M2直接卡死,重启才恢复。这篇把循环判断指令的四个参数、嵌套写法和防死循环要点讲清楚,你照着写就不会把M2跑死。

循环判断指令配图 - M2GM

命令格式说明

SDWhile要和循环尾命令sdENDWHILE配对使用,循环体夹在中间。它必须写在#ACT下,循环开始和循环尾都支持嵌套。基本写法为:

[@测试]
#Act
Mov N0 5
SDWhile N0 > 0
DEC N0 1
give 金币 5000
sendmsg 7 回收成功,金币+5000.
SDendWhile
sendmsg 7 执行完成!

SDWhile后面接变量、检测符号和判断条件,条件成立就进入循环体。循环尾sdENDWHILE负责标记这段循环结束。上面例子里N0从5开始,每圈减1,减到0就退出。

参数讲解

参数 说明 实操用法
参数1变量 被判断的循环变量 用N0这类数值变量
参数2检测符号 等于、不等于、大于、大于等于、小于、小于等于 按退出条件选符号
参数3判断参数 跟变量比较的值,可以是变量 如大于0就填0
参数4自增自减 运行一次后变量自动增减,默认0 填-1每圈减1

参数4是自增或自减值,填1表示跑一圈参数1自动加1,填-2表示自动减2,默认或不写等于0,支持任意整数,数值范围以本地版本为准。它只对变量起作用。记住:循环体里必须有让变量逼近不满足条件的动作,否则会一直循环卡死M2。

实战案例

多重循环做嵌套时,三层SDWhile套在一起,每层用独立变量计数:

#act
mov N0 3
mov n4 0
sdwhile N0 > 1 -1
mov N1 4
sdwhile N1 > 1 -1
mov N2 5
sdwhile N2 > 1 -1
inc n4 1
sendmsg 7 循环=<$STR(N0)>/<$STR(N1)>/<$STR(N2)>/<$STR(N4)>
SDendwhile
SDendwhile
SDendwhile

三层各自用参数4填-1做自减,n4在最内层累加,记录一共跑了多少圈。嵌套时每层SDWhile都要对应一个sdENDWHILE,少写一个配对就会报错。这种循环脚本适合批量枚举、按数量重复发奖的场景。

常见坑点

最大的坑是死循环:循环体里没有减一或延时,条件永远成立,M2就被卡死。例子里特意写了DEC N0 1,就是为了让每圈把N0往0靠近。第二个坑是嵌套时循环尾sdENDWHILE数量对不上,开始几个就得结束几个。第三个坑是把SDWhile写在#IF段,它要求放在#ACT下使用。循环条件设错的后果比普通命令严重,改完先小范围测。

FAQ问答

1. 问:怎么用脚本解决挂机发呆罚站的问题?

答:用机器人脚本定时检测人物坐标有没有变化,长时间不动就判定为发呆,先停止挂机再重新激活挂机,让人物动起来。这里本质是靠定时判断加条件触发,和循环判断指令的思路一致,都是先判断条件再执行动作。(来源:MirCoding,2026-09检索,已去隐私)

2. 问:服务端一直提示脚本死循环是什么原因?

答:M2报脚本死循环常见于GOTO跳转,跳转到的目标段里又跳回自身,形成无限自跳转;把相关段脚本贴出来逐段排查多余跳转。用SDWhile做循环时也一样,只要循环体里变量不往退出条件走,就会被判定为死循环。(来源:百度知道,2017-11检索,已去隐私)

3. 问:脚本陷入死循环了应该怎么处理?

答:先检查循环相关命令段下大括号和循环尾是否成对,再确认跳转或循环引用的段名是否存在;循环脚本一定要带条件退出和自减动作,不能无条件自跳转。卡死时重启M2后,第一时间把循环体里加一句让变量逼近条件的命令。(来源:百度知道,2010-07检索,已去隐私)

4. 问:循环判断指令一般用来做什么?

答:按数量重复执行命令最常用,比如回收N件装备就发N次金币奖励、批量给包裹物品做处理、多层枚举组合。凡是要把一段逻辑重复固定次数,都适合写成循环脚本而不是复制命令。

5. 问:SDWhile的参数4自增自减为什么默认是0?

答:默认0表示跑完一圈变量不变,这时必须在循环体里自己用DEC或INC改变量,否则条件永远成立。填-1让它每圈自动减一,就可以把手动减一的动作省掉,写法更紧凑。

6. 问:循环判断指令和跳转执行脚本命令有什么区别?

答:SDWhile是条件循环,靠变量和符号判断每圈要不要继续,天然带退出条件;跳转执行脚本是直接指定跑几次,按次数控制。一个按条件退,一个按次数跑,批量回收这种要边走边判断数量的更适合用SDWhile。

收尾

循环判断指令用SDWhile命令靠变量加检测符号做循环条件判断,决定循环跑几圈,配合sdENDWHILE配对和循环体里的自减动作,就能安全地批量执行命令;嵌套时记得每层都要有循环尾,别让变量一直满足条件把M2卡死。

SDWhile循环的嵌套与自增自减在本地环境验证过,循环条件写错会卡死M2,示例仅供学习参考,其他引擎无同名循环命令。

内容来源可溯:SD插件帮助文档(循环判断指令)。

扫描二维码推送至手机访问。

本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/plug/sd/sd-sdwhile/

分享给朋友:

相关文章

996引擎GetMapRouteInfo怎么查?查看动态地图链接点脚本教程

996引擎GetMapRouteInfo怎么查?查看动态地图链接点脚本教程

996引擎GetMapRouteInfo查看动态地图链接点教程:标示号、方式0起点1终点、A变量存地图G变量存坐标、批量循环导出;查不到按标示是否建过与变量号排,改完别忘保存脚本,M2引擎会自动热加载不用重启。…

996引擎OpenWebSite怎么弹?游戏内打开网站地址脚本教程

996引擎OpenWebSite怎么弹?游戏内打开网站地址脚本教程

996引擎OpenWebSite打开网站地址教程:完整网址带http、NPC多页菜单跳转、带玩家名参数;网址缺协议与老客户端不支持内嵌浏览器排查,改完记得重启M2引擎才生效,单机测的时候记得开GM模式。…

翎风引擎HumanHP怎么用?调整人物血量加减血命令详解

翎风引擎HumanHP怎么用?调整人物血量加减血命令详解

翎风引擎HumanHP教程:+加-减=设值三控制符、超上限自动截断、=是设值不是加血、和MAXHP区别、狂暴之力登录常驻,单机测试小号测。…

ESP插件HookMagicStruck怎么用?被魔法攻击受伤回调脚本教程

ESP插件HookMagicStruck怎么用?被魔法攻击受伤回调脚本教程

ESP插件HookMagicStruck被魔法攻击回调教程:[@Login]开启、QFunction-0.txt写[@HookMagicStruck]段;N50攻击方类型/N51技能ID/N52魔法伤害;段内改N52即改承受魔法伤害;与HookMagic方向区别,附避坑与实操步骤。…

大秦插件人物禁止移动DQNOWALK命令必查的3个设置细节

大秦插件人物禁止移动DQNOWALK命令必查的3个设置细节

大秦插件禁止移动命令DQNOWALK入门教程:参数1开关写法、buff定身自动解除技巧、报错排查三步法、实操步骤与FAQ,3个设置细节逐个展开,适配大秦插件脚本定制学习,仅供单机本地学习调试。…

LFM2引擎MobFireBurn怎么用?地图光环光圈特效脚本教程

LFM2引擎MobFireBurn怎么用?地图光环光圈特效脚本教程

LFM2引擎MobFireBurn教程:五参数地图名坐标XY光圈类型持续秒数;纯特效不挡路不伤怪;持续时间要设否则一直存在;能放多个;玩家下线光圈还在,附避坑与实操步骤。…

大秦插件NPC输入框怎么用?拓展NPC面板支持输入框编辑框脚本教程

大秦插件NPC输入框怎么用?拓展NPC面板支持输入框编辑框脚本教程

大秦插件NPC输入框教程:OpenEditBox三参数S变量提示文字最大长度;@EditBoxOk接收段;必须做长度和字符校验;取消也触发接收段;一次只能弹一个,附避坑与实操步骤。…

HGE引擎TimeRecall配置方法 - 定时传送回原处实战案例

HGE引擎TimeRecall配置方法 - 定时传送回原处实战案例

TimeRecall是HGE引擎人物定时传送回原处命令,格式为TimeRecall加时间分钟数、换地图停止两参数,自动记住调用处位置到点送回。本文用表格拆解分钟单位、0不停与1停区别,给出限时房挂计时到取消召回案例,并与BREAKTIMERECALL取消、机器人定时拉人对比,附单位填错、原坐标选错等易错点与六条问答。…