差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| 天下:天下判断:判断基础知识 [2025/11/27 07:01] – ziling | 天下:天下判断:判断基础知识 [2025/12/02 04:53] (当前版本) – ziling | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | {{indexmenu_n> | ||
| + | |||
| ====== 判断基础知识 ====== | ====== 判断基础知识 ====== | ||
| - | 此攻略搬迁自atat的笔记 | + | 转载自__atat__的笔记 |
| ---- | ---- | ||
| - | == 加载脚本 | + | =====脚本是如何生效的===== |
| - | client 会加载游戏目录下的 judge-xx.ini,这里的 xx=你的游戏 id,比如你的游戏帐号是 abc,则这个文件是 judge-abc.ini | + | |
| - | == 脚本结构 | + | === 加载脚本 === |
| + | * client会加载游戏目录下的judge-xx.ini,这里的xx=你的游戏id,比如你的游戏帐号是abc,则这个文件是judge-abc.ini\\ | ||
| - | <pre> [public]咒术700级,灵力会比较够用 all=50 [judge1]正常流程:眼,新任务 t1=; | + | ---- |
| - | 脚本文件属于配置式语法,不需要编程语言,只需按格式填写。 | + | ==== 脚本结构 ==== |
| + | * [[public]]咒术700级,灵力会比较够用\\ | ||
| + | * all=50\\ | ||
| + | * [[judge1]]正常流程:眼,新任务\\ | ||
| + | * t1=; | ||
| + | * t2=)作恶多端,快去把他除掉。\\ | ||
| + | * cmd=quest\\ | ||
| + | * user1=真\\ | ||
| + | * 脚本文件属于配置式的语法,不需要编程语言,只要按固定格式填写设定就行了\\ | ||
| + | * [[public]]为固定开头标签,后面文字不执行,可用于注释\\ | ||
| + | * all=50,告诉客户端一共加载50个判断,可以通过这个控制生效的脚本\\ | ||
| + | * 空行会被忽略,可用于排版\\ | ||
| + | * [[judge1]]为一个判断标签,1为判断序号,每个判断的序号不同,最大不能超过all指定的数量。可以顺序排版,也可以乱续排版。不影响执行。\\ | ||
| + | * t1=和t2=,为判断的输入关键词,可以只留t1,表示同时满足,支持正则。\\ | ||
| + | * ; | ||
| + | * 后面表示队伍里眼报坐标的文本特征\\ | ||
| + | * cmd=quest,为判断的输出执行,每个命令用; | ||
| + | * user1=真,是否开启这条判断,真为开启,其它内容都为关闭。user1表示帐号1,不知道user2会是什么,不清楚。\\ | ||
| - | [public] 为固定标签,不执行内容,可作注释。 | + | ---- |
| - | all=50 控制加载判断数量。 | + | === 判断执行 === |
| + | * 输入:每个游戏信息,包括隐藏信息,弹窗提示,聊天信息,公告信息,战斗发招,伤害信息,玩家动作提示等\\ | ||
| + | * 处理:每一个信息,会对每个判断的关键词规则,都会尝试匹配一次,所以脚本尽量少,能减少客户端的cpu计算量(写打工脚本时发现的)。密集任务时,建议换一个极致精简的脚本,减少cpu计算量。其它时间切换一个综合脚本\\ | ||
| + | * 输出:当一个判断的关键词规则被匹配命中时,则会由这个信息,触发一次cmd命令执行。\\ | ||
| + | * lzm提供:关键命令最多执行6个好像,比如get自动拾取,5-6个方向有效,后面几个方向亲测无效,没有被执行到。\\ | ||
| + | * ktv1提供:战斗奶可以一次招满并投降,远超6个了(和平奶脚本)# | ||
| - | 空行会被忽略。 | + | ---- |
| - | [judge1] 为判断标签,数字是序号,不得超过 all。顺序、乱序都可以。 | + | =====游戏交互技巧===== |
| - | t1 / t2 是关键词,支持正则。 | + | ---- |
| - | ;37m 为文字颜色代码(队伍频道白字),避免被捣乱。 | + | === 叛徒 === |
| + | * 叛徒ID获取:quest信息可以获取到叛徒id和门派信息\\ | ||
| + | * 自动贴npc:手点NPC弹出菜单,点交谈即自动走位并面对,look出来的菜单无效\\ | ||
| + | * 自动面对:先执行give 1 coin to $bl\\ | ||
| + | * 暗器数量:低于100次时,会有提示信息,可以循环提醒修暗器,修完结束循环\\ | ||
| + | * 接任务的失败:刚上线60秒CD,频繁询问3秒CD,任务30秒CD,统一处理为失败则触发3秒后再问一次任务\\ | ||
| - | cmd=quest 为匹配后的执行命令,可多条;号分隔。 | + | ---- |
| - | user1=真 表示开启(真=开启,其他=关闭)。 | + | === 挖宝 === |
| + | * 挖宝保留现场:开挖信息触发奇门设标2次,可回现场\\ | ||
| + | * 假标飞:通过模拟报标喊话,激活刺杀,执行FLYS即可飞坐标附近,自动飞的判断需要区分眼的叛徒正常报标、被干扰报标、假标\\ | ||
| - | == 判断执行 == | + | ---- |
| - | 输入来源包括隐藏信息、提示、聊天、公告、战斗动作等。 | + | |
| - | 每条游戏信息都会尝试匹配每个判断,因此脚本越多 CPU 越高。 | + | === 学习 === |
| + | * 学习启动的严格控制:每次启动学习,可以从look师傅开始,装备切换,从哪个武功开始 stepover,避免手动操作失误\\ | ||
| - | 输出:当某判断匹配时执行 cmd。多个脚本可并行触发。 | + | ---- |
| - | lzm 提供:关键命令最多执行 6 个(方向拾取超过 6 后无效)。 | + | =====高级语法实现===== |
| - | ktv1 提供:战斗奶可一次招满(超过6个命令),在命令后加入 sleep 可执行完整流程。 | + | ---- |
| - | = 游戏交互技巧 | + | === case switch === |
| + | * 比较典型的是坐标处理,借助正则,实现对同一个信息给出不同坐标的处理\\ | ||
| - | == 叛徒 == | + | ---- |
| - | 叛徒 ID 可由 quest 信息获取(含门派)。 | + | |
| - | 自动贴 NPC:手动点击 NPC → 交谈 → 自动走位 | + | |
| - | 自动面对:先执行 give 1 coin to $bl | + | |
| - | 暗器数量低于 100 次会提示,可循环提醒修暗器。 | + | |
| - | 接任务失败原因: | + | === or多条件 === |
| - | 上线 60 秒 CD | + | * 初级多条件:(词1|词2|词3)\\ |
| - | 频繁询问 | + | * 你对(段延庆|叶二娘|云中鹤|岳老三|欧阳锋|丁春秋|成昆|金轮法王|倭奴|倭寇|倭兵|夺宝山贼)喊到.*去死吧\\ |
| - | 任务 30 秒 CD | + | * 高级多条件:(?: |
| - | 统一失败处理后 | + | * 还没用过\\ |
| - | == 挖宝 == | + | ---- |
| - | 挖宝信息触发奇门设标两次,用于回现场。 | + | |
| - | 假标飞:模拟报标激活刺杀,执行 FLYS 飞抵附近。 | + | |
| - | == 学习 | + | === func函数封装 === |
| - | 学习启动严格控制:从 look 师傅开始,装备切换,按武功顺序 stepover。 | + | * 特征是用某个信号或喊话触发,做一套固定动作,独立完成,不依赖其他配合\\ |
| + | * 比如死后复活全面恢复\\ | ||
| + | * 触发信号:添加一个宏,say 复活零蛋,请开始你的表演\\ | ||
| + | * t1=你说道:复活零蛋,请开始你的表演\\ | ||
| + | * cmd=sleep(50); | ||
| + | * 门派的连招\\ | ||
| + | * 挖宝的小恢复,大恢复\\ | ||
| + | * 这些都是比较固定,且独立完成,被触发时都容易执行成功,就适合封装。后续出现问题,也只需要修改函数内的设置,不需要到处修改。\\ | ||
| - | = 高级语法实现 = | + | ---- |
| - | == case / switch | + | === recursion递归循环 === |
| - | 用于相同信息的不同坐标处理,常结合正则完成。 | + | * 递归是指一段处理逻辑在触发后,通过自身调用实现循环重复执行的机制。\\ |
| + | * 举个例子段府的神剑8秒连招设计\\ | ||
| + | * t1=你施展出六脉神剑\\ | ||
| + | * cmd=perform shenjian[t]8200; | ||
| + | * 循环的开启 | ||
| + | * 执行了一次神剑发招,就会触发它,它除了执行连招,还会再次挂起一个定时神剑,因为t只能挂一个任务,所以它会不断被自己定时执行,也就是循环。\\ | ||
| + | * 循环的内容 | ||
| + | * 可以在后面的命令写连招,并且每一步还能封装函数,在这里循环触发\\ | ||
| + | * 可控循环的跳出 | ||
| + | * 不可控循环:通过sleep(8200); | ||
| + | * 可控循环:通过[t]做的循环,可以用[]命令,结束辅助功能,也就结束跳出循环了\\ | ||
| - | == or 多条件 == | + | ---- |
| - | 初级写法: | + | |
| - | <pre> (词1|词2|词3) </ | + | === while无限循环 === |
| + | * 发招CD无限重试\\ | ||
| + | * t1=技能冷却中\\ | ||
| + | * cmd=perform chan\\ | ||
| + | * 设计一个判断:提示CD时,触发执行某个发招\\ | ||
| + | * 当发招真的遇到CD时,就会一直循环不断尝试再次发招\\ | ||
| + | * 这个无限循环有两种情况会自行结束\\ | ||
| + | * CD冷却,发招成功,则不再提示CD,也就结束循环。\\ | ||
| + | * 目标死亡,导致发招无法施展,也就不会提示CD触发下一次尝试,也就结束循环。\\ | ||
| + | * 改造为只触发一次\\ | ||
| + | * 当提示CD时,先喊话CD信息,再用喊话信息触发尝试发招\\ | ||
| + | * 因为喊话有3秒CD,导致尝试发招再次触发的CD信息,无法触发喊话,导致只尝试了1次发招\\ | ||
| - | 示例: | + | ---- |
| - | < | + | === 共享缓存 === |
| + | * 标的:通过写入nick和describe,记录一些事件、状态、名称\\ | ||
| + | * 触发:通过look自己,这些标记信息匹配时,触发一些动作\\ | ||
| + | * 共享:别人也可以look你,共享这些特殊事件\\ | ||
| + | * 擦除:通过nick和describe不带内容执行时,则清除标记\\ | ||
| + | * 场景:唐门队友实现自动解毒\\ | ||
| + | * 标记:但发起ksq全队启动后,唐门对自己的nick写入一个单词。\\ | ||
| + | * 触发:每次一箭连招几秒后look自己,触发自动解毒。\\ | ||
| + | * 擦除:杀完叛徒则清除nick,这样只在杀叛徒时会自动解毒\\ | ||
| + | * 改进:可以演变出,当杀唐门或忧愁叛徒时,才做标记,这样唐门队友就可以实现,杀唐门或忧愁时,自动解毒,其它叛徒时不解毒。\\ | ||
| + | * 场景:少林叛徒实现自动回气,避免反伤震晕\\ | ||
| + | * 参照上面的例子,遇到少林叛徒做标记,每次连招后面look一下,是少林则exert recover\\ | ||
| + | | ||
| - | 高级写法: | + | ---- |
| - | <pre> (?: | + | =====脚本字符含义===== |
| - | == func 函数封装 == | + | ---- |
| - | 适合独立完整的动作,如死亡后的全面恢复。 | + | |
| - | 示例: | + | === 关键词的写法 === |
| + | * 中文:实测昵称截取时,可以用..两个英文点表示1个汉字或2个字母数字\\ | ||
| + | * 数字:单个用\d或[0-9]表示,多个为\d+,具体个数用\d{5},范围个数用\d{1, | ||
| + | * 字母:有很多种方式,我一般用\w表示一个字母,用\w+表示一个单词,用\w+ \w+表示两个单词\\ | ||
| + | * 标记:^ 表示开头 $表示结尾\\ | ||
| + | * 排除:(? | ||
| + | * ^(? | ||
| + | * 掉落信息:@ 识别掉物品\\ | ||
| + | * @"\w+ ?\w+" " | ||
| + | * t1=@ cmd=say $bl\\ | ||
| + | * 你说道:" | ||
| + | * 你说道:" | ||
| + | * 喜羊羊说道:坐标出现在-----" | ||
| + | * t1=@ cmd=say $bl\\ | ||
| + | * 你说道:" | ||
| + | * t1=@" | ||
| + | * 你说道: " | ||
| + | * t1=@" | ||
| + | * 你说道: 626a o042 杂 249 1695\\ | ||
| + | * t1=@" | ||
| + | * 你说道: 杂 249 1695\\ | ||
| + | * t1=@" | ||
| + | * 你说道: 249 1695\\ | ||
| + | {{.: | ||
| + | {{.: | ||
| - | <pre> t1=你说道:复活零蛋,请开始你的表演 cmd=sleep(50); | + | ---- |
| - | 适合门派连招、挖宝恢复等固定流程。 | + | === 周围人物信息 === |
| + | * l识别人物(已失效)\\ | ||
| + | * l"xu sanye" " | ||
| + | * l" | ||
| + | * l"di pi" " | ||
| - | == 递归 recursion == | + | ---- |
| - | 段府神剑示例: | + | |
| - | <pre> t1=你施展出六脉神剑 cmd=perform shenjian[t]8200; | + | === 状态信息 === |
| + | * 你不知道在做什么:?? | ||
| + | {{.: | ||
| + | * 正在忙:: | ||
| + | {{.: | ||
| + | * 未知:=S | ||
| + | {{.: | ||
| + | * 错误信息:! | ||
| + | * !内 为内力不足 | ||
| + | * !灵 | ||
| + | * !法 | ||
| + | * !物 为没有这个物品 | ||
| + | * !你没有在战斗中 为没有战斗状态时的发招提示 | ||
| - | [t] 为可控循环,可用 [] 停止。 | + | ---- |
| - | == while 无限循环 | + | === 装备技能 |
| - | 技能冷却自动重试: | + | * E magic NONE |
| + | * E magic daoxin-zhongmo | ||
| - | <pre> t1=技能冷却中 cmd=perform chan </ | + | ---- |
| - | 结束条件: | + | === 位置信息 === |
| - | 冷却结束 / 目标死亡。 | + | {{.: |
| + | * 识别人物转向,2为朝向,忘记怎么获取的了 | ||
| + | * t1=l cmd=say,结果为0205 68 2929 2 | ||
| - | 也可通过喊话 3 秒 CD 机制改造为只触发一次。 | + | ---- |
| - | == 共享缓存 | + | === 提示信息 === |
| - | 通过设置 nick、describe 保存事件状态。 | + | * M |
| - | 别人 look 你可读取,实现共享。 | + | {{.: |
| - | 例子: | + | ---- |
| - | 唐门自动解毒 | + | |
| - | 少林叛徒自动回气避免震晕 | + | |
| - | = 脚本字符含义 | + | === 文字颜色 === |
| + | {{.: | ||
| + | * t1=1; cmd=say $bl 可以抓到所有颜色代码开头的频道对话 | ||
| + | * t1=3 cmd=say $bl 可以抓到所有颜色代码开头的提示信息 | ||
| + | * ; | ||
| + | * ; | ||
| + | * ; | ||
| + | * ; | ||
| + | * ; | ||
| + | * ; | ||
| + | * ; | ||
| + | * 无色为浅灰-任务信息,比如打quest ^叛徒任务: | ||
| + | * 无色为浅灰-学习信息飞信息,比如学习提示 ^M 你听了.*的指导为学习时的信息 | ||
| + | * \[33m为暗黄-告诉 | ||
| + | * \[36m为暗青-说道 | ||
| - | == 关键词写法 == | + | ---- |
| - | 中文:.. 表示 1 汉字或两个字母 | + | |
| - | 数字:\d、\d+、\d{n} | + | |
| - | 字母:\w | + | |
| - | 排除:(? | + | |
| - | 开头 ^ | + | |
| - | 结尾 $ | + | |
| - | == 掉落信息示例 | + | === cmd 学习命令 |
| + | * 振精学习 learn spells with 3000 from master ten[e] | ||
| + | * [e]振精学习,剩余精力不够一次with值时,则用内力运功补满 | ||
| + | * spells 武功英文名 | ||
| + | * 3000 每次使用多少精力,振精时使用全部精力值即可,比如你的精气神的精2534,则with 2530 | ||
| + | * master ten 学习对象,加上 from可以有距离学习,不加只能贴着 | ||
| + | * 睡觉学习 learn spells with 2000 from master ten[s] | ||
| + | * [s]睡觉学习,余精不够with值时,则睡觉补满。 | ||
| + | * 2000 每次使用多少精力,假设精2534,每次with 2500,则要睡很久才能回满,技巧是设为1500时比较合适 | ||
| + | * 睡觉读书 study xx with xxx [s] | ||
| + | * 振精练灵内法 meditate 300[l] | ||
| + | * 睡觉练灵内法 meditate 300[ls] | ||
| + | * 睡觉冥想 transfer qimen-dunjia with 1000[s] | ||
| + | * 练武串联 [setover]learn xxx with 100[e] | ||
| - | <pre> @"\w+ ?\w+" "[^A-Za-z0-9_" ]+" \w+ \w+ [^A-Za-z0-9_" | + | ---- |
| - | 示例: | + | === cmd 控制 === |
| + | * [t]定时执行 | ||
| + | * sleep(1000); | ||
| - | <pre> 你说道:" | + | ---- |
| - | + | ||
| - | == 周围人物信息(已失效) == | + | |
| - | + | ||
| - | <pre> l"xu sanye" " | + | |
| - | + | ||
| - | == 提示 == | + | |
| - | 你不知道在做什么:?? | + | |
| - | 正在忙:: | + | |
| - | 未知:=S | + | |
| - | == 错误信息 ! == | + | === cmd 变量 === |
| - | !内 内力不足 | + | * $id |
| - | !灵 | + | * $n 取来源信息 <> 中间的文本 |
| - | !法 | + | * $bl |
| - | !物 物品不存在 | + | |
| - | !你没有在战斗中 发招时未战斗 | + | |
| - | == 装备技能 == | + | ---- |
| - | + | ||
| - | <pre> E magic NONE E magic daoxin-zhongmo </ | + | |
| - | + | ||
| - | == 文字颜色 == | + | |
| - | ;31m 红 | + | |
| - | ;32m 绿 | + | |
| - | ;33m 黄 | + | |
| - | ;34m 蓝 | + | |
| - | ;35m 紫 | + | |
| - | ;36m 青 | + | |
| - | ;37m 白 | + | |
| - | + | ||
| - | 无色:任务、学习信息 | + | |
| - | [33m 暗黄(告诉) | + | |
| - | [36m 暗青(说道) | + | |
| - | + | ||
| - | = 学习命令(cmd) = | + | |
| - | + | ||
| - | == 振精学习 == | + | |
| - | + | ||
| - | <pre> learn spells with 3000 from master ten[e] </ | + | |
| - | + | ||
| - | == 睡觉学习 == | + | |
| - | + | ||
| - | <pre> learn spells with 2000 from master ten[s] </ | + | |
| - | + | ||
| - | == 内法 == | + | |
| - | + | ||
| - | <pre> meditate 300[l] meditate 300[ls] transfer qimen-dunjia with 1000[s] </ | + | |
| - | + | ||
| - | == 练武串联 == | + | |
| - | + | ||
| - | <pre> [setover]learn xxx with 100[e] </ | + | |
| - | + | ||
| - | = cmd 控制 = | + | |
| - | + | ||
| - | == 定时 == | + | |
| - | + | ||
| - | <pre> ask 悔过[t]3000 </ | + | |
| - | + | ||
| - | == 延迟 == | + | |
| - | + | ||
| - | <pre> sleep(1000) </ | + | |
| - | + | ||
| - | == 变量 == | + | |
| - | $id 括号内容 | + | |
| - | $n <> 中内容 | + | |
| - | $bl t1/t2 中匹配内容 | + | |
| - | + | ||
| - | == 走路 == | + | |
| - | < | + | === cmd 走路命令 === |
| + | * jump 方向数值 | ||