GM后台货币、物品日志 1.引擎添加日志 查看-列表信息-游戏功能列表-日志过滤 点击全部增加 2.导出物品列表 路径:\Mir200\Envir\DB\cfg_item.xls 键值对功能 SetStrValue命令,修改字符型变量主键值对应值 ([23.11.01.10]引擎) 注意:此命令是方便拆分数据,$996开头的变量下线后不会保存!!! 参数说明 脚本命令: SetStrValue 是否可省略 值范围 说明 参数一 否 文本 字符串变量名 支持S A s$无限字符变量 Human(Var个人字符变量) Global(Var全局字符变量) Guild(Var行会字符变量) 参数二 否 文本 键名 为*表示批量运算 参数三 否 文本 操作符(+,-,*,/,\,%,=) 参数五为0时只有+ = 除法向下取整 / 除法向上取整 \ 参数四 否 数值或文本 键值 参数五决定 参数二为*时格式为 A=1|B=2 分隔符与参数一使用的相同 参数五 是 数值 类型 0:字符 1:数值 默认1 参数六 是 文本 分隔符 默认“|” 字符型键值对,清除变量示例 SetStrValue S$键值对2 键名1 = NULL 0 | SENDMSG 7 <$STR(S$键值对2)> 参数二为*时,使用示例 mov S0 键名1=NULL|键名2=NULL SetStrValue S$键值对2 * = S0 1 | SENDMSG 7 <$STR(S$键值对2)>| 字符串数据结构 键名1=键值1|键名2=键值2 示例1:键值为数值型 [@SetStrValue] #IF True #ACT mov S$键值对1 键名1=7|键名2=3|键名3=14|键名4=2 SetStrValue S$键值对1 键名4 - 1 1 | SENDMSG 7 <$STR(S$键值对1)> SENDMSG 7 <$996(S$键值对1).键名1>|<$996(S$键值对1).键名2>|<$996(S$键值对1).键名3>|<$996(S$键值对1).键名4> 示例2:键值为字符型 [@SetStrValue] #IF True #ACT SetStrValue S$键值对2 键名1 = 键值为1 0 | SetStrValue S$键值对2 键名2 = 键值为2 0 | SetStrValue S$键值对2 键名3 = 键值为3 0 | SetStrValue S$键值对2 键名4 = 键值为4 0 | SENDMSG 7 <$STR(S$键值对2)> SENDMSG 7 <$996(S$键值对2).键名1>|<$996(S$键值对2).键名2>|<$996(S$键值对2).键名3>|<$996(S$键值对2).键名4> 示例3: [@SetStrValue] #IF TRUE #ACT Mov S0 等级=1*经验=100*攻击=1000 Mov S1 等级=10*经验=10*攻击=10 SetStrValue S0 * \ S1 1 * SendMsg 5 <$Str(S0)>---<$996(S0).经验>---<$996(S0).等级> Break 输出结果为:等级=1*经验=10*攻击=100---10---1 CalcVar HUMAN 武器镶嵌 = 屠龙刀=10|倚天剑=100 SetStrValue HUMAN|武器镶嵌 屠龙刀 + 50 1 | SetStrValue HUMAN|武器镶嵌 倚天剑 - 50 1 | SendMsg 5 HUMAN-----<$HUMAN(武器镶嵌)>----<$996(HUMAN|武器镶嵌).屠龙刀>-<$996(HUMAN|武器镶嵌).倚天剑> CalcVar GLOBAL 男战士 = 等级=1|经验=100 SetStrValue GLOBAL|男战士 经验 + 50 1 | SetStrValue GLOBAL|男战士 等级 + 150 1 | SendMsg 5 GLOBAL----<$GLOBAL(男战士)>----<$996(GLOBAL|男战士).经验> CalcVar GUILD 穿云箭 = 攻击=1|防御=100 SetStrValue GUILD|穿云箭 攻击 + 50 1 | SetStrValue GUILD|穿云箭 防御 - 50 1 | SetStrValue GUILD|穿云箭 等级 + 150 1 | SendMsg 5 GUILD----<$GUILD(穿云箭)>----<$996(GUILD|穿云箭).攻击>-<$996(GUILD|穿云箭).防御>-<$996(GUILD|穿云箭).等级> MOV A$无限变量名 屠龙刀=10|倚天剑=100|裁决=150 SetStrValue A$无限变量名 倚天剑 - 34 1 | SetStrValue A$无限变量名 屠龙刀 + 34 1 | SENDMSG 5 <$str(A$无限变量名)>-<$996(A$无限变量名).屠龙刀> SENDMSG 5 --完整键值对-<$996(A$无限变量名).0=str>--键-<$996(A$无限变量名).0=key>--值-<$996(A$无限变量名).0=value>----获取序号-<$996(A$无限变量名).倚天剑=getindex> ;0=str 1=key 2=value 倚天剑=getindex ;0 1 2:指定的序号 从0开始,只能是数字 ;=str =key =value =getindex: 固定内容 倚天剑是获取序号时指定的键名 文本设置为NULL 可清空删除 SetStrValue S$键值对2 键名1 = 键值为1 0 | SetStrValue S$键值对2 键名2 = 键值为2 0 | SENDMSG 7 <$STR(S$键值对2)> SetStrValue S$键值对2 键名1 = NULL 0 | SENDMSG 7 <$STR(S$键值对2)> mov S0 键名1=NULL|键名2=NULL SetStrValue S$键值对2 * = S0 1 | SENDMSG 7 <$STR(S$键值对2)>| SortStrValue命令,键值对排序 ([23.11.01.10]引擎) 脚本命令: SortStrValue 是否可省略 值范围 说明 参数一 否 文本 字符串变量名 支持S A s$无限字符变量 Human(Var个人字符变量) Global(Var全局字符变量) Guild(Var行会字符变量) 参数二 否 数值 比较位置 从0开始 参数三 否 数值 排序方式 0=从大到小 1=从小到大 参数四 是 文本 一级分隔符 默认“|” 参数五 是 文本 二级分隔符 默认= 说明:排序只支持数值,文本默认转换为0 数值为0时不保留 一级分隔符为:| 二级分隔符为:= 示例1: [@SetStrValue] #IF TRUE #ACT Mov S0 张三=gg=10|李四=hgh=5|王五=llj=12 SortStrValue S0 2 0 | = Break 以|为分隔符将字符串分为 张三=gg=10 李四=hgh=5 王五=llj=12 三组 每组中以=为分隔符取第3个数值作为比较值 按照从大到小进行排序,排序后S0的值为:王五=llj=12|张三=gg=10|李四=hgh=5 CalcVar GUILD 穿云箭 = 攻击=1|防御=100 SortStrValue GUILD|穿云箭 1 0 | = SendMsg 5 GUILD-<$GUILD(穿云箭)> 新增 CalcVar参数6,设置键值对分割符,同时格式化键值对 ([24.11.01.01]引擎) #act calcvar HUMAN 寄言 = 等级=1|经验=100 1 | SendMsg 5 HUMAN****<$996(HUMAN|寄言).经验>|<$996(HUMAN|寄言).等级>|<$996(HUMAN|寄言).攻击>-----<$996(HUMAN|寄言).AllKeys>----<$996(HUMAN|寄言).KeyCount> 新增 MOV参数3,设置键值对分割符,同时格式化键值对 ([24.11.01.01]引擎) #act MOV A$功勋回收 风云腰带=3|圣战项链=10|生成标识=1 | SendMsg 5 -<$996(A$功勋回收).风云腰带>-<$996[A$功勋回收].圣战项链>-<$996[A$功勋回收].生成标识>---<$996(A$功勋回收).AllKeys>----<$996(A$功勋回收).KeyCount> 镖车系统说明 增加镖车系统 MP:为镖车提示位置间隔时间,单位:秒 DC:为镖车攻击真实伤害,百分比掉血!非人物攻击镖车的伤害 MC:等级控制。小于MC等级的玩家攻击镖车会触发反弹功能! SC:反弹比例。设置50则表示玩家攻击镖车的伤害50%会减少自己的HP! 镖车受到伤害最多掉1%血量,少于1%则掉实际血量! 例如: 镖车血量为10000点,如果受到烈火伤害为500,则最多掉1%为100点。10000-100=9900 如果受到普攻伤害为50 ,则直接减少实际血量,10000-50=9950 数据库配置 新增怪物RACE类型:215 为镖车专用AI! 经验镖车;215;19;482;1000;1;0;5;1;1000;30;40;45;5;0;0;0;10;12;1000;1;800;2000;0;0;0; 自己将无法攻击以及挡住自己的镖车! 脚本参数 新增镖车路线功能设置!扩展 MOBPLACE 命令,增加参数4 参数4:增加刷出怪物血量! [@biaoche2] SETPARAM 0 467,228 //设置镖车行走坐标1 SETPARAM 1 376,322 //设置镖车行走坐标2 SETPARAM 2 436,390 //设置镖车行走坐标3 SETPARAM 3 441,505 //设置镖车行走坐标4 SETPARAM 4 430,526 //设置镖车行走坐标5 SETPARAM 5 378,580 //设置镖车行走坐标6 MISSION SELF 378 580 //设置镖车终点坐标 PARAM1 479 //设置镖车出生坐标X PARAM2 218 //设置镖车出生坐标y PARAM3 1 //设置镖车数量 PARAM4 0 //设置镖车出生地图 PARAM5 6 //设置镖车行走坐标数量 MOBPLACE 经验镖车 996经验镖车 小白 1000 SENDMSG 5 本次刷出镖车增加了1000点HP值! 镖车坐标间隔触发 新增镖车坐标间隔触发机器人脚本! [@_镖车定时触发] #ACT $PARAM(0) //镖车原名字 $PARAM(1) //押镖人的名字 $PARAM(2) //地图名字 $PARAM(3) //地图X $PARAM(4) //地图Y $PARAM(5) //镖车血量百分比 $PARAM(6) //镖车真实血量 镖车到达终点触发 新增镖车到达终点触发机器人脚本! [@_镖车到达终点] #ACT $PARAM(0) //镖车原名字 $PARAM(1) //押镖人的名字 $PARAM(2) //地图名字 $PARAM(3) //镖车血量百分比 $PARAM(4) //镖车真实血量 镖车掉血触发 增加镖车掉血触发机器人RobotManage.txt脚本 [@_镖车掉血触发]! //怪物DB设置AC为触发条件,AC为10则表示每减少10%触发一次! [@_镖车掉血触发] #ACT $PARAM(0) //镖车原名字 $PARAM(1) //押镖人的名字 $PARAM(2) //地图名字 $PARAM(3) //地图X $PARAM(4) //地图Y $PARAM(5) //镖车血量百分比 $PARAM(6) //镖车真实血量 镖车死亡触发 增加镖车死亡触发机器人RobotManage.txt脚本 [@_镖车死亡触发]! ;Mir200\Envir\Robot_def\RobotManage.txt [@_镖车死亡触发] #IF True #ACT SENDMSG 16 <$PARAM(0)>|镖车原名字 SENDMSG 16 <$PARAM(1)>|押镖人的名字 SENDMSG 16 <$PARAM(2)>|地图名字 SENDMSG 16 <$PARAM(3)>|地图X SENDMSG 16 <$PARAM(4)>|地图Y SENDMSG 16 <$PARAM(6)>|镖车真实血量 怪物爆率系统 爆率系统说明 1. 支持爆率文件 #CALL方式 以下是采用#call设置怪物爆率 刀犬.txt #CALL [\爆率系统\基础爆率.txt] @武器 以上是怪物爆率文件中刀犬设置 D:\996Server\Mir200\Envir\QuestDiary\爆率系统\基础爆率.txt [@武器] { 1/1 匕首 1 H $STR(S$爆出者信息) = 无 $USERNAME } 2. 扩展爆率文件格式,用于调整是否作用于翻倍爆率命令! 1/200 *神秘灵匣 //前面加 * 表示不计算爆率翻倍 1/200 *神秘灵匣|黄金灵匣 //格式二 表示这组物品都不计算翻倍 3. 多物品爆率&权重爆率格式1/5 圣战戒指|法神戒指|天尊戒指  ;//多物品爆率老格式 1/5 圣战戒指,50|法神戒指,40|天尊戒指,30 ;//权重爆率格式 说明有1/5的概率掉落一个后面设置的物品。 权重爆率,物品后设置数值越高,爆出的概率越大,权重最大支持21亿。 爆率格式,兼容老的,同时也支持权重格式,自由选择使用。 使用权重设置后,某些怪物爆率,可以设置的更加细致。 例:1/5 金币 1000 1/10 圣战戒指,50|法神戒指,40|天尊戒指,3 1/15 天魔战甲|圣战战甲|法神披风|法神羽衣|天尊道袍 4. 扩展怪物爆率文本格式! 1)、新的爆率格式(兼容老的爆率格式,不写就是老的爆率模式) 1/x 装备名称 数量 对象类型(H/G) 检测变量 检测符(<、>、=, \ , /, ! ) 检测数值 扣除数值(正数为加,负数为减) \ 大于等于 / 小于等于 ! 不等于 例如: 1/1 血煞头盔 1 H $LEVEL > 50 //等级大于50级,则会掉落此装备 1/1 血煞项链 1 H $STR(S88) = 爆物达人 //S88变量为爆物达人,则会掉落此装备 1/1 血煞项链 1 H $STR(M88) > 100 10 //M88变量大于100时,爆出物品后,M88变量+10 1/1 血煞项链 1 H $STR(D88) > 100 -20 //D88变量大于100时,爆出物品后,D88变量-20 1/1 血煞项链 1 H $STR(P88) > 100 -30 //P88变量大于100时,爆出物品后,P88变量-30 说明:支持所有的个人变量检测,目前支持整数型扣除变量如下: $HUMAN(X) $GUILD(X) $CLAN(X) $TABLE(X).Y $CUSTOMVALUE(X) N$ G$ 注意:全局变量只支持以下变量,整数型变量支持扣除。 $GLOBAL(X) $STR(G) $STR(I) 为全局变量检测时,H为杀死怪物对象必须是玩家,G为不检测杀死对象 1/1 血煞靴子 1 H $STR(G99) > 100 -1 //只能是玩家杀死怪物后,检测G99大于100 爆出物品后,G99变量-1 1/1 血煞靴子 1 G $STR(G99) > 100 -1 //无论是玩家或大刀卫士,或是玩家释放火墙、火雨技能下线后,杀死的怪物满足条件均会爆出 同时也支持多个物品设置: 1/1 血煞靴子|血煞手镯|血煞戒指 1 H $STR(G99) > 100 -1 //只能是玩家杀死怪物后,检测G99大于100 爆出物品后,G99变量-1 1/1 血煞靴子|血煞手镯|血煞戒指 1 G $STR(G99) > 100 -1 //无论是玩家或大刀卫士,或是玩家释放火墙、火雨技能下线后,杀死的怪物满足条件均会爆出 2)、字符型变量只支持=号检测,全局变量目前只支持以上3个类型! 扩展怪物爆率脚本 1/1 匕首 1 @触发脚本 返回变量 $996(MonDropItem).X 坐标X $996(MonDropItem).Y 坐标Y $996(MonDropItem).MAP 地图名字 $996(MonDropItem).ITEMNAME 爆出的物品名字 $996(MonDropItem).COUNT 数量 $996(MonDropItem).dropname 怪物名字 该脚本下如果执行 Stop的话 将不会爆出该物品 [@触发脚本] #ACT Stop SENDMSG 5 <$996(MonDropItem).x>-<$996(MonDropItem).y>-<$996(MonDropItem).map>-<$996(MonDropItem).itemname>-<$996(MonDropItem).count>-<$996(MonDropItem).dropname> 马匹捕捉和骑乘 骑马系统 - 马鞭抓马 只要装备了马鞭,打野马时将有1/10的概率抓马成功,要求野马的名称和可骑的马名称一样。 抓马成功后,将触发QF中的[@抓马成功]脚本 注意:战士职业抓马如果有问题时,把内挂中战斗里的技能全部取消掉,然后小退一下再进行抓马。 手机端黄金宝马默认客户端没有modelinfo.json和monster.json的配置,需要使用的可以自己去增加一个 骑马系统 - DB设置 怪物DB: 枣红马1;52;11;151;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;3;0;3000;0;;0; 乌骓1;52;11;153;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;1;0;3000;0;;0; 雪龙1;52;11;152;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;1;0;3000;0;;0; 枣红马;52;11;161;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;3;0;3000;0;;0; 乌骓;52;11;163;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;1;0;3000;0;;0; 雪龙;52;11;162;12;254;0;5;1;1000;0;0;0;0;0;0;0;0;4;1400;1;0;3000;0;;0; 高头大马;52;11;164;15;254;0;5;1;2000;0;0;0;0;0;0;0;12;4;1400;1;0;3000;0;;0; 迎亲宝马;52;11;164;15;254;0;5;1;2000;0;0;0;0;0;0;0;12;4;1400;1;0;3000;0;;0; 黄金宝马;52;11;165;15;254;0;5;1;2000;0;0;0;0;0;0;0;12;4;1400;1;0;3000;0;;0; 幽影铁骑;52;11;475;12;254;0;5;5000;100000;0;0;0;0;0;0;0;0;4;1400;3;0;3000;0;;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 赤炎追风;52;11;476;12;254;0;5;5000;100000;0;0;0;0;0;0;0;0;4;1400;3;0;3000;0;;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 踏雪银驹;52;11;477;12;254;0;5;5000;100000;0;0;0;0;0;0;0;0;4;1400;3;0;3000;0;;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 物品DB: 131;马牌;33;0;0;0;0;0;258;20000;0;0;0;0;0;0;0;0;0;0;0;0;0;20;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;8000;5;0;0 132;马牌(空);32;0;0;0;0;0;259;0;0;0;0;0;0;0;0;0;0;0;0;0;0;20;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;8000;5;0;0 马牌(空)绑定一匹马 A B C 命令参数 参数 含义 A 物品序列号 B 马的名字 C 马的类型.分别表示5种 1:枣红马 2:雪龙 3:乌骓 4:高头大马 5:黄金宝马 命令说明 本命令用于马牌(空)绑定一匹马。 例: [@马牌] #ACT Give 马牌 1 SETHORSENAME $PARAM(10) 黄金宝马 5 相关变量 <$HORSETYPE> 表示当前人物释放出来的马,或者刚抓到的马的类型; <$HORSENAME>表示当前人物释放出来的马,或者刚抓到的马的名字; 例 [@抓马成功] #ACT SENDMSG 7 ---<$HORSETYPE>----马的类型 SENDMSG 7 ---<$HORSENAME>---马的名字 不戴马牌,一键骑马命令:AutoRideHorse 参数一 参数二 说明:若骑马失败在.\Mir200\996Log\script_*.txt中查看日志 脚本命令: AutoRideHorse 是否可省略 值范围 说明 参数一:马的类型 1-9 参数二:AniCount 55表示高级马 (默认0,可省略) 说明:读取 cfg_horse.xls 表格配置,根据id来上马。 示例1: [@骑马] #IF TRUE #ACT AutoRideHorse 1 BREAK 引导功能系统说明 打开或者关闭指定窗体 脚本命令: OpenUi 是否可省略 值范围 说明 窗口ID 否 数值 每个窗口都有对应的ID,有详细说明见下表 状态 否 数值 1:表示打开2:表示关闭 任务ID 非任务窗口时可省略 数值 窗口ID=1时 表示任务栏 本位置填写任务ID ,任务之外的窗口 无需填写此参数 例子: [@打开界面] #IF #ACT OpenUi 101 1 SendMsg 6 打开了装备栏面板 [@任务状态打开界面] #IF #ACT OpenUi 1 1 SendMsg 6 打开了任务栏面板 [@关闭界面] #IF #ACT OpenUi 1 2 SendMsg 6 关闭了任务栏面板 窗口ID说明 窗口ID 说明 1 特殊: 任务栏任务界面,比如: 拥有一个任务ID为10的任务,则是OpenUi 1 1 10,关闭则是OpenUi 1 2 10 2011 包裹一 2012 包裹二 2013 包裹三 2031 灵兽包裹一 2032 灵兽包裹二 1905 摆摊 1202 行会 (未加入行会不会打开) 1299 行会申请界面 520 排行榜 401 邮件 如果后台关闭了邮件功能,在使用OPENUI 401 脚本将不会打开邮件界面 并且触发 QF标签 @OPEN401 1604 设置 1601 系统 1603 战斗 1602 拾取 1605 怪物 1606 cocospc 保护 1101 小地图 402 好友 801 组队 101 装备栏 103 装备属性栏 104 技能栏 1401 技能配置栏 1402 骑战技能 88 右侧功能区旋转收缩按钮 881 顶部自定义按钮的收缩按钮 750 商城 1901 拍卖行 108 灵兽界面 111 盒子礼包 61 交易行 65 客服系统 998 仓库 151 元神包裹 152 元神技能 153 元神装备 调出手机QQ或者微信 脚本命令 SendForQQWX 参数一 参数二 功能: 手游专用命令 调出手机QQ或者微信 脚本命令: SendForQQWX 是否可省略 值范围 说明 类型 否 数值 1= 拉起QQ 2=QQ好友 3=QQ群 4=微信 值 否 数值 QQ号 或者 QQ群KEY [@拉QQ] #IF #ACT SENDFORQQWX 1 [@QQ好友] #IF #ACT SENDFORQQWX 2 QQ好友的QQ号 [@QQ群] #IF #ACT SENDFORQQWX 3 QQ群号 QQ群key [@微信] #IF #ACT SENDFORQQWX 4 QQ群号和 KEY获取地址:https://qun.qq.com/join.html 让角色自动寻路到一个坐标点 GoPlace 参数1 参数2 参数3 参数4 脚本命令: GoPlace 是否可省略 值范围 说明 坐标X 否 数值 目标地址X 坐标Y 否 数值 目标地址Y 自动战斗 是 数值 到达目地是否自动战斗1=是 是否使用飞行靴 是 数值 1=使用飞行靴 点击触发QFunction-0.txt [@FastMove] 自动走到指定坐标的NPC面前并打开NPC GoNpc 参数1 参数2 参数3 自动走到指定坐标的NPC面前并打开NPC 只能相同地图, 坐标请填写NPC坐标 脚本命令: GoNpc 是否可省略 值范围 说明 坐标X 否 数值 目标地址X 坐标Y 否 数值 目标地址Y 是否使用飞行靴 是 数值 1=使用飞行靴 点击触发QFunction-0.txt [@FastMove] 增加检测脚本命令 CanArrive CanArrive 参数1 参数2 用于检测指定坐标是否为地图阻挡点 只能支持当前地图 脚本命令: CanArrive 是否可省略 值范围 说明 参数一 否 数值 地图坐标X 参数二 否 数值 地图坐标Y 引导动画命令 脚本命令: Navigation 是否可省略 值范围 说明 界面ID 否 数值 界面ID 按钮ID 否 文本 按钮ID(每个界面自己定义的ID) 提示文字 否 文本 引导文字提示#ID标识#文字位置ID标识和文字位置可省略 id说明:点击本引导消息后 将会触发QF功能脚本下标签 [@Navigation] 返回参数:$996(Navigation).1 表示id 位置说明:1-8分别代表 从左至右 从上往下依次排列的区域 遮罩层 是 数值 隐藏(0),显示(1) 显示遮罩层 默认不显示 倒计时 是 数值 倒计时,时间结束自动点击 默认为0不倒计时 提示文字扩展说明: 参数三扩展增加#id#位置(1-8) id说明:点击本引导消息后 将会触发QF功能脚本下标签 [@Navigation] 返回参数: $996(Navigation).1 //界面ID $996(Navigation).2 //组件ID $996(Navigation).3 //参数三中的ID 位置说明:1-8分别代表 从左至右 从上往下依次排列的区域 示例: #ACT Navigation 100 0 请打开包裹#996#1 Break 点击包裹指引后会触发QFunction-0.txt [@Navigation] $996(Navigation).1 返回id:996 自行安排用途 界面ID说明 界面ID 说明 按钮ID 说明 100 背包 101 攻击模式按钮 200 切换按钮 201 右侧功能区展开后的定义按钮 按钮ID 202 右侧功能区自定义按钮 按钮ID 150 战斗设置 151 拾取设置 152 设置界面 153 排行榜按钮 154 小地图按钮 155 切换走跑模式的按钮 156 角色按钮 158 宠物按钮 1 会先选中设置按钮,然后选中怪物页签 19 顶部自定义按钮 按钮ID 1500 快捷栏 快捷栏物品makeindex 框选快捷栏指定物品 301 背包物品 背包物品makeindex 框选包裹指定物品 160 任务 任务ID 框选指定ID的任务区域 161 cocospc任务 任务ID 框选指定ID的任务区域 80 npc界面 组件ID 组件id 不可重复 302 骑马操作快捷图标 0或者1 骑马按钮引导 303 背包自定义组件 组件id 304 小地图界面自定义组件 组件id 305 技能栏自定义组件 组件id 306 技能配置自定义组件 组件id 307 装备栏自定义组件 组件id 308 他人装备栏自定义组件 组件id   1011~1019 101~109 SendUI自定义组件 组件id   1202 元神头像区域 1=元神包裹 2=元神技能   装备弹窗功能 物品弹窗功能(快捷佩戴某个装备或者使用某个道具) FastUse 参数一 参数二 参数三 参数四 参数五 参数六 功能: 弹出一个窗体 显示物品信息 带一个按钮 可用于 立即装备之类的功能 触发: 点击确定触发 QFunction-0 下 [@FastUse] 点击关闭触发 [@FastUseClose] 脚本命令: FastUse 是否可省略 值范围 说明 编号 否 数值 触发编号 物品信息 否 数值或文本 物品MakeIndex 或者 物品名字 标题 否 文本 弹窗标题 按钮名字 否 文本 按钮名字 描述文字 否 文本 描述文字 倒计时 是 数值 倒计时后自动触发标签 不填或者填0 只能手动确定 返回变量 $996(FASTUSE).1 物品MakeIndex 有名字时此参数为0 $996(FASTUSE).2 编号 $996(FASTUSE).3 物品数据库名字 有MakeIndex时此参数为空 [@test] #ACT Fastuse 1 裁决 弹窗标题 按钮名字 描述文字 15 QF: [@Fastuse] #ACT SENDMSG 6 你点击的佩戴 BREAK [@Fastuseclose] #ACT SENDMSG 7 <$996(FASTUSE).1>\<$996(FASTUSE).2>\<$996(FASTUSE).3> 客户端内置判断 如果启用客户端自动判断弹窗,需要配置 cfg_global.json文件内140001,即可开启客户端自动配置 "140000": { "name": "装备对比和自动使用", "desc": "值为1,则客户端自动处理,脚本自动穿戴不会响应,为0则启用脚本自动穿戴----此功能开启,装备对比箭头会根据配置的cfg_goods.json来展示", "id": 140000, "value": 1 }, "140001": { "name": "自动穿戴弹窗内容配置", "desc": "根据格式通配自动使用弹窗内容,只有在140000值为1的时候才能生效", "id": 140001, "value": "提示#立即穿戴#0" 启用后,会根据cfg_goods.json文件配置的内容,客户端自动判断是否弹窗提示穿戴,格式: { "格式示例": ["参数一:职业0、1、2、99", "参数二:评级"], "桃木剑": [99, 99], "屠龙刀": [0, 1], "雷裂刀": [0, 5] } 夺宝(标记)功能说明 夺宝功能详解 SetArrow A B C D E 参数 释义 A 执行的总时间 B @执行的总标签 C 物品名字 D 间隔执行的时间 E @间隔执行的标签 命令说明 A时间内C物品没有掉落则执行B标签,并且每间隔D时间执行一次E标签 补充说明 CLEARARROW X 清除指定物品的检测记录,x是物品名字,如果不指定,则为清除所有检测记录 例 ;=========夺宝奇兵=============== [@dropitem120] #ACT CLEARARROW 宝盒 SENDMSG 15 宝盒掉落在%m(%x,%y)地图,只要捡起来并守护宝盒20分钟不掉落,就能获得夺宝大奖哦! break [@pickupitem120] #IF CHECKITEM 宝盒 1 CHECKMAPNAME NLDB #ACT MOV D2 20 SENDMSG 0 (*)宝盒已经在%m(%x,%y)被%s检起 SENDMSG 9 『夺宝骑兵』:『%S』携带宝盒出现在%m(%x,%y),宝盒藏有高级玩家梦寐以求的道具和技能,只有抢到宝盒的人才有机会获得! SENDMSG 7 (*)从现在开始:保持宝盒在你身上20分钟,宝盒就会自动打开!到时你将获得各种宝物! SENDMSG 7 (*)携带宝盒的时候,不能使用各种移动卷轴,不能离开本地图!离开本地图活动结束!努力吧!力争20分钟! SetArrow 20 @DKBHOK 宝盒 1 @BHJGHH break [@BHJGHH] #IF CHECKITEM 宝盒 1 #ACT DEC D2 1 SENDMSG 0 (*)%s携带宝盒出现在%m(%x,%y),宝盒藏有高级玩家梦寐以求的道具和技能,只有抢到宝盒并保持20分钟不掉的人才有机会获得。 SENDMSG 7 加油啊!再坚持[<$STR(D2)>]分钟,宝盒中的宝物便可属于你了... break [@DKBHOK] #ACT CLEARARROW 宝盒 #CALL [\游戏活动\夺宝奖励.txt] @获得宝盒奖励 break 向手机端发送图形验证码 参数说明: SendVerify 说明 参数一 操作倒计时,单位秒 参数二 允许错误次数(0为不限制) ;QF相关触发标签如下: ;验证通过触发 [@VerifyOn] #IF True #ACT SendMsg 7 验证通过,祝您游戏愉快! Break ;超时触发 [@VerifyNot] #IF True #ACT SendMsg 5 超时未操作 BREAK ;验证错误 [@VerifyError] #IF True #ACT SendMsg 7 验证错误,连续错误设定的次数将被踢下线 Break 寻路地图自定义显示图标 AddMapTips AddMapTips A#B C D E F G H 寻路地图界面指定坐标添加图标 参数说明: AddMapTips 说明 参数A 地图号 参数B TIPS唯一ID,自定义的数字标识 参数C x 参数D y 参数E 图标素材编号(位于interface中),手游res/picpackage/3 参数F 设置调取的tips的内容模板编号 参数G 对象类型:0=自己 1=组队 2=行会 3=当前地图玩家 4=范围内所有玩家 参数H 范围。参数G=4时 需要设置,否则可忽略 PS: 映射方式一: [<0>new 新中州],此映射方式增加的新地图依旧会使用原地图的小地图配置,所以要让新地图正常显示小地图需要配置原地图 这种方式添加MapTips,地图号需填原地图号 映射方式二: [0|new 新中州],此映射方式增加的新地图将会是独立的地图,可以独立配置小地图 这种方式添加MapTips,可以填映射后的地图号 客户端MapTips配置 手游端调取的tips,配置文件:cfg_maptips.json PC端调取的tips,配置文件:MapTipsCfg.xml 点击图标触发服务端QF标签 [@MapTips] [@MapTips] #ACT SENDMSG 7 <$996(MapTips).M>|地图号 SENDMSG 7 <$996(MapTips).ID>|Tips唯一ID SENDMSG 7 <$996(MapTips).x>|x SENDMSG 7 <$996(MapTips).y>|y SENDMSG 7 <$996(MapTips).pic>|图标编号 SENDMSG 7 <$996(MapTips).sign>|标识 DelMapTips A#B C D 删除寻路地图界面的指定图标 参数说明: AddMapTips 说明 参数A 地图号 参数B TIPS唯一ID,自定义的数字标识 参数C 对象类型:0=自己 1=组队 2=行会 3=当前地图玩家 4=范围内所有玩家 参数D 范围。参数D=4时 需要设置,否则可忽略 AddMapTipsEX AddMapTipsEx A B C D E F G 寻路地图界面指定坐标添加NPC组件 参数说明: AddMapTipsEx 说明 参数A 地图号 参数B 坐标X 参数C 坐标Y 参数D NPC组件 参数E 唯一ID 参数F 对像类型:0=自己 1=组队 2=行会 3=当前地图玩家 4=范围内所有玩家 参数G 范围。参数F=4时 需要设置,否则可忽略 DelMapTipsEx A B C D E F G 删除寻路地图界面指定id的maptips组件 参数说明: DelMapTipsEx 说明 参数A 地图号 参数B 唯一ID 参数C 对像类型:0=自己 1=组队 2=行会 3=当前地图玩家 4=范围内所有玩家 参数D 范围。参数C=4时 需要设置,否则可忽略 例: [@加maptipsEX] #IF True #ACT AddMapTipsEx L006 25 25 |link=@发送消息> 33 0 [@删maptipsEX] #IF True #ACT DelMapTipsEX L006 33 0 ;QFunction.txt ;组件link的标签名需加到FunLableList.txt中 [@发送消息] #IF True #ACT INC N$发送消息次数 1 SENDMSG 5 QF发送消息|<$STR(N$发送消息次数)> 新cooldown和delay说明 Cooldown为单技能CD,技能的Delay为公共CD(与原来一致),技能图标倒计时会综合Delay和Cooldown进行计算显示 公共CD(Delay):使用技能后在这个技能的Delay时间内,不可以使用任何技能(包括当前技能),也不能进行其他动作(移动、平砍),即使施法动画播放完毕。 单技能CD(Cooldown):使用技能后在这个技能的Cooldown时间内不允许再次使用这个技能(其他技能不限制) 由于每个技能都会带有一个Delay和Cooldown,所以在使用任何一个技能后都会产生一个公共的CD和单技能CD 每个技能都会在公共CD和单技能CD之间取一个最大值作为最终的CD时间 例如: 狂龙紫电:Delay=1200 Cooldown=0 移形换影:Delay=1800 Cooldown=60000 使用狂龙紫电后狂龙紫电的最终CD是1200,移形换影也会有一个1200的最终CD 使用移形换影后狂龙紫电的最终CD是1800,移形换影的最终CD是60000(Cooldown > Delay) 注意:不可以将所有的技能Delay设置成0,会出现技能连发的情况,一般设置1000左右。 例如:小火球、雷电术、狂龙紫电的Delay都是0,不管Cooldown是多少都可以将三个技能同时使用,因为它们之间没有公共CD 注意:也尽量不要让技能Cooldown小于delay,否则持续攻击时,可能没有空隙释放其他技能 例如:野蛮冲撞的delay=8000,cooldown=0,这样野蛮冲撞完之后,会原地罚站,直到8秒CD结束。 自定义事件上报功能 自定义事件上报功能 新版本追加引擎内置上报事件,后台有开关控制 解锁技能 技能升级 NPC点击 手持装备 进入地图 创建行会 加入行会 退出行会 沙城战申请 战斗死亡 使用祝福油 stdmode=3 shap=4的固定物品 击杀Boss MonGen.txt里地图带*的为所在地图对应的Boss,参数6和参数9必须是1 商店购买 打开默认商城购买物品(openui 750 1),配置文件 Mir200\Envir\WolShop.txt 客户端版本号: 1.6版本选 1000606-009 及更高版本 1.7版本选 1000704-005 及更高版本, 1000705-015及更高版本包含boxid处理 母包版本号: 传世_Android_1.6版_250123_通用版 引擎版本号:NR24.11.01.01.018Pro NR24.11.01.01.019 NR24.11.01.01.019KF NR24.11.01.01.020 及以后的版本, 匹配最新的后台开关, 支持diymsgevtign过滤事件; 如果是2026年02月03日之前更新的以上引擎版本,需再更新一次引擎 有需求,在以下页面申请或联系商务开通 自定义行为上报 SENDDIYMSG 参数 类型 参数一 str json 例子:当前需求内容是上报创建行会 img 游戏中代码上报行创建行会 [@CheckBuildGuild] #act SENDDIYMSG {"event_name":"guild_create","map":{"servid":"<$SERVERID>","server_name":"<$SERVERNAME>","role_id":"<$USERID>","role_name":"<$USERNAME>","role_level":"<$LEVEL>","job_id":"<$JOB>","job_name":"1","guild_id":"2","guild_name":"行会名称"}} SENDMSG 6 上报事件创建行会 上面的代码可能看起来不清晰,把内容格式化后查看 以下是格式化后的上报内容 { "event_name": "guild_create", "map": { "servid": "<$SERVERID>", "server_name": "<$SERVERNAME>", "role_id": "<$USERID>", "role_name": "<$USERNAME>", "role_level": "<$LEVEL>", "job_id": "<$JOB>", "job_name": "1", "guild_id": "2", "guild_name": "行会名称" } } 需要注意下,这里的格式xxxx为代理填写,其他两个"event_name"和"map"是固定的,上报什么内容有GM自由控制,但格式必须正确 { "event_name": "xxxx", "map": { "xxxx" } } 引擎版本号:NR24.11.01.01.018Pro NR24.11.01.01.019 NR24.11.01.01.019KF NR24.11.01.01.020 及以后的版本 手机端版本:1000605-019(1.6.536) PC端版本:1.6.5.8 注意:上报数据为JSON格式,如果是游戏中的常量,一定要加引号,具体看上方例子 器魂系统 命令参数 UpgradeUserItem 物品唯一ID 属性位 操作符(+,-,=) 数值 属性位: 203 = 器魂等级(0-255) 204 = 器魂经验(0-65535) 205 = 器魂类型(0-255) 器魂只是Tips显示,具体属性请自行实现 手游配置文件: 配置文件:data_config\cfg_forsoul.json 自定素材:dev\res\picpackage\3\01682.png dev\res\picpackage\3\01683.png 自定义素材放到这里 默认素材:mod_fgcq\stab\res\public\bg_jindutiaod_01 mod_fgcq\stab\res\public\bg_hp_01 没有自定义素材,默认读这两个素材。 { "LevelUpExp" : { "器魂类型": [1级器魂升级所需经验, 2级器魂升级所需经验, 3级器魂升级所需经验, 4级器魂升级所需经验], "2": [400,1000,3000, 5000] }, "Equip" : { "装备名字": {"1":"1级器魂属性说明", "2":"2级器魂属性说明", "3":"3级器魂属性说明"}, "裁决": {"1":"魔防上限增加:3点", "2":"生命上限增加:100点", "3":"韧性和耐力增加:4点", "4":"韧性和耐力增加:47777点"} } } 示例: { "LevelUpExp" : { "1": [50, 100, 150, 200], "2": [400,1000,3000, 5000] }, "Equip" : { "圣战戒指": {"1":"攻击上限增加:1点", "2":"生命上限增加:10点", "3":"狂战属性增加:3点"}, "裁决": {"1":"魔防上限增加:3点", "2":"生命上限增加:100点", "3":"韧性和耐力增加:4点", "4":"韧性和耐力增加:47777点"} } } PC端配置文件:996Woool\xml\ForsoulCfg.xml 对应进度条素材:interface 01682、01683 游戏充值接入 游戏充值接入 PullPay A B C D E 脚本命令: PullPay 是否可省略 值范围 说明 金额 否 数值 自己填 充值方式 否 数值 1.支付宝 2.花呗 3.微信 ,填写1即可 货币ID 否 数值 货币ID (这里的货币ID必须后台已经配置好的ID) 宽度 是 数值 客户端拉起充值窗体时的宽度(PC专用,手游可忽略) 高度 是 数值 客户端拉起充值窗体时的高度(PC专用,手游可忽略) 示例脚本: ;拉起一个元宝充值,充值金额:10元 [@Main] #IF True #ACT Pullpay 10 1 2 400 400 Break   ;弹出充值界面,玩家支付成功后自动到账并触发QFunction-0.txt [@ReCharge] ;大额订单功能支持 触发QFunction-0.txt [@BigCharge] (仅支持正式区) ;扶持订单收到后 触发 QFunction-0.txt [@FcCharge] 在线直达,离线上线后直接获取 (仅支持正式区) 设置临时地图光圈 设置临时地图光圈脚本命令 SetMapLightZone A B C D E F 脚本说明 脚本命令: SetMapLightZone 是否可省略 值范围 说明 地图号 否 数值 地图号 坐标X 否 数值 坐标X 坐标Y 否 数值 坐标Y 半径范围 否 数值 10000以下为方形区域,10000以上为圆形区域 持续时间 否 数值 单位:秒 0=永久 -1=消失 光圈类型 否 数值 自己测试 当前半径范围只支持方形区域 脚本示例 [@临时地图光圈脚本命令] #IF True #ACT SetMapLightZone 0 100 100 50 100 1 Break 服务端常量说明 20210818 [Engine] 增加常量功能 Envir 新建目录 Defines Defines\ 可任意新建文本文件 如 1.txt 文本格式如下 说明 #DEFINE MAINMSG 这地方是做药品买卖的,你需要点什么?\当然,如果你要的是可卡因或其他之类\精神药品的话,我们可不卖。\ 说明 #DEFINE 常量名 常量内容 NPC调用方式 脚本示例 (@buy ) %100 +0 +42 #INCLUDE 1.txt [@main] #IF True #SAY MAINMSG\ \ \ \ \ 注意 调用此常量时 前面必须要有 #IF TRUE #SAY 或者 #IF TRUE #Act 邮件系统 给当前角色发送自定义邮件 发送邮件必须先使用MailGive 配置邮件需要发送的物品,最多支持6个,每个物品需要单独用MailGive配置, 之后再使用SendMail命令来统一发送设置的邮件物品 注意:每个邮件附带物品总数量不能超过包裹格子,否则无法取出,叠加物品会按照实际个数计算 获取自定义邮件ID:<$LASTMAILOPTYPEID> MailGive A B C 参数 释义 A 设置邮件发送的道具 B 设置邮件发送道具的数量 C 设置邮件内道具是否绑定(1为绑定,0代表不绑定,为0可省略) SendMail A B C 参数说明: 参数 释义 A 自定义邮件ID (0-20000)不要使用9997或9999,已被系统占用 B 邮件标题 C 邮件内文字内容 例: [@发送邮件福利] #IF TRUE #ACT MailGIve 裁决 1 1 MailGive 骨玉 2 MailGIve 龙纹 2 1 SENDMAIL 1 系统奖励 恭喜您获得本次新手奖励,请点提取 break 邮件在QFunction-0.txt的相关触发,阅读邮件触发qf[@ReadMail] ,提取邮件触发qf[@GetMailItem] ;阅读触发 [@ReadMail] #IF EQUAL <$LASTMAILOPTYPEID> 1 #ACT SENDMSG 0 你阅读了ID:<$LASTMAILOPTYPEID>的邮件 ;提取触发 [@GetMailItem] #IF EQUAL <$LASTMAILOPTYPEID> 1 #ACT SENDMSG 0 你提取了ID:<$LASTMAILOPTYPEID>的邮件 给离线玩家发送邮件 脚本命令: SendLXMail 是否可省略 值范围 说明 A 否 数值 自定义邮件ID (0-20000) 不要使用9997或9999,已被系统占用 B 否 文本 邮件标题 C 否 文本 邮件内文字内容 D 否 文本 离线玩家角色名 E 否 文本 邮件物品内容 [@离线玩家发送邮件示例] #IF TRUE #ACT SENDLXMAIL 1 系统奖励 恭喜您获得本次新手奖励,请点提取 又见一帘幽梦 349,1,1|353,2,0|352,2,1 ;又见一帘幽梦 表示离线玩家的角色名 ;349,1,1|353,2,0|352,2,1 按照 A物品ID,A物品数量,是否绑定|B物品ID,B物品数量,是否绑定|C物品ID,C物品数量,是否绑定 固定格式拼接邮件内容,不可省略,一次最多支持6种物品 break 权重取值功能 RandomStr 可用于随机发放道具奖励 权重列表:裁决,10|骨玉,30|龙纹,50 以|为分隔 取到第一组的几率=10/90 第二组几率=30/90 第三组几率=50/90 权重列表支持变量 返回变量名 指定变量名 文本型 返回第一串字符 例 裁决,10 返回 裁决 示例: #IF True #ACT RandomStr 裁决,10|骨玉,30|龙纹,50 S1 Give $STR(S1) 1 SendMsg 5 你获得了<$STR(S1)> 时长功能 新增以下返回变量 $PaymentPoint //返回玩家剩余点卡时间 新增命令 PaymentPoint 参数1 参数2 用于调整玩家点卡时间 参数1:操作符(+、-、=) 参数2:数值 [@示范脚本] #ACT PaymentPoint + 108000 SENDMSG 5 游戏时间增加30小时 玩家点卡时间到期后触发QF脚本中 [@点卡到期] 更新支持时长版计费功能,可在引擎面板勾选开启时长模式; 选项 — 参数设置 — 点卡模式 扣点间隔:表示引擎每次间隔多少秒扣除玩家游戏点 扣点点数:表示引擎每次扣除玩家多少游戏点 精力参数:表示扣除玩家多少游戏点增加1点精力值 试玩等级设置 试玩模式是否使用仓库 试玩等级不计费 低于试玩等级登陆时 触发 QF @点卡试玩 增加地图参数 PAYMENTPOINTRATE(X) 代表点卡扣除的倍数 默认为 1 填0的时候地图不扣点卡 游戏配置顶戴花翎 自定义顶戴花翎(头顶封号) 增加人物顶戴花翎效果 ADDFH 参数1 参数2 参数3 参数4 参数5 参数6 脚本命令: AddFh 是否可省略 值范围 说明 参数一 否 数值 顶戴花翎(头顶封号) 所处的位置 参数二 否 数值 图包编号 ( 例:Texture1.wpf内的INTERFACE项 则此处参数填写为3 ) 参数三 否 数值 素材编号 ( 选择的素材在参数2图包编号内的位置 ) 参数四 否 数值 当前素材显示的X坐标 参数五 否 数值 当前素材显示的Y坐标 参数六 是 文本 HUM,NPC,MON,BaoBao 不填参数六默认当前角色 HUM,不写参数7 就是当前玩家 NPC,不写参数7就是当前NPC MON,不写参数7就是刚刷的全部怪物 BAOBAO,不写参数7就是当前玩家的全部宝宝 参数七 是 数值 目标的ID 删除人物顶戴花翎效果 DELFH 参数一 参数二 脚本命令: DELFH 是否可省略 值范围 说明 参数一 否 数值 顶戴花翎(头顶封号) 所处的位置 参数二 是 文本 HUM,NPC,MON,BaoBao 不填参数六默认当前角色 HUM,不写参数7 就是当前玩家 NPC,不写参数7就是当前NPC MON,不写参数7就是刚刷的全部怪物 BAOBAO,不写参数7就是当前玩家的全部宝宝 参数三 是 数值 目标的ID 脚本示范: [@开启顶戴花翎] #ACT ADDFH 0 3 39504 -110 -50 BREAK 顶戴花翎追加参数 ADDFH 位置[0-2] 图包编号 素材编号 偏移X 偏移Y 个人或NPC(HUM,NPC) 范例 个人封号 ADDFH 0 3 13800 23 -15 或 ADDFH 0 3 13800 23 -15 HUM NPC封号 ADDFH 0 3 13800 23 -15 NPC 此命令只能支持点击NPC后显示 NPC封号配置文件用于NPC初始化列表使用 文件路径: Envir\FengHaoCfg.txt 该文件配置NPC出生头顶封号功能 格式如下: [FengHaoNum] Num= 配置总数 [编号] 此编号从1开始 可以通过MerChant.txt进行调用 packid= 图包号 ImgIndex= 素材号 x= 偏移X y= 偏移Y open= 是否开启 例: [FengHaoNum] Num=2 [1] packid=3 ImgIndex=13807 x=23 y=-15 open=1 [2] packid=3 ImgIndex=13800 x=23 y=-15 open=1 扩展NPC初始化列表MerChant.txt 支持封号初始化定义 新增三个封号标识该标识读取FengHaoCfg.ini对应配置项 不需要填0或者为空 ;文件名 地图名 坐标X 坐标Y NPC显示名称 NPC标识 形象代码 是否沙城NPC NPC是否可移动 NPC移动间隔时间 封号1 封号2 封号3 封号NPC dengdai 39 36 老兵\【攻沙时间20-21点】$250\测试颜色$249\测试颜色2$248 0 32 0 0 0 2 0 0 封号NPC2 dengdai 37 36 新区接待员 0 32 0 0 0 1 0 0 视频教程传送门:顶戴花翎 GM自定义日志 AddLog 参数一 参数二 ….. 用于添加GM自定义日志可在网站后台 - GM日志查询 参数说明: 脚本命令: AddLog 是否可省略 值范围 说明 参数一 否 数值 自定义数值 可做为日志后台分类使用方便查询 参数二 否 文本 日志内容自定义 参数三 是 数值 日志内容自定义 参数四 是 数值 日志内容自定义 参数五 是 数值 日志内容自定义 参数六 是 数值 日志内容自定义 参数七 是 数值 日志内容自定义 参数八 是 数值 日志内容自定义 参数九 是 数值 日志内容自定义 参数十 是 数值 日志内容自定义 复制内容到玩家剪切板 PC客户端玩家保存文字到剪切板里 玩家可以通过粘贴到其他位置 可以用于类似序列号获取 或者其他方面使用 支持变量 手机端在WIN32上无效,需要在APP才有效 [@MAIN] #ACT MOV S1 测试文字复制内容 #SAY <点我复制内容/@@copyright&{$STR(S1)}> 游戏打开网址功能 游戏打开网址说明: PC客户端: <打开网页测试/@@url http://www.996m2.com> 手游客户端: 使用脚本命令执行打开: 脚本命令: OpenWeb 是否可省略 值范围 说明 参数一 否 字符 网页地址(前面必需要加 http://) [@example] #ACT OpenWeb http://www.996m2.com BREAK 临时NPC的添加命令 增加临时NPC Mobnpc A B C D E 命令参数 参数 含义 A Npc的名字 B 读取Market_def里脚本文件,支持同读,且支持2级目录 C 外形 D(x,y) D = 地图号 x = x坐标 y = y坐标 E 有效时间,单位为秒,时间到后Npc消失 命令说明 临时生成一个NPC,并且加载脚本,指定时间后消失 此命令用作有镜像地图标识 CANMIRROR 参数的地图 地图号使用SELF 同一个坐标点刷出NPC后,不可再次刷出 使用示例 [@MobNpc] #ACT MobNpc 黄金宝箱 黄金宝箱 47 0(460,215) 120 ;//此格式NPC脚本文件需要地图号; MobNpc 黄金宝箱 同读<黄金宝箱> 47 0(460,215) 120 ;//此格式NPC脚本文件不需要地图号; MobNpc 黄金宝箱 同读<特殊功能\黄金宝箱> 47 0(460,215) 120 ;//此格式NPC脚本文件不需要地图号; 删除临时NPC DelNpc M X Y 命令参数 参数 含义 M 地图号 X 坐标X Y 坐标Y 命令说明 临时删除指定位置的NPC 使用示例 [@delNpc] #IF True #ACT DelNpc $M 460 215 SENDMSG 7 临时NPC已经删除 视频教程传送门:创造临时NPC 长短时间格式互相转换 长短时间格式互相转换 变量 说明 $LONGTODATETIME(时间戳) 可以将一个时间戳($LONGTIME)返回成时间格式 $DATETIMETOLONG(时间格式) 可以将一个指定的时间格式返回为时间戳 $DATETIME 返回日期格式更改为 2022-01-14 00:00:00 可以直接让 $DATETIMETOLONG(时间格式) 调用 $LONGDATE 返回一个当前时间的时间戳 脚本嵌入For循环功能 脚本嵌入For循环功能 增加脚本For 参数一 参数二 参数三 支持脚本内条件循环 为防止无限死循环 目前上限 10000次 超过10000次自动停止 增加脚本EndFor脚本内条件循环结束位置 For循环里面不要使用goto跳转出去判断 脚本命令: FOR 是否可省略 值范围 说明 参数一 是 数值 变量/值 参数二 是 符号 操作符说明 >大于 <小于 =等于 !不等于 \大于等 参数三 是 数值 变量/值 当条件当达到后停止循环 注意:1、循环内不能增加条件检测 2、不能套二次循环 3、不能在循环内用GOTO [@MAIN] <111/@111> <222/@222> <$STR(N1)> ; ******************************************尽可能不要用这种写法,递归调用容易产生栈溢出 [@111] #IF SMALL M1 2000 #ACT Inc M1 1 SendMsg 6 > $STR(M1)> GOTO @111 BREAK ;这种脚本GOTO多时有可能产生这样的问题。换成新的写法,用 FOR / ENDFOR ; ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★推荐这种写法 [@222] #IF #ACT ;为方便测试每次执行脚本前将变量设置为1 MOV M1 1 ;开始计时 STARTTIMER 1 ;循环开始,FOR 变量/值 比较符号(> < =) 变量/值;循环写在 #ACT中 条件达到时自动停止循环往后执行 FOR M1 > 1000 Inc M1 1 EndFor ;循环结束 EndFor STOPTIMER 1 P10 ;结束计时,耗时保存到P10里 SENDMSG 5 循环结束了<$STR(M1)>-耗时-<$STR(P10)> 任务系统配置说明 任务系统 任务系统配置 任务列表Envir\Task.txt 说明文件内容为各任务的定义文件名,每个任务名字占一行 前面为读取Envir\Task\任务文件(文件名以Task.txt中定义的任务名,必须一致) 任务文件配置,存放所有任务定义, 配置如下:Envir\Task\寻找失落的鬼王刀.txt [setup] ;主任务标题 显示在客户端树型框主题标上 MainTitle=初入江湖 ;主任务ID值 MainID=1 ;是否为主线任务 0=主线 1=支线 客户端会自动在该任务标题前增加上(主) (支) 文字进行区分 IsMain=0 ;本任务内几个步骤 stepcount = 17 ;任务标题 title=新手的训练 ;任务ID值 ID = 1 ;任务描述 stepDESC1 = \ \\ <@@!PIC2 10,951>经验:14000 <@@!PIC2 10,229>金币:5000\\<去购物商场/@@goto 7 购物商场 53,31> ;主界面小任务框里的标题 stepstitle1 = <去购物商场/@@goto 7 购物商场 53,31> ;任务管理界面内的图片ID值 stepPic1 =26100 任务相关命令 变量名 参数 作用 AddTask A A=TaskID 增加一个任务 DelTask A A= TaskID 取消一个任务 取消任务后触发QFunction-0.txt中的[@CancelTask] UpdateTask A B A=TaskID B=Step 更新任务步骤 EndTask A A=TaskID 完成一个任务 HasTask A B C A=TaskID B=TaskID(可省略) 检查当前人物是否开始执行指定的任务 B有参数则代表检测是否拥有参数A到参数B之间的任务 参数3:返回拥有的那个任务ID [@示范] #IF HasTask 1 10 P5 #ACT SendMsg 5 你已经有Task(1-10)任务在身!所拥有的任务ID:<$STR(P5)> Break 上表参数关键词说明 参数 解释 TaskID 任务文件中定义的ID值 Step 任务的当前步骤 任务相关变量 变量 参数 说明 $TASK(n) n=TaskID 返回指定任务的进度步骤 $TASKSTEPCOUNT(n) n=TaskID 返回指定任务总步骤数 $TASKVAL(n).I0 - $TASKVAL(n).I9 n=TaskID 指定ID的任务专属的10个整数变量 $TASKVAL(n).S0 - $TASKVAL(n).S9 n=TaskID 指定ID的任务专属的10个字符变量 脚本调整任务专属变量: SetTaskValue A B C D 参数说明: A //任务ID B //变量名称(I0~I9,S0~S9) C //操作符号,支持(+、-、=) D //具体操作的数值 例: #ACT SetTaskValue 34 I0 = 100 SetTaskValue 34 S0 = 任务信息 SENDMSG 7 当前任务变量测试:<$TASKVAL(34).I0>,<$TASKVAL(34).S0> 任务特殊标签 以下标签写在任务配置的描述或者标题里,点击指定标签会执行对应的事件 (特殊说明,这里的标签格式是固定的,和脚本命令gonpc、goplace是两回事,不要混为一谈) 标签格式 标签说明 标签示例