大秦系统变量怎么查?40个常用内置变量速查 - 大秦插件脚本教程
摘要:大秦内置变量分攻击目标、宝宝、击杀掉落、在线状态、技能属性、死亡交易、暴击几组;都是引擎实时维护的运行时数据直接读不用自己算;CLIENT后缀去怪物数字后缀做奖励匹配用;PKPOWER有误差差别做精确结算;UPGRADECOUNT分0到30段;写触发脚本先找现成内置变量,找不到再自己建中间变量。…
写触发脚本时最卡壳的瞬间,往往是想取一个运行时数据却记不起变量名:当前打中的怪叫什么、怪还剩多少血、上一刀打了多少伤害,每次都得翻半天文档。大秦插件把这些运行时数据都做成了大秦系统变量,不用自己算,触发时机到了直接读。
新手常踩的两个坑:CLIENT后缀版本去不去怪物数字后缀搞混了,或者把上一刀伤害变量拿来做精确伤害结算。这篇把官方变量表里的常用项按用途分好类,写脚本时当字典翻,配进触发段就能用。
刚上手别想着一次背完四十个变量,先按自己常写的触发类型查对应那一组,用熟了再扩展。下面这份变量大全速查,按攻击目标、宝宝、击杀掉落、在线状态、技能属性、死亡交易、暴击分组列清楚。

攻击与目标类
正在打什么、怪在哪、剩多少血,写攻击触发脚本时全靠这一组攻击目标变量:
| 变量名 | 含义 |
|---|---|
<$PKPOWER> |
当前攻击造成的上一刀伤害,存在不准确 |
<$ATTACKMONSTER_X> |
当前攻击的目标坐标X |
<$ATTACKMONSTER_Y> |
当前攻击的目标坐标Y |
<$ATTACKMONSTER_HP> |
当前攻击的目标血量值 |
<$ATTACKMONSTER_MAX_HP> |
当前攻击的目标血量上限 |
<$DQCurrentAttackMonNameClient> |
当前攻击的怪物名称(包括数字) |
这组变量只在攻击触发的上下文里有效,平时随便读拿到的是空值,别脱离触发时机用。

宝宝与击杀掉落类
宝宝攻击谁、宝宝自己坐标,宝宝流版本必查这一组;谁杀的、爆了什么、在哪爆的,做击杀触发和爆物统计用这一组:
| 变量名 | 含义 |
|---|---|
<$BABYNAME> |
当前宝宝名称 |
<$BATTACKMONSTER_NAME> |
当前宝宝攻击目标的名称 |
<$BATTACKMONSTER_X> |
当前宝宝坐标X |
<$BATTACKMONSTER_Y> |
当前宝宝坐标Y |
<$BATTACKMONSTER_HP> |
当前宝宝攻击目标的血量值 |
<$BATTACKMONSTER_MAX_HP> |
当前宝宝攻击目标的血量上限 |
<$DQKILLMONNAMECLIENT> |
当前杀死的怪物名称,不带数字后缀(支持宝宝) |
<$DQKILLMONNAME> |
当前杀死的怪物名称,带数字后缀(支持宝宝) |
<$DQKillMonX> |
当前杀死的怪物X坐标(支持宝宝) |
<$DQKillMonY> |
当前杀死的怪物Y坐标(支持宝宝) |
<$DROPITEMNAME> |
正在爆出的物品名称 |
<$DROPMONNAME> |
爆出怪物名(带数字) |
<$DROPMAPNAME> |
爆出地图名 |
两个击杀变量的区别要记牢:CLIENT结尾不带数字后缀,做奖励匹配用CLIENT版,怪物名带数字编号时不会因为编号差异匹配失败。
在线状态与技能属性类
| 变量名 | 含义 |
|---|---|
<$DQONUSERCOUNT> |
所有真人在线数 |
<$DQONUSERCOUNTOFFLINE> |
真人在线数,不包含离线挂机 |
<$TIME> |
当前本地服务端系统时间 |
<$RevivalTimeEx> |
人物复活CD,单位秒,0为可立即复活 |
<$DearName> |
配偶名称 |
<$DQMagicID> |
技能ID |
<$DQMagicName> |
技能名称 |
<$DQMagicTarget> |
技能目标名称 |
<$DQMagicTargetRace> |
技能目标类型:0人物、1英雄、其他为怪物NPC等 |
<$DQHUMABILITY[X].VALUE(Y)> |
取属性索引的临时属性值,X属性索引、Y属性类型 |
<$VALUE1>~`<$VALUE20>` |
人物元素属性常量1到20(含自定义元素属性) |
<$BAGCOUNT> |
背包物品数量 |
这组变量覆盖人气统计、复活计时、技能触发取目标,写状态类触发时直接读,不用自己累计。

内置变量实操搭配示例
内置变量和触发脚本是配套的,攻击触发里读目标血量,击杀触发里读怪物名,掉落触发里读物品名,不用自己赋值,引擎在触发时机自动填好。拿击杀触发举例,怪物倒下时读击杀怪物名做奖励分支:
;击杀触发段
#IF
#ACT
sendmsg 6 你杀死了<$DQKILLMONNAMECLIENT>
Break
写脚本前先按用途翻这张表,需要的运行时数据大概率已经有现成内置变量,找不到再自己建中间变量。这也是新手问内置变量有哪些时,先按攻击目标变量、击杀掉落变量这两大类入手的原因。
死亡交易与暴击类
| 变量名 | 含义 |
|---|---|
<$DQKILLERRACE> |
死亡时击杀者类型(数据库Race值) |
<$DQKILLERNAME> |
死亡时击杀者名字 |
<$DQKILLERNAMECLIENT> |
死亡时击杀者名字去除数字 |
<$DQSHOPSELLER> |
商品卖家名称 |
<$DQSHOPBUYER> |
商品买家名称 |
<$DQSHOPITEM> |
商品名称 |
<$DQSHOPITEMIDX> |
商品IDX序号 |
<$DQSHOPITEMPRICE> |
商品价格 |
<$DQSHOPITEMMONEYNAME> |
商品货币名称 |
<$DQSHOPITEMMONEYTYPE> |
商品货币类型 |
<$DQSHOPITEMCOUNT> |
商品物品数量 |
<$DQBASHEXCOUNT> |
暴击剩余有效次数 |
<$DQPARAM1> |
获取暴击伤害数值 |
<$DQPARAM2> |
获取触发暴击的技能ID |
<$PICKUPRANGE> |
自动拾取范围,默认0 |
<$AoToPickUpItemState> |
自动拾取开启状态 |
<$GamePromotionFlag> |
登录器标记文本内容 |
<$UPGRADECOUNT> |
身上物品总强化、总星星数(含时装、首饰盒) |
<$UPGRADECOUNT0>~`<$UPGRADECOUNT30>` |
分部位:0到16身上物品、17到18时装、19到30首饰盒 |
<$DQGODBLESSITEM1>~`<$DQGODBLESSITEM12>` |
首饰盒12个格子的物品名称 |
注意要点
用内置变量有几个细节容易忽略:CLIENT后缀版本去怪物数字后缀,做奖励匹配用CLIENT版;上一刀伤害变量有误差,别拿来做精确伤害结算;内置变量只在对应触发时机有效,平时读可能是空值。怪名带编号的版本用不带CLIENT的变量匹配不上奖励,拿上一刀伤害变量做伤害结算结果不准,这两类是新手最常踩的坑。
内置变量和自己建的中间变量分工要清楚:内置变量是引擎现成的运行时数据,随当前操作对象变化,攻击触发里读的是当前被打的怪,击杀触发里读的是刚死的那只;自己建的中间变量管累计计数、过程值。写触发脚本先找现成内置变量,找不到再自己建。
问题速查
1. <$PKPOWER>说存在不准确到底能不能用?
它读的是引擎记录的上一刀伤害,引擎官方自己标注存在不准确,做粗略统计参考可以,别拿它做精确伤害结算的判定依据。伤害计算类需求用QF触发段传出来的参数变量更可靠,这个变量只适合做个大概参考,别卡在精确数值上。
2. 两个击杀变量带CLIENT和不带有什么区别?
不带CLIENT的击杀怪物名变量带怪物数字后缀,怪名库是”白野猪1””白野猪2”编号命名时它读出来带编号;带CLIENT的版本把后缀去掉只剩”白野猪”。做奖励匹配、掉落名单比对用CLIENT版,两边结果都能对上编号差异。
3. 宝宝杀怪能读到击杀变量吗?
能,击杀怪物名、击杀怪物名CLIENT版,再加击杀坐标X、Y这四个官方标注支持宝宝。宝宝流版本统计宝宝击杀、按击杀位置掉奖励都读这一组,不用单独再写宝宝触发段,变量会在宝宝击杀时自动填好。
4. 这么多系统变量,哪些是单人的、哪些是全服通用的?
分两类看。UPGRADECOUNT、BAGCOUNT这类挂在当前玩家身上,每个玩家各自读各自的穿戴强化和背包数,属于单人运行时数据;DQONUSERCOUNT、DQONUSERCOUNTOFFLINE是全服在线人数,所有人读出来是同一个值,属于全局。写脚本时先想清楚这份数据是”这个玩家的”还是”全服的”,单人数据别拿来当全服判断,全服数据也别指望它存单人状态,这和私人变量、全局变量的分法一致。(本条问题整理自百度知道真实提问:百度知道2019-08,对应功能词系统变量,答案结合大秦插件帮助文档与本地实测)
5. 系统变量读出来是文字还是数字,能直接拿去比较吗?
看变量本身维护的是什么。PKPOWER、UPGRADECOUNT、BAGCOUNT这类是数字,读出来按数字做加减和比较;击杀怪物名、攻击目标名这类是文字,读出来当字符串比,比如判断击杀怪物名CLIENT是不是”白野猪”。别把数字标记当文字比、把文字当数字运算,否则判断对不上。要算总和先把数字变量取进数字变量再INC,字符型直接拼是文本相加。(本条问题整理自百度知道真实提问:百度知道2022-11,对应功能词系统变量,答案结合大秦插件帮助文档与本地实测)
6. 背包数、在线数这些运行时数据,脚本里怎么随时读不用自己算?
直接引用<$变量名>就行,引擎实时维护。比如背包够不够用<$BAGCOUNT>或<$BAGEMPTYPOS>判断,在线人气用<$DQONUSERCOUNT>,强化段用<$UPGRADECOUNT>。这些是引擎在背后持续算好的运行时数据,不用自己建中间变量去累加,跨脚本引用读到的都是最新值。写触发段前先按用途类别翻一遍这张速查表,大概率有现成变量,找不到再自己建。(本条问题整理自百度知道真实提问:百度知道2024-08,对应功能词系统变量,答案结合大秦插件帮助文档与本地实测)
写在最后
这张大秦系统变量速查表的用法:写触发脚本前先按用途类别翻一遍,需要的运行时数据大概率已经有现成内置变量,不用自己中间算。攻击目标、宝宝、击杀掉落、在线状态、技能属性、死亡交易、暴击几组变量按场景各就各位。注意CLIENT后缀去数字、强化分段、上一刀伤害变量有误差这几个细节,写出来的触发脚本就稳了。
以上变量清单依据大秦插件官方变量对照表整理,均经过本地环境对照验证;变量仅适配大秦插件,部分其他引擎存在兼容可能性,跨引擎使用需要自行测试修改;全文仅供单机本地学习调试、版本技术研究与功能测试使用。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。





