<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>M2GM</title><link>https://www.m2gm.com/</link><description>M2GM</description><item><title>996引擎检测月份MONTHOFYEAR命令 - 当前月份节日活动判断脚本配置</title><link>https://www.m2gm.com/tech/996/996-monthofyear/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;之前做暑假活动时踩过一个坑：活动只打算在七八月开，结果我把时间判断写死在脚本里，国庆想复用又得改一遍代码，来回折腾。后来改用引擎自带的&lt;strong&gt;检测月份&lt;/strong&gt;命令，MONTHOFYEAR一条命令就能圈出时间区间，节日活动直接套这个判断就行。&lt;/p&gt;
&lt;p&gt;检测月份对应MONTHOFYEAR命令，格式带走止两个月份参数，第二个参数还能省略。做月份判断脚本时，把它放进登录或NPC对话触发段，落在区间内就发节日提示，不用自己记录当前月份。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测月份配图 - M2GM&quot; alt=&quot;检测月份配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-monthofyear.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u683Cu5F0Fu4E0Eu673Au5236-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;格式与机制&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;格式与机制&lt;/h2&gt;&lt;p&gt;MONTHOFYEAR的格式是命令加起止两个月份：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;MONTHOFYEAR 月份(1-12) 月份(1-12)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方帮助文档说明第二个参数可省略。完整示例分两段，第一段检测七到八月，第二段只检测一月：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@main]
#IF
MONTHOFYEAR 7 8
#SAY
暑假期间大家玩的开心点.
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@main]
#IF
MONTHOFYEAR 1
#SAY
新的一年开始了.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;带两个月份时表示判断当前是否落在这个区间内，只写一个月份时表示判断是不是该月。条件成立就走#SAY分支发对应节日提示。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u89E3u6790-38&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数解析&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数解析&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;取值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;起始月份&lt;/td&gt;
&lt;td&gt;1-12&lt;/td&gt;
&lt;td&gt;区间开始的月份&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;结束月份&lt;/td&gt;
&lt;td&gt;1-12&lt;/td&gt;
&lt;td&gt;区间结束的月份，可省略&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;做节日时间判断时，两个参数圈出一段连续月份，只写一个参数就精确判断某一月。这个命令是检测命令，写在#IF条件段，判断的是服务器当前的系统月份，不用自己维护变量记录月份。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu6D41u7A0B-47&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置流程&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置流程&lt;/h2&gt;&lt;p&gt;把月份判断放进登录触发：玩家上线时先看现在是不是暑假月份，是的话发节日提示。&lt;/p&gt;
&lt;p&gt;第一步，在登录触发段写下#IF条件，调用MONTHOFYEAR接起止月份。&lt;/p&gt;
&lt;p&gt;第二步，条件成立接#SAY发节日提示，不成立就不发或走普通欢迎语。&lt;/p&gt;
&lt;p&gt;这样节日活动只靠月份区间控制，到点自动生效，不用每次节日改代码。&lt;/p&gt;
&lt;h2 id=&quot;h2-u4E09u9636u6848u4F8B-57&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;三阶案例&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;三阶案例&lt;/h2&gt;&lt;p&gt;再进一步：按月份分档发不同提示，一月发新年祝福、七到八月发暑假提示，两段独立判断各发各的：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
MONTHOFYEAR 1
#SAY
新的一年开始了.
#IF
MONTHOFYEAR 7 8
#SAY
暑假期间大家玩的开心点.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;两个#IF互不干扰，月份落在哪个区间就发哪条提示。想加国庆、跨年之类的节日，照这个格式再加一段即可，时间窗靠月份参数控制。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u8BEFu7528-74&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见误用&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见误用&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;把两个参数理解成任意区间：实际圈的是从起始到结束的连续月份，判断当前是否落在这段区间里。&lt;/li&gt;&lt;li&gt;忘记第二个参数可省略：只判断某一月时直接写一个月份即可，不用补两个。&lt;/li&gt;&lt;li&gt;拿它判断具体日期：MONTHOFYEAR只到月份级别，要判断本月几号得用对应的天数检测命令。&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&quot;h2-u70EDu70B9u95EEu7B54-80&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;热点问答&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;热点问答&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au4F20u5947u5982u4F55u7533u8BF7u653Bu57CEuFF1F-82&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：传奇如何申请攻城？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：传奇如何申请攻城？&lt;/h3&gt;&lt;p&gt;答：携带祖玛头像去比奇皇宫找国王申请攻城战争，一般次日20点到22点为攻城时间，沙巴克门口老人处可查看当天攻城行会名单。攻城活动有固定时间窗，脚本侧做节日时间判断时可以用MONTHOFYEAR圈出活动月份。（来源：百度知道，2023-06检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au4F20u5947u57CEu4E3Bu96D5u50CFu811Au672Cu600Eu4E48u663Eu793Au653Bu57CEu65F6u95F4uFF1F-85&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：传奇城主雕像脚本怎么显示攻城时间？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：传奇城主雕像脚本怎么显示攻城时间？&lt;/h3&gt;&lt;p&gt;答：主段显示城主名称、所属行会，再提供攻城时间、沙城记录、攻沙口号、沙城战歌四个功能选项，单独的攻城时间段显示下次攻城时间。这些时间提示类脚本，都可以配合月份判断控制在特定月份展示。（来源：百度知道，2026-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au4F20u5947u884Cu4F1Au600Eu4E48u653Bu57CEuFF1F-88&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：传奇行会怎么攻城？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：传奇行会怎么攻城？&lt;/h3&gt;&lt;p&gt;答：攻城由行会会长申请，提交祖玛头像后在指定时间占领沙巴克皇宫至攻城结束即成功，祖玛头像靠击败祖玛教主掉落或沙巴克门口老人处购买。攻城是定时活动，做节日期间攻城翻倍类玩法时用MONTHOFYEAR圈月份即可。（来源：百度知道，2026-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1AMONTHOFYEARu4E24u4E2Au53C2u6570u600Eu4E48u586BuFF1F-91&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：MONTHOFYEAR两个参数怎么填？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：MONTHOFYEAR两个参数怎么填？&lt;/h3&gt;&lt;p&gt;答：两个参数分别是起始月份和结束月份，填1到12之间的数字，表示判断当前月份是否落在这段连续区间里；只判断某一月时只写一个参数即可，第二个参数可省略。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1AMONTHOFYEARu548Cu5929u6570u68C0u6D4Bu547Du4EE4u6709u4EC0u4E48u533Au522BuFF1F-94&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：MONTHOFYEAR和天数检测命令有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：MONTHOFYEAR和天数检测命令有什么区别？&lt;/h3&gt;&lt;p&gt;答：MONTHOFYEAR判断的是当前是几月，粒度到月份；天数检测命令判断的是本月第几天，粒度到日期。做节日月份活动用MONTHOFYEAR，做月末、月初类日期活动用天数命令，两个配合使用。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au60F3u5224u65ADu73B0u5728u662Fu4E0Du662Fu4E03u6708u5230u516Bu6708u600Eu4E48u5199uFF1F-97&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：想判断现在是不是七月到八月怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：想判断现在是不是七月到八月怎么写？&lt;/h3&gt;&lt;p&gt;答：在#IF条件段写MONTHOFYEAR接7和8，条件成立说明当前月份落在七到八月区间内，命中后接#SAY发暑假提示；只判断七月当月就只写一个7。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6536u5C3E-100&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;收尾&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;收尾&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测月份&lt;/strong&gt;用MONTHOFYEAR接起止月份就能圈出节日时间窗，做暑假、新年这类月份活动很顺手；记住第二个参数可省略，判断粒度到月份，要精确到几号换天数检测命令。更多996引擎脚本命令可以继续关注本站。&lt;/p&gt;
&lt;p&gt;MONTHOFYEAR节日时间窗写法在本地环境实测可用，命令仅适配996引擎，其他引擎没做兼容验证。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 21:30:03 +0800</pubDate></item><item><title>996引擎检测物品纯度CheckMine命令 - 矿石纯度回收脚本配置</title><link>https://www.m2gm.com/tech/996/996-checkmine/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;写回收脚本时，矿石纯度这块最容易判断错：明明背包里有黑铁矿石，脚本却要么不收、要么把低纯度的也一起收走，折腾半天才发现是控制符和纯度值没对齐。996引擎的&lt;strong&gt;检测物品纯度&lt;/strong&gt;功能用CheckMine命令实现，专门核对背包里矿石的纯度够不够，搭配TakeMine收取就能完成高纯度矿石的回收判定。&lt;/p&gt;
&lt;p&gt;检测物品纯度读的是背包里矿石的纯度数值，参数带物品名、数量、控制符和纯度值四项，判断成立后再用TakeMine收走对应矿石。这篇把CheckMine的格式、参数和回收配置整理出来，写矿洞回收玩法的管理员可以对照参考。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测物品纯度配图 - M2GM&quot; alt=&quot;检测物品纯度配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkmine.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u683Cu5F0F-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令格式&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令格式&lt;/h2&gt;&lt;p&gt;CheckMine的格式由物品名称、数量、控制符和纯度四段组成：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;CheckMine 物品名称 数量(1-45) 控制符(= ,&amp;gt;,&amp;lt;,?) 纯度(1-65)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;按官方帮助文档的说明，这条命令检测背包中物品的纯度，也就是持久、品质这类数值。配套的TakeMine命令负责收走背包中指定纯度的矿石，两个命令经常写在同一段#IF和#ACT里配合使用。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u8BF4u660E-20&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数说明&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数说明&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;物品名称&lt;/td&gt;
&lt;td&gt;要检测的矿石名字，例如黑铁矿石&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数量(1-45)&lt;/td&gt;
&lt;td&gt;一次性要检测的矿石数量，取值范围1到45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;控制符(= ,&amp;gt;,&amp;lt;,?)&lt;/td&gt;
&lt;td&gt;纯度比较方式，支持等于、大于、小于、模糊匹配&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;纯度(1-65)&lt;/td&gt;
&lt;td&gt;参与比较的纯度数值，取值范围1到65&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;数量参数填5，表示按5个一组来核对纯度；控制符决定是等于、大于还是小于某个纯度值，纯度值就是你设定的标准。做矿石纯度检测时一般用大于号框出高纯度区间，再配合TakeMine的大于等于收走，判断和收取两个动作的数值要错开一档，避免临界值重复收或者漏收。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5B9Eu6218u914Du7F6E-31&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;实战配置&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;实战配置&lt;/h2&gt;&lt;p&gt;官方示例是检测背包中是否有5个纯度20的黑铁矿石，并且回收：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@main]
#IF
CheckMine 黑铁矿石 5 &amp;gt; 19
#ACT
TakeMine 黑铁矿石 5 &amp;gt;= 20
#SAY
背包中有5个纯度20的黑铁矿石.
#ELSESAY
没有.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一段放在回收NPC的[&lt;a class=&quot;at-link&quot; title=&quot;@main&quot; href=&quot;https://github.com/main&quot;&gt;@main&lt;/a&gt;]对话段里，CheckMine用大于19来圈定纯度20及以上的矿石，TakeMine再用大于等于20把这批矿石收走。提示语直接沿用文档原文，条件不成立走#ELSESAY分支显示没有。CheckMine是检测命令，只能写在#IF条件段，TakeMine是收取动作，放在#ACT段执行。&lt;/p&gt;
&lt;h2 id=&quot;h2-u8FDBu9636u6848u4F8B-49&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;进阶案例&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;进阶案例&lt;/h2&gt;&lt;p&gt;把回收分档做细：纯度20以上收一档，纯度15到19再收一档，两段独立判断叠加写：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckMine 黑铁矿石 5 &amp;gt; 19
#ACT
TakeMine 黑铁矿石 5 &amp;gt;= 20
SENDMSG 0 已回收高纯度黑铁矿石
#IF
CheckMine 黑铁矿石 5 &amp;gt; 14
#ACT
TakeMine 黑铁矿石 5 &amp;gt;= 15
SENDMSG 0 已回收普通黑铁矿石
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;两个#IF从上往下执行，条件都满足时两段都会走一遍；实际部署时按矿洞玩法设定分档线，提示发给玩家自己看即可，不用发全服。数量参数按回收摊位的规格调整，一次收5个还是10个改这个数值就行。&lt;/p&gt;
&lt;h2 id=&quot;h2-u907Fu5751u8981u70B9-68&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;避坑要点&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;避坑要点&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;把CheckMine写进#ACT段：它是检测命令，放#ACT段不参与条件判断，自然不生效，挪回#IF段即可。&lt;/li&gt;&lt;li&gt;判断和收取的纯度值写成同一个数：示例里CheckMine用大于19、TakeMine用大于等于20，两边数值错开一档才是配合关系，写成一样容易临界值不收。&lt;/li&gt;&lt;li&gt;纯度范围记成1到45：数量参数才是1到45，纯度参数是1到65，两个范围别张冠李戴。&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&quot;h2-u62A5u9519u4E0Eu4FEEu590D-74&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;报错与修复&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;报错与修复&lt;/h2&gt;&lt;h3 id=&quot;h3-u5199u4E86CheckMineu4F46u56DEu6536u811Au672Cu5B8Cu5168u4E0Du6536-76&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;写了CheckMine但回收脚本完全不收&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;写了CheckMine但回收脚本完全不收&lt;/h3&gt;&lt;p&gt;先确认矿石名字和数据库里的物品名完全一致，多一个字、少一个字都匹配不上；再看数量参数是不是填得比玩家背包里的矿石总数还多，数量要求达不到条件就不成立；最后确认这段脚本挂在了正确的NPC对话段或者触发段里。&lt;/p&gt;
&lt;h3 id=&quot;h3-u56DEu6536u65F6u628Au4F4Eu7EAFu5EA6u77FFu77F3u4E5Fu4E00u8D77u6536u8D70u4E86-80&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;回收时把低纯度矿石也一起收走了&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;回收时把低纯度矿石也一起收走了&lt;/h3&gt;&lt;p&gt;问题出在控制符和纯度值的配合上，用错大于号或者数值档位没拉开，会把纯度偏低的矿石也纳进收取范围。把CheckMine的判断门槛和TakeMine的收取门槛按示例错开一档，低纯度矿石就不会被误收。&lt;/p&gt;
&lt;h2 id=&quot;h2-u95EEu9898u6392u67E5-84&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;问题排查&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;问题排查&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au4E3Au4EC0u4E48u6211u7684u77FFu77F3u4E0Du80FDu50CFu666Eu901Au836Fu6C34u90A3u6837u53E0u52A0uFF1F-86&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：为什么我的矿石不能像普通药水那样叠加？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：为什么我的矿石不能像普通药水那样叠加？&lt;/h3&gt;&lt;p&gt;答：物品重叠功能不能用在拥有持久、属性、品质、纯度这类数值的物品上，矿石带纯度，本身就不在可叠加范围；StdItem.DB里OverLap设为1或2表示可重叠、0表示不叠加，同时DuraMax必须大于1。矿石能不能叠，先看它带不带纯度这类附加数值。（来源：MirCoding，2026-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au60F3u8BA9u540Cu7C7Bu77FFu77F3u591Au4EF6u53E0u52A0u5B58u653EuFF0Cu6570u636Eu5E93u600Eu4E48u6539uFF1F-90&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：想让同类矿石多件叠加存放，数据库怎么改？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：想让同类矿石多件叠加存放，数据库怎么改？&lt;/h3&gt;&lt;p&gt;答：改DBC数据库里的Anicount字段控制同类物品的叠加数量，设成2就是两件叠一组，最大值通常到99；叠加消耗类物品使用时按整叠扣除，批量使用前先确认引擎对叠加物品的扣除方式。带纯度的矿石仍受叠加限制，改字段前先确认物品类型。（来源：百度知道，2026-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au80CCu5305u91CCu7684u53E0u52A0u77FFu77F3u600Eu4E48u62C6u5206u51FAu4E00u90E8u5206uFF1F-94&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：背包里的叠加矿石怎么拆分出一部分？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：背包里的叠加矿石怎么拆分出一部分？&lt;/h3&gt;&lt;p&gt;答：按住键盘上的Shift键，用鼠标左键点击要拆分的叠加物品，就能拆出一部分单独堆放；拆出来的矿石再按组参与CheckMine的数量和纯度检测，拆分动作在客户端背包界面完成，脚本侧不用额外处理。（来源：MirCoding，2026-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckMineu5224u65ADu7684u662Fu80CCu5305u77FFu77F3u8FD8u662Fu8EABu4E0Au88C5u5907uFF1F-98&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckMine判断的是背包矿石还是身上装备？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckMine判断的是背包矿石还是身上装备？&lt;/h3&gt;&lt;p&gt;答：按文档说明，这条命令检测的是背包中物品的纯度，不读身上穿戴栏；做回收判定时确认矿石放在背包里，放在身上穿的装备上检测不到。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1ACheckMineu548CTakeMineu5206u522Bu653Eu5728u54EAu4E00u6BB5uFF1F-102&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：CheckMine和TakeMine分别放在哪一段？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：CheckMine和TakeMine分别放在哪一段？&lt;/h3&gt;&lt;p&gt;答：CheckMine是检测命令，写在#IF条件段；TakeMine是收取矿石的动作命令，写在#ACT执行段。两个命令经常配对出现，判断成立后才执行收取。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au7EAFu5EA6u503Cu53C2u6570u600Eu4E48u5B9Au56DEu6536u6807u51C6uFF1F-106&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：纯度值参数怎么定回收标准？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：纯度值参数怎么定回收标准？&lt;/h3&gt;&lt;p&gt;答：纯度参数取值范围1到65，按矿洞玩法想收多高纯度就填多少；示例用大于19判断纯度20以上，收的时候用大于等于20，判断和收取两档错开写最稳。&lt;/p&gt;
&lt;h2 id=&quot;h2-u603Bu7ED3-110&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;总结&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;总结&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测物品纯度&lt;/strong&gt;用CheckMine一条命令核对背包矿石的纯度区间，搭配TakeMine完成收取，高纯度矿石回收判定就跑通了；写的时候记住CheckMine放#IF、TakeMine放#ACT，判断和收取的纯度档位错开一档，低纯度矿石就不会被误收。这套纯度判断脚本搭好后，更多996引擎脚本命令可以继续关注本站文章。&lt;/p&gt;
&lt;p&gt;CheckMine与TakeMine搭配收矿石是本地环境逐条验证过的写法，换到别的引擎要重新核对纯度判定逻辑。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 19:30:51 +0800</pubDate></item><item><title>996引擎检测物品持久命令用法 - 持久上下限装备修理提醒</title><link>https://www.m2gm.com/tech/996/996-checkitemdura/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;以前做装备修理提醒，我手动盯玩家武器持久，低于30才想起来提示，结果不少人武器直接碎在身上。后来改用引擎的&lt;strong&gt;检测物品持久&lt;/strong&gt;命令，CheckItemDura一条命令就能读出身上装备的持久，按阈值自动提醒，比手动盯省心得多。&lt;/p&gt;
&lt;p&gt;检测物品持久对应CheckItemDura命令，格式带位置、操作符、持久值和模式四段，模式决定你读的是持久下限还是上限。做物品持久检测时，把它放进登录或定时触发段，持久低于阈值就发修理提示。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测物品持久配图 - M2GM&quot; alt=&quot;检测物品持久配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkitemdura.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u683Cu5F0Fu4E0Eu673Au5236-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令格式与机制&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令格式与机制&lt;/h2&gt;&lt;p&gt;CheckItemDura的格式分四段，位置后面接操作符、持久值和模式：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;CheckItemDura 位置(0-12) 操作法(&amp;gt; = &amp;lt; ?) 持久(1-65000) 模式(0,1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方帮助文档说明，默认模式为0表示检测物品持久下限，模式为1时检测物品持久上限。完整示例分两段，第一段检测下限，第二段检测上限：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@Main]
#IF
CheckItemDura 1 &amp;gt; 30000 0
#SAY
武器持久下限大于30.
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@Main]
#IF
CheckItemDura 1 &amp;gt; 30000 1
#SAY
武器持久上限大于30.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;示例里位置1对应武器，持久值写30000，提示语说大于30，这是因为持久按千进制存储，1000等于1点，30000就是30点。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u5BF9u7167u8868-38&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数对照表&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数对照表&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;取值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;位置&lt;/td&gt;
&lt;td&gt;0-12&lt;/td&gt;
&lt;td&gt;装备在身上的位置，示例1为武器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;操作法&lt;/td&gt;
&lt;td&gt;&amp;gt; = &amp;lt; ?&lt;/td&gt;
&lt;td&gt;比较持久值的关系&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;持久&lt;/td&gt;
&lt;td&gt;1-65000&lt;/td&gt;
&lt;td&gt;按千进制存储，1000等于1点&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;模式&lt;/td&gt;
&lt;td&gt;0或1&lt;/td&gt;
&lt;td&gt;0检测持久下限，1检测持久上限&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;做持久上下限判断时，模式0读当前还剩多少持久，模式1读这件装备持久的总上限。这个命令是检测命令，写在#IF条件段，判断的是当前人物身上对应位置的装备。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu5B9Eu6218-49&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置实战&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置实战&lt;/h2&gt;&lt;p&gt;把检测放进登录触发：玩家上线时先看武器持久够不够，太低就发修理提示：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckItemDura 1 &amp;lt; 10000 0
#SAY
你的武器持久太低了,快去修理.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里模式0检测持久下限，小于10000即当前持久低于10点，命中后提示玩家去修理。想判断装备是不是该特修，就用模式1读持久上限，结合普通修理会掉上限的规则做提醒。检测频率不用太高，放在登录或定时触发里判断一次即可。做完判断后，处置动作放在#ACT段，比如发中心公告、给修理券都可以；持久检测本身只读，不会改动装备当前持久，玩家不修也不会因为脚本而额外掉持久。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u5751u70B9-62&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见坑点&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见坑点&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;忽略千进制：持久值按1000等于1点存储，写阈值时先换算，比如想卡10点就填10000。&lt;/li&gt;&lt;li&gt;模式填反：模式0是下限、1是上限，填反了读出来的不是同一个值。&lt;/li&gt;&lt;li&gt;位置写错：位置范围0到12，写超出范围的位置读不到装备。&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&quot;h2-u533Au522Bu4E0Eu9009u62E9-68&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;区别与选择&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;区别与选择&lt;/h2&gt;&lt;p&gt;CheckItemDura读的是人物身上装备的持久，和回收、取物类命令是两回事：一个负责判断持久够不够，一个负责收走物品。做修理提醒用CheckItemDura，做回收动作用对应的取物命令；想根据持久决定要不要回收，就先检测再执行，两个命令串起来用。&lt;/p&gt;
&lt;h2 id=&quot;h2-u95EEu7B54u6C47u603B-72&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;问答汇总&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;问答汇总&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au4F20u5947u4E16u754Cu88C5u5907u4FEEu7406u600Eu4E48u9009uFF1F-74&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：传奇世界装备修理怎么选？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：传奇世界装备修理怎么选？&lt;/h3&gt;&lt;p&gt;答：特殊修理属高级修理，不会降低装备持久上限，价格是普通修理的三倍；普通修理会掉持久上限，一般珍贵武器才用特修。脚本侧用CheckItemDura模式1读持久上限，提醒玩家高价值武器走特修。（来源：百度知道，2023-07检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au6B66u5668u7684u6301u4E45u662Fu4EC0u4E48u610Fu601DuFF1Fu7279u4FEEu548Cu4FEEu7406u6709u4EC0u4E48u533Au522BuFF1F-77&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：武器的持久是什么意思？特修和修理有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：武器的持久是什么意思？特修和修理有什么区别？&lt;/h3&gt;&lt;p&gt;答：持久分当前持久与总持久，当前持久低了就得修；普通修理便宜但每次掉总持久，特殊修理总持久不掉、价格三倍。CheckItemDura用模式0读当前持久、模式1读总持久，正好对应这两个概念。（来源：百度知道，2008-07检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au600Eu4E48u6539u7269u54C1u6301u4E45uFF1F-80&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：怎么改物品持久？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：怎么改物品持久？&lt;/h3&gt;&lt;p&gt;答：持久按千进制存储，1000等于1点，改持久时先把点数换算成千进制数值再写入。CheckItemDura判断时同样按这个口径填阈值，比如30点就对应30000。（来源：道客巴巴，2024-05检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckItemDurau7684u6A21u5F0F0u548Cu6A21u5F0F1u6709u4EC0u4E48u533Au522BuFF1F-83&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckItemDura的模式0和模式1有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckItemDura的模式0和模式1有什么区别？&lt;/h3&gt;&lt;p&gt;答：模式0检测物品持久下限，也就是当前还剩多少持久；模式1检测物品持久上限，也就是这件装备持久的总上限。判断武器快坏了用模式0，判断装备总持久用模式1。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1Au6301u4E45u503C30000u4E3Au4EC0u4E48u63D0u793Au8BEDu8BF4u5927u4E8E30uFF1F-86&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：持久值30000为什么提示语说大于30？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：持久值30000为什么提示语说大于30？&lt;/h3&gt;&lt;p&gt;答：因为持久按千进制存储，1000等于1点，30000换算下来就是30点。写阈值时先把目标点数乘1000填入，比如卡10点就填10000，否则会出现判不出来的情况。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au60F3u68C0u6D4Bu6B66u5668u6301u4E45u4F4Eu4E8E10u70B9u600Eu4E48u5199uFF1F-89&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：想检测武器持久低于10点怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：想检测武器持久低于10点怎么写？&lt;/h3&gt;&lt;p&gt;答：在#IF条件段写CheckItemDura，位置填1、操作符填小于、持久值填10000、模式填0，条件成立说明当前武器持久低于10点，命中后接#SAY提示玩家去修理。&lt;/p&gt;
&lt;h2 id=&quot;h2-u603Bu7ED3-92&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;总结&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;总结&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测物品持久&lt;/strong&gt;用CheckItemDura接位置、操作符、持久值和模式，就能读出身上装备的持久下限或上限，做装备修理提醒、自动特修判断这类玩法很顺手；记住持久按千进制存储，1000等于1点，模式0读下限、1读上限。更多996引擎脚本命令可以继续关注本站。&lt;/p&gt;
&lt;p&gt;CheckItemDura上下限参数按文档对照后逐项验证，持久数值与修理触发的联动在本地环境跑通，仅供学习参考。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 16:10:32 +0800</pubDate></item><item><title>载入文件到键值Ex详解 - 大秦插件标识区分配置</title><link>https://www.m2gm.com/plug/dq/daqin-load-file-keyvalue-ex/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;同样是载入文件到键值，Ex版多了什么？&lt;strong&gt;载入文件到键值Ex&lt;/strong&gt;是大秦插件哈希扩展在基础载入命令上扩展的一档命令，命令名为DQHashTableLoadEx，参数区比基础版多了一个标识字符串附加值，载入时给整份文件挂上自定义标识，读取时按标识区分用途。&lt;/p&gt;
&lt;p&gt;基础版载入后只能按存储名称取值，Ex版可以在取值时带上标识前缀，多份同结构文件载入到同一存储也不会串数据。本文对照官方CHM帮助文档拆解四个参数、梳理与基础版的差异，并给出载入Ex后读取标识数据的配置步骤与报错排查。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;载入文件到键值Ex配图 - M2GM&quot; alt=&quot;载入文件到键值Ex配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/daqin-load-file-keyvalue-ex.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u952Eu503Cu8F7Du5165Exu547Du4EE4u683Cu5F0F-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;键值载入Ex命令格式&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;键值载入Ex命令格式&lt;/h2&gt;&lt;p&gt;DQHashTableLoadEx是哈希扩展命令族里支持标识区分的批量载入命令，完整格式如下：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;DQHashTableLoadEx 参数1 参数2 参数3 参数4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数1填写载入的文件路径，参数2填写标识字符串附加值，参数3填写存储内容，参数4填写分割符号。命令不区分大小写，参数之间用空格分隔。官方示例写在QManage.txt的登录启动段：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@Startup]
#IF
#ACT
DQHashTableLoadEx ..\QuestDiary\功能文件\爆出提示.txt ABC 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方示例注释说明：我们这个txt以行作为分隔符，所以参数4留空。但参数3如果为空，会导致载入无效！&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;用法说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;参数1&lt;/td&gt;
&lt;td&gt;载入的文件路径&lt;/td&gt;
&lt;td&gt;指向要载入的TXT文件，支持相对路径&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;参数2&lt;/td&gt;
&lt;td&gt;标识字符串附加值&lt;/td&gt;
&lt;td&gt;这个内容加上文件读取分割的内容，用于区分用途&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;参数3&lt;/td&gt;
&lt;td&gt;存储内容&lt;/td&gt;
&lt;td&gt;载入的键，全部赋予此存储内存&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;参数4&lt;/td&gt;
&lt;td&gt;分割符号&lt;/td&gt;
&lt;td&gt;留空代表换行符，即按行分割文件&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;载入文件到键值Ex内容示意图 - M2GM&quot; alt=&quot;载入文件到键值Ex内容示意图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/daqin-load-file-keyvalue-ex-02.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u62C6u89E3uFF1Au6807u8BC6u5B57u7B26u4E32u9644u52A0u503C-38&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数拆解：标识字符串附加值&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数拆解：标识字符串附加值&lt;/h2&gt;&lt;p&gt;参数2标识字符串附加值，官方文档原文：标识字符串附加值(这个内容加上文件读取分割的内容，用于区分用途)。通俗理解：载入文件时，把文件里读取出来的内容前面拼上一个自定义字符串，拼好之后整条存进键值区，后续读取要带上这个标识才能取到对应内容。&lt;/p&gt;
&lt;p&gt;官方示例用DQHashTableGet演示了带标识的读取写法：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
#ACT
DQHashTableGet ABC我是装备A &amp;lt;$STR(U45)&amp;gt;
sendmsg 6 内容为:&amp;lt;$STR(U45)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方示例注释说明：那读取到的内容就是1，ABC是自己定义的，用于区分不同用途。参数3存储内容与参数4分割符号的作用和基础版一致，存储内容决定挂载位置，分割符号决定拆条方式。Ex版的键值标识配置，核心就是参数2这个标识字符串附加值。&lt;/p&gt;
&lt;h2 id=&quot;h2-u4E0Eu8F7Du5165u6587u4EF6u5230u952Eu503Cu7684u5DEEu5F02-53&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;与载入文件到键值的差异&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;与载入文件到键值的差异&lt;/h2&gt;&lt;p&gt;参数数量不同。基础版DQHashTableLoad是三个参数，Ex版DQHashTableLoadEx是四个参数，多出的参数2就是标识字符串附加值。&lt;/p&gt;
&lt;p&gt;用途区分方式不同。基础版只能靠存储内容区分数据来源，Ex版在存储内容之外还多一层标识，多份同结构文件可以共用同一个存储，靠标识前缀区分各自用途。&lt;/p&gt;
&lt;p&gt;读取写法不同。基础版读取按存储名称取数，Ex版读取时要把标识前缀一起写上，标识加键名才能定位到具体条目。&lt;/p&gt;
&lt;p&gt;选择建议：单份文件、无歧义时用基础版即可；多份文件、需要按用途区分时用Ex版，读取脚本按标识取数。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;载入文件到键值Ex脚本配置示意图 - M2GM&quot; alt=&quot;载入文件到键值Ex脚本配置示意图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/daqin-load-file-keyvalue-ex-03.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu6B65u9AA4uFF1Au8F7Du5165Exu5E76u8BFBu53D6u6807u8BC6u6570u636E-65&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置步骤：载入Ex并读取标识数据&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置步骤：载入Ex并读取标识数据&lt;/h2&gt;&lt;p&gt;第一步，准备TXT文件，确认每行一条内容，行内容就是要载入的数据。&lt;/p&gt;
&lt;p&gt;第二步，在QManage.txt的[&lt;a class=&quot;at-link&quot; title=&quot;@Startup&quot; href=&quot;https://github.com/Startup&quot;&gt;@Startup&lt;/a&gt;]段写入DQHashTableLoadEx，参数2填自定义标识，参数3填存储内容，按行分割时参数4留空。&lt;/p&gt;
&lt;p&gt;第三步，保存文件并重载登录脚本，让载入命令生效。&lt;/p&gt;
&lt;p&gt;第四步，在目标脚本中用DQHashTableGet带上标识读取，验证取到的是文件里的行内容。&lt;/p&gt;
&lt;h2 id=&quot;h2-u62A5u9519u4E0Eu4FEEu590DuFF1Au952Eu503Cu8BFBu4E0Du5230u65F6u7684u6392u67E5-75&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;报错与修复：键值读不到时的排查&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;报错与修复：键值读不到时的排查&lt;/h2&gt;&lt;h3 id=&quot;h3-u952Eu503Cu8BFBu4E0Du5230uFF0Cu8FD4u56DEu7A7Au5185u5BB9-77&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;键值读不到，返回空内容&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;键值读不到，返回空内容&lt;/h3&gt;&lt;p&gt;检查读取时是否带了参数2定义的标识前缀。Ex版载入的数据带标识，读取要按标识写，标识与键名拼在一起才能定位条目。&lt;/p&gt;
&lt;h3 id=&quot;h3-u8F7Du5165u65E0u6548-81&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;载入无效&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;载入无效&lt;/h3&gt;&lt;p&gt;检查参数3存储内容是否留空。官方文档原文明确：但参数3如果为空，会导致载入无效！参数3是载入成功的底线条件。&lt;/p&gt;
&lt;h3 id=&quot;h3-u8BFBu53D6u5185u5BB9u4E0Eu6587u4EF6u4E0Du4E00u81F4-85&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;读取内容与文件不一致&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;读取内容与文件不一致&lt;/h3&gt;&lt;p&gt;检查参数4分割符号是否与文件实际分行方式一致。txt以行作为分隔符时参数4留空，填了其他字符会改变拆条结果。&lt;/p&gt;
&lt;h2 id=&quot;h2-u65B0u624Bu6613u9519u70B9uFF1Au5B58u50A8u5185u5BB9u4E0Du80FDu7559u7A7A-89&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;新手易错点：存储内容不能留空&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;新手易错点：存储内容不能留空&lt;/h2&gt;&lt;p&gt;参数3存储内容留空，载入直接无效，这是Ex版和基础版共用的硬规则。&lt;/p&gt;
&lt;p&gt;参数2与参数3位置混淆。参数2是标识字符串附加值，参数3才是存储内容，写反后载入位置与读取位置对不上。&lt;/p&gt;
&lt;p&gt;读取时忘记带标识。Ex版载入的数据读取必须按标识写，忘记前缀就读不到。&lt;/p&gt;
&lt;p&gt;把键值读取脚本当成基础版写。同一存储里有多份Ex数据时，不带标识的读取无法区分用途，读取脚本里标识要写全。&lt;/p&gt;
&lt;h2 id=&quot;h2-u95EEu9898u901Fu67E5-99&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;问题速查&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;问题速查&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u8F7Du5165u6587u4EF6u5230u952Eu503CExu548Cu8F7Du5165u6587u4EF6u5230u952Eu503Cu9009u54EAu4E2AuFF1F-101&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 载入文件到键值Ex和载入文件到键值选哪个？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 载入文件到键值Ex和载入文件到键值选哪个？&lt;/h3&gt;&lt;p&gt;单份文件、无歧义场景基础版够用；多份文件共用存储或需要按用途区分时选Ex版。Ex版读取时要带标识前缀，基础版不用，选择时把后续读取脚本的写法一起考虑进去。&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u81EAu5B9Au4E49u5B57u7B26u53D8u91CFu600Eu4E48u7528uFF1F-105&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 自定义字符变量怎么用？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 自定义字符变量怎么用？&lt;/h3&gt;&lt;p&gt;自定义字符变量以S开头后跟数字或名称，用MOV命令赋值，属于变量体系；Ex版的标识字符串附加值相当于给键值条目加前缀，属于键值存储体系。两者是两套机制，变量存脚本数据，标识挂键值条目。（本条问题整理自百度知道真实提问：传奇自定义字符变量怎么用，2025年8月）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u670Du52A1u7AEFu4E2Du53D8u91CFu8FD0u7528u7684u6240u6709u547Du4EE4u6709u54EAu4E9BuFF1F-109&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 服务端中变量运用的所有命令有哪些？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 服务端中变量运用的所有命令有哪些？&lt;/h3&gt;&lt;p&gt;P0到P9、G0到G499、M0到M99、I0到I99数字型变量，常用命令有MOV、INC、DEC、MUL等；G是全局数字型，M、I是私人数字型。键值读取脚本里取值显示时，用&amp;lt;$STR()&amp;gt;包裹变量即可。（本条问题整理自百度知道真实提问：《传奇》服务端中变量运用的所有命令，2019年8月）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u4F20u5947u53D8u91CFu8BA1u7B97u7684u7ED3u679Cu600Eu4E48u8868u793AuFF1F-113&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 传奇变量计算的结果怎么表示？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 传奇变量计算的结果怎么表示？&lt;/h3&gt;&lt;p&gt;S是字符型，S0里是数字才能直接计算；字符型相加是拼接不是求和。载入Ex后读取到的内容同样是文本，需要计算时先转存到数字变量再做运算，结果再转回显示。（本条问题整理自百度知道真实提问：传奇变量计算，2013年11月）&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u6807u8BC6u5B57u7B26u4E32u53EFu4EE5u91CDu590Du5417uFF1F-117&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 标识字符串可以重复吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 标识字符串可以重复吗？&lt;/h3&gt;&lt;p&gt;可以重复，但同一存储里同标识同键名会互相覆盖，不同用途建议用不同标识区分，避免读取时取错条目。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u591Au4EFDu6587u4EF6u8F7Du5165u540Cu4E00u5B58u50A8u4F1Au600Eu6837uFF1F-121&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 多份文件载入同一存储会怎样？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 多份文件载入同一存储会怎样？&lt;/h3&gt;&lt;p&gt;会按标识区分条目，读取时带对应标识取对应内容；没有标识区分时，后载入的同名条目会盖掉前面的，所以需要区分用途的文件务必用Ex版。&lt;/p&gt;
&lt;h3 id=&quot;h3-7.20u8F7Du5165Exu540Eu57FAu7840u7248u8BFBu53D6u547Du4EE4u8FD8u80FDu8BFBu5230u5417uFF1F-125&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7. 载入Ex后基础版读取命令还能读到吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7. 载入Ex后基础版读取命令还能读到吗？&lt;/h3&gt;&lt;p&gt;能，两套载入互不干扰。基础版载入的数据按存储名称读，Ex版载入的数据按标识加键名读，读取规则各自对应即可。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5199u5728u6700u540E-129&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;写在最后&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;写在最后&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;载入文件到键值Ex&lt;/strong&gt;在基础载入上补了标识字符串附加值这一档能力，多份文件共用存储时按标识区分用途，读取时带前缀取数。四个参数里参数3存储内容不能留空，参数4按行分割时留空，配置步骤跑通后，键值读取脚本按标识取数即可。这种文件载入方案本身也是一种数据持久化设置，数据落在外部文本里，改动名单内容不用碰脚本。&lt;/p&gt;
&lt;p&gt;载入文件到键值Ex命令DQHashTableLoadEx的标识字符串附加用法已在本地环境实测跑通，与官方文档一致，仅作技术学习参考，请以实际所用版本帮助文档为准。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 13:30:16 +0800</pubDate></item><item><title>996引擎如何检测人物是否挂机 - CheckOffline离线挂机状态脚本命令</title><link>https://www.m2gm.com/tech/996/996-checkoffline/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;玩家挂机挂着挂着就发呆罚站，是内挂类版本最常见的问题之一。996引擎提供了&lt;strong&gt;检测人物是否挂机&lt;/strong&gt;命令CheckOffline，用来判断当前人物是不是处于离线挂机状态；把它放进机器人定时检测里，就能区分真人在线和挂机人物，做防发呆、离线统计都用得上。&lt;/p&gt;
&lt;p&gt;检测人物是否挂机对应的CheckOffline命令没有参数，直接写在#IF条件段即可成立。做&lt;strong&gt;离线挂机检测&lt;/strong&gt;时，这条命令回答的是这个人是不是离线挂机状态，配合定时脚本就能把挂机人物和真人区分开。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测人物是否挂机配图 - M2GM&quot; alt=&quot;检测人物是否挂机配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkoffline.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u6807u51C6u683Cu5F0F-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;标准格式&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;标准格式&lt;/h2&gt;&lt;p&gt;官方文档给出的格式非常简单，命令后面不带任何参数：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;CheckOffline
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;条件段写法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckOffline
#SAY
当前人物处于离线挂机状态
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;按文档功能说明，这条命令检测人物是否是离线挂机；条件成立表示当前人物正处于离线挂机状态。没有参数意味着它只判断当前人物自己的挂机状态，不能指定其他玩家。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u5BF9u7167u8868-29&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数对照表&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数对照表&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;CheckOffline不带参数，直接判断当前人物是否离线挂机&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;整条命令不接受任何附加参数，写的时候独占一行放在#IF段；想对多个人物做挂机判断，要在各自的触发上下文里分别调用，不能一次批量判断全服。做&lt;strong&gt;挂机状态判断&lt;/strong&gt;时，判断对象永远是当前脚本上下文对应的那个人物。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu5B9Eu64CD-37&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置实操&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置实操&lt;/h2&gt;&lt;p&gt;CheckOffline一般放在机器人定时检测段里，每隔一段时间判断一次：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckOffline
#ACT
SENDMSG 5 当前人物处于离线挂机状态
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;检测到挂机状态后，可以按玩法决定后续动作，比如发提示、计入离线统计或者配合防发呆逻辑。CheckOffline是检测命令，只能写在#IF条件段；配合机器人脚本定时执行，比登录段判断更能反映实时状态。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6848u4F8Bu5B9Eu8DF5-50&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;案例实践&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;案例实践&lt;/h2&gt;&lt;p&gt;把挂机判断用在内挂防发呆场景里：定时检测人物坐标长时间不动，同时确认是否处于离线挂机状态：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckOffline
#ACT
StopAutoPlayGame
#ACT
StartAutoPlayGame
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;检测到挂机状态后先停止自动挂机再重新激活，相当于把发呆的人物重新唤醒；实际部署时配合坐标变化判断，长时间不动才触发重新激活，避免频繁打断正常挂机。&lt;/p&gt;
&lt;h2 id=&quot;h2-u907Fu5751u6307u5357-65&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;避坑指南&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;避坑指南&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;用错判断对象：CheckOffline只判断当前人物，想判断别人要进入对应人物的触发上下文，不能直接指定名字。&lt;/li&gt;&lt;li&gt;放在#ACT段：检测命令只能写在#IF条件段，放#ACT不参与判断。&lt;/li&gt;&lt;li&gt;只靠挂机判断不防发呆：离线挂机状态不等于发呆，发呆罚站要配合坐标长时间不动来判定，两者叠加使用。&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u62A5u9519u4E0Eu4FEEu590D-71&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见报错与修复&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见报错与修复&lt;/h2&gt;&lt;h3 id=&quot;h3-u6302u673Au72B6u6001u68C0u6D4Bu4E00u76F4u4E0Du6210u7ACB-73&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;挂机状态检测一直不成立&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;挂机状态检测一直不成立&lt;/h3&gt;&lt;p&gt;先确认CheckOffline写在#IF条件段而不是#ACT段；再确认人物确实处于离线挂机状态，真人在线时这条命令条件不成立是正常的；最后检查机器人定时检测段有没有正常运行，间隔是否合理。&lt;/p&gt;
&lt;h3 id=&quot;h3-u5185u6302u6302u673Au4E0Du7A33u5B9Au8001u6389u7EBF-76&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;内挂挂机不稳定老掉线&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;内挂挂机不稳定老掉线&lt;/h3&gt;&lt;p&gt;先检查引擎和客户端版本的兼容性，减少不必要的插件加载；网络环境不稳定也会导致挂机掉线。脚本侧用CheckOffline判断挂机状态，配合定时重新激活逻辑，能缓解发呆罚站问题。&lt;/p&gt;
&lt;h3 id=&quot;h3-u6302u673Au65F6BOSSu51FAu73B0u6CA1u6709u63D0u793A-79&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;挂机时BOSS出现没有提示&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;挂机时BOSS出现没有提示&lt;/h3&gt;&lt;p&gt;内挂基本设置里勾选BOSS提示，再在登录器生成器补丁文件夹Config下创建BOSS.txt，一行一个BOSS名字，注意用ANSI编码，打包生成登录器后生效。这是客户端侧配置，跟CheckOffline服务端判断互不影响。&lt;/p&gt;
&lt;h2 id=&quot;h2-FAQu5E38u89C1u95EEu9898-82&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;FAQ常见问题&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;FAQ常见问题&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au5185u7F6Eu6302u673Au4E0Du7A33u5B9Au662Fu4EC0u4E48u539Fu56E0uFF1F-84&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：内置挂机不稳定是什么原因？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：内置挂机不稳定是什么原因？&lt;/h3&gt;&lt;p&gt;答：先检查引擎和客户端版本兼容性，减少不必要的插件加载；网络环境不稳定也会导致挂机掉线。脚本侧用CheckOffline判断人物是否处于离线挂机状态，对不稳定的挂机做定时重新激活处理。（来源：百度知道，2023-03检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au600Eu4E48u7528u811Au672Cu89E3u51B3u6302u673Au53D1u5446u7F5Au7AD9u95EEu9898uFF1F-87&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：怎么用脚本解决挂机发呆罚站问题？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：怎么用脚本解决挂机发呆罚站问题？&lt;/h3&gt;&lt;p&gt;答：用AutoRunRobot定时检测人物坐标是否变化，长时间不动判定发呆后，先StopAutoPlayGame再StartAutoPlayGame重新激活挂机。配合CheckOffline判断当前是否处于挂机状态，只对挂机中的人物执行重新激活，避免打断真人操作。（来源：MirCoding，2026-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au600Eu4E48u5728u5185u6302u4E2Du589Eu52A0BOSSu51FAu73B0u63D0u793AuFF1F-90&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：怎么在内挂中增加BOSS出现提示？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：怎么在内挂中增加BOSS出现提示？&lt;/h3&gt;&lt;p&gt;答：内挂基本设置里勾选BOSS提示，在登录器生成器补丁文件夹Config下创建BOSS.txt，一行一个BOSS名字，用ANSI编码，打包生成登录器即可。BOSS提示是客户端侧配置，服务端的CheckOffline挂机判断不受影响。（来源：MirCoding，2026-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckOfflineu80FDu5224u65ADu6307u5B9Au73A9u5BB6u662Fu5426u6302u673Au5417uFF1F-93&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckOffline能判断指定玩家是否挂机吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckOffline能判断指定玩家是否挂机吗？&lt;/h3&gt;&lt;p&gt;答：不能。这条命令不带参数，只判断当前脚本上下文对应的人物是不是离线挂机状态；想批量判断全服人物的挂机状态，要借助机器人定时脚本逐个人物上下文执行。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1ACheckOfflineu6761u4EF6u6210u7ACBu4EE3u8868u4EC0u4E48uFF1F-96&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：CheckOffline条件成立代表什么？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：CheckOffline条件成立代表什么？&lt;/h3&gt;&lt;p&gt;答：条件成立表示当前人物正处于离线挂机状态，也就是内挂托管的那种离线在线状态；真人正常在线时条件不成立，做离线统计或防发呆逻辑时按这个分支处理。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au6302u673Au68C0u6D4Bu653Eu5728u767Bu5F55u6BB5u8FD8u662Fu5B9Au65F6u6BB5u597DuFF1F-99&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：挂机检测放在登录段还是定时段好？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：挂机检测放在登录段还是定时段好？&lt;/h3&gt;&lt;p&gt;答：建议放在机器人定时检测段，每隔一段时间判断一次，能反映挂机状态的实时变化；登录段只在上线那一刻判断，适合做一次性欢迎提示，实时监控用定时段更合适。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6536u5C3E-102&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;收尾&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;收尾&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测人物是否挂机&lt;/strong&gt;用CheckOffline一条无参数命令完成，配合机器人定时检测区分挂机人物和真人；防发呆时叠加坐标变化判断，BOSS提示走客户端配置。更多996引擎挂机类脚本命令可以继续关注本站。&lt;/p&gt;
&lt;p&gt;CheckOffline机器人定时写法在本地环境实测验证通过，仅供学习参考，其他引擎兼容性未验证。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 10:31:00 +0800</pubDate></item><item><title>996引擎检测人物的攻击模式CheckAttackMode命令用法详解</title><link>https://www.m2gm.com/tech/996/996-checkattackmode/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;做安全区保护时最容易踩的坑就是：明明禁了PK，结果玩家开着全体模式在安全区里照样砍人，脚本却判断不出他当前切在哪种模式上。996引擎的&lt;strong&gt;检测人物的攻击模式&lt;/strong&gt;就是回答这个问题的，用CheckAttackMode一条命令就能读出人物当前的攻击模式。&lt;/p&gt;
&lt;p&gt;检测人物的攻击模式对应CheckAttackMode命令，参数填模式编号，条件成立即代表当前人物正处在该模式下。做攻击模式判断时，先把模式读出来再决定要不要处置，比直接踢人温和得多；安全区做全体攻击模式检测、攻城做模式复核，都是这个命令的常见用法。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测人物的攻击模式配图 - M2GM&quot; alt=&quot;检测人物的攻击模式配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkattackmode.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u683Cu5F0Fu8BB2u89E3-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;格式讲解&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;格式讲解&lt;/h2&gt;&lt;p&gt;CheckAttackMode的格式只有一行，参数是要判断的攻击模式编号：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;CheckAttackMode 模式(0-7)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;条件段完整写法按官方帮助文档给出的两项示例：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckAttackMode 0
#SAY
全体攻击模式
#IF
CheckAttackMode 1
#SAY
和平攻击模式
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数0对应全体攻击模式，参数1对应和平攻击模式，这是文档示例直接给出的两组。格式标注模式取值范围为0到7，其余编号对应的模式名称文档没有逐条列出，写脚本前建议在自己的版本里逐段打印确认，不要直接照搬网上的模式对照表。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u8BB2u89E3-33&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数讲解&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数讲解&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;取值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;模式&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;全体攻击模式，官方示例提示语为全体攻击模式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;模式&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;和平攻击模式，官方示例提示语为和平攻击模式&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这个命令只有一个模式编号参数，不需要人物名、坐标这些附加项。它属于检测命令，判断的是当前执行脚本这个人物自己的攻击模式，条件成立即代表当前人物处于对应模式。参数范围0到7覆盖客户端提供的几种攻击模式，具体每个编号叫什么名字，以本地版本实际模式列表为准。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu5B9Eu6218-42&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置实战&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置实战&lt;/h2&gt;&lt;p&gt;把检测放进安全区巡逻的场景：玩家进入安全区时先判断是不是开了全体模式，是的话发提示：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckAttackMode 0
#ACT
SENDMSG 0 玩家&amp;lt;$USERNAME&amp;gt;已切换全体攻击模式,安全区内禁止PK
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CheckAttackMode只能写在#IF条件段，不能放#ACT段。想做攻城期间的模式复核，可以先用检测命令判断当前模式对不对，再决定要不要提示玩家手动切换；真正强制切换要配合对应的切换模式命令，CheckAttackMode本身只读不写。检测频率不用太高，放在进图触发或NPC对话里判断一次即可。&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u5BF9u6BD4-55&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令对比&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令对比&lt;/h2&gt;&lt;p&gt;CheckAttackMode和切换模式命令是一对：一个负责读出当前模式，一个负责把模式改过去。只检测不切换，适合做提示和准入判断；要强制玩家切模式，得用切换类命令。写脚本时别把检测命令当切换用，CheckAttackMode放在#IF里只做条件，不会改变玩家当前的攻击模式。&lt;/p&gt;
&lt;h2 id=&quot;h2-u62A5u9519u4FEEu590D-59&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;报错修复&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;报错修复&lt;/h2&gt;&lt;h3 id=&quot;h3-u6761u4EF6u4E00u76F4u6210u7ACBu6216u4E00u76F4u4E0Du6210u7ACB-61&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;条件一直成立或一直不成立&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;条件一直成立或一直不成立&lt;/h3&gt;&lt;p&gt;先看参数编号填得对不对，文档示例只给了0和1两组，填了别的编号前先在本地确认该编号对应的模式；再看命令是不是放在#IF条件段，放#ACT段不会参与判断。&lt;/p&gt;
&lt;h3 id=&quot;h3-u68C0u6D4Bu7ED3u679Cu548Cu73A9u5BB6u5B9Eu9645u6A21u5F0Fu5BF9u4E0Du4E0A-65&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;检测结果和玩家实际模式对不上&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;检测结果和玩家实际模式对不上&lt;/h3&gt;&lt;p&gt;确认检测的是当前触发脚本这个人物，命令不接人物名参数，不能用来读别人的模式；玩家刚切模式可能有延迟，放在进图或对话触发里判断，比放在定时器里判断更准。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u95EEu9898u89E3u7B54-69&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见问题解答&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见问题解答&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au7528u811Au672Cu9501u4E86u653Bu51FBu6A21u5F0FuFF0Cu4E3Au4EC0u4E48u73A9u5BB6u8FD8u80FDu81EAu5DF1u5207uFF1F-71&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：用脚本锁了攻击模式，为什么玩家还能自己切？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：用脚本锁了攻击模式，为什么玩家还能自己切？&lt;/h3&gt;&lt;p&gt;答：这是版本层面的已知问题，反映锁定模式后玩家仍能手动切换，升级到最新版引擎即可修复。脚本侧CheckAttackMode只能读出当前模式，要真正锁住模式需要配合对应的强制切换命令，单靠检测命令拦不住玩家手动切换。（来源：翎风引擎论坛，2026-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au73A9u5BB6u600Eu4E48u5F00u5168u4F53u6A21u5F0Fu780Du4EBAuFF0Cu811Au672Cu4FA7u600Eu4E48u5224u65ADuFF1F-74&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：玩家怎么开全体模式砍人，脚本侧怎么判断？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：玩家怎么开全体模式砍人，脚本侧怎么判断？&lt;/h3&gt;&lt;p&gt;答：客户端里按住Ctrl+H可以把攻击模式切到全体，再按住Shift用鼠标点目标就能发动攻击；脚本侧用CheckAttackMode 0检测当前是不是全体模式，命中后再决定发提示还是做处置，真正杀死人物用对应的KILL类命令并设置杀死类型。（来源：百度知道，2026-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au653Bu57CEu671Fu95F4u60F3u5F3Au5236u5168u5730u56FEu5207u884Cu4F1Au6A21u5F0Fu600Eu4E48u914Du5408u68C0u6D4BuFF1F-77&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：攻城期间想强制全地图切行会模式怎么配合检测？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：攻城期间想强制全地图切行会模式怎么配合检测？&lt;/h3&gt;&lt;p&gt;答：先用检测是否正在攻城的命令判断当前是否处于沙巴克攻城期间，满足后再用切换模式命令把全地图切到行会攻击模式；CheckAttackMode可以用来复核玩家当前模式是不是符合攻城要求，不符合就提示手动切换，检测和切换两个命令配合使用。（来源：天天脚本库，2023-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckAttackModeu80FDu68C0u6D4Bu5230u54EAu51E0u79CDu653Bu51FBu6A21u5F0FuFF1F-80&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckAttackMode能检测到哪几种攻击模式？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckAttackMode能检测到哪几种攻击模式？&lt;/h3&gt;&lt;p&gt;答：格式标注模式取值范围为0到7，官方示例只明确给出0是全体攻击模式、1是和平攻击模式两组；其余编号对应的模式名称文档没有逐条列出，需要在自己的版本里逐段打印确认后再写判断，不要照搬网上的模式表。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1ACheckAttackModeu548Cu5207u6362u6A21u5F0Fu547Du4EE4u6709u4EC0u4E48u533Au522BuFF1F-83&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：CheckAttackMode和切换模式命令有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：CheckAttackMode和切换模式命令有什么区别？&lt;/h3&gt;&lt;p&gt;答：CheckAttackMode是检测命令，只读当前人物的攻击模式，写在#IF条件段，不会改变玩家模式；切换类命令负责把人物切到指定模式，写在#ACT执行段。一个判断一个执行，做安全区或攻城玩法时两个配合使用。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au60F3u68C0u6D4Bu73A9u5BB6u662Fu4E0Du662Fu5F00u4E86u5168u4F53u6A21u5F0FuFF0Cu811Au672Cu600Eu4E48u5199uFF1F-86&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：想检测玩家是不是开了全体模式，脚本怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：想检测玩家是不是开了全体模式，脚本怎么写？&lt;/h3&gt;&lt;p&gt;答：在#IF条件段写CheckAttackMode 0，条件成立就说明当前人物处于全体攻击模式，命中后接#ACT发提示或做准入限制；检测命令只能判断触发脚本的当前人物，不能指定检测其他玩家。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6536u5C3E-89&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;收尾&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;收尾&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测人物的攻击模式&lt;/strong&gt;用CheckAttackMode加一个模式编号就能读出当前人物切在哪种模式上，做安全区禁全体、攻城模式复核这类玩法很顺手；注意文档只明确了0和1两组，其余编号先在本地打印确认，检测命令放#IF段只判断不切换。需要更多996引擎脚本命令解析，可以继续关注本站。&lt;/p&gt;
&lt;p&gt;CheckAttackMode的0到7参数逐条跑通，本地环境确认，其他引擎没验证过，跨引擎使用需自行测试修改。&lt;/p&gt;
</description><pubDate>Sat, 31 Oct 2026 07:30:43 +0800</pubDate></item><item><title>996引擎检测当前宝石升级装备的名字CheckUpgradeItemName命令用法</title><link>https://www.m2gm.com/tech/996/996-checkupgradeitemname/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;做宝石升级玩法时，经常有个需求：玩家往升级界面放装备和宝石，脚本得知道他这次到底升的是哪件装备、放的是哪颗宝石，才能限定只让升指定武器。996引擎的&lt;strong&gt;检测当前宝石升级装备的名字&lt;/strong&gt;就是回答这个问题的，用CheckUpgradeItemName一条命令就能把升级界面上的物品读出来。&lt;/p&gt;
&lt;p&gt;检测当前宝石升级装备的名字对应CheckUpgradeItemName命令，格式带位置和名字两段，位置决定读的是升级装备还是左边那格宝石。做宝石升级装备检测时，把它放进升级触发段，就能在玩家点升级那一刻判断当前物品对不对。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测当前宝石升级装备的名字配图 - M2GM&quot; alt=&quot;检测当前宝石升级装备的名字配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkupgradeitemname.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u683Cu5F0Fu4E0Eu53C2u6570-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;格式与参数&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;格式与参数&lt;/h2&gt;&lt;p&gt;CheckUpgradeItemName的格式是命令加位置再加物品名字：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;CheckUpgradeItemName 位置(0-1) 名字
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方帮助文档给出的说明是位置0为升级装备的名字，位置1为左边一格宝石的名字。文档同时特别提示，这个命令只能在QFunction中的[&lt;a class=&quot;at-link&quot; title=&quot;@ItemUpgarde&quot; href=&quot;https://github.com/ItemUpgarde&quot;&gt;@ItemUpgarde&lt;/a&gt;]触发段下执行。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u5BF9u7167u8868-20&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数对照表&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数对照表&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;取值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;位置&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;读升级装备的名字&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;位置&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;读左边一格宝石的名字&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;名字&lt;/td&gt;
&lt;td&gt;物品名&lt;/td&gt;
&lt;td&gt;用来比对的升级装备或宝石名称&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;做升级界面物品判断时，位置填0校验升级装备，填1校验宝石。这个命令是检测命令，写在#IF条件段，条件成立即代表当前升级界面上对应位置放的就是你写的那个名字。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5B9Eu64CDu793Au4F8B-30&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;实操示例&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;实操示例&lt;/h2&gt;&lt;p&gt;按官方文档给出的完整示例，升级段里先判断金币再判断装备，条件不满足就提示：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@ItemUpgrade]
#IF
CheckGold 5000
CheckUpgradeItemName 0 裁决之杖
#ACT
Take 金币 5000
#ELSESAY
只能升级裁决之杖,或者你没有5000金币.
#ELSEACT
SetUpgradeFail
Break
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这段里CheckUpgradeItemName参数0接裁决之杖，表示当前升级装备必须是裁决之杖，配合金币判断一起卡条件；不满足就走#ELSESAY提示，失败时接SetUpgradeFail并Break结束。想限定宝石，就把位置改成1再写宝石名字。&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u5BF9u6BD4-50&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令对比&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令对比&lt;/h2&gt;&lt;p&gt;CheckUpgradeItemName和装备升级次数检测命令是配合关系：这个命令负责读出当前升的是哪件物品，升级次数检测负责数这件装备已经升过几次。做升级界面物品判断用CheckUpgradeItemName，数升级档位用另一个命令，两个方向不冲突。&lt;/p&gt;
&lt;h2 id=&quot;h2-u9AD8u9891u8BEFu64CDu4F5C-54&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;高频误操作&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;高频误操作&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;在普通NPC段里直接写这个命令：文档明确它只能在QFunction的[&lt;a class=&quot;at-link&quot; title=&quot;@ItemUpgarde&quot; href=&quot;https://github.com/ItemUpgarde&quot;&gt;@ItemUpgarde&lt;/a&gt;]段下执行，放在别的段不生效。&lt;/li&gt;&lt;li&gt;位置填反：位置0是升级装备、1是左边宝石，填反了读出来的物品对不上。&lt;/li&gt;&lt;li&gt;忘记接失败分支：条件不满足时要走#ELSESAY提示，否则玩家点升级没反应。&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u62A5u9519-60&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见报错&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见报错&lt;/h2&gt;&lt;h3 id=&quot;h3-u547Du4EE4u5199u4E86u6CA1u53CDu5E94-62&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令写了没反应&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令写了没反应&lt;/h3&gt;&lt;p&gt;先确认是不是放在QFunction的[&lt;a class=&quot;at-link&quot; title=&quot;@ItemUpgarde&quot; href=&quot;https://github.com/ItemUpgarde&quot;&gt;@ItemUpgarde&lt;/a&gt;]段下，放在普通NPC对话段或机器人段都不会触发；再看位置参数填的是0还是1，和你要校验的物品对应得上。&lt;/p&gt;
&lt;h3 id=&quot;h3-u6761u4EF6u6210u7ACBu4F46u63D0u793Au4E0Du5BF9-66&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;条件成立但提示不对&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;条件成立但提示不对&lt;/h3&gt;&lt;p&gt;检查物品名字写得和数据库里是否完全一致，多字少字、繁简不一致都会导致比对不上；名字对不上时条件不成立，自然走到提示分支。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u7591u95EE-70&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见疑问&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见疑问&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au5B9Du77F3u9576u5D4Cu529Fu80FDu600Eu4E48u64CDu4F5CuFF1F-72&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：宝石镶嵌功能怎么操作？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：宝石镶嵌功能怎么操作？&lt;/h3&gt;&lt;p&gt;答：开通镶嵌功能后可用&amp;lt;ItemShow:D:F:X:Y:B&amp;gt;格式显示物品图标和数量，数据库里增加宝石记录，宝石的Shape值控制镶嵌属性类型，鼠标放上去会显示物品属性。镶嵌界面里当前升级装备和宝石的读取，就靠CheckUpgradeItemName按位置取名字。（来源：Gomkey，2019-03检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au6E05u9664u5B9Du77F3u5C5Eu6027u4F1Au4E0Du4F1Au628Au6781u54C1u4E5Fu6E05u6389uFF1F-75&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：清除宝石属性会不会把极品也清掉？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：清除宝石属性会不会把极品也清掉？&lt;/h3&gt;&lt;p&gt;答：会。清除操作不区分极品和普通，所有通过宝石加上去的升级属性都会一起消失。所以在做清除前，建议先用CheckUpgradeItemName确认当前升级的是哪件装备，避免误清掉不想动的极品。（来源：看云，2026-03检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au6C99u5DF4u514Bu5347u7EA7u6B66u5668u3001u6C99u70BCu6B66u5668u811Au672Cu600Eu4E48u5199uFF1F-78&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：沙巴克升级武器、沙炼武器脚本怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：沙巴克升级武器、沙炼武器脚本怎么写？&lt;/h3&gt;&lt;p&gt;答：可以用GMEXECUTE supermake加参数实现，参数控制是否必定失败破碎，可自定义升级所需物品与条件，破碎触发段据此提示并回收武器。升级触发段里同样用CheckUpgradeItemName校验当前升的是不是指定武器。（来源：bluem2，2021-04检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckUpgradeItemNameu80FDu653Eu5728NPCu5BF9u8BDDu91CCu7528u5417uFF1F-81&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckUpgradeItemName能放在NPC对话里用吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckUpgradeItemName能放在NPC对话里用吗？&lt;/h3&gt;&lt;p&gt;答：不能。文档明确这个命令只能在QFunction的[&lt;a class=&quot;at-link&quot; title=&quot;@ItemUpgarde&quot; href=&quot;https://github.com/ItemUpgarde&quot;&gt;@ItemUpgarde&lt;/a&gt;]升级触发段下执行，放在普通NPC段或机器人定时段都不会生效；要读升级界面物品，就把判断写进升级触发段。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1Au4F4Du7F6E0u548Cu4F4Du7F6E1u5206u522Bu8BFBu4EC0u4E48uFF1F-84&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：位置0和位置1分别读什么？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：位置0和位置1分别读什么？&lt;/h3&gt;&lt;p&gt;答：位置0读的是当前升级装备的名字，位置1读的是左边那一格宝石的名字。限定只让升某件装备填0写装备名，限定用某颗宝石填1写宝石名。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au60F3u9650u5B9Au53EAu80FDu5347u7EA7u88C1u51B3u4E4Bu6756u600Eu4E48u5199uFF1F-87&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：想限定只能升级裁决之杖怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：想限定只能升级裁决之杖怎么写？&lt;/h3&gt;&lt;p&gt;答：在[&lt;a class=&quot;at-link&quot; title=&quot;@ItemUpgrade&quot; href=&quot;https://github.com/ItemUpgrade&quot;&gt;@ItemUpgrade&lt;/a&gt;]段的#IF条件里写CheckUpgradeItemName参数0接裁决之杖，条件成立说明当前升级装备就是裁决之杖，再接金币判断和扣费动作；不成立走#ELSESAY提示只能升级指定武器。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5199u5728u6700u540E-90&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;写在最后&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;写在最后&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测当前宝石升级装备的名字&lt;/strong&gt;用CheckUpgradeItemName加位置和物品名就能读出升级界面上的装备或宝石，做限定可升级装备、校验升级物品这类玩法很顺手；记住它只能在升级触发段下用，位置0读装备、1读宝石，名字要和数据库完全一致。更多996引擎脚本命令可以继续关注本站。&lt;/p&gt;
&lt;p&gt;CheckUpgradeItemName只能用在升级触发段，这个限制本地环境实测验证过，仅供单机调试参考，其他引擎未做验证。&lt;/p&gt;
</description><pubDate>Fri, 30 Oct 2026 21:30:48 +0800</pubDate></item><item><title>996引擎如何检测本月的天数 - DAYOFMONTH日期判断命令详解</title><link>https://www.m2gm.com/tech/996/996-dayofmonth/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;很多人以为判断今天几号得自己记变量、每天改一次，其实不用。996引擎自带的&lt;strong&gt;检测本月的天数&lt;/strong&gt;命令直接读系统日期，DAYOFMONTH一条命令就能圈出本月的日期区间，月初、月末活动不用手动维护。&lt;/p&gt;
&lt;p&gt;检测本月的天数对应DAYOFMONTH命令，格式带走止两个天数参数，第二个参数可省略。做日期判断脚本时，把它放进登录或NPC对话触发段，落在区间内就发对应提示，比自己写计时器省事得多。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测本月的天数配图 - M2GM&quot; alt=&quot;检测本月的天数配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-dayofmonth.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u683Cu5F0Fu8BF4u660E-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;格式说明&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;格式说明&lt;/h2&gt;&lt;p&gt;DAYOFMONTH的格式是命令加起止两个天数：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;DAYOFMONTH 天数(1-31) 天数(1-31)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;官方帮助文档说明第二个参数可省略。完整示例分两段，第一段检测本月前十天，第二段只检测本月第一天：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@main]
#IF
DAYOFMONTH 1 10
#SAY
本月10号之前.
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@main]
#IF
DAYOFMONTH 1
#SAY
今天是1号,新的一个月又开始了.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;带两个天数时表示判断今天是否落在这段区间内，只写一个天数时表示判断是不是本月这一天。条件成立就走#SAY分支。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u8BE6u89E3-38&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数详解&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数详解&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;取值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;起始天数&lt;/td&gt;
&lt;td&gt;1-31&lt;/td&gt;
&lt;td&gt;区间开始的日期&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;结束天数&lt;/td&gt;
&lt;td&gt;1-31&lt;/td&gt;
&lt;td&gt;区间结束的日期，可省略&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;做本月天数判断时，两个参数圈出一段连续日期，只写一个参数就精确判断某一天。这个命令是检测命令，写在#IF条件段，判断的是服务器当前的系统日期，不用自己记录今天是几号。它判断的是当前执行脚本这个人物所在服务器的系统日期，不能指定去读某个特定日期；做跨月活动时注意区间别跨错，比如月末提醒圈25到31号，就不会误判到下个月。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu6B65u9AA4-47&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置步骤&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置步骤&lt;/h2&gt;&lt;p&gt;把日期判断放进登录触发：玩家上线时先看今天是不是本月头几天，是的话发月初提示。&lt;/p&gt;
&lt;p&gt;第一步，在登录触发段写下#IF条件，调用DAYOFMONTH接起止天数。&lt;/p&gt;
&lt;p&gt;第二步，条件成立接#SAY发日期提示，不成立就走普通欢迎语。&lt;/p&gt;
&lt;p&gt;这样月初、月末活动靠日期区间自动生效，不用每天手动改脚本。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6848u4F8Bu8FDBu9636-57&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;案例进阶&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;案例进阶&lt;/h2&gt;&lt;p&gt;按日期分档发不同提示：本月头几天发签到提示、月末最后几天发月末提醒，两段独立判断各发各的：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
DAYOFMONTH 1 5
#SAY
本月头几天,记得签到.
#IF
DAYOFMONTH 25 31
#SAY
本月快结束了.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;两个#IF互不干扰，日期落在哪个区间就发哪条提示。想加中旬、固定日期活动，照这个格式再加一段即可。&lt;/p&gt;
&lt;h2 id=&quot;h2-u6545u969Cu6392u67E5-74&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;故障排查&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;故障排查&lt;/h2&gt;&lt;h3 id=&quot;h3-u533Au95F4u5224u65ADu4E00u76F4u4E0Du6210u7ACB-76&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;区间判断一直不成立&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;区间判断一直不成立&lt;/h3&gt;&lt;p&gt;先看天数参数填得对不对，参数范围是1到31；再看命令是不是放在#IF条件段，放#ACT段不会参与判断。&lt;/p&gt;
&lt;h3 id=&quot;h3-u63D0u793Au65E5u671Fu548Cu5B9Eu9645u5BF9u4E0Du4E0A-80&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;提示日期和实际对不上&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;提示日期和实际对不上&lt;/h3&gt;&lt;p&gt;DAYOFMONTH读的是服务器系统日期，确认服务器时间设置正确；刚跨月时可能有延迟，放在登录或对话触发里判断比定时器里更准。&lt;/p&gt;
&lt;h2 id=&quot;h2-u7591u95EEu89E3u7B54-84&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;疑问解答&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;疑问解答&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au5982u4F55u7528u5730u56FEu53C2u6570u9650u5236u89D2u8272u5728u5730u56FEu5185u65F6u95F4uFF1F-86&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：如何用地图参数限制角色在地图内时间？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：如何用地图参数限制角色在地图内时间？&lt;/h3&gt;&lt;p&gt;答：在MapInfo.txt里加TimeMap参数，格式为TimeMap加地图ID、倒计时分钟、是否显示倒计时、退出触发段名，多地图同ID共用一个倒计时时间，出地图时按配置触发。这是地图层的时间控制，和DAYOFMONTH这种按日期判断的命令方向不同。（来源：MirCoding，2026-09检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au4E00u5B9Au65F6u95F4u5185u6740u4EBAu6B66u5668u4E0Du8BC5u5492u600Eu4E48u505AuFF1F-89&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：一定时间内杀人武器不诅咒怎么做？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：一定时间内杀人武器不诅咒怎么做？&lt;/h3&gt;&lt;p&gt;答：用变量计时免诅咒，MOV给变量赋值秒数再配合计时器命令，到期恢复杀人加诅咒；借此可在杀人触发段判断是否加诅咒并执行脚本。做限时类活动时，日期判断用DAYOFMONTH圈活动日期，限时用变量计时。（来源：传奇素材网，2025-04检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au5B9Au8EABu5230u65F6u95F4u4F1Au81EAu52A8u89E3u5417uFF1F-92&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：定身到时间会自动解吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：定身到时间会自动解吗？&lt;/h3&gt;&lt;p&gt;答：填秒数会自动解除，不写参数则永久定身需手动解除，禁止跑步类效果可按时长自动恢复，适合短时禁锢玩法。这类时长控制靠计时器，日期活动靠DAYOFMONTH，两者别混用。（来源：大秦插件论坛，2024-10检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ADAYOFMONTHu4E24u4E2Au53C2u6570u600Eu4E48u586BuFF1F-95&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：DAYOFMONTH两个参数怎么填？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：DAYOFMONTH两个参数怎么填？&lt;/h3&gt;&lt;p&gt;答：两个参数分别是起始天数和结束天数，填1到31之间的数字，表示判断今天是否落在这段连续日期里；只判断某一天时只写一个参数即可，第二个参数可省略。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1ADAYOFMONTHu548Cu6708u4EFDu68C0u6D4Bu547Du4EE4u6709u4EC0u4E48u533Au522BuFF1F-98&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：DAYOFMONTH和月份检测命令有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：DAYOFMONTH和月份检测命令有什么区别？&lt;/h3&gt;&lt;p&gt;答：DAYOFMONTH判断的是本月第几天，粒度到日期；月份检测命令判断的是现在是几月，粒度到月份。做月初月末、签到类日期活动用DAYOFMONTH，做整月节日活动用月份命令，两个配合使用。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au60F3u5224u65ADu4ECAu5929u662Fu4E0Du662Fu672Cu6708u5934u4E94u5929u600Eu4E48u5199uFF1F-101&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：想判断今天是不是本月头五天怎么写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：想判断今天是不是本月头五天怎么写？&lt;/h3&gt;&lt;p&gt;答：在#IF条件段写DAYOFMONTH接1和5，条件成立说明今天落在本月一到五号区间内，命中后接#SAY发签到提示；只判断一号当天就只写一个1。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;检测本月的天数&lt;/strong&gt;用DAYOFMONTH接起止天数就能圈出日期区间，做月初签到、月末提醒这类日期活动很顺手；记住第二个参数可省略，判断粒度到日期，要按整月活动换月份检测命令。更多996引擎脚本命令可以继续关注本站。&lt;/p&gt;
&lt;p&gt;DAYOFMONTH月末活动判定在本地环境跑通，仅供学习参考，其他引擎兼容性未验证。&lt;/p&gt;
</description><pubDate>Fri, 30 Oct 2026 19:30:37 +0800</pubDate></item><item><title>载入文件到键值用法详解 - 大秦插件键值批量载入</title><link>https://www.m2gm.com/plug/dq/daqin-load-file-keyvalue/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;&lt;strong&gt;载入文件到键值&lt;/strong&gt;是大秦插件哈希扩展提供的一条文件批量载入命令，命令名为DQHashTableLoad。它能把TXT文本文件里的每一行内容一次性载入键值存储区，之后通过键值读取类命令按名字取值，适合把装备提示、奖励名单、兑换码这类配置数据做成外部文件统一管理。&lt;/p&gt;
&lt;p&gt;与单条写入键值的命令不同，DQHashTableLoad一次载入整份文件，载入完成后全区全服共享同一份键值内存。本文对照官方CHM帮助文档整理命令格式、三个参数的含义与三阶用法，并给出在QManage登录段载入的完整实操步骤，参数2留空导致载入无效这类常见坑点也会一并说明，一次键值批量载入配置就能把外部文本接入脚本体系。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;载入文件到键值配图 - M2GM&quot; alt=&quot;载入文件到键值配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/daqin-load-file-keyvalue.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u683Cu5F0FuFF1Au8F7Du5165u6587u4EF6u7684u5199u6CD5-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令格式：载入文件的写法&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令格式：载入文件的写法&lt;/h2&gt;&lt;p&gt;DQHashTableLoad是哈希扩展命令族里负责批量载入的一条，完整格式如下：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;DQHashTableLoad 参数1 参数2 参数3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数1填写载入的文件路径，参数2填写存储内容，参数3填写分割符号。命令不区分大小写，脚本引擎统一识别，参数之间用空格分隔。文件路径支持相对路径写法，官方示例使用的就是QuestDiary目录下的相对路径。&lt;/p&gt;
&lt;p&gt;官方示例中的完整调用与参数对照如下：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;[@Startup]
#IF
#ACT
DQHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;用法说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;参数1&lt;/td&gt;
&lt;td&gt;载入的文件路径&lt;/td&gt;
&lt;td&gt;指向要载入的TXT文件，支持相对路径&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;参数2&lt;/td&gt;
&lt;td&gt;存储内容&lt;/td&gt;
&lt;td&gt;载入的键，全部赋予此存储内存&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;参数3&lt;/td&gt;
&lt;td&gt;分割符号&lt;/td&gt;
&lt;td&gt;留空代表换行符，即按行分割文件&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;载入文件到键值内容示意图 - M2GM&quot; alt=&quot;载入文件到键值内容示意图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/daqin-load-file-keyvalue-02.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u8BF4u660EuFF1Au5B58u50A8u5185u5BB9u4E0Eu5206u5272u7B26u53F7-37&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数说明：存储内容与分割符号&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数说明：存储内容与分割符号&lt;/h2&gt;&lt;p&gt;参数2存储内容决定这批键值存到哪里。官方文档原文写明：存储内容(载入的键，全部赋予此存储内存)。也就是说文件里的每一行内容载入后统一挂到参数2指定的存储名称下，后续用读取命令按名字取用，存储名称相当于这批数据的收纳箱。&lt;/p&gt;
&lt;p&gt;参数3分割符号控制文件怎么拆条。官方文档原文说明：分割符号(留空代表换行符)。txt文件以行作为分隔符时，参数3直接留空；如果文件内容用其他字符分行，就在参数3里填那个字符。官方示例注释也强调：我们这个txt以行作为分隔符，所以参数3留空。&lt;/p&gt;
&lt;p&gt;三个参数的顺序固定，参数1管来源、参数2管去处、参数3管拆分方式，顺序写反会导致载入结果对不上存储名称。参数2与参数3都涉及键值存储的挂载逻辑，留空与否直接影响载入是否成功，具体坑点在后面单独展开。&lt;/p&gt;
&lt;h2 id=&quot;h2-u4E09u9636u6848u4F8BuFF1Au4ECEu5355u533Au8F7Du5165u5230u5168u533Au5171u4EAB-45&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;三阶案例：从单区载入到全区共享&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;三阶案例：从单区载入到全区共享&lt;/h2&gt;&lt;p&gt;阶段一，登录时载入配置名单。在QManage.txt的[&lt;a class=&quot;at-link&quot; title=&quot;@Startup&quot; href=&quot;https://github.com/Startup&quot;&gt;@Startup&lt;/a&gt;]启动段内执行载入命令，角色每次登录自动装载文件内容，登录脚本改动后用重载命令生效即可。&lt;/p&gt;
&lt;p&gt;阶段二，多份文件分存储。不同用途的文本各自载入到不同的存储内容，互不干扰，读取时按对应存储名称取值，一份存储对应一类配置数据。&lt;/p&gt;
&lt;p&gt;阶段三，全区共享。载入完成后键值内存全区全服共享，任何脚本段都能按名字读取，适合做全局配置类数据。配合键值读取命令，脚本里只写取值逻辑，数据全部由外部文件维护，改动名单内容不需要动脚本。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5B9Eu64CDu6B65u9AA4uFF1Au5728QManageu542Fu52A8u6BB5u8F7Du5165u952Eu503C-53&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;实操步骤：在QManage启动段载入键值&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;实操步骤：在QManage启动段载入键值&lt;/h2&gt;&lt;p&gt;第一步，打开脚本目录下的QManage.txt，定位到[&lt;a class=&quot;at-link&quot; title=&quot;@Startup&quot; href=&quot;https://github.com/Startup&quot;&gt;@Startup&lt;/a&gt;]登录启动段。&lt;/p&gt;
&lt;p&gt;第二步，在#ACT段内写入载入命令，参数1填文件路径，参数2填存储内容，按行分割时参数3留空。&lt;/p&gt;
&lt;p&gt;第三步，保存文件并重载登录脚本，让载入命令生效。&lt;/p&gt;
&lt;p&gt;第四步，在测试脚本中用键值读取命令验证数据已载入，确认读取时填写的名称与参数2存储内容一致。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u5751u70B9uFF1Au53C2u65702u4E3Au7A7Au5BFCu81F4u8F7Du5165u65E0u6548-63&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见坑点：参数2为空导致载入无效&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见坑点：参数2为空导致载入无效&lt;/h2&gt;&lt;p&gt;坑点一，参数2留空，载入直接无效。官方文档原文明确提示：但参数2如果为空，会导致载入无效！这是载入命令最常见的失败原因，写入时务必填上存储内容。&lt;/p&gt;
&lt;p&gt;坑点二，文件路径写错。相对路径写错或文件不存在时载入不到内容，检查路径是否与QuestDiary目录下的实际位置一致。&lt;/p&gt;
&lt;p&gt;坑点三，分割符号理解反了。txt以行作为分隔符时参数3留空，按其他字符分行时才需要填写，填错分割符号会让键值条目切分错乱。&lt;/p&gt;
&lt;p&gt;坑点四，载入后改了文件内容，游戏里没变化。登录脚本改动后用重载命令生效，无需重启，载入的数据也需要重新载入一次才能读到新内容。&lt;/p&gt;
&lt;h2 id=&quot;h2-FAQu95EEu7B54-73&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;FAQ问答&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;FAQ问答&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u8F7Du5165u6587u4EF6u5230u952Eu503Cu548Cu5168u5C40u53D8u91CFu6709u4EC0u4E48u533Au522BuFF1F-75&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 载入文件到键值和全局变量有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 载入文件到键值和全局变量有什么区别？&lt;/h3&gt;&lt;p&gt;全局变量通过Mir200目录下的GlobalVal.ini保存和读取，可跨场景共享数据，适合存数值和文本标记；载入文件到键值则是把TXT文本文件整批写入键值存储区，数据源是外部文件而不是变量。两者都能跨脚本共享数据，区别在于数据维护方式：变量在脚本里赋值，键值载入的内容由文本文件决定。（本条问题整理自百度知道真实提问：传奇脚本全局所有变量使用说明，2024年8月）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u4F20u5947u811Au672Cu53D8u91CFu662Fu4EC0u4E48uFF1F-79&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 传奇脚本变量是什么？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 传奇脚本变量是什么？&lt;/h3&gt;&lt;p&gt;A变量是字符型，可以存汉字文本；G变量是整数型，做数字操作；S、D、N是私人变量，各有用途。载入文件到键值走的是另一条路，把文件内容直接做成键值条目，不需要先经过变量中转，读取时按存储名称取用即可，两者在脚本里可以配合使用。（本条问题整理自百度知道真实提问：传奇脚本变量是什么，2022年11月）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u811Au672Cu6539u4E86u4E3Au4EC0u4E48u6E38u620Fu91CCu6CA1u53D8u5316uFF1F-83&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 脚本改了为什么游戏里没变化？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 脚本改了为什么游戏里没变化？&lt;/h3&gt;&lt;p&gt;先看设置的NPC能否找到、脚本开头是否正确，再启动M2看有没有脚本错误提示行。登录脚本QManage改动后用重载命令生效，无需重启；载入命令写在[&lt;a class=&quot;at-link&quot; title=&quot;@Startup&quot; href=&quot;https://github.com/Startup&quot;&gt;@Startup&lt;/a&gt;]时，文件内容变更后要重新载入才能读到新数据。（本条问题整理自百度知道真实提问：传奇服务端脚本改了，游戏里面没变化，2022年11月18日）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u8F7Du5165u7684u6587u4EF6u7528u4EC0u4E48u683Cu5F0FuFF1F-87&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 载入的文件用什么格式？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 载入的文件用什么格式？&lt;/h3&gt;&lt;p&gt;TXT文本即可，每行一条数据，参数3留空时按行分割。文件内容不需要特殊标记，编写时注意别多打空格，保证每一行就是要载入的一条键值内容。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u8F7Du5165u6587u4EF6u5230u952Eu503Cu548Cu5176u4ED6u952Eu503Cu547Du4EE4u662Fu4EC0u4E48u5173u7CFBuFF1F-91&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 载入文件到键值和其他键值命令是什么关系？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 载入文件到键值和其他键值命令是什么关系？&lt;/h3&gt;&lt;p&gt;哈希扩展下的键值族命令各管一段：写入键值负责单条写入，读取键值按名字取值，载入文件到键值负责整批导入，清除键值做批量清理。载入是批量入口，配合读取命令完成文件数据的键值化管理。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u53C2u65703u5206u5272u7B26u53F7u4EC0u4E48u65F6u5019u9700u8981u586Bu5199uFF1F-95&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 参数3分割符号什么时候需要填写？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 参数3分割符号什么时候需要填写？&lt;/h3&gt;&lt;p&gt;文件不是按行分隔时需要填写具体分割字符；按行分行时留空即可。填错分割符号会导致键值条目标记异常，读取时对不上名字，先用示例文件跑通再接入正式名单。&lt;/p&gt;
&lt;h3 id=&quot;h3-7.20u8F7Du5165u5931u8D25u600Eu4E48u6392u67E5uFF1F-99&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7. 载入失败怎么排查？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7. 载入失败怎么排查？&lt;/h3&gt;&lt;p&gt;先查参数2是否留空，留空必失败；再查文件路径是否写错、文件是否存在；最后重载脚本验证。多数问题出在参数2留空和路径写错上，按顺序排查即可定位。&lt;/p&gt;
&lt;h2 id=&quot;h2-u603Bu7ED3-103&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;总结&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;总结&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;载入文件到键值&lt;/strong&gt;是大秦插件哈希扩展里把整份文本批量载入键值存储区的入口命令，配合写入、读取等键值族命令，可以把装备名单、提示文案这类数据从脚本里拆出来做成外部配置。三个参数中存储内容不能留空，按行分割时分割符号留空，掌握这两点基本不会出错。批量载入跑通后，后续维护只改文件不碰脚本，数据加载脚本的维护成本会低很多。&lt;/p&gt;
&lt;p&gt;本文关于大秦插件载入文件到键值命令DQHashTableLoad的格式与参数说明，均对照官方CHM帮助文档逐项核对，仅供单机本地学习调试使用，请勿用于线上正式环境。&lt;/p&gt;
</description><pubDate>Fri, 30 Oct 2026 16:10:17 +0800</pubDate></item><item><title>996引擎如何检测被自己杀死宝宝的名字 - CheckKillSlaveName脚本命令详解</title><link>https://www.m2gm.com/tech/996/996-checkkillslavename/</link><description>&lt;div class=&quot;editormd-toc-menu&quot;&gt;&lt;div class=&quot;markdown-toc editormd-markdown-toc&quot;&gt;[TOCM]&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;p&gt;调试宝宝相关脚本时，经常要判断玩家亲手打死的是哪一只宝宝，比如把叛变的宝宝清掉之后给一句提示。一开始我没留意命令的检测范围，把道士英雄召唤的神兽也算进去，结果提示一直不触发；后来改用996引擎的&lt;strong&gt;检测被自己杀死宝宝的名字&lt;/strong&gt;命令，按它只认直属宝宝的规则写，一段脚本就稳了。&lt;/p&gt;
&lt;p&gt;检测被自己杀死宝宝的名字用CheckKillSlaveName命令，参数就是被打死宝宝的名字，条件成立说明这只宝宝是当前人物亲手杀掉的。这篇把命令格式、配置流程和调试时踩的坑整理出来，把宝宝击杀判断落到脚本里，做宝宝清理、叛变处置玩法的管理员可以对照参考。&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width:100%;&quot; title=&quot;检测被自己杀死宝宝的名字配图 - M2GM&quot; alt=&quot;检测被自己杀死宝宝的名字配图 - M2GM&quot; src=&quot;https://www.m2gm.com/zb_users/upload/2026/10/996-checkkillslavename.webp&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-u547Du4EE4u683Cu5F0Fu89E3u6790-10&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;命令格式解析&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;命令格式解析&lt;/h2&gt;&lt;p&gt;CheckKillSlaveName的格式是命令后面跟一个宝宝名字：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckKillSlaveName 白野猪
#SAY
你把对方的宝宝&amp;lt;白野猪&amp;gt;杀死了.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;按官方帮助文档的说明，这条命令检测被自己杀死的宝宝的名字。文档特别提示：此命令只检测直属宝宝，例如道士英雄召唤的神兽不属于直属宝宝。写脚本前先分清玩家自己召唤的宝宝和英雄召唤的神兽，范围搞错判断就不会成立。&lt;/p&gt;
&lt;h2 id=&quot;h2-u53C2u6570u8BF4u660E-23&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;参数说明&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;参数说明&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;宝宝名字&lt;/td&gt;
&lt;td&gt;被自己杀死的那只宝宝的名字，例如白野猪&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这条命令只有一个名字参数，不需要填数量、坐标这些附加项。填的名字要和实际被打死的宝宝名字完全一致，多一个字、少一个字都匹配不上。判断的是当前人物亲手击杀的对象，如果宝宝是被别的怪物打死的，这条命令不会成立。&lt;/p&gt;
&lt;h2 id=&quot;h2-u914Du7F6Eu6D41u7A0B-31&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;配置流程&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置流程&lt;/h2&gt;&lt;p&gt;把检测写进宝宝被击杀的触发段，条件成立后弹出提示：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckKillSlaveName 白野猪
#SAY
你把对方的宝宝&amp;lt;白野猪&amp;gt;杀死了.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这段提示语直接沿用文档原文，尖括号把宝宝名字包起来显示。CheckKillSlaveName是检测命令，只能放在#IF条件段，后面接#SAY做对话提示，或者接#ACT发系统消息。实际部署时把这一段挂在宝宝死亡触发的位置，玩家亲手杀掉对应宝宝才会走到这里。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5B9Eu6218u6848u4F8B-44&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;实战案例&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;实战案例&lt;/h2&gt;&lt;p&gt;结合叛变清理玩法：玩家打死自己叛变的宝宝后，发一条提示并记录处置动作：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-legend&quot;&gt;#IF
CheckKillSlaveName 白野猪
#ACT
SENDMSG 0 你已清理掉叛变的宝宝白野猪
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;用SENDMSG把消息发给玩家自己看，后面还可以接变量计数、发奖励这些#ACT动作。多只宝宝要分别判断时，就写多段#IF，每段填不同的宝宝名字，从上往下逐条匹配，命中哪只宝宝走哪段提示。&lt;/p&gt;
&lt;h2 id=&quot;h2-u62A5u9519u95EEu7B54-57&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;报错问答&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;报错问答&lt;/h2&gt;&lt;h3 id=&quot;h3-u6740u6B7Bu5B9Du5B9Du540Eu63D0u793Au8BEDu5B8Cu5168u4E0Du89E6u53D1-59&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;杀死宝宝后提示语完全不触发&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;杀死宝宝后提示语完全不触发&lt;/h3&gt;&lt;p&gt;先确认命令写在#IF条件段而不是#ACT段；再确认被打死的这只是玩家自己的直属宝宝，道士英雄召唤的神兽不在检测范围里，杀神兽不会触发；最后核对脚本挂的触发位置是不是宝宝死亡那一刻对应的段。&lt;/p&gt;
&lt;h3 id=&quot;h3-u540Du5B57u5BF9u5F97u4E0Au5374u8FD8u662Fu4E0Du6210u7ACB-63&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;名字对得上却还是不成立&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;名字对得上却还是不成立&lt;/h3&gt;&lt;p&gt;检查填的宝宝名字和实际怪物名是不是完全一致，文档里的示例是白野猪，写别的宝宝就换成对应名字；名字里带空格、繁简不一致都会导致匹配失败，按数据库里的标准名字誊写最稳。&lt;/p&gt;
&lt;h2 id=&quot;h2-u65B9u6848u5BF9u6BD4-67&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;方案对比&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方案对比&lt;/h2&gt;&lt;p&gt;CheckKillSlaveName是检测判断类命令，这条杀死宝宝名字检测命令放在#IF里回答你亲手杀的是不是某只宝宝；KILLSLAVE是主动杀死人物宝宝的动作命令，放在#ACT里直接清宝宝，两者一个判条件、一个做动作。判断杀死的怪物名字则用CheckKillMonName，那是普通怪物不是宝宝，别和宝宝检测混用。做清理玩法时，先用CheckKillSlaveName判对对象，再决定要不要接KILLSLAVE动作。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5E38u89C1u95EEu9898-71&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;常见问题&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;常见问题&lt;/h2&gt;&lt;h3 id=&quot;h3-1.20u95EEuFF1Au600Eu4E48u628Au81EAu5DF1u53ECu5524u7684u5B9Du5B9Du4E22u6389uFF1F-73&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 问：怎么把自己召唤的宝宝丢掉？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 问：怎么把自己召唤的宝宝丢掉？&lt;/h3&gt;&lt;p&gt;答：把自身攻击模式切成全体模式，就可以攻击并打死自己的宝宝；小退或者大退之后宝宝也会自然消失；还可以把宝宝拉到有怪的地方，让怪物帮忙把它清掉。脚本侧再用CheckKillSlaveName接住击杀后的提示。（来源：百度知道，2006-04检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-2.20u95EEuFF1Au6CD5u5E08u7684u5723u8A00u672Fu80FDu6740u6B7Bu54EAu4E9Bu5B9Du5B9Du7C7Bu76EEu6807uFF1F-77&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 问：法师的圣言术能杀死哪些宝宝类目标？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 问：法师的圣言术能杀死哪些宝宝类目标？&lt;/h3&gt;&lt;p&gt;答：圣言术对不死系怪物有效，稻草人、僵尸、蛇以及道士宝宝都是它的目标；需要把技能练到专家级别，成功率才高。用圣言术清宝宝时，击杀后是否走到CheckKillSlaveName判断，仍要看被清的是不是玩家直属宝宝。（来源：百度知道，2024-12检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-3.20u95EEuFF1Au5B9Du5B9Du6253u6B7Bu7684u602Au7269uFF0Cu89E6u53D1u7684u662Fu4EBAu7269u7206u7387u5417uFF1F-81&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 问：宝宝打死的怪物，触发的是人物爆率吗？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 问：宝宝打死的怪物，触发的是人物爆率吗？&lt;/h3&gt;&lt;p&gt;答：宝宝相当于玩家的技能延伸，宝宝打死怪物触发的是人物爆率；每只怪物的爆率独立配置，标注的概率只是单次几率，不是打满固定数量必出。这和CheckKillSlaveName判断的是宝宝被谁杀死不是同一回事，一个是打怪爆率、一个是清宝宝判定。（来源：百度知道，2022-01检索，已去隐私）&lt;/p&gt;
&lt;h3 id=&quot;h3-4.20u95EEuFF1ACheckKillSlaveNameu548CCheckKillMonNameu6709u4EC0u4E48u533Au522BuFF1F-85&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. 问：CheckKillSlaveName和CheckKillMonName有什么区别？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. 问：CheckKillSlaveName和CheckKillMonName有什么区别？&lt;/h3&gt;&lt;p&gt;答：CheckKillSlaveName检测的是被自己杀死的宝宝名字，范围限直属宝宝；CheckKillMonName检测的是被自己杀死的普通怪物名字。一个管宝宝、一个管野外怪物，写脚本时按对象类型选命令。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.20u95EEuFF1Au9053u58EBu82F1u96C4u53ECu5524u7684u795Eu517Du4E3Au4EC0u4E48u68C0u6D4Bu4E0Du5230uFF1F-89&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. 问：道士英雄召唤的神兽为什么检测不到？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. 问：道士英雄召唤的神兽为什么检测不到？&lt;/h3&gt;&lt;p&gt;答：文档明确说明这条命令只检测直属宝宝，道士英雄召唤的神兽不属于直属宝宝，所以杀神兽时CheckKillSlaveName不会成立；要接神兽相关提示，得换对应英雄宝宝的触发方式。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.20u95EEuFF1Au8FD9u4E2Au547Du4EE4u80FDu653Eu5728u54EAu4E9Bu89E6u53D1u6BB5uFF1F-93&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 问：这个命令能放在哪些触发段？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 问：这个命令能放在哪些触发段？&lt;/h3&gt;&lt;p&gt;答：它是检测命令，放在宝宝被击杀那一刻对应的#IF条件段里用；配合#SAY弹对话或者#ACT发消息、记变量都行，不要放到#ACT动作段单独执行。&lt;/p&gt;
&lt;h2 id=&quot;h2-u5199u5728u6700u540E-97&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;写在最后&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;写在最后&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;检测被自己杀死宝宝的名字&lt;/strong&gt;用CheckKillSlaveName加一个宝宝名字完成判定，做宝宝清理、叛变处置时很顺手；调试时记住它只认玩家直属宝宝，英雄召唤的神兽不在范围内，名字按数据库标准名誊写，提示语自然就触发了。更多996引擎脚本命令可以继续关注本站文章。&lt;/p&gt;
&lt;p&gt;CheckKillSlaveName直属宝宝与神兽的区分在本地环境实测验证过，仅供单机调试参考，直接跨引擎可能踩坑。&lt;/p&gt;
</description><pubDate>Fri, 30 Oct 2026 13:30:01 +0800</pubDate></item></channel></rss>