996引擎传奇纯PC端帮助文档

cfg_magic(技能表)

原始说明 / 数据

Magic详解
magicdb:是你所修炼的法术和各种技能.
序号 字段 说明
(1)MagID 技能序号
(2)MagName 技能名字
(3)EffectType 使用技能时角色的动作效果
(4)Effect 技能产生的动画效果
(5)Spell 每次使用技能使用的魔法值
(6)Power 技能的伤害值下限
(7)MaxPower 技能的伤害值上限
(8)DefSpell 每次技能升级后增加使用的魔法值
(9)DefPower 每次技能升级后增加的伤害值下限
(10)DefMaxPower 每次技能升级后增加的伤害值上限
(11)job 可以学习技能的职业(0-战士,1-法师,2-道士)
(12)NeedL1 技能升到1级 需要玩家达到的人物等级(默认数据到15级别)
(13)L1Train 技能升到1级 需要的熟练度(默认数据到15级别)
(14)Delay 使用完当前技能后再次使用其他任意技能之间的延时(单位:毫秒)
(15)descr 简单备注
(16)MaxTrainLv 可以修炼的最高等级
技能 相关 表 说明 :
cfg_item.xls 表 字段: StdMode =4为技能书
cfg_item.xls 表 字段:Shape=职业要求 0=战士 1=法师 2=道士 3=英雄战士 4=英雄法师 5=英雄道士 6=英雄合击技能 99=通用 技能
cfg_item.xls 表 字段:Anicount=合击技能 60=战战合击 (破魂斩) 61= 战道合击 (劈星斩) 62=战法合击 (雷霆一击) 63=道道合击 (噬魂沼泽) 64=法道合击 (末日审判) 65= 法法合击 (火龙气焰) 不是合击技能填0 或为空
cfg_item.xls 表 字段:DuraMax=等级要求
;-
cfg_magic.xls 表 字段: Job =职业 0=战士 1=法师 2=道士 99=通用 技能
cfg_magic.xls 表 字段: NeedL1 = 开始修炼等级
cfg_magic.xls 表 字段: SkillCD =技能CD 毫秒为单位
cfg_magic.xls 表 字段: Descr =是否英雄使用 0或空=人物使用 1=英雄使用

Monster详解

monsterdb: 是关于怪物的攻击,经验,还有等级方面的东西

怪物CoolEye 调到100 ,再用隐身戒指也没用了

(1)sid 怪物代号

(2)name 怪物名称

(3)race 行动模式及死亡时的效果代码

race代码81 对象进入范围自动攻击

82 2×2范围内毒液攻击-弱

90 贴身麻痹石化攻击-弱

92 遇到攻击对象在范围外时会瞬移

93 边攻击边躲避

补充说明

详细说明

95 对象进入攻击范围内会从地下爬出来

100 召唤的骷髅

101 进入范围会从石像状态激活

102 在攻击的同时召唤mir200\!setup.txt文件里的zuma1~4里特定的怪

103 自身不移动,通过释放mir200\!setup.txt文件里的bee特定的怪来攻击对象

105 麻痹石化攻击-强

106 麻痹石化攻击-弱

107 全屏攻击+麻痹+中毒

113 召唤的神兽-小

114 召唤的神兽-大

115 自身不移动,通过地刺来攻击对象

116 自身不移动,通过释放mir200\!setup.txt文件里的spider特定的怪来攻击对象

117 自身没有攻击力,通过自暴来攻击对象

(4)racelmg 攻击模式代码

racelmg代码15 抛斧头

16 贴身喷毒

21 电火花

22 喷针

40 击电

45 射箭

52 高空喷毒效果

53 低空喷毒效果

49 丢火球 祖玛教主攻击动作

33 大范围喷毒 触龙神攻击动作

触龙神外形编号 140 攻击动作编号 33

祖玛教主外形编号 63 攻击动作编号 49

火焰沃玛外形编号 31 攻击动作编号 20

沃玛教主外形编号 34 攻击动作编号 21

(5)appr 怪物外观形象代码

(6)lvl 怪物等级

(7)undead 是否属不死系 0-否,1-是[不死系不可招,死系可召]

(8)cooleye 是否主动攻击(反隐形范围,并和等级有关)

(9)exp 怪物的经验值

(10)hp 怪物生命

(11)mp 怪物魔法

(12)ac 怪物防御力

(13)ac2 防御力上限

(14)mac 魔法防御力

(15)dc 物理攻击力

(16)dcmax 最大物理攻击力

(17)mc 魔法攻击力

(18)sc 道士精神力

(19)speed 速度

(20)hit 攻击命中率

(21)walk-spd 行走速度间隔

(22)walkstep 行走步伐

(23)walkwait 行走等待时间

(24)attacr-spd 攻击速度间

Stditem详解

stditemdb:物品属性修改

1.选中最底下的那个装备名,然后点图中所示1的位置那个+号,这样就会在你所选中的装备前面插入一列横向表单,点了+号后,在右边就会出现一个“对号”标记的按钮,按一下这个“对号”就表示确定插入这一横列。

(1)idx属性表示数据库的序列号(记住序号不要重复)

(2)name属性表示:

物件的名称

(3)stdmode装备属性:

10-男衣

11-女衣

5-单手

6-双手

补充说明

详细说明

30-蜡烛类

22-毒药,符类

42-制作原料

(4)shape这个属性(衣服显示穿上得样子,首饰代表其特殊功能)

“5”表示“灵魂战衣”的样子。

“4”表示“魔法长袍”的样子。

“3”表示“重盔甲”的样子。

19~21 :项链

为19时,ac2和mac2代表魔法躲避和幸运

为20时,ac2为准确,mac2为敏捷

为21时,ac2为体力恢复,mac2为魔法恢复

24~26 :手镯

为24时,ac2代表准确,mac2代表敏捷

为26时,ac和ac2分别代表物理防御上限和下限,mac和mac2分别代表魔法防御上限和下限

22~23 :戒指

为22时,ac和ac2分别代表物理防御上限和下限,mac和mac2分别代表魔法防御上限和下限

为23时,ac代表攻击速度+ , mac代表中毒躲避+ , mac2代表中毒恢复+

shape值:

记忆头盔125

记忆戒指122

记忆手镯124 天地合一

记忆项链123

魔血戒指133 虹魔戒指136

魔血项链134 mp转hp 虹魔手镯137 吸hp

魔血手镯135 虹魔项链138

神秘戒指130 祈祷戒指128

神秘腰带131 随机属性 祈祷手镯126

神秘头盔132 祈祷头盔129

隐身戒指111 传送戒指112

麻痹戒指113 复活戒指114

火焰戒指115 治愈戒指116

幸运戒指117 护身戒指118

负载戒指119

技巧项链120

探测项链121

恢复hp/mp113

对于武器来说: 当shape值和reserved值分别为 30 和 12 时,武器一旦拿上就不能取下,只到死后消失 (血剑)

当仅reserved值为 8 时,武器拿上可以取下,但是一旦战斗死亡,就会消失

(5)weight属性是物件重量.

(6)looks属性(显示衣服物品栏里样子和在装备栏里的样子)

"重盔甲(男)or战神盔甲(男)or钢盔甲(男)" 62

"魔法长袍(男)or恶魔长袍(男)or圣龙魔袍(男)" 63

"灵魂战衣(男)or幽灵战衣(男)or泰坦战衣(男)" 64

"重盔甲(女)or战神盔甲(女)or钢盔甲(女)" 82

"魔法长袍(女)or恶魔长袍(女)or圣龙魔袍(女)" 83

"灵魂战衣(女)or幽灵战衣(女)or泰坦战衣(女)" 84

(7)duramax物件持久的属性:这里的变量中1000表示1个持久度,那么40000就表示40个持久度了!

(8)衣服和武器的属性:

ac 防御力下限

ac2 防御力上限

mac 魔防下限

mac2 魔防上限

dc 物理攻击力下限

dc2 物理攻击力上限 超过了255带在身上攻击是会减成0

mc 魔法攻击力下限

mc2 魔法攻击力上限

sc 道术下限

sc2 道术上限

needlevel 需要等级

price 价格

(9)物品是首饰时:

ac2 表示准确

mac2 表示敏捷

ac 表示防御下限

ac2 表示防御上限

mac 表示魔御下限

mac2 表示魔御上限

药剂的属性:

强效金疮药:hp +90

数据库体现:

ac 90

强效太阳水:hp +50 mp +80

数据库体现:

ac 50

mac 80

这样看来,这里的

ac 表示 hp前值(注 hp:200/300,200为前值,300为后值。)

mac 表示 mp前值

特殊的:

一些不常见的特殊药剂:

生命强化水:生命力暂时提升120秒(120秒内hp后值+50)

数据库体现:

ac 50

mac2 120

魔法强化水:魔法力暂时提升120秒(120秒内mp后值+50)

mac 50

mac2 120

那么这里的

ac 表示hp后值

mac 表示mp后值

mac2 表示时间了

大家知道 苹果 是每项属性都暂时增加240秒,他的ac2中是2,那么应该和武器一样,ac2表示准确了!

(10)stock 是否为库存品

(11)need表示限制种类:

0 为等级限制

1 为攻击限制

2 为魔法限制

3 为道术限制

(12)needlevel表示了(need)限制的具体数量.

另外上面的 stock处网上有说不是库存的意思是是否容易暴出后物品比较极品的意思,大家可以自己测试

字段Color 物品在地面颜色的显示设置

字段OverLap 物品叠加功能

60:在DB库增加新装备新怪的方法和技巧:

传奇4F在DB库增加新装备新怪的方法和技巧

大家一定玩腻了盛大所定的那些装备了把,一定也想在自己的4F里增加一些独创的装备把。

告诉大家一个技巧多利用COPY而让创建的装备100%成功,又不会出错!

具体操作:

比如我想要一件[狂神布衣(男)]

用DB Commander Shortcut打开StdItems.DB后首先找到原来的布衣(男)的数据单击成兰色后,选择DB Commander Shortcut上面的EDIT出现下拉菜单,点里面的COPY RECORD后下拉菜单消失。再点EDIT这时出现的下拉菜单里面原来是灰色不能选择的2个选项成了可选项,选择PASTE RECORD APPEND后他会自动在库的最下面拷贝了一份布衣的资料。IDX是物品编号改成上面物品的编号的后一位就可。NAME是名称呀改成[狂神布衣(男)]因为是COPY布衣(男)同样都是男用衣服所以装备属性和外观属性等都不用修改,现在要修改的只是:

DURAMAX:这是持久,注意这里的1000=游戏中的1点持久,如要40的持久那么就是40000。

AC和AC2就不用我多说了把是 防御和防御上限。

MAC和MAC2是魔防和魔防上限。

DC和DC2是攻击和攻击上限。

MC和MC2是魔法力和魔法力上限。

SC和SC2是道术和道术上限。

这里就自己看着改吧,都改成225的话呵呵。。。。。自己试试。

注意最高只能改到225!!!!!!!!!!!

cfg_item(装备表)

装备表

物品序号 index (idx) (记住序号不要重复) 10000开始

道具名称 Name

分类大类 StdMode

5 = 单手

6 = 双手

10 = 男衣

11 = 女衣

15 = 头盔

16 = 斗笠

补充说明

详细说明

30 = 勋章

数据库详细设置解释:

以“布衣(男)”为例子

0=战士,1=法师,2=道士,3=全职业

例子:

3#9#0|3#10#2|3#11#0|3#12#1|

3=全职业 3=全职业 3=全职业 3=全职业

9=防御下限 10=防御上限 11=魔御下限 12=魔御上限

防御0-2 魔御0-1

属性配置ID表

如:下面一个解释

3#9#3|

参数1:0# 战士使用 1#=法师使用 2#=道士使用 3#=三职业通用

参数2:9# 代表属性表cfg_att_score.xls 里面的第九个属性 防御下限

参数2:3 代表防御下限+3点

参数4: | 属性分割符 每个属性后面都要加

装备表支持属性: (后期会陆续开放更多属性)

1 生 命 值

2 魔 法 值

3 攻击下限

4 攻击上限

5 魔法下限

6 魔法上限

7 道术下限

8 道术上限

9 防御下限

10 防御上限

11 魔防下限

12 魔防上限

13 准确

14 敏捷

15 魔法躲避

16 毒物躲避

17 中毒恢复

18 体力恢复

19 魔法恢复

20 攻击速度

21 暴击几率增加

22 暴击伤害增加

25 增加攻击伤害

26 物理伤害减少

27 魔法伤害减少

28 忽视目标防御

29 所有伤害反弹

30 人物体力增加

31 人物魔力增加

32 增加目标爆率

38 神圣

39 幸运

shape这个属性(衣服显示穿上得样子,首饰代表其特殊功能)

“5”表示“灵魂战衣”的样子。

“4”表示“魔法长袍”的样子。

“3”表示“重盔甲”的样子。

shape值:

记忆头盔125

记忆戒指122

记忆手镯124 天地合一

记忆项链123

魔血戒指133 虹魔戒指136

魔血项链134 mp转hp 虹魔手镯137 吸hp

魔血手镯135 虹魔项链138

神秘戒指130 祈祷戒指128

神秘腰带131 随机属性 祈祷手镯126

神秘头盔132 祈祷头盔129

隐身戒指111 传送戒指112

麻痹戒指113 复活戒指114

火焰戒指115 治愈戒指116

幸运戒指117 护身戒指118

负载戒指119

技巧项链120

探测项链121

恢复hp/mp113

对于武器来说: 当shape值和reserved值分别为 30 和 12 时,武器一旦拿上就不能取下,只到死后消失 (血剑)

当仅reserved值为 8 时,武器拿上可以取下,但是一旦战斗死亡,就会消失

当Source值为1-10时为武器强度增加1至10,Source值为-1至-50时为神圣增加1至50(强度可降低武器掉持久,神圣破不死系怪物(Undead0=死系;1=不死系)的防御 魔御和一些对人物来说未知的神秘功能)

weight属性是物件重量.

looks属性(显示衣服物品栏里样子和在装备栏里的样子)

"重盔甲(男)or战神盔甲(男)or钢盔甲(男)" 62

"魔法长袍(男)or恶魔长袍(男)or圣龙魔袍(男)" 63

"灵魂战衣(男)or幽灵战衣(男)or泰坦战衣(男)" 64

"重盔甲(女)or战神盔甲(女)or钢盔甲(女)" 82

"魔法长袍(女)or恶魔长袍(女)or圣龙魔袍(女)" 83

"灵魂战衣(女)or幽灵战衣(女)or泰坦战衣(女)" 84

duramax物件持久的属性:这里的变量中1000表示1个持久度,那么40000就表示40个持久度了!

stock 是否为库存品

need表示限制种类:

0 为等级限制

1 为攻击限制

2 为魔法限制

3 为道术限制

(12)needlevel表示了(need)限制的具体数量.

另外上面的 stock处网上有说不是库存的意思是是否容易暴出后物品比较极品的意思,大家可以自己测试

字段Color 物品在地面颜色的显示设置

字段Job 穿戴的职业需求

装备表cfg_item.xls属性配置对照表

原始表格

属性序号属性名称值类型属性备注
1生命值生命值
2魔法值魔法值
3攻击下限战士的核心属性,决定物理伤害
4攻击上限战士的核心属性,决定物理伤害
5魔法下限法师的核心属性,决定魔法伤害
6魔法上限法师的核心属性,决定魔法伤害
7道术下限道士的核心属性,决定道术伤害
8道术上限道士的核心属性,决定道术伤害
9防御下限抵抗受到的物理伤害
10防御上限抵抗受到的物理伤害
11魔防下限抵抗受到的魔法伤害
12魔防上限抵抗受到的魔法伤害
13准确物理攻击的命中概率
14敏捷闪避受到的物理攻击
15魔法躲避百分比闪避受到的魔法攻击1点=10%
16毒物躲避百分比增加一定的麻痹抗性1点=10%
17中毒恢复百分比缩减中毒时间和麻痹时间1点=10%
18体力恢复百分比提高安全区生命值恢复效果1点=10%
19魔法恢复百分比提高安全区魔法值恢复效果1点=10%
20攻击速度影响角色攻击速度
21暴击几率增加百分比攻击时触发暴击的概率
22暴击伤害增加百分比暴击时的伤害
23防暴几率增加百分比降低被暴击概率(对方暴击几率-自己暴击抵抗=对方实际暴击几率)
24被暴伤害降低百分比降低受到的暴击伤害比例(关联22号暴击伤害增加,引擎设置的倍率则不会抵抗)
25增加攻击伤害百分比增加造成的伤害
26物理伤害减少百分比减少受到的物理伤害
27魔法伤害减少百分比减少受到的魔法伤害
28忽视目标防御百分比攻击无视对方一定的防御力
29所有伤害反弹百分比反弹一定的伤害
30人物体力增加百分比增加一定比例的生命
31人物魔力增加百分比增加一定比例的魔法
32增加目标爆率百分比提高击杀玩家的爆装几率
33爆率降低百分比降低死亡时的爆装几率
34吸血万分比回复一定攻击比例的生命
36防御加成万分比防御提升一定比例
37魔防加成万分比魔防提升一定比例
38(无效)神圣ITEM表Source=负数才是神圣属性,最大-50
39幸运提高攻击时发挥的最低伤害
42怒气恢复增加怒气槽每次增加值
43合击威力增加百分比英雄合击伤害提升
45防止麻痹万分比降低触发麻痹效果的概率
46防止护身万分比破护身效果的概率
47防止复活万分比破复活效果的概率
48防止全毒万分比降低中毒的几率
49防止诱惑万分比宝宝防止法师诱惑之光,只对怪物、宝宝有效
50防止火墙万分比降低受到火墙技能的伤害
51防止冰冻百分比降低触发冰冻效果的概率
52防止蛛网百分比降低触发蛛网效果的概率
54对战增伤万分比增加对战士的伤害(魔法伤害有效)
55受战减伤万分比只减少来自54号属性伤害(注:基础属性伤害无法减少)
56对法增伤万分比增加对法师的伤害(魔法伤害有效)
57受法减伤万分比只减少来自56号属性伤害(注:基础属性伤害无法减少)
58对道增伤万分比增加对道士的伤害(魔法伤害有效)
59受道减伤万分比只减少来自58号属性伤害(注:基础属性伤害无法减少)
60生命加成万分比基于等级的HP加成
61生命恢复脱离战斗每10秒恢复固定生命值
62魔法恢复脱离战斗每10秒恢复固定魔法值
63格挡概率万分比受到伤害时触发格挡的概率(注:必须与64号属性配合)
64格挡伤害万分比触发格挡时减免的伤害比例(注:必须与63号属性配合)
65掉落概率万分比万分比怪物掉落概率与命令爆率为相加模式
66经验倍率万分比增加获取到的基础经验,可被高级、超级经验放大
67基础倍攻万分比提升装备的基础攻魔道属性,包括极品属性
68对人伤害对玩家造成无视防御的伤害
69冰冻概率万分比攻击时触发冰冻效果的概率
70蛛网概率万分比攻击时触发蛛网效果的概率
71每秒回血每秒恢复一定数值的血量
72对怪暴击率百分比攻击怪物时额外附加的暴击率
73攻击加成万分比提升整体比例的攻击力(注:不增加道术与魔法)
74对怪伤害攻击怪物时造成的固定伤害
75对怪增伤万分比按比例提升对怪物的伤害
76PK增伤万分比PK时按比例提升伤害
77PK减伤万分比PK时按比例减少伤害
78穿透忽略对方固定防御值与魔御值
79神圣一击万分比对目标几率造成3倍伤害
80神圣伤害触发神圣一击时的额外伤害(计算方式:原伤害*3+80号属性数值=最终)
81对怪吸血万分比仅对怪物伤害时提升的吸血比例
82受怪减伤万分比按比例减少受到来自怪物的伤害(注:达到100%时无伤害)
83药品恢复加成万分比按比例提升药品的恢复量
84吸血抵抗万分比减少34号属性吸血比例
85破防抵抗万分比抵抗忽视防御概率(对方忽视几率-自己忽视抵抗=对方实际忽视几率例:30%-20%=10%)
86烈火减免万分比减少烈火伤害比例(注:达到100%时烈火无伤害)
87刺杀减免万分比减少刺杀伤害比例(注:达到100%时刺杀无伤害)
88攻杀减免万分比减少攻杀伤害比例(注:达到100%时攻杀无伤害)
89HP加成万分比新hp加成,万分比
90神圣抵抗万分比被攻击时,抵抗神圣一击的几率(注:达到100%时神圣一击不触发)
91每秒回蓝每秒恢复一定数值的魔力

新怪物支持

新怪支持

日志记录开启方法

把Item.xls表27列(AB列)设置为1即表示开启了该物品的日志记录。0或空表示不记录。

物品代码表

物品特殊属性设置: 武器 蜡烛 类型物品 使用物品数据库字段 AniCount 首饰 头盔 类型物品 使用物品数据库字段 Shape

原始表格

物品代码(Stdmode)物品类型相关说明
0药品
1食物
2
3卷类
4技能书
5武器物品的Source等于负数时为神圣
6武器物品的Source等于负数时为神圣
7技能书
8
9
10衣服(男)
11衣服(女)
15头盔
16斗笠
19项链
20项链
21项链
22戒指
23戒指
24手镯
25符、毒药
26手镯
28马牌位置代码=15 变量<$HORSE> Anicount= 0不能骑马 大于0时比如1,2,3等等51-100 为不同的同的马,可以使用“Ctrl + G”骑马 马的素材调用L-Horse
29天使物品数据库字段Shape设置天使的类型,1 -10 代表不同的天使。
30照明物物品数据内Source字段为1时不随时间掉持久,为0随时间掉持久
31捆装物品支持叠加物品设置(OverLap>0) (OverLap=0 Source=1时也是一种叠加,但是登录器不显示叠加数量) Source=-2时允许放入快捷栏
48盾牌位置代码=16 变量<$SHIELD>
49聚灵珠
53宝石有气血石功能 Anicount=1,2,3 分别对应三种石头
62,52鞋子物品的Anicount为负重
63宝石
64,54腰带物品的Anicount为负重
65军鼓
51
50面巾
66,67时装衣服
68,69时装武器物品的Source等于负数时为神圣
75, 76, 77时装项链
78时装头盔
79, 80时装手镯
81, 82时装戒指
83时装勋章
84, 85时装腰带
86, 87时装鞋子
88, 89时装宝石
90时装马牌
91时装符印
92时装军鼓
93时装盾牌
94时装面巾
71时装斗笠
100首饰盒装备
101首饰盒装备
102首饰盒装备
103首饰盒装备
104首饰盒装备
105首饰盒装备
106首饰盒装备
107首饰盒装备
108首饰盒装备
109首饰盒装备
110首饰盒装备
111首饰盒装备
属性代码属性功能功能介绍
111隐身人物进入隐身状态,普通怪物看不到人物,破隐身的怪物可以看到人物
112传送人物可以使用命令在传送到指定座标上(@UserMove)
113麻痹人物物理攻击时可以将对方麻痹
114复活人物具备复活功能,人物在死亡时起作用,生效一次掉一个持久
115火焰
116治愈
117,170不掉物品人物死亡时不会掉任何物品,包括背包里的及身上戴的
118护身人物在被攻击时,先降MP,MP为0时才降HP
119超负载人物可以戴上超过自己负重的物品
120技巧人物在练技能时,得到双倍的练习点
121探测可以查找指定人物当前位置
122记忆戒指
124记忆手镯
125记忆头盔
126祈祷手镯
127祈祷项链
128祈祷戒指
129祈祷头盔
130神秘戒指
131神秘腰带
132神秘头盔
133魔血戒指
134魔血手镯
135魔血项链
136虹魔戒指
137虹魔戒指
138虹魔项链
139防麻防麻痹功能,可以使被攻击方的麻痹功能失效(不防怪物麻痹)
140无敌(未完全)
141经验杀怪所得经验为指定倍数(倍数为持久除以 10000),如果物品持久太小,所得经验将比正常还低
142力量人物攻击力倍数(倍数为持久除以 10000),如果物品持久太小,所得攻击力将比正常还低
182经验杀怪所得经验为指定倍数(倍数为持久除以 10000),不受物品持久太小影响
183力量人物攻击力倍数(倍数为持久除以 10000),不受物品持久太小影响
143防护身
144防复活
145行会召唤
150麻痹护身
151麻痹火球
152麻痹防御
153麻痹负载
154护身火焰
155护身防御
156护身负载
157传送麻痹
158传送护身
159传送探测
160传送复活
161复活麻痹
162护身复活
171不掉背包物品
172不掉身上装备
189麻痹人物魔法技能攻击时可以将对方麻痹

物品所需条件设置

使用物品所需条件设置: 物品数据库字段: ( 字段包括二个参数的需要用字段计算器算出具体数字 )

原始表格

NeedNeedLevel
0需要指定等级以上才可以戴上
1需要指定攻击力以上才可以戴上
10需要指定职业及指定等级以上才可以戴上
11需要指定职业及指定攻击力以上才可以戴上

物品极口属性详解

原始说明 / 数据

物品极品属性详解
重要注意事项,请在使用本功能前务必详细阅读,否则将有可能带来严重后果
当所需要升级的项链、手镯、戒指、在DB数据库中因 SHAPE 值的不同,而升级
出来得到的结果也不同,所以使用者请按照以下属性变化列表进行详细设置!
其中涉及的体力恢复、魔法恢复、毒物躲避、中毒恢复、如升级成功“1”点属性,则表示为 10%
项链属性:
当SHAPE值为19时:属性位置“0”升级出来表现为“魔法躲避”、属性位置“1”升级出来属性表现为“幸运”
当SHAPE值为20时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”
当SHAPE值为21时:属性位置“0”升级出来表现为“体力恢复”、属性位置“1”升级出来属性表现为“魔法恢复”
手镯属性:
当SHAPE值为24时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”
当SHAPE值为26时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”
戒指属性:
当SHAPE值为22时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”
当SHAPE值为23时:属性位置“0”升级出来表现为“毒物躲避”、属性位置“1”升级出来属性表现为“中毒恢复”
盔甲
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5-13 无效果
14 持久
武器
0 DC2
1 MC2
2 SC2
3 幸运
4 诅咒
5 准确
6 攻击速度
7 强度
8-9 暂不知道
10 需开封
11-13 暂不知道
14 持久
头盔
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5 佩带需求
6 佩带级别
7-13 无效果
14 持久
项链
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8 reserved
9-13 暂不知道
14 持久
手镯
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
戒指
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久

特殊物品设置[!]

特殊物品设置

原始表格

物品名称(Name)StdModeShapeAnicountSource说明
气血石7100自动增加HP,增加数量为 持久*10
幻魔石7200自动增加MP,增加数量为 持久*10
魔血石7300自动增加HP和MP,增加数量为 持久*10
例如:气血石(小);7;1;1;0;0;0;991;4000;1;0;0;0;0;0;0;0;0;0;0;0;5000;5;气血石(中);7;1;2;0;0;0;992;9000;1;0;0;0;0;0;0;0;0;0;0;0;5000;5;气血石(大);7;1;3;0;0;0;993;20000;1;0;0;0;0;0;0;0;0;0;0;0;5000;5;幻魔石(小);7;2;1;0;0;0;995;6000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;幻魔石(中);7;2;2;0;0;0;996;14000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;幻魔石(大);7;2;3;0;0;0;997;32000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;魔血石(小);7;3;3;0;0;0;1028;10000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;魔血石(中);7;3;3;0;0;0;1027;15000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;魔血石(大);7;3;3;0;0;0;1026;20000;0;0;1;0;0;0;0;0;0;0;0;0;5000;5;
物品名称(Name)StdModeShapeAnicountSource说明
随机传送石2200随机在当前地图上移动,使用次数为 持久/1000
修复神水2900修复身上所穿装备持久,修复点数为 持久/100Anicount=0 按次数修 Anicount=1 按点数修
千里传音7010可以使用 @传 向全服喊话,使用次数为 持久/1000
火龙之心25900英雄配带,合击物品.
召唤强化卷2100装自己的宝宝升级为七级宝宝(适用于道士),使用次数为 持久/1000
斗笠16000配带后可以隐藏人物名称,支持双头盔配带,并支持人物属性增加 Shap 0~7
聚灵珠4900时使用元宝提取经验,=1时使用金币提取经验.Source0提取经验时不触发 @GetExpXX大于0为触发 @GetExpXX例子:QFunction-0.txt[@GetExp99]#IFEQUAL <$HEROUSEITEM> 1#ActStopSENDMSG 6 禁止在英雄背包使用聚灵珠说明:聚灵珠在人物背包中杀怪时获得经验时自动聚集经验,当经验聚满时双击可获得经验.人物英雄在线时也可获得经验.设置:1.物品数据库中聚灵珠StdMode=49.2.获取当前经验的倍数Shape/100< br> 3.DuraMax表示聚灵珠可聚集的最大经验值,1点表示1W经验值,例如DuraMax设置20那么实际<br> 可聚集20W经验.DuraMax设置100那么最大可聚集100W经验值.<br> 4.AniCount=0时使用元宝提取经验,=1时使用金币提取经验.5.Reserved表示聚灵珠最多可使用的天数,当超过使用天数后不再聚集经验,没有聚集经验时不计算天数,值为0时不限制天数6.Need=提取经验时所需的元宝数量或者金币数量.7.AC等于0时表示不限制人物等级,大于0时人物等级超过AC设定的等级时无法使用.8.使用GM命令@Make制造聚灵珠时第三个参数代表聚灵珠的经验,第四个参数代表最多可使用的天数.例如:@Make 聚灵珠 1 10 365 ;10表示10W经验.365表示可以使用365天如果第四个参数为空时,默认使用DB数据库里Reserved设置的天数9.<$HEROUSEITEM> 0=人物背包使用 1=英雄背包使用 此常量只支持聚灵珠触发生效
传送符25600类似于传送戒指,使用一次减100点持久
自定义记次物品21X0自定义物品,使用次数为 持久/1000 ,使用成功后调用 QFunction-0脚本中的 [@StdModeFuncX] 其中X为Anicount
例如:随机传送石;2;2;1;0;0;0;1025;50000;0;0;0;0;0;0;0;0;0;0;0;0;50000;1;255;0;99;修复神水;2;9;1;9;0;0;120;10000;0;0;0;0;0;0;0;0;0;0;0;0;20000;5;千里传音(小);7;0;1;1;0;0;1000;5000;0;0;0;0;0;0;0;0;0;0;0;0;5000;1;255;0;99;千里传音(大);7;0;1;1;0;0;1000;10000;0;0;0;0;0;0;0;0;0;0;0;0;5000;1;255;0;99;传音筒;7;0;1;2;0;0;1000;5000;0;0;0;0;0;0;0;0;0;0;0;0;5000;1;255;0;99;超级传音筒;7;0;1;2;0;0;1000;10000;0;0;0;0;0;0;0;0;0;0;0;0;5000;1;255;0;99;火龙之心;25;9;1;0;0;0;1148;30000;0;0;0;0;0;0;0;0;0;0;0;0;5000;5;召唤强化卷;2;1;1;7;0;0;998;5000;0;0;0;0;0;0;0;0;0;0;0;0;6000;5;斗笠;16;0;2;0;0;0;1188;30000;0;0;0;0;0;0;0;0;0;0;0;7;20000;5;回城石;2;3;1;30;0;0;1024;60000;0;0;0;0;0;0;0;0;0;0;0;0;20000;5;255;0;99;聚灵珠(小);49;100;1;0;0;0;820;25;0;0;0;0;0;0;0;0;0;0;5;0;25000;5;255;0;0;0;聚灵珠(大);49;100;1;0;0;0;820;50;0;0;0;0;0;0;0;0;0;0;10;0;50000;5;255;0;0;0;
计时物品限时物品带到身上开始计时,到期后必须在身上时才会自动消失.(每分钟检测一次)物品Need=101时限时物品,NeedLevel=时间(分钟)
配合死亡之眼技能使用蓝色药粉(大量);25;3;3;0;0;0;257;15000;0;0;0;0;0;0;0;0;0;0;0;1;15000;50;255;0;0;;

DEC对字符型变量操作命令[!]

DEC对字符型变量操作命令。

MOV命令做了一些改进。

完整脚本代码

[@Main]
#ACT
MOV S1 996引擎M2
MOV S2 996引擎M2
DEC S1 996引擎 ;删除S1中的“996引擎”字符串
DEC S2 1 3 ;删除S2中的第1至第3个字符串 这个要注意,一个汉字是2个字节长度,不要删除半个汉字的情况,否则会乱码。
结果 S1=M2
S2=引擎M2

新增GM命令[!]

新增部分游戏相关命令

注:以下命令在(M2目录中)Command.ini文件中均可自由更改命令名称.

原始表格

传送相关命令字段2
@recall将人物召唤到自己身边
@Regoto传送到对方身边
@Ting将对方随机传送
@SuperTing将指定范围内人物随机传送
@Mapmove将指定地图所有人物传送到指定地图
@Move移动到指定地图
@PositionMove移动到指定地图座标
人物控制相关命令
@GameMaster进入/退出管理员模式
@Observer进入/退出隐身模式
@Superman进入/退出无敌模式
@Level调整自己的等级
@Kick将指定的人物踢下线
@Kill将指定的人物杀死
@Realive将死亡的人物复活
@Setpermission设置人物的游戏权限,可将普通人物提升为GM
@Info显示人物详细信息
@MobLevel显示身边所有怪物或人物信息
@FreePK清除指定人物的PK点
@PKpoint显示指定人物的PK点
@IncPkPoint增加指定人物的PK点
@AdjustLevel调整他人级别
@AdjustExp调整他人经验
怪物控制相关命令
@Mob在身边放置一个指定的怪物
@RecallMob召唤一个怪物为宝宝
@Mission设置怪物集中点(用于开展怪物攻城)
@MobPlace放置怪物,怪物向集中点集中,大刀守卫不攻击怪物(用于开展怪物攻城)
聊天信息相关命令
@DisableSendMsg将指定人物加入禁言列表,人物发信息只能自己看到别人看不到
@EnableSendMsg将指定人物从禁言列表中删除
@DisableSendMsgList显示禁言列表中的人物名称
@ViewWhisper查看指定人物的私聊信息
@MobNpc制造一个NPC(可不用重启M2做增加NPC制作脚本);
@DelNpc删除NPC
重新加载设置相关命令
@ReloadAdmin重新加载管理员列表
@ReloadNpc重新加载NPC脚本
@ReloadMonItems重新加载怪物爆物品列表
@ReloadLineNotice重新加载游戏公告
@ReloadManage重新加载登录脚本
@ReloadItemDB重新加载物品数据库
@ReloadMagicDB重新加载魔法数据库(暂时无效)
@ReloadMonsterDB重新加载怪物数据库
@ReloadRobotManage重新加载游戏登录文本
物品控制相关命令
@make制造指定的物品
@SuperMake调整给指定物品属性值
@BindUseItem物品绑定人物信息
@GiveMine 数量 纯度给指定纯度的矿石.
仓库、登录密码相关命令
@CLEARPASSWORDGM专用命令
人物分配点数控制相关命令
@BonusPoint增加人物属性点
@DelBonusPoint删除人物属性点(删除所有已分配及未分配的属性点)
@RestBonusPoint将人物属性点复位(已分配的复位到未分配的点数)
地图控制相关命令
@SetMapMode设置地图模式
@Map查看当前所在地图相关信息
游戏点、币相关命令
@GameGold调整人物游戏币数量
@GamePoint调整人物游戏点数量(泡点数量)
@CREDITPOINT调整人物声望点(1-255)
@DelGold减少人物金币
@AddGold增加人物金币
其他相关命令
@Showflag显示标识
@showopen显示打开
@showunit显示单位
@setflag设置标识
@setopen设置打开
@setunit设置单位
@Reconnection更换网关的命令
行会相关命令
@AddGuild添加一个行会
@DelGuild删除一个行会
@SabukWallGold更改沙城所属性行会
@ForcedWallconquest强行开始或结果攻城战
@SabukWallGold查看沙城金币数

MOV INC DEC变量操作命令

当前对象的所有私人的常量都可以使用在前面加“C.”的方式

当前对象的所有私人的变量使用<$CSTR(S1)>和查看自己的变量<$STR(S1)>多一个“C”

比如在攻击触发,被攻击触发,死亡触发,还有查看出售角色的其他信息的触发时

当前对象的常量,例如:<$C.HP> <$C.PKPOINT> <$C.GOLDCOUNT> <$C.GAMEGOLD>

当前对象的变量,例如:<$CSTR(S1)> <$CSTR(A1)> <$CSTR(T1)> <$CSTR(U1)> <$CHUMAN(QQQQ)> <$CGUILD(WWWW)>

;攻击触发

完整脚本代码

[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
MOV S1 <$CSTR(S1)>
SENDMSG 6 把我的S1变量值传递给被攻击人的S1变量里,使用“CSTR”代表当前对象的变量比自己的“STR”前面多一个“C”
MOV N1 <$CSTR(N1)>
SENDMSG 6 把对方的的N1变量值传递给我的的N1变量里,使用“CSTR”代表当前对象的变量比自己的“STR”前面多一个“C”
SENDMSG 6 你攻击了人物【<$C.USERNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
BREAK
[@main]
#IF
#ACT
MOV S1 测试人物
;SetCurrTarget 名称(空的情况下表示清空当前对象)
;使用SetCurrTarget设置当前对象
SetCurrTarget <$STR(S1 )>
#IF
CompareText <$C.USERNAME> S1
;检测设置的对象是否成功
#ACT
SENDMSG 6 当前对象名称:【<$C.USERNAME>】等级:【<$C.LEVEL>】S1:【<$CSTR(S1)>】N1:【<$CSTR(N1)>】
;使用MOV命令调整当前对象的变量
MOV N1 <$CSTR(N1)>
SENDMSG 6 把对方的的N1变量值传递给我的的N1变量里,使用“CSTR”代表当前对象的变量比自己的“STR”前面多一个“C
注:CSTR只支持取对象的变量,不支持直接写入到对象的变量,写对象请使用多级脚本

传奇脚本命令详解[!]

传奇脚本命令详解

====================******************************** ===== ===================

[@段] ;段用英文或数字表示

goto @段 ;跳转到指定段,开始执行相当于B中的goto语句

完整脚本代码

#say 语句 ;语句设定为字符,不用加任何定界符
#act 执行命令 ;符合3.0规定的任何系统已定义命令
give 物品 数量 ;给多少东西,除了物器数据库中有的物品,还有金币,
take 物品 数量 ;同上,只是与上面相反,一个是给东西,一个是收回东西
map 地图名 ;移动到这个地图的随机坐标,地图名为地图的数字人码
mapmove 地图名 坐标A 坐标B ;同上,只是指定了坐标
monclear 地图名 ;清除这个地图上刷的怪物
MonGen 怪物名称 数量 时间 ;刷怪物,与刷怪角本用法相同
TimeRecall 数值 ;数值为分钟,定义进入某地的时间限制。
BreakTimeRecall ;中断上面那个语句设定的时间
hairstyle 数值 ;改变头发类型
haircolor 红值 绿值 蓝值 ;值域为0 ~ 255 设定头发颜色
close ; 关闭对话框
– 程 序 中 的 变 量 与 常 量
======================**************************** === =====================
变量 ;变量用字母表示,在程序中可以赋任何数据 名称只限于P0-P9,D0-D9
mov 变量 数值 ;给变量赋值
inc 变量 数值 ;让变量自动加指定数值到变量,相当于程序中的x=x+n< /FONT>
sum 变量A 变量B ;变量求和不要与int混淆,需要下面的组合语名才能实现
MOV 变量X 0 ;变量X,初值。
sum 变量A 变量B ;X=A+B< /FONT>
sum 变量C ;X=X+C 最后在程序中得到的是X值,实际X= A+B+C< /FONT>
;如果只写中间一句是无意义的,只能导致错误
movr 变量 数值 ;定义随机变量,变量值为 “0 到 数值”
random 数值 ;当数值=随机数时则为1否则为0< /FONT>
<$STR(变量)> ;显示变量时用,可以将变量值显示在游戏里,用在 #say后面。
– 程 序 中 的 逻 辑 判 断 语 句
=========================******************************* ========================
[n] ;n为1-1024正整数,是逻辑变量,有0值和1值,初始0值
#IF
条件–执行
#elsesay 或者 #elseact
否定–执行 ;相当于程序中的条件判断
SET [n] 1 ;设置逻辑变量为真
–关于reset命令的详解
reset [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0
比如:reset [100] 7 就是把100 101 102 103 104 105 106 107这7个变量赋值为0。
它等同与:set [100] 0
set [101] 0
set [102] 0
set [103] 0
set [104] 0
set [105] 0
set [106] 0
Check [n] 1 ;测试逻辑变量是否为真,可以测试是否已经完成了任务
small 变量 数值 ;如果“变量 < 数值”则为1否则为0
large 变量 数值 ;如果“变量 > 数值”则为1否则为0
equal 变量 数值 ;如果“变量 = 数据”则为1否则为0< /FONT >
checkjob Warr(Wizard、Taos) ;测试职业 成功为1否则为0
checkgold 数值 ;拥有金币数>=数值为1否则为0< /FONT>
checklevel 数值 ;人物等级>=数值为1否则为0< /FONT>
checkitem 物品 数值 ;测试拥用物品的数量
genderman ;测试性别为男,如果为男则为1否则为0
checkbaggage ;测试背包是否已满,满时为1否则为0
checkpkpoint 数值 ;数值为PK值,PK值数>值时为1否则为0
checkluckypoint 数值 ;同上,只是测的是幸运值
checkmonmap 地图名 数值 ;同上,只是测的是怪物数量
checkduraeva 物品名 数值 ;同上,只是测试有品质的物品的品质
checkhum 地图名 数值 ;同上,测试这个地图的人数
checkitemw 物品 检测身上所带的物品
takew 物品 数量 指定部位(为空或者0搜索全身装备,大于1为指定部位) 直接从身上回收物品
takew 力量戒指 1 7
checkmagic 技能名称 检测已经修炼的技能
脚本大全 [喜欢脚本的来]
传奇商用NPC开头解释(部分,补足请补足)
%100 代表买东西是原价格还是双倍价格
+40 买肉
+1 卖肉
+43 武器有关(修)
+15 头盔
+10 买衣服
+11 修衣服
+26 修手镯类
+0 买各种药水
+42 卖各种药水
+30 蜡烛等.
+25 特殊水
+3 买卷轴,书类
+4 卖书类
+19 项链
+20 项链
+21 项链
+22 买戒指
+23 卖戒指
+24 买手镯
+26 卖手镯
+5 修炼武器或买武器
+6 修炼武器或卖武器
checkjob (Warr, Wizard, Taos) ;测试职业
checkgold (金币数) ;测试金币
checklevel (等级) ;测试等级
checkitem (物品名) (数量) ;测试物品及数量
give gold (金币数) ;给钱
give (物品名) (数量) ;给物及数量
take gold (金币数) ;拿走钱
take (物品名) (数量) ;拿走物及数量
checkpkpoint (pk值) ;测试PK值
checkluckypoint (幸运值) ;幸运值正值为好,负值为差
checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质
checkhum (地图名) (数值) ;测试这个地图的人数
checkmonmap (地图名) (数值) ;测试这个地图的怪物数
map (地图名) ;移动到这个地图
mapmove (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标
monclear 地图清除
close 关闭对话框
TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制
BreakTimeRecall ;中断设定时间
ExchangeMap (地图名) ;与指定地图里的人交换位置
daytime sunset ;一天时间
checkbaggage ;测试背包满没
small (变量) (数值) ;测试变量是不是小于指定数值
large (变量) (数值) ;测试变量是不是大于指定数值
equal (变量) (数值) ;测试变量是不是等于指定数值
mov (变量) (数值) ;让变量等于指定数值
sum (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写sum (变量C)
注:关于SUM的详解
首先有MOV (变量X) 0 ;(变量X)清0
sum (变量A) (变量B) ;X=A+B
sum (变量C) ;X=X+C
movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量
inc (变量) (数值) ;让变量自动加指定数值到变量
playdice (骰子数) @xxx ;玩骰子,跳转到标签[@xxx]
random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语句数用 于随机多项选择,例如: #IF RANDOM 3 #SAY() #ELSEACT
Check [条件数] 1 ;测试[条件数]触发与否 1(触发)
SET [条件数] 1 ;设置[条件数]触发
Monclear 地图 清理这个地图!
Param1 地图 地图名
Param2 横坐标 坐标
Param3 纵坐标 坐标
MonGen 怪物名称 数量 时间
TimeRecall 时间 时间限制
二。脚本变量:
<$USERNAME> 当前用户名
<$GUILDWARFEE>行会战金币数
<$LORD>沙巴克行会头名
<$OWNERGUILD>沙巴克行会名
<$UPGRADEWEAPONFEE>升级武器价格
<$USERWEAPON> 放在对话框里的武器名字
<$STR(变量)> 把变量转换为字符型 random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列
#IF语句数用 于随机多项选择,例如: #IF RANDOM 3 #SAY() #ELSEACT

假人系统支持

原始说明 / 数据

假人系统
登录格式: DUMMYLOGON
增加假人登录脚本命令DUMMYLOGON。会自动登录“D:\MirServer\Mir200\Envir\DummyNameList.txt”中的假人
格式:DUMMYLOGON 地图 X Y 数量 是否乱序登录(0=顺序登录 1=乱序登录)
SETDUMMYCONFIGFILENAME ..\QuestDiary\智能陪练\一级女法陪练.txt
设置假人配置文件: SETDUMMYCONFIGFILENAME
SETDUMMYCONFIGFILENAME ..\QuestDiary\智能陪练\一级女法陪练.txt
;设置假人配置文件。 如果不设置假人配置文件,默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
;读取假人配置文件,将配置文件中的参数读取到假人,这句必须要的。
LOADDUMMYCONFIGFILE
DUMMYSTART // 假人开始行动
DUMMYSTOP // 假人停止行动
DUMMYSAY //开启假人说话
KICKDUMMY //踢出所有假人
DUMMYAUTOTARGET //锁定当前目标 1= 锁定 0 = 随机搜索
DUMMYGOTO X Y //假人自动寻路到当前地图坐标
检测命令:
ISDUMMY //检测是否是假人
CHECKDUMMYCOUNT //当前服务器假人数量 <>=
CHECKMAPDUMMYCOUNT //当前地图假人数量 <>=
假人名字列表 Mir200\Envir\DummyNameList.txt

关于国战

说明

Envir\Nations\Nations.ini中的NationalNames1 — NationalNames100是国家的名字,只有定义了国家名字之后加入国家才有效!
Nations.ini
[Names]
NationalNames1=
NationalNames2=
NationalNames3=
NationalNames4=
NationalNames5=
NationalNames6=
NationalNames7=
NationalNames8=
NationalNames9=
NationalNames10=
NationalNames11=
NationalNames12=
NationalNames13=
NationalNames14=
NationalNames15=
NationalNames16=
NationalNames17=
NationalNames18=
NationalNames19=
NationalNames20=
NationalNames21=
NationalNames22=
NationalNames23=
NationalNames24=
NationalNames25=
NationalNames26=
NationalNames27=
NationalNames28=
NationalNames29=
NationalNames30=
NationalNames31=
NationalNames32=
NationalNames33=
NationalNames34=
NationalNames35=
NationalNames36=
NationalNames37=
NationalNames38=
NationalNames39=
NationalNames40=
NationalNames41=
NationalNames42=
NationalNames43=
NationalNames44=
NationalNames45=
NationalNames46=
NationalNames47=
NationalNames48=
NationalNames49=
NationalNames50=
NationalNames51=
NationalNames52=
NationalNames53=
NationalNames54=
NationalNames55=
NationalNames56=
NationalNames57=
NationalNames58=
NationalNames59=
NationalNames60=
NationalNames61=
NationalNames62=
NationalNames63=
NationalNames64=
NationalNames65=
NationalNames66=
NationalNames67=
NationalNames68=
NationalNames69=
NationalNames70=
NationalNames71=
NationalNames72=
NationalNames73=
NationalNames74=
NationalNames75=
NationalNames76=
NationalNames77=
NationalNames78=
NationalNames79=
NationalNames80=
NationalNames81=
NationalNames82=
NationalNames83=
NationalNames84=
NationalNames85=
NationalNames86=
NationalNames87=
NationalNames88=
NationalNames89=
NationalNames90=
NationalNames91=
NationalNames92=
NationalNames93=
NationalNames94=
NationalNames95=
NationalNames96=
NationalNames97=
NationalNames98=
NationalNames99=
NationalNames100=
加入国家
格式: JoinNational ( 国 家编号 0~100 0表示从当前 国 家中删除,也就是退出该 国 家)

完整脚本代码

[@main]
#IF
CheckNational 0
#ACT
JoinNational 1
SENDMSG 6 你成功加入<$NATIONNAME>,当前 国 家总人数:<$NATIONPEOPLE>
#ELASEACT
MESSAGEBOX 你已经加入了<$NATIONNAME>,是否要注销 国 籍? @yes
[@yes]
#ACT
JoinNational 0
SENDMSG 6 你成功注销 国 籍
检测加入国家
格式: CheckNational ( 国 家编号 0~100)
[@main]
#IF
CheckNational 0
#SAY
你还没有加入 国 家
BREAK
#IF
CheckNational 1
#SAY
你已经加入 国 家, 国 家编号1
BREAK
检查国家人物总数
格式: CheckNationHumCount 操作符(< = >) 人数
#IF
CheckNationHumCount > 100
#SAY
当前 国 家大于100人.

大数值突破说明

大数值的最大值为: 18,446,744,073,709,551,616

受限制部分

1、装备单条属性不可超过21亿。

例如:武器基础攻击最高只能21亿-21亿,但是可以通过附加属性、自定义属性、元素属性、套装属性等加成相应的倍数、套装属性可以附加21亿倍从而达到属性的大数值突破

2、货币最大值未做突破

已突破部分

1、人物升级经验

2、怪物血量、及其他属性

3、大数值判断以及计算(EQUAL、SMALL、LARGE、INC、DEC、DIV、MUL等等)

4、技能伤害、自定义技能伤害及飘血

客户端常量

此功能只能放到自定义面板显示实时显示数量

不能做其他操作类的功能

可以支持很多种显示

显示物品格式:$STM(ITEMCOUNT_xx)

显示人物信息格式:$STM(xx)

如:$STM(ITEMCOUNT_木剑) 显示背包有多少把木剑 (木剑=数据库物品名称)

如:$STM(ITEMCOUNT_1) 显示有多少金币(1=数据库物品ID)

如:$STM(LEVEL) 显示多少级 (LEVEL=人物等级)

如:$STM(USERNAME) 显示名称 (USERNAME=人物名称)

如:$STM(HP) 显示血量 (HP=人物血量)

补充说明

详细说明

如:$STM(WEAPON) 显示身上武器 (WEAPON=身上武器)

如:$STM(MONEY_1,2) 显示身上货币1和货币2的总和

特殊说明:<$ARMRING_R> <$ARMRING_L> <$RING_R> <$RING_L> <$SARMRING_L> <$SARMRING_R> <$SRING_L> <$SRING_R> 这几个需要去掉_换成下面的

需要换成如下:<$ARMRINGR> <$ARMRINGL> <$RINGR> <$RINGL> <$SARMRINGL> <$SARMRINGR> <$SRINGL> <$SRINGR>

案例:

完整脚本代码

#IF
#ACT
MOV S$图标1<Text|text=$STM(ITEMCOUNT_金币)|x=120|y=1|size=20>
INC S$图标1<Text|text=$STM(ITEMCOUNT_元宝)|x=280|y=1|size=20>
addbutton 101 1 <$STR(S$图标1)>

新怪物数据[!]

原始说明 / 数据

-人形怪范例
1、在Envir目录下增加MonUseItems目录,放置怪的配置文件,见MonUseItems目录
2、Monster.DB范例:
;人形怪 此类怪物支持暴背包物品(MonItems目录下建立暴物品列表),同时支持暴身上物品(MonUseItems目录,见MonUseItems目录)
战士;60;19;0;198;0;100;5000;0;10;10;0;0;0;0;88;45;450;1;0;450;5000;
法师;60;19;0;198;0;100;5000;0;10;10;0;0;0;0;88;45;750;1;0;750;5000;
道士;60;19;0;198;0;100;5000;0;10;10;0;0;0;0;88;45;750;1;0;750;5000;
月灵;99;56;172;80;0;100;3000;1000;1000;40;50;70;0;1000;20;50;500;1;0;1200;0;
;镖车
普通镖车;128;19;290;70;1;0;6000;20000;0;15;15;20;50;0;0;20;50;600;1;0;1200;
中等镖车;128;19;291;80;1;0;12000;40000;0;15;15;20;50;0;0;15;50;700;1;0;1200;
贵重镖车;128;19;292;90;1;0;24000;80000;0;15;15;20;50;0;0;10;50;800;1;0;1200;
行会镖车;128;19;292;90;1;0;24000;80000;0;15;15;20;50;0;0;5;50;1000;1;0;1200;
;魔王岭
红野猪99;108;19;110;32;1;0;60;330;0;0;0;0;0;0;0;0;1200;1;0;2000;640;
黑野猪99;108;19;111;35;1;0;200;330;0;0;0;0;0;0;0;0;1200;1;0;2000;760;
白野猪99;108;19;112;50;1;0;300;330;0;0;0;0;0;0;0;0;1200;1;0;1800;3200;
半兽人99;108;19;100;15;0;0;30;330;0;0;4;9;0;0;15;6;1500;1;0;2500;50;
多钩猫99;108;17;25;13;0;0;22;330;0;0;2;4;0;0;12;5;1500;1;0;2500;34;
牛魔王99;108;72;207;99;1;1;300;330;0;0;0;0;0;0;0;0;1200;1;0;1200;8000;
-新怪范例23之前的随便找个版本都支持了–
Mon23-0;139;116;220;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon23-1;81;100;221;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon23-2;81;101;222;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon23-3;81;101;223;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-0;81;19;230;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-1;124;19;231;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-2;81;101;232;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-3;81;101;233;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-4;101;102;234;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-5;81;19;235;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-6;81;19;236;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-7;121;101;237;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-8;81;19;238;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon24-9;81;19;239;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon25-0;123;103;240;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon25-1;123;104;241;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon25-2;81;19;242;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon25-3;81;102;243;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-0;123;103;250;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-1;123;105;251;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-2;124;19;252;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-3;125;19;253;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-4;126;19;254;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-5;123;115;255;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-6;123;106;256;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-7;81;19;257;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-8;81;19;258;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon26-9;81;19;259;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-0;81;19;260;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-1;81;19;261;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-2;123;115;262;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-3;127;107;263;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-4;81;107;263;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-5;81;19;264;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-6;81;19;265;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-7;123;106;266;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon27-8;123;106;267;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon29-0;81;19;280;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon29-1;81;19;281;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon30-0;128;19;290;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon30-1;128;19;291;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon30-2;128;19;292;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-0;129;101;320;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-1;130;101;320;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-2;131;101;321;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-3;132;101;321;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-4;131;101;322;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-5;133;101;322;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-6;104;45;323;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-7;135;108;324;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-8;81;109;325;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-9;81;109;326;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-10;136;110;327;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-11;104;45;328;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon33-12;104;45;329;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-0;137;111;330;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-1;81;19;331;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-2;81;19;332;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-3;137;111;333;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-4;81;19;334;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-5;81;19;335;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-6;134;112;336;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon34-7;134;112;337;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon35-0;138;113;340;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon35-1;107;114;341;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
Mon35-2;107;114;342;60;1;10;3000;3000;0;15;15;20;50;0;0;30;50;300;1;0;1200;;
圣兽一;140;54;270;48;1;0;1;350;0;25;20;25;30;0;0;20;30;0;1;0;0;
圣兽一1;141;55;271;48;1;0;1;350;0;35;30;30;45;0;0;20;30;0;1;0;0;
圣兽二;142;54;272;48;1;0;1;350;0;35;30;30;45;0;0;20;30;0;1;0;0;
圣兽二1;143;55;273;48;1;0;1;350;0;35;30;30;45;0;0;20;30;0;1;0;0;
圣兽三;144;54;274;48;1;0;1;350;0;35;30;30;45;0;0;20;30;0;1;0;0;
圣兽三1;145;55;275;48;1;0;1;350;0;35;30;30;45;0;0;20;30;0;1;0;0;

设置显示名称格式

一、显示名称设置方法

1、相关配置

配置文件:String.ini

以下为相关配置内容:

CastleGuildName = %guildname[%castlename(%rankname)]

NoCastleGuildName = %guildname(%rankname)

WarrReNewName = %chrname\*<圣>*

WizardReNewName = %chrname\*<神>*

TaosReNewName = %chrname\*<尊>*

ManDearName = %s的老公

补充说明

详细说明

WoManDearName = %s的老婆

MasterName = %s的师父

NoMasterName = %s的徒弟

HumanShowName = %chrname\%guildname\%dearname\%mastername

CastleGuildName 沙城成员显示行会格式

NoCastleGuildName 普通已加入行会人员显示行会格式

%guildname 行会名称

%castlename 城堡名称

%rankname 职位名称

WarrReNewName 武士转生后名称显示

WizardReNewName 法师转生后名称显示

TaosReNewName 道士转生后名称显示

%chrname 人物名称

ManDearName 结婚后男的显示名称

WoManDearName 结婚后女的显示名称

MasterName 师父显示名称

NoMasterName 徒弟显示名称

HumanShowName 显示完整名称格式

游戏中显示出来的名称是根据以上格式组合出来的,大家可以根据自己的要求,自行调行组合及格式。

查看人物私聊信息

此功能可以实时侦听指定人物的私聊信息,将指定人物发送及接收的私聊信息发送到自己。

命令格式:

@ViewWhisper 人物名称 重复输入取消侦听私听信息。

武器衣服扩展特效计算

原始说明 / 数据

为了减少使用自定义特效以及方便添加装备,对衣服武器的外观特效进行DB数据库支持
由于武器2-3的特效均放在衣服HumEffect2.wzl和HumEffect3.wzl里面,武器特效DB数据字段支持为:
武器特效:Anicount
HumEffect2.wzl中武器特效代码分别为:1000-1006 (7件武器特效)
HumEffect3.wzl中武器特效代码分别为:1007-1015 (9件武器特效)
WeaponEffect.wzl 中特效代码为:1025-1049
WeaponEffect4.wzl 中特效代码为1100-1124
WeaponEffect5.wzl 中特效代码为1125-1149
衣服翅膀特效:Anicount 字段
HumEffect2.wzl 1000-1024 需要排除武器,此文件第一件翅膀为1002 ,后面分别为1003,1004,1006,1010(1010只有女性项圈)
HumEffect3.wzl 1025-1049 需要排除武器,此文件第一件翅膀为1025 ,1026,1027,1031,1035,1036
HumEffect4.wzl 1050 – 1074
HumEffect5.wzl 1075 – 1099
备注:由于HumEffect2.wzl HumEffect3.wzl 中夹武器特效所以计算比较复杂,特效代码为数据库字段 Anicount
能使用DB数据库支持的特效尽量使用db数据库来支持,这样可减少服务器压力…(男女特效数值一样,程序自动区分性别)
=============================================以下为武器和衣服内观特效计算=====================================================================================================================
武器和衣服内观特效计算:
内观发光效果,一行对应一个特效 对应数据库 effectParam字段(T列)
文件 stateitem.wzl (计算代码 500-527)
1403 500
1890-1899 501
2425 502
2426 503
2427 504
2530-2537 505
2541 506
2543 507
2550-2559 508
2560-2569 509
2600-2619 510
2850-2865 511
3480-3493 512
3500-3513 513
3520-3533 514
3550-3559 515
3570-3579 516
3610-3627 517
3630-3647 518
3650-3667 519
3680-3687 520
3690-3697 521
3800-3807 522
3820-3837 523
3840-3857 524
3860-3877 525
3950-3967 526
3968-3987 527
注:Light字段528-599保留….
DB数据库Light字段支持扩展内观特效支持
扩展名: Light字段值:
StateEffect5.wzl 1000-1099
StateEffect6.wzl 1100-1199
StateEffect7.wzl 1200-1299
StateEffect8.wzl 1300-1399
StateEffect9.wzl 1400 -1499
StateEffect10.wzl 1500-1599
内观特效扩展统一图片张数为10张一组,一个扩展文件内100组,也就是1000张图,如果不是10张就自定义内观特效
注意一些页游素材本身就是特效效果了,请使用自定义特效的普通绘制,扩展的字段只支持特效绘制!!!
文件 StateEffect.wzl 武器,衣服内观发光效果,一行对应一个特效 对应数据库 effectParam字段(T列) (计算代码 600-641)
760-767 -600
770-777 -601
780-787 -602
800-809 -603
810-819 -604
820-829 -605
840-849 -606
850-859 -607
860-869 -608
880-897 -609
900-917 -610
920-937 -611
950-967 -612
970-987 -613
990-1007 -614
1020-1037 -615
1040-1057 -616
1060-1077 -617
1090-1099 -618
1100-1109 -619
1120-1130 -620
1140-1150 -621
1170-1179 -622
1180-1189 -623
1200-1209 -624
1210-1219 -625
1230-1239 -626
1240-1249 -627
1260-1269 -628
1270-1279 -629
1290-1297 -630
1300-1307 -631
1310-1321 -632
1330-1341 -633
1350-1361 -634
1370-1381 -635
1390-1401 -636
1410-1421 -637
1430-1441 -638
1450-1459 -639
1460-1477 -640
1480-1497 -641
1500-1511 -642
1520-1531 -643
1540-1547 -644
1550-1557 -645
1560-1567 -646
1570-1577 -647
1580-1589 -648
1590-1599 -649
1600-1609 -650
1610-1619 -651
1620-1629 -652
1630-1639 -653
1640-1649 -654
1650-1659 -655
1660-1679 -656
1680-1699 -657
1700-1719 -658
1720-1739 -659
1740-1753 -660
1760-1776 -661
1780-1793 -662
1800-1813 -663
1820-1830 -664
1840-1850 -665
1860-1870 -666
1880 -667
1881 -668
1890-1901 -669
1910-1921 -670
1930-1941 -671
1950-1960 -672
1970-1980 -673
1990-2001 -674
2010-2021 -675
2030-2041 -676
2050-2061 -677
2070-2089 -678
2090-2109 -679
2110-2119 -680
2120-2129 -681
2130-2140 -682
2150-2163 -683
2170-2180 -684
2190-2200 -685
2210-2224 -686
2230-2244 -687
2250-2263 -688
2268-2281 -689
2286-2299 -690
2304-2317 -691
2322-2332 -692
2340-2350 -693
2358-2370 -694
2376-2388 -695
2394-2403 -696
2405-2418 -697
2421-2430 -698
2432-2445 -699
2448-2461 -700
2466-2475 -701
2484-2497 -702
2502-2511 -703
2520-2531 -704
2538-2549 -705
2556-2567 -706
2574-2585 -707
2592-2604 -708
2610-2622 -709
2628-2639 -710
2646-2658 -711
2660-2673 -712
2680-2693 -713
2700-2709 -714
2710-2719 -715
2720-2730 -716
2740-2750 -717
2760-2771 -718
2780-2791 -719
2800-2813 -720
2820-2833 -721
2840-2853 -722
2860-2873 -723
2880-2893 -724
2900-2913 -725
2920-2933 -726
2940-2953 -727
2960-2970 -728
2980-2990 -729
3000-3010 -730
3020-3030 -731
3040-3051 -732
3060-3071 -733
3080-3091 -734
3100-3111 -735
3120-3129 -736
3130-3139 -737
3140-3149 -738
3150-3159 -739
3160-3171 -740
3180-3191 -741
3200-3211 -742
3220-3231 -743
3240-3249 -744
3250-3259 -745
3260-3271 -746
3280-3291 -747
3300-3311 -748
3320-3331 -749
3340-3351 -750
3360-3371 -751
3380-3391 -752
3400-3411 -753
3420-3431 -754
3440-3451 -755
3460-3471 -756
3480-3491 -757
3500-3511 -758
3520-3531 -759
3540-3551 -760
3560-3571 -761
3580-3591 -762
3600-3611 -763
注:Light字段642-699保留
扩展衣服翅膀特效:Anicount 字段
HumEffect6.wzl 1100 – 1124
HumEffect7.wzl 1125 – 1149
hum8_ef.wzl 1150 – 1174
HumEffect9.wzl 1175 – 1199
HumEffect10.wzl 1200 – 1224
HumEffect11.wzl 1225 – 1249
HumEffect12.wzl 1250 – 1274
HumEffect13.wzl 1275 – 1299
……………….以此类推扩展至65535
扩展武器特效:
WeaponEffect6.wzl 1150-1174
WeaponEffect7.wzl 1175-1199
weapon8_ef.wzl 1200-1224
WeaponEffect9.wzl 1225-1249
WeaponEffect10.wzl 1250-1274
WeaponEffect11.wzl 1275-1299
……………….以此类推扩展至65535

物品绑定人物[!]

功能:

物品绑定人物

绑定类型:

帐号,角色名,IP

命令格式:

@BindUseItem 人物名称 物品类型 绑定类型

例:@BindUseItem 人物名称 武器 帐号

此时将指定的人物及其身上的武器绑定在该人的帐号上

物品类型:

衣服,武器,照明物,项链,头盔,左手镯,右手镯,左戒指,右戒指,物品

补充说明

详细说明

腰带,鞋子,宝石

BindUseItem

显示绑定物品到人物信息

ShowUseItemInfo

显示人物身上带装备信息

用户游戏命令详解

用户游戏相关命令

注:以下命令在(M2目录中)Command.ini文件中均可自由更改命令名称.

原始表格

相关命令字段2
@Date显示当前服务器上的日期时间
@禁止私聊
@禁止群聊
@禁止交易
@加入行会
@退出行会
@禁止行会聊天
@允许行会联盟
@联盟
@取消联盟
@允许天地合一
@天地合一
@仓库解锁
@仓库开锁
@设置仓库密码
@修改仓库密码
@Rest
@传送传送物品移动命令
@Dear夫妻查询位置
@Master师徒查询位置
@DearRecall夫妻传送
@MasterRecall师徒传送
@AllowDearRecall允许夫妻传送
@AllowMasterRecall允许师徒传送
@GuildRecall行会合一
@AllowGuildRecall@允许天地合一
@AttackMode调整攻击模式
仓库、登录密码相关命令
@SetPassword设置仓库密码
@Chgpassword修改仓库密码
@UnLock打开密码锁
@UnLockStorage仓库解锁
@Lock仓库加锁

程序变量说明[!]

P0-P99 (私人变量,数字型) 关闭对话框重置为0。

D0-D99 (私人变量,数字型) 下线不保存.摇筛子变量.

M0-M99 (私人变量,数字型) 下线不保存.切换地图清空.

N0-N999 (私人变量,数字型) 下线不保存.小退归0.

S0-S999 (私人变量,字符型) 下线不保存.小退归0.

I0-I999 (全局变量,数字型) 不可保存,服务器重启自动重置为0。

G0-G999 (全局变量,数字型) 可保存。(存放在Mir200/GlobalVal.ini文件里面)

A0-A999 (全局变量,字符型) 可保存。(存放在Mir200/GlobalVal.ini文件里面)

U0-U499 (私人变量,数字型) 可保存。(存放在人物数据库里面、值最大范围正负21亿)

T0-T499 (私人变量,字符型) 可保存。(存放在人物数据库里面、字符长度8000 <1个字母为1字符、1汉字为2字符>)

补充说明

详细说明

J0-J499 (私人变量,数字型) 可保存,每晚12点自动重置,合区或关停服务器请错开00:00点即可。(存放在人物数据库里面、值最大范围正负21亿)

Z0-Z499 (私人变量,字符型) 可保存,每晚12点自动重置,合区或关停服务器请错开00:00点即可。(存放在人物数据库里面、字符长度200 <1个字母为1字符、1汉字为2字符)

个人标识(私人变量,布尔型) 可保存。([0~999]存放在人物数据库里面、值只有0或1)

注意: 自定义变量名称不要以P、D、M、N、S、I、G、A、U、T、J开头

增加<$CONST(X)>用法,表示X不是变量,就是一个常量字符,一些地图名称以变量名称开头的等等地方,可以用<$CONST(X)>表示

这样就不在把<$CONST(X)>当成变量,造成脚本错误,例如:

完整脚本代码

[@main]
#Act
MOV N0 3
;这里的N0的变量值等于“3”是把“3”当成地图名称,还是把“N0”当成地图名称,引擎以前有这方面的处理,优先检查有没有N0这个地图
;现在可以直接设置成地图名称
MAP <$CONST(N0)>
;表示传送到地图名称为“N0”的地图
变量赋值写法
MOV A1 $CONST(T140)
SENDMSG 6 值:<$STR(A1)>–<$CONST(T140)>
变量显示:<$STR(S0)> <$STR(G0)>
当前对象的变量显示:<$CSTR(S0)> <$CSTR(G0)>
【变量属性】
P(0-99)
『属性说明』:该变量只对当前对话NPC内有效果。如果中途点其他NPC或者对话产生close、关闭时所有P变量均归0。该变量取值范围:(0-?)根据M2最大值不同
『用法』:该变量没有NPC间传递性作为临时变量多重复使用效果十分好。而且因为脚本命令有对该变量进行加/减/赋值/随机取值等运算,他和goto的配合可以使脚本中出现仿for循环的效果。并且因为他不传递的性质其
随机取值也能与RANDOM媲美。
D(0-99)
『属性说明』:该变量在人物不下线时对全局NPC通用传递。该变量取值范围:同P变量
『用法』:既有像[0-?]变量一样的人物属性私有变量的效果又有像P变量一样的运算功能!唯一不足就是下线 后该变量会被清空。可是如果配合上[000]变量或者namelist变量的记录性。实在是功能强大的个人隐私属性!
G(0-499)
『属性说明』:该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。该变量取值范围:同P变量
『用法』:这个变量是唯一的一个不属于任何人物而属于服务器的变量,该变量通过任何人的运算均产生效果。而且不保存在任何人的属性中。(存放在Mir200/GlobalVal.ini文件里面)
A(0-499)
『属性说明』:该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。该变量取值范围:同D变量
『用法』:这个变量是唯一的一个不属于任何人物而属于服务器的变量,该变量通过任何人的运算均产生效果。而且不保存在任何人的属性中。(存放在Mir200/GlobalVal.ini文件里面)
个人标识变量:
类型:
个人变量 通用传递 下线保存
数量:
1000个 ( 000 – 999 )
属性:
该变量只有2种状态:1 和 0!
使用方法:
因为该变量记录性比较强。而且如果产生读写操作时服务器的操作不是很大。
所以作为记录一些人物的下线后需要保留的数据的话作用十分大,
大部分任务时常用到他。该变量值只有1和0的两种状态。
举例:
#IF
CHECK [008] 0
#ACT
SET [008] 1
Break
标识不支持表格式常量嵌套如:
check [<$cfg_biaoming(1_1)>] 0
set [<$cfg_biaoming(1_1)>] 1

脚本变量大全[!]

脚本变量(常量)

人物信息

当前对象的 所有私人的常量都可以使用在前面加“C.”的方式

当前对象的 所有私人的变量使用<$CSTR(S1)>和查看自己的变量<$STR(S1)>多一个“C”

比如在攻击触发,被攻击触发,死亡触发,还有查看出售角色的其他信息的触发时

当前对象的常量,例如:<$C.HP> <$C.PKPOINT> <$C.GOLDCOUNT> <$C.GAMEGOLD>

当前对象的变量,例如:<$CSTR(S1)> <$CSTR(A1)> <$CSTR(T1)> <$CSTR(U1)> <$CHUMAN(QQQQ)> <$CGUILD(WWWW)>

英雄相关常量直接在人物常量上面增加H. 如: <$H.MAXAC>

英雄信息

天地结晶变量

补充说明

详细说明

人物内力变量

英雄内力变量

连击变量

国家变量

服务器信息

原始表格

变量名称说明
<$USERACCOUNT>登录帐号
<$USERNAME>人物名称
<$GUILDNAME>行会名称
<$RANKNAME>行会职位名称
<$LEVEL>等级
<$HP>生命值
<$AC>防御力
<$MAXAC>最高防御力
<$MAC>魔法防御力
<$MAXMAC>最高魔法防御力
<$DC>物理攻击力
<$MAXDC>最高物理攻击力
<$MC>魔法力
<$MAXMC>最高魔法力
<$SC>道术
<$MAXSC>最高道术
<$EXP>当前经验值
<$MAXEXP>升级经验值
<$MAXHP>HP上限
<$MAXMP>MP上限
<$DIR>方向
<$UTCNOW>时间戳(北京时间)
<$UTCNOW8>时间戳(世界时间)
<$PKPOINT>PK点数
<$CREDITPOINT>声望点数
<$GOLDCOUNT>金币数量
<$GAMEGOLD>游戏币数
<$GAMEPOINT>游戏点数
<$HW>腕力
<$MAXHW>最高腕力
<$BW>背包重量
<$MAXBW>最高背包重量
<$WW>负重力
<$MAXWW>最高负重
<$HUNGER>饥饿程度
<$LOGINTIME>登录时间
<$LOGINLONG>登录时长
<$IPADDR>玩家IP地址
<$DRESS>衣服
<$WEAPON>武器
<$RIGHTHAND>蜡烛
<$HELMET>头盔
<$NECKLACE>项链
<$RING_R>右戒指
<$RING_L>左戒指
<$ARMRING_R>右手镯
<$ARMRING_L>左手镯
<$BUJUK>护身符
<$BELT>腰带
<$BOOTS>鞋子
<$CHARM>宝石
<$HAT>斗笠
<$DRUM>军鼓
<$HORSE>马牌
<$SHIELD>盾牌
<$SDRESS>时装衣服
<$SWEAPON>时装武器
<$HFCOUNT>合区次数(每次合区+1)
<$HFTIME>合区时间
<$SUCKDAMAGE>伤害吸收值 脚本命令USEBONUSPOINT增加的,该值保存人物数据库里,下线不消失
<$SUCKDAMAGEPOINT>伤害吸收值 脚本命令SETSUCKDAMAGE增加的,下线消失
<$G_DRESS>衣服 改名名称
<$G_WEAPON>武器 改名名称
<$G_RIGHTHAND>蜡烛 改名名称
<$G_HELMET>头盔 改名名称
<$G_NECKLACE>项链 改名名称
<$G_RING_R>右戒指 改名名称
<$G_RING_L>左戒指 改名名称
<$G_ARMRING_R>右手镯 改名名称
<$G_ARMRING_L>左手镯 改名名称
<$G_BUJUK>护身符 改名名称
<$G_BELT>腰带 改名名称
<$G_BOOTS>鞋子 改名名称
<$G_CHARM>宝石 改名名称
<$G_HAT>斗笠改名名称
<$G_DRUM>军鼓改名名称
<$G_HORSE>马牌 改名名称
<$G_SHIELD>盾牌 改名名称
<$G_SDRESS>时装衣服 改名名称
<$G_SWEAPON>时装武器 改名名称
<$OWNERGUILD>沙巴克管理行会名称
<$CASTLENAME>沙城名称
<$LORD>沙巴克管理员名称
<$GAMEDIAMOND>金刚石
<$GAMEGIRD>灵符
<$MAP>当前地图代码
<$RELEVEL>显示转生等级
<$STATSERVERTIME>显示M2启动时间
<$RUNDATETIME>开区间隔时间
<$KILLER>杀人者变量
<$RANDOMNO>随机值变量
<$X>人物X坐标
<$Y>人物Y坐标
<$USERALLNAME>人物完整名称
<$GAMEGLORY>人物荣誉值
<$MapTitle>取地图名称
<$GetExp>人物当前获得经验变量
<$CASTLEGAMEGOLD>显示沙城税收的元宝值
<$KILLMONNAMEEX>人物杀死的怪物名称带数字
<$KILLMONNAME>人物杀死的怪物名称
<$KILLMONX> <$KILLMONY>人物杀死怪物的坐标
<$HIT>准确
<$SPD>敏捷
<$HITSPD>攻速
<$LUCK>人物当前的幸运值
<$YEAR>当前年份
<$MONTH>当前月份
<$DAY>当前日期
<$HOUR>当前小时
<$MINUTE>当前分钟
<$SECOND>当前秒
<$TEAM0>..<$TEAMX>用于显示组队成员,<$TEAM0>代表队长,成员从<$TEAM1>开始
<$STNAME>师徒名称变量
<$KILLMONEXPRATE>杀怪经验倍数
<$KILLMONEXPRATETIME>杀怪经验倍数时长
<$GAMEGOLDEX>新游戏点数
<$REVIVALCOUNTDOWN>下次复活时间间隔
<$REVIVALTIME>复活间隔变量
<$POWERRATE>当前攻击力倍数
<$POWERRATETIME>当前攻击力倍数剩余时间
<$KILLMONBURSTRATE>当前爆率倍数
<$KILLMONBURSTRATETIME>当前爆率倍数时长
<$GROUPMEMBERCOUNT>当前组队人数
<$X>人物当前坐标X
<$Y>人物当前坐标Y
<$VALUE1>..<$VALUE17>人物元素的属性值的常量共17个。1到17
<$SCREENWIDTH>分辨率 宽
<$SCREENHEIGHT>分辨率 高
<$PASSWORD>注册账号时用户输入的密码
<$BIRTHDAT>注册账号时用户输入的生日
<$QUIZ1>注册账号时用户输入的问题1
<$ANSWER1>注册账号时用户输入的答案1
<$QUIZ2>注册账号时用户输入的问题2
<$ANSWER2>注册账号时用户输入的答案2
<$EMAIL>注册账号时用户输入的邮箱
<$IDPHONE>注册账号时用户输入的电话
<$MOBILEPHONE>注册账号时用户输入的手机
<$ACCOUNTUSERNAME>注册账号时用户输入的用户名
<$CURRTEMNAME>当前物品名称 指人物掉落或捡取的
<$G_CURRTEMNAME>当前物品改名名称 指人物掉落或捡取的
<$CURRTEMSTDMODE>当前物品DB字段StdMode值 指人物掉落或捡取的
<$CURRTEMSHAPE>当前物品DB字段Shape值 指人物掉落或捡取的
<$CURRTEMANICOUNT>当前物品DB字段AniCount值 指人物掉落或捡取的
<$CURRTEMLOOKS>当前物品DB字段Looks值 指人物掉落或捡取的
<$CURRTEMDURA>当前物品当前持久值 指人物掉落或捡取的
<$CURRTEMDURAMAX>当前物品最大值 指人物掉落或捡取的
<$CURRTEMINDEX>当前物品DB字段Idx值 指人物掉落或捡取的
<$CURRTEMCOLOR>当前物品DB字段Color值 指人物掉落或捡取的
<$CURRHERONAME>当前召唤出来的英雄名称,如果没有召唤英雄,该值为空
<$HERONAME>英雄名称。如果没有创建过英雄,该值为空
<$DEPUTYHERONAME>副将英雄名称。如果没有创建过副将英雄,该值为空
<$PKPOWER>人物当前攻击威力
<$KILLMONNAME_MAXHP>当前杀死的怪物的最大血量
<$C.X>当前攻击目标的坐标X
<$C.Y>当前攻击目标的坐标Y
<$C.HP>当前攻击目标的HP
<$C.MAXHP>当前攻击目标的MAXHP
<$CURRRSLAVENAME>当前宝宝名称,在宝宝攻击或死亡触发里有效
<$CURRRTARGETNAME>当前目标,在杀死,攻击,被攻击等等触发里都可以用这个查看当前的目标名称
<$GAMEPROMOTIONFLAG>推广标识,最大支持15个汉字或30个英文字符
<$UPGRADECOUNT>人物身上所有装备加星总和 星星总数
<$StarcountX>X代表身上的装备位置 如:<$Starcount0> 获取身上装备星星数
<$NPCNAME>显示NPC名称,放在哪个NPC脚本,就显示哪个NPC的名字
<$TAMMINGSLAVECOUNT>已经诱惑的宝宝数量,不包括技能召唤的宝宝
<$MAXTAMMINGSLAVECOUNT>脚本命令CHANGEMAXTAMMINGSLAVECOUNT设置的允许诱惑的最大数量
<$C.TAMMINGSLAVECOUNT>当前角色已经诱惑的宝宝数量,不包括技能召唤的宝宝
<$C.MAXTAMMINGSLAVECOUNT>当前角色脚本命令CHANGEMAXTAMMINGSLAVECOUNT设置的允许诱惑的最大数量
<$CURREATEITEM>31类型和2类型当前使用的物品IDX
<$SLAVECOUNT>当前宝宝数量
<$SLAVE(X).NAME>X表示第几个宝宝,数字从0开始(下同)宝宝名称
<$SLAVE(X).HP>宝宝HP
<$SLAVE(X).MaxHP>宝宝MaxHP
<$SLAVE(X).MP>宝宝MP
<$SLAVE(X).MaxMP>宝宝MaxMP
<$SLAVE(X).AC1>宝宝AC1
<$SLAVE(X).AC2>宝宝AC2
<$SLAVE(X).MAC1>宝宝MAC1
<$SLAVE(X).MAC2>宝宝MAC2
<$SLAVE(X).DC1>宝宝DC1
<$SLAVE(X).DC2>宝宝DC2
<$SLAVE(X).MC1>宝宝MC1
<$SLAVE(X).MC2>宝宝MC2
<$SLAVE(X).SC1>宝宝SC1
<$SLAVE(X).SC2>宝宝SC2
<$SLAVE(X).MS>宝宝MS 移动速度
<$SLAVE(X).AS>宝宝AS 攻击间隔
<$SLAVE(X).APPR>宝宝APPR 外观
<$SLAVE(X).HIT>宝宝HIT 准确
<$SLAVE(X).SPD>宝宝SPD 敏捷
<$ISFIGHTING>人物是否在战斗状态
<$SFNAME>师傅常量
<$TDNAME1~5>徒弟常量1-5
<$CLONEPLAYERCNT>分身数量常量
<$EXTBAGCLOSEITEMCOUNT>剩余未开启的背包格子数常量
<$BAGNILCOUNT>当前背包格子空格数量
<$BAGUSERCOUNT>当前背包格子使用数量
<$NATIONSWARTIME>国家战争剩余时间常量(分钟)
<$CART_MAP>镖车所在地图编号
<$CART_X>、<$CART_Y>镖车所在X坐标、 镖车所在Y坐标
<$BABYCURHPX>宝宝当前血量,X代表第几只宝宝
<$GETMONID(怪物名称)>通过怪物名称获取怪物IDX常量
<$TEMPMONUSERID>怪物唯一id常量
<$TEMPMONIDX>怪物IDX常量
<$CURRMONPARAM(X)>获取怪物表Z列(zidingyi字段) 自定义字符串值 X怪物名称< /FONT>< /FONT>
<$ATTACTBBID>宝宝唯一ID常
<$ATTACKMONSTER_X>当前攻击目标X坐标
<$ATTACKMONSTER_Y>当前攻击目标Y坐标
<$ATTACKMONSTER_XEX>当前攻击(主目标)目标X坐标
<$ATTACKMONSTER_YEX>当前攻击(主目标)目标Y坐标
<$CURRTARGETCURRX>被攻击时攻击者X坐标
<$CURRTARGETCURRY>被攻击时攻击者Y坐标
<$ATTACKMONSTER_MAXHP>当前攻击目标总血
<$ATTACKMONSTER_HP>当前攻击目标剩余血量
<$ATTACKMONSTER_MAXHPEX>当前攻击(主目标)目标总血量
<$ATTACKMONSTER_HPEX>当前攻击(主目标)目标剩余血量
<$ATTACKMONSTER_NAME>当前击中目标的名称
<$ATTACKMONSTER_NAMEEX>当前锁定攻击(主目标)目标的名称
<$SlaveX> <$SlaveY>宝宝自身坐标(当有多个宝宝时,随便选一个)
<$SlaveTargetX> <$SlaveTargetY>宝宝当前攻击目标坐标(优先锁定目标,多宝宝随机抽取)
<$ATTACKMONSTER_HPRATE>当前目标血量百分比
<$ATTACKMONSTER_HPRATEEX>当前主目标血量百分比
变量名称英雄说明
<$H.USERNAME>人物名称
<$H.LEVEL>等级
<$H.HP>生命值
<$H.AC>防御力
<$H.MAXAC>最高防御力
<$H.MAC>魔法防御力
<$H.MAXMAC>最高魔法防御力
<$H.DC>物理攻击力
<$H.MAXDC>最高物理攻击力
<$H.MC>魔法力
<$H.MAXMC>最高魔法力
<$H.SC>道术
<$H.MAXSC>最高道术
<$H.EXP>当前经验值
<$H.MAXEXP>升级经验值
<$H.MAXHP>HP上限
<$H.MAXMP>MP上限
<$H.DIR>方向
<$H.PKPOINT>PK点数
<$H.HW>腕力
<$H.MAXHW>最高腕力
<$H.BW>背包重量
<$H.MAXBW>最高背包重量
<$H.WW>负重力
<$H.MAXWW>最高负重
<$H.HUNGER>饥饿程度
<$H.SUCKDAMAGE>伤害吸收值 脚本命令H.USEBONUSPOINT增加的,该值保存英雄数据库里,下线不消失
<$H.SUCKDAMAGEPOINT>伤害吸收值 脚本命令H.SETSUCKDAMAGE或SETHEROSUCKDAMAGE增加的,下线消失
<$H.DRESS>衣服 英雄
<$H.WEAPON>武器 英雄
<$H.RIGHTHAND>蜡烛 英雄
<$H.HELMET>头盔 英雄
<$H.NECKLACE>项链 英雄
<$H.RING_R>右戒指 英雄
<$H.RING_L>左戒指 英雄
<$H.ARMRING_R>右手镯 英雄
<$H.ARMRING_L>左手镯 英雄
<$H.BUJUK>护身符 英雄
<$H.BELT>腰带 英雄
<$H.BOOTS>鞋子 英雄
<$H.CHARM>宝石 英雄
<$H.HAT>斗笠英雄
<$H.DRUM>军鼓英雄
<$H.HORSE>马牌 英雄
<$H.SHIELD>盾牌 英雄
<$H.SDRESS>时装衣服 英雄
<$H.SWEAPON>时装武器 英雄
<$H.G_DRESS>衣服 改名名称 英雄
<$H.G_WEAPON>武器 改名名称 英雄
<$H.G_RIGHTHAND>蜡烛 改名名称 英雄
<$H.G_HELMET>头盔 改名名称 英雄
<$H.G_NECKLACE>项链 改名名称 英雄
<$H.G_RING_R>右戒指 改名名称 英雄
<$H.G_RING_L>左戒指 改名名称 英雄
<$H.G_ARMRING_R>右手镯 改名名称 英雄
<$H.G_ARMRING_L>左手镯 改名名称 英雄
<$H.G_BUJUK>护身符 改名名称 英雄
<$H.G_BELT>腰带 改名名称 英雄
<$H.G_BOOTS>鞋子 改名名称 英雄
<$H.G_CHARM>宝石 改名名称 英雄
<$H.G_HAT>斗笠改名名称 英雄
<$H.G_DRUM>军鼓改名名称 英雄
<$H.G_HORSE>马牌 改名名称 英雄
<$H.G_SHIELD>盾牌 改名名称 英雄
<$H.G_SDRESS>时装衣服 改名名称 英雄
<$H.G_SWEAPON>时装武器 改名名称 英雄
<$H.MAP>英雄当前地图代码
<$H.RELEVEL>英雄转生等级
<$H.X>英雄X坐标
<$H.Y>英雄Y坐标
<$H.USERALLNAME>英雄完整名称
<$H.MapTitle>取英雄所在地图名称
<$HeroGetExp>英雄当前获得经验变量
<$H.HIT>英雄准确
<$H.SPD>英雄敏捷
<$H.HITSPD>英雄攻速
<$H.GENDER>英雄性别
<$H.JOB>英雄职业
<$H.LEVEL>英雄级别
<$H.USERNAME>英雄名字
<$H.MapTitle>英雄地图名字
<$H.MAP>英雄地图编号
<$H.X>英雄前坐标X
<$H.Y>英雄前坐标Y
<$H.PKPOWER>英雄当前攻击威力
<$H.UPGRADECOUNT>英雄身上所有装备加星总和
<$DRANGONHEARTVALUE>英雄当前怒气
变量名称说明
<$GETCRYSTALEXP>天地结晶可提取的经验
<$GETCRYSTALNGEXP>天地结晶可提取的内功经验
<$CRYSTALEXP>天地结晶当前的经验
<$CRYSTALNGEXP>天地结晶当前的内功经验
<$CRYSTALLEVEL>天地结晶等级
变量名称说明
<$NH>内力
<$MAXNH>内力上限
<$NGEXP>内功经验
<$NGMAXEXP>内功升级经验
<$NGLEVEL>内功等级
变量名称说明
<$H.NH>英雄内力
<$H.MAXNH>英雄内力上限
<$H.NGEXP>英雄内功经验
<$H.NGMAXEXP>英雄内功升级经验
<$H.NGLEVEL>英雄内功等级
所有英雄的变量都是在人物的变量前面加“H.”例如:<$H.MAXHP> <$H.MAXMP>
<$H.VALUE1>..<$H.VALUE11>英雄元素的属性值的常量共11个。1到11
变量名称说明
<$NGLEVEL>内功等级
<$HEROPULSEXP>英雄经络经验
<$GETNGEXP>当前得到的内功经验
<$HEROGETNGEXP>英雄当前得到的内功经验
变量名称说明
<$NATIONNAME>国家名称
<$NATIONPEOPLE>国家人数
变量名称说 明
<$SERVERNAME>服务器名字
<$SERVERIP>服务器IP地址
<$WEBSITE>游戏网址
<$BBSSITE>论坛网址
<$CLIENTDOWNLOAD>客户端程序下载地址
<$QQ>联系QQ号
<$PHONE>联系电话号码
<$BANKACCOUNT0>银行帐号信息
<$BANKACCOUNT1>银行帐号信息
<$BANKACCOUNT2>银行帐号信息
<$BANKACCOUNT3>银行帐号信息
<$BANKACCOUNT4>银行帐号信息
<$BANKACCOUNT5>银行帐号信息
<$BANKACCOUNT6>银行帐号信息
<$BANKACCOUNT7>银行帐号信息
<$BANKACCOUNT8>银行帐号信息
<$BANKACCOUNT9>银行帐号信息
<$GAMEGOLDNAME>游戏币名称
<$USERCOUNT>在线人数
<$DATETIME>当前日期时间
<$GAMEGOLDNAME>游戏币名称
<$HIGHLEVELINFO>最高等人物信息
<$HIGHPKINFO>最高PK点数人物信息
<$HIGHDCINFO>最高攻击力人物信息
<$HIGHMCINFO>最高魔法力人物信息
<$HIGHSCINFO>最高道术人物信息

自定义常量功能

方法 1:

默认路径 : Envir \ Defines \ 自定义 测试常量 . ini

自定义 测试常量 . ini 里面内容

#DEFINE $(996m2) 欢迎光临,你需要点什么?

#DEFINE $(MAINREPAIR_SMSG) 你小子运气好,使用了 996M2。

测试 -3.txt

完整脚本代码

[@Main]
#IF
#ACT
#INCLUDE 自定义 测试常量 . ini
#SAY
显示内容: $(996m2)\
显示内容: $(MAINREPAIR_SMSG)\
方法 2:
测试 -3.txt 里面内容
[@MAIN]
#IF
#SAY
显示内容: $(996m2)\
显示内容: $(MAINREPAIR_SMSG)\
[@自定义常量]
#CALL [\定义常量.ini] @常量控制
定义常量 .ini 里面内容
[@常量控制]
{
#DEFINE $(996m2) 欢迎光临,你需要点什么?
#DEFINE $(MAINREPAIR_SMSG) 你小子运气好,使用了 996M2。
}

不允许宝石升级

功能: 当前宝石升级装备失败

格式: SetUpgradeFail

说明: 此命令只能在QFunction中的@ItemUpgrade下执行.

完整脚本代码

[@ItemUpgrade]
#IF
CheckGold 5000
#ACT
Take 金币 5000
#ELSESAY
升级装备需要5000金币.
#ELSEACT
SetUpgradeFail
Break

关闭大对话框模式

功能: 关闭大对话框模式.

格式: CloseBigDialogBox

#IF

#ACT

CloseBigDialogBox

写入指定文本文件

功能: 把字符串写入到指定的文本文件中,可以指定写入行.

格式: AddTextListEx 路径 字符串 行(0-65535)

#IF

#ACT

AddTextListEx ..\TestList.txt <$USERNAME> 0

创建目录

功能: 创建新目录.

格式: ForceDirectories 目录 #IF

#ACT

ForceDirectories \QuestDiary\新目录\

删除地图动态链接点

功能: 删除使用AddMapRoute设置的地图链接点.

格式: DelMapRoute 动态链接标示(1-65535)

例子: 删除链接表示等于1的链接点.

#IF

#ACT

DelMapRoute 1

动态修改地图名字

功能: 动态修改地图显示名字.

格式: ChangeMapDesc 新名字 是否保存(0,1)

说明: 直接修改MapInfo.txt中对应地图的显示名字.

例子: 修改盟重省的名字,并且保存.

#IF

#ACT

ChangeMapDesc 新盟重 1

取下人物身上装备

把人物身上装备放入背包中.

格式: TakeEx (0-16)

#IF

#ACT

TakeEx 1

取字符串在列表中的位置

功能: 取字符串在列表中的下标.

格式: GetStringPos 路径 字符串

说明: 返回值放在人物的N0变量中,如果值=9999999说明没有找到.

其他: 返回值可以通过EQUAL做条件检测

完整脚本代码

[@main]
#IF
#ACT
GetStringPos ..\QuestDiary\测试.txt 管理员
SendMsg 5 字符串在列表中的位置:<$STR(N0)>
注:GetCacheStringPos写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

取得随机字符串

功能: 从文件中随机获取一行字符串

格式: GetRandomText 文件路径 变量(S0–S99) 指定行(0-10000)

说明: 没有指定行时随机取某一行的字符串.

例如:随机取一行字符串到S10中.

完整脚本代码

[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10
SendMsg 5 取出的字符串是:<$STR(S10)>
例如:取特定行的字符串.
[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10 5
SendMsg 5 取出的字符串是:<$STR(S10)>
注:GetCacheRandomText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

取装备名字

取指定位置的装备名字

格式: GetUserItemName 位置(0-12) S变量(0-99)

说明: S变量是人物私有变量(0-99)

例子: 把武器的名字放如S10变量中

#IF

#ACT

GetUserItemName 1 10

SendMsg 5 武器的名字: <$STR(S10)>

召唤自己的分身

RecallSelf 参数1 参数2

参数1:分身存活时间

参数2:时间单位控制,0或空=小时、1=分钟

例子:召唤自己的分身帮助自己作战3个小时.

#IF

#ACT

RecallSelf 3

地图动态链接点

功能: 给地图增加动态链接点.

说明: 此功能需要两个脚本命令配套使用才可生效.

AddMapRoute用于添加一个地图链接点,SetMapRoute配合设置一个地图链接点.

格式: AddMapRoute 动态链接标示(1-65535) 连接地图 坐标X 坐标Y

格式: SetMapRoute 动态链接标示(1-65535) 待连接地图 坐标X 坐标Y

例子: 链接地图3和地图5的特定坐标, 地图 3 335 330 地图 5 658 463

[@AddRoute]

#IF

#ACT

AddMapRoute 1 3 335 330

补充说明

详细说明

SetMapRoute 1 5 658 463

宝宝立即叛变

功能: 指定宝宝立即叛变的脚本命令

格式:

GetCallMob 宝宝名字 数量 (0或空为所有相同名字宝宝都叛变 1为只叛变一个.2为叛变2个) 分身是否保留(0:不保留收回分身/1:保留分身叛变)

GetCallMob 无参数形式 所有的宝宝立即叛变(分身收回)

#act

GETCALLMOB 神兽

#say

你的神兽已经叛变

延时执行脚本

延时执行指定的脚本.

DelayCall S Label (S单位毫秒, Label是需要跳转的脚本段)

完整脚本代码

#IF
#ACT
DelayCall 5000 @Kick
[@Kick]
#IF
#ACT
Kick

建立一个文本文件

在指定位置建立一个文本文件.

注意:文件保存在 \Envir目录中.

#IF

#ACT

CreateFile ..\QuestDiary\NewFile.txt

#SAY

在Envir\QuestDiary目录中建立了一个文件.

建立新行会

增加一个新的行会.可以指定某人成为该行会掌门(必须在线)

说明: 第二个参数等于Self时掌门是自己.否则是在线玩家.

参数3 = -1 时创建一个空的行会

完整脚本代码

[@AddGuild]
#IF
#ACT
AddGuild 华山派 Self
例如:
[@MIAN]
#IF
#ACT
AddGuild 华山派 Self -1
sendmsg 7 创建了一个没有掌门的空行会

强制攻击模式

功能: 强制人物的攻击模式

格式: SetHumAttackMode 攻击模式(0-7) 时间(秒)

说明: 0=全体模式 1=和平模式

例子: 强制人物和平模式

#IF

CheckPkPoint 2

#ACT

SetHumAttackMode 1 3600

恢复发言

恢复人物发言.

#IF

CheckLevelEx > 1

#ACT

ENABLESENDSAY

所有行会同时攻城

功能:所有行会在当晚同时攻城

AddAttackSabukAll 城堡号(0)

#IF

#SAY

所有行会将于今晚同时攻城!

#ACT

AddAttackSabukAll 0

打开网站地址

功能: 游戏中打开网站.

格式: OpenWebSite 网站

#IF

#ACT

OpenWebSite http://www.herom2.com

排序人物自定义变量[!]

功能: 排序人物自定义变量.

格式: SortHumVarToListEx 变量名 变量路径 排序模式(0,1) 保存路径 保存模式(0,1)

说明: 排序模式 0=升序,1=降序

升序排序人物变量QQQQ:

完整脚本代码

[@main]
#IF
#ACT
SortHumVarToListEx QQQQ ..\QuestDiary\测试.txt 0 ..\QuestDiary\测试A.txt 0
升序排序人物变量QQQQ,不保存人物变量:
[@main]
#IF
#ACT
SortHumVarToListEx QQQQ ..\QuestDiary\测试.txt 0 ..\QuestDiary\测试A.txt 1

排序在线人物自定义变量[!]

功能: 排序在线人物自定义变量.

格式: SortHumVarToLisL) 变量名 保存路径 排序模式(0,1) 名字路径

说明: 排序模式 0=升序,1=降序

名字路径在排序后只保存人物名字不保存人物变量.

注意: 此脚本命令只排序在线人物的变量

升序排序人物变量QQQQ:

完整脚本代码

[@main]
#IF
#ACT
SortHumVarToList QQQQ ..\QuestDiary\测试.txt 0
升序排序人物变量QQQQ,单独保存人物名字:
[@main]
#IF
#ACT
SortHumVarToList QQQQ ..\QuestDiary\测试.txt 0 ..\QuestDiary\测试1.txt

改变人物的模式

改变人物当前模式(无敌,隐身,生命,魔法,攻击力,道术力,魔法力,攻击速度,禁止攻击)

格式: ChangeModeEx 模式(1-10) 时间(1-65535) 附加值(1-65535)

说明: 1=无敌 2=隐身 3=HP 4=MP 5=攻击力 6=魔法力 7=道术力 8=攻击速度 9=禁止攻击 10=锁定

第三个参数无敌,隐身,禁止攻击时没有使用.

完整脚本代码

#IF
#ACT
ChangeModeEx 1 60
#SAY
给你1分钟的无敌时间,好好利用哦!
#IF
#ACT
ChangeModeEx 5 60 20
#SAY
60秒之内攻击力增加20点.

改变宝宝名字颜色

功能: 改变人物宝宝名字颜色.

格式: ChangeSlaveNameColor 宝宝名字 颜色(0-255)

改变指定行会的掌门人

改变行会掌门人

完整脚本代码

[@changeguildmaster]
#IF
#ACT
ChangeGuildMaster 华山派
#SAY
贡献,你现在是华山派掌门人了.

改变物品的持久

功能: 修改指定位置装备的当前最大持久.

格式: ChangeItemDura 装备位置(-1= OK框,0-47身上装备) 操作符(+,-,=) 持久(0-65000) 当前持久大于最大持久时是否改变当前支持(0-1)

#IF

#ACT

ChangeItemDura 0 – 1000

#SAY

你的物品最大持久降低1点.

改变衣服翅膀效果

改变人物衣服翅膀效果

说明:客户端需要有HumEffect.wil

ChangeDressEffect 翅膀 绘制模式(0特效绘制,1普通绘制)

#IF

#ACT

ChangeDressEffect 3

杀死人物的宝宝

说明:把自己的宝宝杀死.

格式:KillCallMob 名字 数量 方式(0杀死会触发脚本 1直接消失不会触发脚本)

完整脚本代码

#IF
#ACT
KILLCALLMOB 神兽
#SAY
你的神兽已经死亡.
#IF
#ACT
KILLCALLMOB 白野猪 2

杀死地图中的怪物

功能: 随机杀死地图中的怪物.

格式: RandomKillMon 地图 怪物名字 数量(1-255) 掉落物品(0,1)

说明: 地图=Self时表示当前地图.

例子:

[@main]

#IF

#ACT

RandomKillMon Self 稻草人 5

@OnKillMob

功能: 杀死怪物时触发

说明: 对应地图参数中需要加入ONKILLMON才可生效!

完整脚本代码

[@OnKillMob]
#IF
CheckKillMonName 白野猪
#SAY
你杀死一头白野猪!

查看动态地图链接点

说明: 查看使用AddMapRoute设置的动态链接点.

格式: GetMapRouteInfo 链接标示 查看方式(0-1) 坐标X 坐标Y

例子: 查看地图链接点

完整脚本代码

[@ViewRoute]
#IF
#ACT
;查看链接坐标, 参数2等于0查看连接地图,等于1查看待连接地图.
GetMapRouteInfo 1 0 A0 G0 G1
GetMapRouteInfo 1 1 A1 G2 G3
SendMsg 5 [地图<$STR(A0)>坐标:<$STR(G0)>:<$STR(G1)>]->[地图<$STR(A1)>坐标:<$STR(G2)>:<$STR(G3)>]

清除宝石升级属性

功能: 清除使用宝石升级的装备属性.

格式: ClearStoneUpgrade 位置(0-14)

注意: 此命令不区分极品和普通装备,清除时所有属性都将消失.

例子:

完整脚本代码

[@main]
#IF
#ACT
ClearStoneUpgrade 0

特修身上装备

在物品规则列表中限制物品的不会被修理

#IF

RepairAll

#SAY

你的装备修好了.

#ELSESAY

你是不是没有钱啊.

移动怪物到新坐标

功能: 移动指定坐标的怪物到新的位置.

格式: MoveMonToPos 怪物 地图 老坐标X 老坐标Y 新坐标X 新坐标Y

例子:

#IF

CheckRangeMonCountEx K004 51 43 魔王弓箭手 > 0

#ACT

MoveMonToPos 魔王弓箭手 K004 51 43 48 47

移动某地图全部人物到另外一个地图

把某个地图中的玩家全部移动到另外一个地图.

MoveMapPlay 待传出地图 目标地图 坐标X 坐标Y 延时毫秒(可空)

注:批量传送命令玩家太多的时候有几率漏掉一部分玩家,加入延时参数后就可以避免这个问题,但延时建议设置在500毫秒以内。

#IF

#ACT

MoveMapPlay 0 3 333 333

#SAY

地图0中的人物已经全部移动到地图3中.

给字符串增加空格

功 能: 给字符串在前面或者后面增加指定个数的空格.

格式: SetStringBlank 变量(S,A) 长度(1-100) 格式(0, 1)?

说明: 可支持人物S变量或者全局A变量,格式0=前面,1=后面

注意: 第二个参数长度是指增加空格后整个字符串的长度,例如字符996m2引擎长度是9,

如果第二个参数设置1 那么实际增加11个空格.

注意: 英文字母和数字占用1个字节(长度),汉字占用2个字节(长度).

例子:

完整脚本代码

[@Test]
#IF
#ACT
MOV S10 996m2引擎
SetStringBlank S10 20 0
SendMsg 5 <$STR(S10)>
MOV S10 996m2引擎
SetStringBlank S10 20 1
SendMsg 5 <$STR(S10)>

自动穿戴装备

功能:自动穿背包中的装备

装备位置:

衣服 = 0;

武器 = 1;

蜡烛 = 2;

项链 = 3;

头盔 = 4;

左手镯 = 5;

右手镯 = 6;

左戒指 = 7;

补充说明

详细说明

右戒指 = 8;

护符 = 9;

腰带 = 10;

鞋子 = 11;

宝石 = 12;

完整脚本代码

#IF
CheckLevelEx > 1
#ACT
Give 怒斩 1
AutoTakeOnItem 怒斩 1

自定义颜色文字发送

功能说明: 发送自定义颜色的文字信息.

格式: GuildNoticeMsg 255 233 发送自定义颜色的文字信息. Self

参数一是前景颜色,参数二是背景颜色,参数三是要发送的文字信息,参数四等于'Self'时只发送给自己, 等于'Group'时发送给组队, 等于'National'时发送给自己国家的人(使用于国战), 等于'Map'时发送到当前地图中的人物.如果省略参数四表示全服发送.

支持的参数: %s(玩家名字) %d(NPC名字) %m(地图名字) %x%y(坐标)

<$KILLER>杀死人物的名字 <$MONKILLER>杀死怪物的名字

获取玩家名字

功能:

取得玩家名字.

格式:

GetUserName 0-99之间的数字,或者范围是0-99之间的数值型变量.

如下将玩家名字放入S10中

#IF

#ACT

GetUserName S10

设置人物伤害吸收

说明:设置人物可吸收收到的攻击伤害.

格式: SetSuckDamage 操作符(+ – =) 总吸收直(1-2000000000) 吸收比例(1-1000) 成功率(1-100)

吸收比例 1=0.1% 500=50% 1000=100%

例子: 设置总共吸收1000点伤害,每次吸收20%伤害,成功率95%

完整脚本代码

#IF
CheckGold 10000
#ACT
SetSuckDamage + 1000 200 95
Take 金币 10000
特别说明:当人物设置伤害吸收后,收到攻击后会按照一定比例减少受到的伤害.
例如:当前拥有5000点伤害吸收,每次吸收20%,成功率100%.当前攻击受到100点伤害,那么本次攻击实际受到的伤害是80点.当前伤害吸收剩余4980点,此状态直到伤害吸收等于0时恢复,下线可保存装备.

设置人物商铺购买价格比例

功能: 设置人物商铺购买物品的价格比例.

格式: SetShopItemPriceRate 比例(1-100)

注意: 人物下线后状态消失.

其他: 列表信息中可设置单个物品是否允许打折购买.

例如:大于100级人物商铺购买物品的价格比例是90%,人物上线时在登录脚本设置价格比例即可.

完整脚本代码

[@Login]
#IF
CheckLevelEx > 99
#ACT
SetShopItemPriceRate 90

设置装备发光

功能: 设置装备发光

说明: 衣服,武器和头盔不支持次功能.

适用: 英雄M2

格式: SetItemsLight 位置(0-12) 值(1=发光效果1 2=发光效果2 0=不发光).

其他 : 选择效果点击 M2\选项\功能设置\内挂控制

发光效果1:

完整脚本代码

#IF
#ACT
SetItemsLight 3 1
发光效果2:
#IF
#ACT
SetItemsLight 3 2
取消发光:
#IF
#ACT
SetItemsLight 3 0

读取文本内容到变量[!]

功能: 读取文本文件中的内容到变量中.

格式:GetListString 文件路径 行号(行号从0开始) 变量1 变量2

说明: 变量2可以不需要,当读取变量2时文本单行的内容必须是以下格式:

人物1:10

人物2:20

例子:

[@main]

#IF

#ACT

GetListString ..\QuestDiary\测试.txt 5 A10 N10

宝石升级系统[!]

说明:1.打开人物背包点右下脚的升级按钮进行升级.也可使用OpenUpgradeDialog命令打开界面.

3.放好物品点升级时先执行Q-Function中的@ItemUpgrade脚本段.

执行脚本功能.升级成功时执行@UpgradeOKX,升级失败时执行@UpgradeFailX,

属性被清除时执行@UpgradeClearX,其中X代表装备位置,例如:衣服=0,武器=1

例如:升级装备需要5000金币,此脚本放入Q-Function.txt中.

完整脚本代码

[@ItemUpgrade]
#IF
CheckGold 5000
#ACT
Take 金币 5000
#ELSESAY
升级装备需要5000金币.
#ELSEACT
SetUpgradeFail
Break
– –
升级宝石StdMode=55,56,57,58,59
(暂不支持)
宝石类型1:
StdMode=55(升级指定类型的装备)
Shape=(指定升级哪种类型的装备,此处添写和要升级类型的StdMode一样的值即可,例如武器设定为5)
AniCount=(指定可以升级加几以下的装备,例如:设定为10,那么该宝石可以升级次数小于10次的装备)
DuraMax=(指定宝石升级装备的成功机率,例如:设定为20既为20%成功机率)
Need=(升级失败后可执行的操作,如果该值等于1-100时,则失败后把装备副加属性全部清零.如果该等于101-200时,则失败后装备消失.等于201-300时,升级失败后装备当前属性不变.) NeedLevel=(指定宝石升级范围,等于0时不限制,例如:该宝石只允许升级+5到+10之间的装备,那么Need=5*65535+10,计算规则=低限*65535+上限)
Ac,Ac2,Mac,Mac2,Dc,Dc2,Mc,Mc2,Sc,SC2=(指定该宝石升级成功后给装备加的属性,设定方法跟设置装备属性一样,不同的装备设置也不一样)
宝石类型2:
StdMode=57(升级符合类型的装备)
Source=(等于1)
Shape=(等于0升级符合类型的装备,指定类型时填写待升级装备的StdMode值)
区别:其他设置方法参照宝石类型1
注意:此类宝石只增加防御和魔御.
AC2,MAC2=(升级装备的防御,魔御,必须是可增加防御和魔御的装备才可以升级,例如:衣服,手镯等)
宝石类型3:
StdMode=57(升级符合类型的装备)
Source=(等于2)
Shape=(等于0升级符合类型的装备,指定类型时填写待升级装备的StdMode值)
区别:其他设置方法参照宝石类型1
注意:此类宝石只增加攻击,道术和魔法.
DC2,MC2,SC2=(升级装备的攻击,魔法等,必须是可增加攻击和魔法等属性的装备才可以升级,例如:武器,项链等)
宝石类型4:
StdMode=58(随成升级装备属性)
Shape=(0表示所有类型,指定类型时填写待升级装备的StdMode值)
AniCount=(升级点数)
区别:其他设置参照宝石类型1,此类宝石升级时随机增加装备属性,例如:AniCount等于5时,那么随机增加装备5点属性.
注意:升级失败后如果Need小于100那么随机清除某项或者多项附加属性.
宝石类型5:
StdMode=59(增加升级成功率)
Shape=(0表示所有类型,指定类型时填写待升级装备的StdMode值)
DuraMax=(提高成功机率,例如:设定5即为提高5%的机率)
以下是最新更新后的部分新特性:
1.55,56,57,58这几种类型宝石失败后默认不会降低装备升级的星星数.如果升级失败时需要降低装备的星星数那么设置物品的Reserved字段,0时不降,大于0时设置几就降几点.
例如宝石的Reserved=2 装备的星星数=3 升级失败后星星就会减去2,剩下1个星星
2.58类型的升级宝石Weight=1时随机升级所以属性,Weight=2时只随机升级攻击,魔法,道术.

毒素武器[!]

使用方法:\Envir\UserData\PoisonWeapon.txt

格式: 武器名称 成功几率 减HP值 基本时间 扩展时间

成功率100以下时设置多少就是多少的成功率例如:80就是80%的成功率50就是50%的成功率

扩展时间是一个随即值,假如设置为10那么它的值就是1-10之间的值. 持续时间=基本时间+扩展时间所产生的随机值

例如:木剑 90 10 10 5

技能触发脚本功能

增加魔法触发功能.自身技能触发. Q-Function.txt中[@MagSelfFuncX]段,其中X表示要触发的魔法ID

增加魔法触发功能.对目标人物使用时自身触发. Q-Function.txt中[@MagTagFuncX] 段,其中X表示要触发的魔法ID

增加魔法触发功能.目标人物技能触发. Q-Function.txt中[@MagTagFuncExX] 段,其中X表示要触发的魔法ID

增加魔法触发功能.目标怪物技能触发. Q-Function.txt中[@MagMonFuncX] 段,其中X表示要触发的魔法ID

例子:使用治愈术时触发脚本

完整脚本代码

[@MagSelfFunc2]
#ACT
SendMsg 5 自己加血
[@MagTagFunc2]
#ACT
SendMsg 5 给别人加血
[@MagMonFunc2]
#ACT
SendMsg 5 给怪物加血.

摆摊触发脚本

注意:以下功能是仿HeroM2摆摊功能。如果你使用的是个人商店,请查看个人商店部分

打开摆摊窗口之前首先执行Q-Function中的@StartMyShop脚本段.

脚本命令ForbidMyShop用于中断摆摊.

例子:以下脚本放在Q-Function中.

完整脚本代码

[@StartMyShop]
#if
ISDUPMODE
#say
请找一个空位置,不能与别人站在一起。
#ACT
ForbidMyShop
BREAK
#IF
NOT INSAFEZONE
#SAY
需要在安全区使用摆摊功能!
#ACT
ForbidMyShop
BREAK
#IF
NOT IsOnMap 3
#SAY
需要在盟重使用摆摊功能.
#ACT
ForbidMyShop
BREAK
#IF
CheckStringlength <$STALLNAME> > 20
#SAY
你的摊位名称长度超过10个字
#ACT
BREAK
#IF
CheckLevelEx < 40
#SAY
需要40级才可以使用摆摊功能!
#ACT
ForbidMyShop

购买商铺物品时触发

功能说明: 人物通过商铺购买物品成功时触发(英雄M2).

使用方法: Q-Function.txt中@BuyShopItem脚本段,

购买的物品名字放在人物的S0变量中,物品价格放在 M0中.

完整脚本代码

[@BuyShopItem]
#IF
#ACT
SendMsg 5 %s通过商铺购买了<$STR(S0)>,价格是:<$STR(M0)>

检查一个范围内怪物数[!]

功能:

可以检查一个坐标范围内怪物数量。

格式:

CheckRangeMonCount 地图号 X坐标 Y坐标 范围 控制符(=,>,<,?) 数量

完整脚本代码

[@Main]
#IF
CheckRangeMonCount 3 330 330 10 < 100
#SAY
地图3的X330Y330十的范围内怪物少于100只
#ELSESAY
地图3的X330Y330十的范围内怪物多于100只

检查人物所在地图是否允许使用记忆,夫妻,师徒传送

检查人物所在地图是否允许使用记忆 夫妻 师徒传送

#IF

CheckRecall 人物名字

#SAY

当前地图不允许被传送.

检查人物是否在指定范围内

功能: 检测人物是否在指定范围之内

格式: CheckHumInRange 地图 坐标X 坐标Y 范围(0 — 500)

说明: 地图=Self时表示当前地图.

例子: 检测人物是否在盟重安全区.

#IF

CheckHumInRange 3 330 330 5

#SAY

你在盟重安全区发呆呢..

检查人物杀死怪物的名字

功能:检查人物杀死怪物的名字

格式:CheckKillMonName 名字 是否清除(0,1)

说明:是否清除参数可以不需要默认0,为了避免杀死某个怪物可重复执行脚本是设置1.

完整脚本代码

[@main]
#IF
CheckKillMonName 白野猪
#SAY
你把白野猪干掉了!
;检测后立即清除人物内置变量.
[@main]
#IF
CheckKillMonName 白野猪 1
#SAY
你把白野猪干掉了!

检查人物被踢次数

检查人物被踢次数.

#IF

CheckNumOfKick 3

#SAY

你已经被踢下线至少3次了.

检查在线最高属性人物

检查在线最高攻击,魔法,道术,防御,PK值

完整脚本代码

#if
IsHigh L
#say
你的级别是全服最高的
#act
break
#if
IsHigh P
#say
你的PK值是全服最高的
#act
break
#if
IsHigh D
#say
你的攻击是全服最高的
#act
break
#if
IsHigh M
#say
你的魔力是全服最高的
#act
break
#if
IsHigh S
#say
你的道术是全服最高的
#act
break

检查地图中的人物是否属于同一个行会

检查当前地图中的人物是否属于同一行会

格式: MapHumIsSameGuild 是否忽略没有加人行会的人物(0-1)

#IF

MapHumIsSameGuild 1

#SAY

当前地图中的人物属于同一个行会,不包涵没有加入行会的人物.

检查宝宝数量

功能:

可以检查玩家所带宠物的数量。

格式:

CHECKSLAVECOUNT 控制符 <.=.>.? 数量 宝宝名字 是否检查名称数字(0:不检查名称数字[骷髅1,骷髅2都按包骷髅算], 1:算数字)

;检查宝宝数量是否为指定数量

完整脚本代码

[@checkslavecount0]
#IF
#ACT
CHECKSLAVECOUNT = 5
#SAY
你的宝宝数量为5个。
#ELSESAY
你的宝宝数量不为5个。
;检查宝宝数量是否为大于数量
[@checkslavecount1]
#IF
#ACT
CHECKSLAVECOUNT > 5
#SAY
你的宝宝数量超过5个。
#ELSESAY
你的宝宝数量不超过5个。
;检查宝宝数量是否为小于数量
[@checkslavecount2]
#IF
#ACT
CHECKSLAVECOUNT < 5
#SAY
你的宝宝数量小于5个。
#ELSESAY
你的宝宝数量不小于5个。

检查宝宝最高等级

脚本功能:

检查宝宝的等级。

命令格式:

CHECKSLAVELEVEL 控制符(= ,>,<,?) 等级数(7)

;检查宝宝的等级是否等于指定级别

完整脚本代码

[@checklevel0]
#IF
CHECKSLAVELEVEL = 5
#SAY
宝宝的等级等于5级。
#ELSESAY
宝宝的等级不等于5级。
;检查宝宝的等级是否大于指定级别
[@checklevel1]
#IF
CHECKSLAVELEVEL > 5
#SAY
宝宝的等级大于5级。
#ELSESAY
宝宝的等级不大于5级。
;检查宝宝的等级是否小于指定级别
[@checkposelevel2]
#IF
CHECKSLAVELEVEL < 5
#SAY
宝宝的等级小于5级。
#ELSESAY
宝宝的等级不小于5级。

检查指定人物背包空格数量

检测指定人物背包空格数量 CheckHumBag 人物名称(*表示检测自己) 检测符(<>=?) 空格数

完整脚本代码

#IF
CheckHumBag <$STR(S1)> > 5
#SAY
<$STR(S1)>的背包有5个以上的空格.

检查指定城堡是否在攻城[!]

检查指定城堡是否在攻城 #if

checkcastlewar 2

#say

第三个城堡正在攻城

#elsesay

第三个城堡没有攻城

检查指定范围内人物数量

功能: 检测指定范围内人物数量

格式: 格式: CheckRangeHumCount 地图 坐标X 坐标Y 范围 操作符(>= < ?) 数量

说明: 地图=Self时表示当前地图 坐标=0时表示当前坐标

例子: 检测盟重省安全区的人物数量

#IF

CheckRangeHumCount 3 330 330 10 > 100

#SAY

盟重土城当前人数超过100.

检查是被人物还是怪物杀死的

检查是被怪物还是人物杀死的.

完整脚本代码

#IF
KillByHum
#ACT
SendMsg 5 玩家 <$KILLER> 在%m 把你干死了!
#ELSEACT
SendMsg 5 怪物 <$MONKILLER> 在%m 把你干死了!

检查正在攻击中的怪物名字

说明: 检查正在被自己攻击的怪物的名字.

注意: 地图参数中加入 HITMON(@XXX)

Q-Function0.txt中

完整脚本代码

[@XXX]
#IF
CHECKHITMONNAME 白野猪
#SAY
你正在攻击白野猪

检查正在穿身上装备的名字[!]

检查正在穿身上装备的名字.

格式: CheckTakeOnItem 物品名字

#IF

CheckTakeOnItem 布衣(男)

#SAY

你正在穿布衣!

检查正在脱身上装备的名字[!]

检查正在脱身上装备的名字.

格式: CheckTakeOffItem 物品名字

#IF

CheckTakeOffItem 布衣(男)

#SAY

你的布衣是不是该扔掉了?

检查自己和宝宝之间的距离[!]

功能: 检测自己和宝宝之间的距离

格式: CheckSlaveInRange 名字 距离

说明: 此命令的主要作用是配合128类型的宝宝使用(可模仿押镖任务).

完整脚本代码

#IF
CheckSlaveInRange 月灵 5
#SAY
你的月灵在身边
#ELSESAY
你的月灵宝宝跑哪里去了?

检查装备升级次数 或 星星数量

功能: 用来检测通过宝石升级装备的次数. 或 星星数量

格式: CheckItemupgradeCount 方式(0,1) 位置(0-12) 操作符(> = < ?) 次数(0-255)

说明:方式=0时检测正在升级的装备,方式=1时检测人物身上的装备.

例子: 检测武器是否已经升级10次.

#IF

CheckItemUpgradeCount 1 1 > 10

#SAY

你的武器已经升级了10次以上.

检测人物是否挂机

功能:检测人物是否是离线挂机

格式:CheckOffline

检测人物的攻击模式

说明: 检测人物的攻击模式

格式: CheckAttackMode 模式(0-7)

完整脚本代码

#IF
CheckAttackMode 0
#SAY
全体攻击模式
#IF
CheckAttackMode 1
#SAY
和平攻击模式

检测字符串长度命令

功能:

检测字符串长度命令

格式:

CheckStringlength 字符串 操作符(<,>,=,?) 位数

说明:一个汉字位数为2, "》"也为2个字符

完整脚本代码

[@test]
#IF
CheckStringlength D3dm2 > 3
#SAY
D3dm2大于3个字符
#ELSESAY
D3dm2小于3个字符

检测当前宝石升级装备的名字

功能: 检测当前通过宝石升级装备的名字

格式: CheckUpgradeItemName 位置(0-1) 名字

说明: 位置0=升级装备的名字 1=左边一格宝石的名字

注意: 此命令只能在QFunction中的@ItemUpgarde下执行.

完整脚本代码

[@ItemUpgrade]
#IF
CheckGold 5000
CheckUpgradeItemName 0 裁决之杖
#ACT
Take 金币 5000
#ELSESAY
只能升级裁决之杖,或者你没有5000金币.
#ELSEACT
SetUpgradeFail
Break

检测月份

功能: 检测现在是几月

格式: MONTHOFYEAR 月份(1-12) 月份(1-12)

说明: 第二个参数可省略.

例子: 检测是否7月–8月

完整脚本代码

[@main]
#IF
MONTHOFYEAR 7 8
#SAY
暑假期间大家玩的开心点.
例子: 检测是否1月
[@main]
#IF
MONTHOFYEAR 1
#SAY
新的一年开始了.

检测本月的天数

功能: 检测是否是本月的第几天.

格式: DAYOFMONTH 天数(1-31) 天数(1-31)

说明: 第二个参数可省略.

例子: 检测是否本月的前7天

完整脚本代码

[@main]
#IF
DAYOFMONTH 1 10
#SAY
本月10号之前.
例子: 检测是否是本月的第一天
[@main]
#IF
DAYOFMONTH 1
#SAY
今天是1号,新的一个月又开始了.

检测物品持久

功能:检测人物身上物品持久.

格式:CheckItemDura 位置(0-12) 操作法(> = < ?) 持久(1-65000) 模式(0,1)

说明:默认模式=0表示检测物品持久下限,模式=1时检测物品持久上限.

例子:检测物品持久下限

完整脚本代码

[@Main]
#IF
CheckItemDura 1 > 30000 0
#SAY
武器持久下限大于30.
例子:检测物品持久上限
[@Main]
#IF
CheckItemDura 1 > 30000 1
#SAY
武器持久上限大于30.

检测物品纯度

功能: 检测背包中物品的纯度(持久,品质).

格式: CheckMine 物品名称 数量(1-45) 控制符(= ,>,<,?) 纯度(1-65)

功能:收走背包中物品指定纯度的矿石

格式:TakeMine 物品名称 数量(1-45) 控制符(= ,>,<,?) 纯度(1-65)

例子: 检测背包中是否有5个纯度20的黑铁矿石,并且回收.

完整脚本代码

[@main]
#IF
CheckMine 黑铁矿石 5 > 19
#ACT
TakeMine 黑铁矿石 5 >= 20
#SAY
背包中有5个纯度20的黑铁矿石.
#ELSESAY
没有.

检测被自己杀死宝宝的名字

检测被自己杀死的宝宝的名字.

注意:此命令只检测直属宝宝,例如道士英雄召唤的神兽不属于直属宝宝.

#IF

CheckKillSlaveName 白野猪

#SAY

你把对方的宝宝<白野猪>杀死了.

检测装备名字颜色

功能: 检测装备名字的颜色(英雄M2).

格式: CheckItemNameColor 位置(0-13) 颜色(0-255)

例子: 检测武器颜色是否是紫色.

完整脚本代码

[@main]
#IF
CheckItemNameColor 1 253
#SAY
武器名字紫色显示.

检测装备的附加属性总和[!]

功能: 检测装备的附加属性总和(武器的诅咒不在计算范围之内).

格式: 格式: CheckItemAddValueEx 位置(0-15) 操作符(> = < ?) 附加值(0-65000) 新属性(0,1)

说明: 第四个参数只在英雄M2下有效,1时计算附加的致命一击等属性.

例子:

#IF

CheckItemAddValueEx 1 > 5 1

#SAY

武器的附加属性大于5点.

BUFF

功能: 在 屏幕右上角 显示图标,在图标下面显示倒计时,时间到了,触发脚本,图标自动消失

SetClientBuff WIL文件序号 序号(1~99) 图片序号 倒计时间(-1时按钮,大于0是倒计时(单位:秒)) 文字备注 微调坐标X 微调坐标Y 附加特性(如果不使用附加特效,可以为空)

//倒时在QF脚本里触发[@CloseClientBuffX]X是序号。按钮模式点击在QF脚本里触发[@文字备注]

最后一个参数附加特效,如果为空,表示没有附加特效,共六个参数,每个参数之间使用“|”隔开。特效WIL序号|特效开始图片|播放张数|播放速度(毫秒)|播放模式(0特效绘制,1普通绘制)|微调X|微调Y

[@显示BUFF]

#ACT

SetClientBuff 9 1 275 60 文字备注 0 0 9|840|10|200|0|0|40

功能: 关闭

CloseClientBuff 序号(1~99)

GIVE物品后关联

完整脚本代码

[@main]
#if
#act
GIVE 乌木剑 1
;给一个物品
LinkGiveItem
;关联这个物品
CHANGEITEMADDVALUE -1 0 + 1
;脚本命令操作该物品
SENDUPGRADEITEM
;修改后的参数,刷新到客户端

IncFileList 脚本命令

IncFileList 装备位置(多个位置以逗号隔开“,”) 保存变量 文件

完整脚本代码

[@Main]
#Act
INCFILTLIST 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 N$怪物伤害 ..\QuestDiary\切割装备.txt
“..\QuestDiary\切割装备.txt”文件格式如下:
;一行装备名字,一行数字,检测到身上的装备是文本里某一行的名字,就把那一行名字下面的数字加到变量“N$怪物伤害”里面
屠龙
100
木剑
20
金戒指
30

Take命令扩展

Take物品名称数量是否部分匹配(0或空=名称必须完全一样,1= 名称部分一样)是否检测改名名称(0=或空不检测1= 检测)

完整脚本代码

[@main]
#if
#act
Take 木剑 1
SENDMSG 6 收回木剑
[@main]
#if
#act
Take 改名木剑 1 0 1
SENDMSG 6 收回改名木剑
[@main]
#if
#act
Take 剑 1 1 0
SENDMSG 6 收回名称有“剑”的物品
[@main]
#if
#act
Take 剑 1 1 1
SENDMSG 6 收回改名名称有“剑”的物品

一键回收包裹物品[!]

一键回收包裹物品的脚本命令

格式:

TakeBagItem 物品名称(支持多个物品) 收取数量 每个物品增加元宝值 每个物品增加金币值 每个物品增加泡点值 每个物品增加泡点经验值 变量(保存实际回收的物品数量) 聚灵珠经验(为空或0时不增加聚灵珠经验 1时同时聚灵珠经验) 是否回收极品(0或空全部回收,1不回收极品,2只回收极品) 颜色(0-255)

[@main]

#ACT

TakeBagItem 木剑|布衣(男)|布衣(女) 46 0 0 0 10000 N1 0

SENDMSG 6 成功回收<$STR(N1)>个木剑,布衣(男),布衣(女),价格为10000经验

个人定时器

功能:

个人定时器 。

格式:

SetOnTimer 定时器索引(0-255) 定时间隔(单位为秒)执行次数(0=无限制) 跨服是否执行(1= 玩家进跨服继续执行)

SetOffTimer 定时器索引(0-255) //停止定时器

设置定时器

完整脚本代码

[@Test]
#IF
#ACT
SetOnTimer 0 20
QManage.txt:
[@OnTimer0]
#ACT
SendMsg 5 你目前位于%m的(%x:%y)
停止定时器
[@Test]
#IF
#ACT
SetOffTimer 0

乘法

乘法 格式: MUL N1 N2 N3即N1=N2*N3

完整脚本代码

[@MAIN]
#IF
#ACT
Mov N2 10
Mov N3 10
MUL N1 <$STR(N2)> <$STR(N3)>
SENDMSG 1 结果∶<$STR(N1)>

人物小退

[@小退]

#ACT

LOGOUT

人物杀怪暴率倍数

-人物杀怪暴率倍数

脚本命令 KILLMONBURSTRATE 20140220 20140221 参数1 20140223 20140224 20140225 20140226 参数2 20140227 20140228

参数说明:

参数1 //倍率,实际倍率除以100;

参数2 //时长

例如:

#ACT

KILLMONBURSTRATE 20140220 20140221 200 20140223 20140224 20140225 20140226 600 20140227 20140228

SENDMSG 7 杀怪爆率翻倍,时长:600秒!

;简单的写法如下

补充说明

详细说明

KILLMONBURSTRATE 500 600

SENDMSG 7 当前杀怪物爆率为:<$KILLMONBURSTRATE>倍,时长:600秒

<$KILLMONBURSTRATE> 返回人物杀怪暴率倍数;

人物聊天文字变色

功能: 改变人物公聊时的文字信息颜色.

格式: ChangeHearMsgColor 时间(分钟) 颜色(0-255)

;人物说话信息蓝色显示

[@main]

#IF

#ACT

ChangeHearMsgColor 10 180

从指定文件中删除字符串[!]

功能:

从指定文件中删除字符串 和从指定文件中增加字符串。

格式:

AddTextList 文件位置 字符串

DelTextList 文件位置 字符串

;增加字符串

完整脚本代码

[@Test老格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字
[@Test新格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字 您的性别
;删除字符串
[@Test老格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字
[@Test1新格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字 您的性别
新格式 老格式都可以使用

从文件中随机取文本

功能:

从文件中随机取文本 。

格式:

GETRANDOMLINETEXT 文件 字符串变量

;示例脚本

完整脚本代码

[@Main]
#If
#Act
GETRANDOMLINETEXT ..\QuestDiary\装备列表.txt S0
#Say
取回的文本是: <$STR(S 0)>
注:GetCacheRandomLineText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

从文本里随机获取一组不相同的字符

GetRandomTexts 文件路径 获取数量( 最多支持255 ) 保存变量(不输入括号的变量,非自定义变量,如:S1) 保存实际获取数量的变量

完整脚本代码

[@Main]
#IF
#ACT
GetRandomTexts ..\QuestDiary\测试.txt 10 S1 N1
SENDMSG 6 在“测试.txt”文件里,随机获取10个不相同的字符,保存在变量S1~S10里面,实际获取到字符数量为:<$STR(N1)>
SENDMSG 6 S1=<$STR(S1)>
SENDMSG 6 S2=<$STR(S2)>
SENDMSG 6 S3=<$STR(S3)>
SENDMSG 6 S4=<$STR(S4)>
SENDMSG 6 S5=<$STR(S5)>
SENDMSG 6 S6=<$STR(S6)>
SENDMSG 6 S7=<$STR(S7)>
SENDMSG 6 S8=<$STR(S8)>
SENDMSG 6 S9=<$STR(S9)>
SENDMSG 6 S10= <$STR(S10)>

修改宝宝属性

修改宝宝属性–

ChangeSlaveAbility 参数1 参数2 参数3

参数1 属性类型 1,HP 2,MAXHP 3,AC 4,MAXAC 5,MAC 6,MAXMAC 7,DC 8,MAXDC 9,MC 10,MAXMC 11,SC 12,MAXSC 13,appr(就是宝宝样子) 14,移动速度 15,攻击速度

参数2 属性值

参数3 宝宝名字 可不写 不写为所有宝宝

参数4 生效时间(秒) 0或空为不下线一直有效

修改物品的Looks

;修改物品的Looks,修改后只是物品的内观改变了,其他属性没有变化

ChangeItemLooks 装备位置(-1~28或30~47,-1表示OK框里的物品) 操作符号(+,-,= ) Looks值(0表示恢复为DB里的Looks,大于0表示修改)

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

补充说明

详细说明

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

修改物品的Shape

;修改物品的Shape 只对衣服和武器有效,修改后只是物品的外观改变了,其他属性没有变化

ChangeItemShape 装备位置(-1~28或30~47,-1表示OK框里的物品) 操作符号(+,-,= ) Shape值(0表示恢复为DB里的Shape,大于0表示修改, 0-65535) 左手武器Shape值(可空)

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

补充说明

详细说明

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

修改物品的属性框悬浮框的特效背景

修改物品的属性框的特效背景

1.引擎-选项-客户端设置-装备悬浮框背景特效 添加好特效

2.使用脚本命令 SETSHOWITEMWINDOWEFFECTINDEX 设置某个物品的属性框的特效背景

SETSHOWITEMWINDOWEFFECTINDEX 装备框位置(0~28 30~47 -1OK框物品) 特效编号(引擎里设置好的特效编号) 特效位置(0~2 每个物品支持3个特效同时显示)

[@测试]

#ACT

SETSHOWITEMWINDOWEFFECTINDEX 1 1 0

SETSHOWITEMWINDOWEFFECTINDEX 1 2 1

SETSHOWITEMWINDOWEFFECTINDEX 1 3 2

装备位置代码:

补充说明

详细说明

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

修改物品的附加属性值

说明

功 能: 修改物品的附加属性值
格式: CHANGEITEMADDVALUE 装备位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 属性位置(0-14) (符号 + – =) 值
检测格式: CHECKITEMADDVALUE 装备位置 (-1时是OK框中的装备, 0-55时是穿在身上的装备) 属性位置(0-13) (符号 < > = ?) 值 保存变量
获取格式: GETITEMADDVALUE 装备位置 (-1时是OK框中的装备, 0-55时是穿在身上的装备) 属性位置(0- 13) 存放变量 获取方式(0获取附加属性 1=基础属性+附加属性)
功 能: 修改无属性附加属性值(44)
格式: NEWCHANGEITEMADDVALUE 装备位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 属性位置(44) (符号 + – =) 值
检测格式:NEW CHECKITEMADDVALUE 装备位置 (-1时是OK框中的装备, 0-55时是穿在身上的装备) 属性位置(44) (符号 < > = ?) 值 保存变量
获取格式:NEW GETITEMADDVALUE 装备位置 (-1时是OK框中的装备, 0-55时是穿在身上的装备) 属性位置( 44) 存放变量 获取方式(0获取附加属性 1=基础属性+附加属性)
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置
盔甲
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5 佩带需求
6 佩带级别
7-13 无效果
14 持久
44 无属性
武器
0 DC2
1 MC2
2 SC2
3 幸运
4 诅咒
5 准确
6 攻击速度
7 强度
8-13 暂不知道
14 持久
44 无属性
头盔
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5 佩带需求
6 佩带级别
7-13 无效果
14 持久
44 无属性
项链
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 暂不知道
14 持久
44 无属性
手镯
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
44 无属性
戒指
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
44 无属性
例子:

完整脚本代码

[@Test]
#IF
CheckItemAddValue 0 0 > 1
#ACT
GETITEMADDVALUE 0 0 M10
#SAY
你的盔甲附加了<$STR(M10)>点防御属性.

关闭或显示脚本命令提示没有戴指定物品

SETSHOWITEMMSG (0关闭,1显示)

用来关闭或显示,有的脚本命令会提示“你身上没有戴指定物品!!!”

(引擎不会提示这个错误,直接删掉这个命令就行)

文件操作类

文本操作类

功能: 创建文本 文件

格式: CREATEFILE 文件名称

完整脚本代码

[@main]
#IF
#ACT
CreateFile ..\QuestDiary\NewFile.txt
#SAY
在Envir\QuestDiary目录中建立了一个 文件 .
;
功能:删除文 本 文件
格式: DeleteFile 文件名称
[@main]
#if
FileExists ..\QuestDiary\数据.txt
;检测“..\QuestDiary\数据.txt” 是否存在
#act
;删除“..\QuestDiary\数据.txt”
DeleteFile ..\QuestDiary\数据.txt
;
功能:获取文本总行数
GetTextLineCount 路径 保存变量
[@main]
#if
#act
GetTextLineCount ..\QuestDiary\装备回收.txt N$行数
Sendmsg 5 提示:装备回收.txt文件共有<$STR(N$行数)>行内容
功能:复 制文件到指定目录
CopyFile 源文件 目标 文件
[@复制文件]
#ACT
CopyFile ..\QuestDiary\战力排行\战力数据.txt ..\QuestDiary\复制战力排行\复制战力数据.txt
;
功能:从文件中随机取文本
格式:GETRANDOMLINETEXT 文件 字符串变量 指定行(0或空是随机一行,大于0是取指定行)
例子:
[@Main]
#If
#Act
GETRANDOMLINETEXT ..\QuestDiary\装备列表.txt S0
#Say
取回的文本是: <$STR(S0)>
注:GetCacheRandomLineText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新
;
功能:写入指定文本文件
功能:把字符串写入到指定的文本文件 中,可以指定写入行.
格式:AddTextListEx 路径 字符串 行(0-65535)
例子:
[@main]
#IF
#ACT
AddTextListEx ..\TestList.txt <$USERNAME> 0 1
;
功能: 读取文本 文件 中的内容 到变量中.
格式:GetListString 文件路径 行号(行号从0开始) 变量1 变量2
说明:变量2可以不需要,当读取变量2时文本单行的内容必须是以下格式:
人物1:10
人物2:20
例子:
[@main]
#IF
#ACT
GetListString ..\QuestDiary\测试.txt 5 A10 N10
;
功能: 取字符串在列表中的下标.
格式:GetStringPos 路径 字符串
说明:返回值放在人物的N0变量中,如果值= 9999999说明没有找到
其他:返回值可以通过EQUAL做条件检测
[@main]
#IF
#ACT
GetStringPos ..\QuestDiary\测试.txt 管理员
SendMsg 5 字符串在列表中的位置:<$STR(N0)>
注:GetCacheStringPos写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新
;
功能: 从文件中随机获取一行字符串
格式:GetRandomText 文件路径 变量(S0–S99) 指定行(0-10000)
说明:没有指定行时随机取某一行的字符串.
例如:随机取一行字符串到S10中.
[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10
SendMsg 5 取出的字符串是:<$STR(S10)>
例如:取特定行的字符串.
[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10 5
SendMsg 5 取出的字符串是:<$STR(S10)>
注:GetCacheRandomText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新
;
功能:清除列表内容
命令格式:CLEARNAMELIST namelist.txt
;清除列表
[@Clearnamelist]
#IF
#ACT
CLEARNAMELIST namelist.txt
#SAY
列表已被清除
;
功能:删除文本某一行,保留行号
格式:DelText 文本路径 行数 删除模式(0=不保留删除行 1= 保留删除行为空行)
;
功能:从指 定文件中 删除字符串和从指 定文件 中增加字符串 ,新格式老格式都可以使用 。
格式:
AddTextList 文件位置 字符串
DelTextList 文件位置字符串
;增加字符串
[@Test老格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字
[@Test新格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字 您的性别
;删除字符串
[@Test老格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字
[@Test1新格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字 您的性别
;-
功能:检查字符串是否在 指定文件中
[@旧格式_不区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)>
#SAY
<$STR(S$2)>在列表中
#ELSESAY
<$STR(S$2)>不在列表中
[@新格式_区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> <$STR(S$3)>
#SAY
卡号密码正确
#ELSESAY
卡号密码错误
S$2和S$3的值在“10元卡号.txt”文本中以空格分开
注:CheckCacheTextList写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新。
;
检查字符串是 否在指定文件中 包含检测 检测的字符串不需要完全相同,文件里的字符 包含检测的字符,就会成功
[@CheckContainsTextList]
#IF
CheckContainsTextList ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#ACT
SENDMSG 6 列表 文件 中某一行字符包含<$STR(S2)>
#ELSEACT
SENDMSG 6 列表文件 中某一行字符不包含<$STR(S2)>
[@CheckContainsTextListEx]
#IF
CheckContainsTextListEx ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#ACT
SENDMSG 6 <$STR(S2)> 包含列表中某一行字符
#ELSEACT
SENDMSG 6 <$STR(S2)>不 包含列表中某一行字符
CheckContainsTextList 和 CheckContainsTextListEx 区别
CheckContainsTextList 列表中,是否包含被检测的字符
CheckContainsTextListEx 被检测的字符是否包含列表中的某一行内容
注:CheckCacheContainsTextList、CheckCacheContainsTextListEx写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新。
;
功能:读取文本单行多列
格式:GetListStringEx 文本路径 行号 写入变量 符号(默认为空)
例子:
[@读文本多列]
#IF
#ACT
AddTextListEx ..\QuestDiary\测试.txt 战士*100*法师*200*道士*300 0
GetListStringEx ..\QuestDiary\测试.txt 0 S$读取列 *
SENDMSG 0 <$STR(S$读取列0)><$STR(S$读取列1)>-<$STR(S$读取列2)>–<$STR(S$读取列3)>–<$STR(S$读取列4)>–<$STR(S$读取列5)>
人物操作类
;
功能:检测人物名单
[@检测名字在文本]
#IF
CHECKNAMELIST ..\QuestDiary\测试.txt
#ACT
SendMsg 0 名字在文本
#ELSEACT
SendMsg 0 名字不在文本
;
功能:增加人物ID在列表中
CHECKACCOUNTLIST 检测登录账号ID
ADDACCOUNTLIST 增加登录账号ID
例子:
#IF
CHECKACCOUNTLIST ..\QUESTDIARY\测试.TXT
#act
SENDMSG 0 在里面
#ELSEACT
SENDMSG 0 不在里面
#IF
#Act
ADDACCOUNTLIST ..\QUESTDIARY\测试.TXT
;
功能:删除人物ID在列表中
例子:
[@DelAccountList]
#IF
#Act
DELACCOUNTLIST AccountList.txt
;
功能:增加人物名在列表中
格式:
[@AddNameList]
#IF
#Act
ADDNAMELIST NameList.txt
;
功能:删除人物名在列表中
格式:
[@DelNameList]
#IF
#Act
DELNAMELIST NameList.txt
;
功能:增加人物IP在列表中
例子:
[@AddIPList]
#IF
#Act
ADDIPLIST IPList.txt
;
功能:删除人物IP在列表中
例子:
[@DelIPList]
#IF
#Act
DELIPLIST IPList.txt
;
功能: 删除列表行会名 例子:
[@delguildList]
#if
#act
DELGUILDLIST guildlist.txt

删除一个NPC

格式: DELNPC NPC名字 地图文件名称(该参数可以为空,为空表示所有地图的)

完整脚本代码

[@删除所有地图的]
#IF
#ACT
DelNpc 测试
[@删除某个地图的]
#IF
#ACT
DelNpc 测试 3

删除会员人物及时间

删除会员人物及时间: DELUSERDATE 会员.txt

相关命令:

CHECKUSERDATE 会员.txt < 30 p0 p1

检查命令 会员名单 控制符 天数 使用天数 剩余天数(可用<$STR(p1)>在脚本中显示)

注:如果要检查忽略人物名字就在p1 后面加个参数 1

加入会员人物及时间: ADDUSERDATE 会员.txt

删除行会成员

功能:

删除行会成员 。

格式:

DelGuildMember 行会名称 人物名称

(删除掌门无效)

完整脚本代码

[@Test]
#if
#act
DelGuildMember 测试行会 <$USERNAME>
#say
你已经从[测试行会]中脱离出来

删除行会掌门人

功 能:

删除行会掌门人,行会必须有了2个掌门人,才能删除其中一个,删除后自动变成行会成员

DelGuildMaster 行会名称 掌门人名称

例子:

[@Test]

#IF

#ACT

DelGuildMaster 华山派 掌门人名称

刷新包裹

功 能:

刷新包裹、刷新背包

例子:

[@Test]

#IF

#ACT

REFRESHBAG

加入会员人物及时间

加入会员人物及时间: ADDUSERDATE 会员.txt

相关命令:

CHECKUSERDATE 会员.txt < 30 p0 p1

检查命令 会员名单 控制符 天数 使用天数 剩余天数(可用<$STR(p1)>在脚本中显示)

注:如果要检查忽略人物名字就在p1 后面加个参数 1

删除会员人物及时间: DELUSERDATE 会员.txt

发送屏幕中间大字体信息

功能: 在专用登录器屏幕的中间显示公告.

格式: SendCenterMsg 前景色 背景色 消息文字 模式 显示时间 倒计时标签

模式: 0=发送给自己 1=发送所有人物 2=发送行会 3=发送国家 4=发送当前地图 5=替换模式 6=跨服发送

说明: 设置倒计时标签时可执行自定义脚本功能.

%ServerName 区名称

例子:

完整脚本代码

[@main]
#IF
#ACT
SendCenterMsg 180 251 这是一个居中显示的公告. 0 10000
例子:显示30秒.
[@main]
#IF
#ACT
SendCenterMsg 180 251 这是一个居中显示的公告. 0 30
执行倒计时标签( 注意:文字提示中必须包含%d ):
[@main]
#IF
#ACT
SendCenterMsg 180 251 还剩余%d发放新手奖励. 0 30 @GiveNewHumanItem
;需要放QFunction脚本中
[@GiveNewHumanItem]
#IF
#ACT
Give 金条 1
Give 裁决之杖 1
Give 圣战戒指 2
Give 圣战手镯 2
Give 圣战头盔 1
Give 圣战项链 1
Give 天魔神甲 1
例子:替换模式
替换模式只在有倒计时标签时有效.
;以下例子说明如何使倒计时从新开始.
[@main]
#IF
#ACT
SendCenterMsg 180 251 还剩余%d离开本地图. 0 600 @ExitMap
;执行替换模式使时间从新开始
[@main1]
#IF
#ACT
SendCenterMsg 180 251 还剩余%d离开本地图. 5 600 @ExitMap
;跨服发送
[@main1]
#IF
#ACT
SendCenterMsg 180 251 区名称:%ServerName,还剩余%d离开本地图. 6 600 @ExitMap

发送屏幕滚动信息

功能:

发送屏幕滚动信息

格式:

SENDMOVEMSG 信息类型代码(0全局发送,1发送给个人,2跨服发送给所有人) 字体颜色(0-255) 背景颜色(0-255) Y坐标 滚动次数 信息内容 滚动速度(为空的情况下默认是2,数字越大越快)

%ServerName 区名称 [@测试]

完整脚本代码

#if
#ACT
MOV S1 这个是屏幕滚动信息坐标在100
SENDMOVEMSG1253255 100 3 <这个是屏幕滚动信息坐标在100/FCOLOR=250>{<$STR(S1)>/FCOLOR=253}{<$USERNAME>/FCOLOR=254}<这个是屏幕滚动信息坐标在100/FCOLOR=69>
SENDMOVEMSG 1 253 255 350 1 这个是屏幕滚动信息坐标在350
[@跨服发送]
#if
#ACT
MOV S1 这个是屏幕滚动信息坐标在100
SENDMOVEMSG 2 253 2551003<区名称:%ServerName,这个是屏幕滚动信息坐标在100/FCOLOR=250>{<$STR(S1)>/FCOLOR=253}{<$USERNAME>/FCOLOR=254}<这个是屏幕滚动信息坐标在100/FCOLOR=69>

发送文字信息

功能:

利用NPC发送信息。

格式:

SENDMSG 信息类型代码 字体颜色(0-255) 背景颜色(0-255) %s信息内容%d

信息类型代码:

1、发送普通红色广播信息。

2、发送普通红色广播信息,并显示NPC名称。

3、发送普通红色广播信息,并人物NPC名称。

4、在NPC头顶,显示普通说话信息。

5、发送红色信息给人物

补充说明

详细说明

6、发送绿色信息给人物

7、发送蓝色信息给人物

8、跨服发送给所有人

9、发送屏幕中间快捷栏上方透明提示信息(支持多种颜色组合)

%s 代表人物名称

%d 代表NPC名称

%ServerName 区名称

命令格式:

完整脚本代码

[@test]
#IF
#ACT
SENDMSG 0 %s信息内容%d
SENDMSG 1 %s信息内容%d
SENDMSG 2 %s信息内容%d
SENDMSG 3 %s信息内容%d
SENDMSG 4 %s信息内容%d
SENDMSG 5 %s信息内容%d
SENDMSG 7 %s信息内容%d
SENDMSG 8 %s信息内容%d
SENDMSG 9 <font color='#00FF00'>信息内容</font>
;以下是自定义颜色
SENDMSG 0 249 47 %s信息内容%d
SENDMSG 1 249 255 %s信息内容%d
SENDMSG 2 249 253 %s信息内容%d
SENDMSG 3 249 47 %s信息内容%d
SENDMSG 4 249 47 %s信息内容%d
SENDMSG 5 249 47 %s信息内容%d
SENDMSG 6 249 47 %s信息内容%d
SENDMSG 7 249 47 %s信息内容%d
SENDMSG 8 249 47 %s信息内容%d
SENDMSG 9 <font color='#FFFFFF'>请预留2个</font><font color='#00FF00'>背包空格</font>
屏幕任意坐标发送公告信息 SendCustomMsg
SendCustomMsg 参数1 参数2 参数3 参数4 参数5 参数6 参数7
参数1:消息类型
参数2:消息内容
参数3:前景色
参数4:背景色
参数5:X
参数6:Y
参数7:PC(X)
参数8:PC(Y)
;例
[@公告显示]
#IF
#ACT
SendCustomMsg 0 当前是自定 义坐标333,33显示0,249色显示 0 249 500 333

发送聊天框固顶信息

SENDTOPCHATBOARDMSG 发送模式(0发送给所有人,1发送给自己,2跨服发送) 字体颜色 背景颜色 时间(秒) 信息 是否显示人物名称(0显示,1不显示)

%ServerName 区名称

[@Main]

SENDTOPCHATBOARDMSG 0 149 235 30 %s:聊天框固顶信息

[@跨服发送]

SENDTOPCHATBOARDMSG 2 149 235 30 %ServerName :%s:聊天框固顶信息

取对面角色人物名

功能:

取对面角色人物名到变量

格式:

GETPOSENAME 变量名

功能:

完整脚本代码

[@AddAccountList]
#IF
#act
GETPOSENAME a1
#SAY
对面的人物名:<$STR(a1)>

变量数据传递MOVEX

MOVEX这个命令和MOV使用一样,不过在多级脚本使用中不一样

多级脚本触发,存在2个人物:

一个是执行脚本的人物,另外一个是触发这个脚本的人物,也就是说一个脚本是人物A执行的,但是这个脚本是由人物B触发后才开始运行的

看下面的例子:

完整脚本代码

[@main]
#ACT
MOV S1 神话
S1.MOVEX S2 <$USERNAME>
SENDMSG 6 S2使用的是神话这个人物的,<$USERNAME>这个使用的是,谁点击这个脚本,就调用的谁的
SENDMSG 6 这个脚本存在2个人,执行脚本的人物S1和点击触发脚本的人物

召唤指定怪物为宝宝

功能:

脚本召唤宝宝。

格式:

RECALLMOB 怪物名称 宝宝等级(最高为 7) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7)

攻击力受自动变色颜色不同而不同

固定颜色攻击力受指定颜色不同而不同

注:如设固定颜色,自动变色参数必须设置为0

;召唤最多5个七宝宝,30分钟后叛变,七彩变色

完整脚本代码

[@recallmob]
#IF
CHECKSLAVECOUNT < 5
#ACT
RECALLMOB 神兽 7 30 1
#SAY
好好看着自己的宝宝,不要乱咬人。
#ELSESAY
你已经有5个或以上的宝宝,现在不可以再召宝宝。

吸收指定怪物的伤害

STRUCKDAMAGEABSORB 怪物名称(*表示所有怪物) 吸收百分比(1~100) 有效时间(秒)

完整脚本代码

[@吸收所有怪物的伤害]
#act
STRUCKDAMAGEABSORB * 80 360
SENDMSG 6 所有怪物对你的攻击伤害被吸收80%,实际攻击只有原来的20%
[@吸收白野猪的伤害]
#act
STRUCKDAMAGEABSORB 白野猪 80 360
SENDMSG 6 白野猪对你的攻击伤害被吸收80%,实际攻击只有原来的20%

在地图上播放魔法效果[!]

格式: MAPEFFECT 地图名称 X Y WIL文件序号 开始图片数 播放图片张数 播放次数(-1时表示不限制次数) 播放速度(毫秒) 播放效果(0普通 1特效) (该参数有两个参数以“亮度|可见范围|ID组”分开,亮度范围0~5,0表示没有亮度,在关闭禁止免蜡时有效。可见范围(0~4,0所有人可见,1自己可见,2组队可见,3行会成员可见,4敌对可见))

WIL文件序号是在M2里编辑好的,详见M2-查看-列表信息二-WIL资源

完整脚本代码

[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0|0
SENDMSG 6 所有人可见
[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0|1
SENDMSG 6 仅仅自己可见,触发该脚本的人下线,特效自动消失
[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0|2
SENDMSG 6 组队可见,触发该脚本的人下线,特效自动消失
[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0|3
SENDMSG 6 行会可见,触发该脚本的人下线,特效自动消失
[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0
[@main]
#ACT
MAPEFFECT 3 333 333 0 0 10 1 300 1 0|0|1
MAPEFFECT 3 330 333 0 0 10 1 300 1 0|0|1
MAPEFFECT 3 336 333 0 0 10 1 300 1 0|0|1
SENDMSG 6 所有人可见ID为1的特效组
[@main]
#ACT
DELMAPEFFECT 1
SENDMSG 6 清除ID为1的特效组

在地图上放物品[!]

格式: THROWITEM 地图名称 X坐标 Y坐标 范围 物品名称 数量|时间(秒) 是否掉落提示(0不提示,1提示) 是否可以立即捡取(0不能立即捡取,1可以立即捡取) 是否只有自己或自己的队友捡取其他人需要等待(1只有自己,0所有人)

支持使用SetThrowItemLy设置来源

完整脚本代码

[@main]
#IF
Random 100
#ACT
ThrowItem 3 330 330 10 回城卷 5|60 1 1
[@main]
#ACT
SetThrowItemLy 5 <$MAP> 白野猪 <$USERNAME> <$YEAR>-<$MONTH>-<$DAY> <$HOUR>:<$MINUTE>:<$SECOND>
ThrowItem 3 330 330 10 回城卷 5|60 1 1

在屏幕上播放魔法效果

格式: SCREENEFFECT 屏幕坐标X 屏幕坐标Y WIL文件序号 开始图片数 播放图片张数 播放次数播放速度(毫秒)播放效果(0=普通,1= 魔法效果)模式(0=自己,1= 所有人) ID组

WIL文件序号是在M2里编辑好的,详见M2-查看-列表信息二-WIL资源

清除屏幕效果

CLEARSCREENEFFECT 参数1 参数2

参数1:0或空=清除自己,1=清除全服

参数2: ID组(可空,清除所有)

完整脚本代码

[@main]
#ACT
SCREENEFFECT 0 0 0 0 10 1 300 0
[@清除屏幕效果]
#ACT
CLEARSCREENEFFECT
[@清除所有在线人物屏幕效果]
#ACT
CLEARSCREENEFFECT 1

在屏幕上显示向上滚动信息

功能说明:在屏幕上显示向上滚动信息

格式:SENDVERTICALMOVEMSG 文字信息 文字颜色 背景颜色 坐标Y 滚动次数 发送模式(0=全服 1= 个人 2= 跨服发送)

文字换行:\

%ServerName 区名称

完整脚本代码

[@main]
#ACT
SENDVERTICALMOVEMSG 提示信息1\提示信息2 249 0 100 3 0
[@跨服发送]
#ACT
SENDVERTICALMOVEMSG %ServerName提示信息1\提示信息2 249 0 100 3 2

在线命令弹出菜单功能

功能:

玩家在线输入指定命令弹出菜单脚本功能

格式:

命令为command.ini内(命令名称随便定义):MemberFunc=我是会员

输入@我是会员 命令后将运行登录脚本(Qmanage.txt)内[@Member]段内容脚本

具体脚本内容自己写。

在线泡经验

功能:

在线泡经验、泡点(直接得到经验)

格式:例:(等级30级以上,地图3安全区内每1秒种得到10个经验点)

#IF

CheckLevelex > 30

#ACT

setautogetexp 1 10 1 3 1 60 50

命令 时间 经验 是否安全区(0为任何地方) 地图号(任何地图使用*号) 聚灵珠是否能获取经验(0=不可以 1= 可以) 时间:秒(泡点获得经验的时间 可空,为空时表示一直有效) 等级(多少级以下可以获得经验,可空,为空时不检测等级)

增加会员时间[!]

功 能:

增加会员时间 文件名称 天 时 分

例子:

完整脚本代码

[@Test]
#IF
CHECKNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 1 S $ 1 N $ 1 N $ 2 N $ 3
#ACT
ADDNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 30 0 0
SENDMSG 5 <$USERNAME>会员充值成功,增加30天0小时0分会员时间!
SENDMSG 6 你的会员到期时间是<$STR(S $ 1)>【剩余天数=<$STR(N $ 1)>】【剩余小时=<$STR(N $ 2)>】【剩余分钟=<$STR(N $ 3)>】 255 253
#ELSEACT
SENDMSG 6 你不是会员或已过期,请及时充值! 255 253

增加限次使用物品的次数

增加限次使用物品的次数.

说明: 只对刚刚使用过的类型(StdItem=31 Source=1)或者(StdItem=2 Shape=1,3,5,9)的物品有效.

完整脚本代码

[@StdModeFunc10]
#IF
CheckLevelEx < 100
#ACT
ChangeLevel + 1
Break
#ELSESAY
小于100级才可以使用.
#ELSEACT
AddFunItemDura ;持久增加1
[@StdModeFunc11]
#IF
CheckLevelEx < 100
#ACT
ChangeLevel + 1
Break
#ELSESAY
小于100级才可以使用.
#ELSEACT
AddFunItemDura 100 ;持久增加100

复活人物

格式: REALIVE

[@main]

#ACT

REALIVE

字符串分割EXTRACTSTRING

完整脚本代码

[@main]
#act
;EXTRACTSTRING 分割符 需要分割的字符串 保存变量1 保存变量2 保存变量3 保存变量4 保存变量5 保存变量6 保存变量7 保存变量8
MOV s1
MOV s2
MOV s3
MOV s4
MOV s5
MOV s6
MOV s7
MOV s8
GetRandomText ..\QuestDiary\装备列表.txt S0 0
EXTRACTSTRING : <$STR(S0)> s1 s2 s3 s4 s5 s6 s7 s8
GIVE <$STR(S1)> 1
GIVE <$STR(S2)> 1
GIVE <$STR(S3)> 1
GIVE <$STR(S4)> 1
GIVE <$STR(S5)> 1
GIVE <$STR(S6)> 1
GIVE <$STR(S7)> 1
GIVE <$STR(S8)> 1
TakeOn <$STR(S1)> 0
TakeOn <$STR(S2)> 1
TakeOn <$STR(S3)> 3
TakeOn <$STR(S4)> 4
TakeOn <$STR(S5)> 5
TakeOn <$STR(S6)> 6
TakeOn <$STR(S7)> 7
TakeOn <$STR(S8)> 8
BREAK
;装备列表.txt 内容
;战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
;战神盔甲(女):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
;魔法长袍(男):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
;魔法长袍(女):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
;灵魂战衣(男):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指
;灵魂战衣(女):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指

字符串替换

功能:

字符串替换

格式:

ANSIREPLACETEXT 字符串变量 旧字符串 新字符串

;把 www.996m2.com 替换成www.qq.com

完整脚本代码

[@main]
#IF
#ACT
mov S1 www.996m2.com
ANSIREPLACETEXT S1 996m2 qq
SENDMSG 6 <$STR(S1)>

宝宝不攻击人物

====================================宝宝不攻击人物================================================

ChangeSlaveAttackHumPowerRate 宝宝名称 攻击人物威力倍率(威力倍数为0时不攻击人物,当前值除以100为实际倍数)

调整版本攻击人物的威力倍率

完整脚本代码

[@main]
#if
CHECKSLAVENAME 神兽
#act
ChangeSlaveAttackHumPowerRate 神兽 0
sendmsg 6 神兽不攻击人物
#elseact
sendmsg 6 请先把神兽召唤出来

导出行会在线成员数据

GuildSaveToList 导出文本路径 行会名称 成员的变量或常量

;示例

GuildSaveToList ..\QuestDiary\行会成员数据.txt 我的行会 <$USERNAME>|<$LEVEL>|<$STR(S$伤害统计)>|<$STR(S$杀敌人数)>

杀死宝宝

功能:

将自己的宝宝全部杀死。

格式:

完整脚本代码

[@killslave]
#IF
#ACT
KILLSLAVE
#say
你的宝宝清理干净了。

屏幕震动

屏幕震动 M2-选项-客户端设置-内挂控制-勾选屏幕震动才能生效。内挂里也要勾选屏幕震动才能生效

屏幕震动命令格式:

SCENEVIBRATION 模式(0~4,0仅自己,1在线所有人,2屏幕范围内人物,3.当前地图上所有人 4.指定地图上所有人) 震级(1~3) 次数 地图ID(模式等于4时,需要该参数)

完整脚本代码

[@main]
#IF
#ACT
SCENEVIBRATION 0 1 1
SENDMSG 6 你的屏幕开始震动
[@main]
#IF
#ACT
SCENEVIBRATION 1 1 1
SENDMSG 6 在线所有人的屏幕开始震动
[@main]
#IF
#ACT
SCENEVIBRATION 2 1 1
SENDMSG 6 当前屏幕范围内的所有人的屏幕开始震动
[@main]
#IF
#ACT
SCENEVIBRATION 3 1 1
SENDMSG 6 当前地图所有人的屏幕开始震动
[@main]
#IF
#ACT
SCENEVIBRATION 4 1 1 3
SENDMSG 6 土城所有人的屏幕开始震动

延时移动

功能:

延时移动

格式:

TIMERECALL 时间(分钟)

完整脚本代码

[@Test]
#IF
#ACT
timerecall 60
map G012
give 回城卷 1
SENDMSG 0 [%s]使用了元宝练级卷.进入快速升级地图,1小时后会将您传回土城!

强制怪物爆出指定物品

SetMonBurstItems 物品名称 数量

QF在杀怪触发里使用

完整脚本代码

[@KillMon]
#ACT
SetMonBurstItems 骨玉权杖 5
SENDMSG 6 <$KILLMONNAME>再次爆出5个骨玉权杖
怪物掉落前必爆物品命令
设置方法 AddMonDrop 物品名称 ,多个物品用 | 分隔
范例:
[@KillMon]
#if
EQUAL <$CURRRTARGETNAME> 稻草人
#act
AddMonDrop 屠龙|木剑
SENDMSG 5 杀稻草人必爆屠龙和木剑

循环脚本运行

说明:循环脚本运行次数设置

格式: Loopgoto @脚本 脚本运行次数(为空或0时,运行1次)

示范脚本:

完整脚本代码

[@循环]
#ACT
mov N1 0
mov N2 1
Loopgoto @运算 100
sendmsg 6 1加到100的结果为:<$STR(N1)>
[@运算]
#ACT
Inc N1 <$STR(N2)>
Inc N2 1
增加NPC命令:endloop中止loopgoto
[@随机取数]
#act
mov p1 0
loopgoto @取数 100
sendmsg 6 循环<$str(p1)>次,才取到>=50的数:<$str(p10)>
[@取数]
#act
inc p1 1
;此例仅做说明,实际只用取一次,取50以内的取机数+49即可
movr p10 100
#if
large p10 49
#act
endloop

所有行会同时攻城

功能:所有行会在当晚同时攻城

AddAttackSabukAll 城堡号(0)

#IF

#SAY

所有行会将于今晚同时攻城!

#ACT

AddAttackSabukAll 0

打开NPC大对话框[!]

格式:OPENMERCHANTBIGDLG WIL文件序号图片序号是否可以移动(0,1)显示位置(0=左上角,1=右上角,2=左下角,3=右下角,4=居中) 微调坐标X 微调坐标Y 是否显示关闭按钮(0,1)关闭按钮坐标X关闭按钮坐标Y窗口是否独立存在(0或为空不独立存在,1独立存在,独立存在的意思就是普通的NPC对话框和自定义大窗口NPC对话框可以同时显示,正常情况下是只能显示一个NPC对话框的,要么是普通的,要么是自定义大对话框)

例:

完整脚本代码

[@main]
#ACT
OPENMERCHANTBIGDLG 3 607 0 1 1 1 1
;根据下图中的WIL序号,3表示的是prguse2.wzl,WIL序号的计算是从0开始的,从0开始数prguse2.wzl在第三位,
;如果要调用其他素材,如果WIL资料里没有,可以先添加WIL文件到WIL资源列表,然后修改脚本的WIL文件序号,就可以调用对应的文件。
;这个脚本调用的是prguse2.wzl素材里的607这个素材,为NPC的对话框
什么是WIL文件序号?
具体可以在,M2-查看-列表信息二
关闭自定义NPC对话框
CloseBigDialogBox

打开OK对话框

格式: OPENUPGRADEDLG 显示的名称

例:

完整脚本代码

[@main]
#ACT
OPENUPGRADEDLG 装备升级(显示的名称)
;打开可以放物品的对话框,也就是装备修理或出售物品的那个对话框
OPENUPGRADEDLG 装备升级(显示的名称)
;收回OK框中的物品
TAKEDLGITEM
;返回OK框中的物品到包裹
RECLAIMITEM
点击OK键后触发字段[@UpgradeDlgItem]
[@UpgradeDlgItem]
#IF
#ACT
SENDMSG 7 名称:<$DLGITEM.NAME>-StdMode:<$DLGITEM.STDMODE>-持久:<$DLGITEM.DURA>-最大持久:<$DLGITEM.DURAMAX>
SetNewItemValue -1 0 + 10
RECLAIMITEM
SetNewItemValue 位置(-1时是OK框中的装备, 0-12时是穿在身上的装备) 属性(0-10) 操作符(+,-,= ) 值(1-100) < /FONT>
注:QF/QM打开方法
SETCURRNPC npc唯一ID
npc唯一ID:
999999996 qm
999999999 qf
999999993 任务npc
QF例子:
[@触发]
#IF
#ACT
SETCURRNPC 999999999
OPENUPGRADEDLG 装备升级(显示的名称)

打开网站OpenUrl

功能:

浏览网页

格式:

OpenUrl 地址 0或空=游戏外打开,1=游戏内打开

完整脚本代码

[@main]
#if
#act
OpenUrl http://www.996m2.com 0
SENDMSG 7 游戏外打开了网站
[@main]
#if
#act
OpenUrl http://www.996m2.com 1
SENDMSG 7 游戏内打开了网站
功能:
浏览网页
格式:
WebBrowser 地址
[@ WebBrowsertest ]
#IF
#ACT
WebBrowser http://www.996m2.com

打开自定义NPC对话框[!]

打开自定义NPC对话框

格式:OpenBigDialogBox WIL文件编号 图片编号

范例:

完整脚本代码

[@main]
#ACT
OpenBigDialogBox 16 109
#SAY
<Img:115:16:602:-15/@Label>
[@Label]
#IF
#ACT
CloseBigDialogBox
Close

扩展GIVE命令

给物品到用户包裹

GIVE 物品名称 数量 极品属性(13个参数,可以参考UPGRADEITEMEX命令 属性位置的介绍,或自己实际测试看效果) 元素属性(17个参数,从暴击机率开始) 改名名称(为空时,不改名)

例:

完整脚本代码

[@main]
#act
GIVE 布衣(男) 1 100|100|100|100|100|100|100|100|100|100|100|100|100 100|100|100|100|100|100|100|100|100|100|100|100|100|100|100|100|100|100|100 新布衣(男)
sendmsg 6 获得一个“布衣(男)”并且自动改名为“新布衣(男)”

扩展MessageBox

MessageBox 信息 @确定 @取消

注意:参数之间的空格必须严格按规定书写,不可使用多个空格或tab键

完整脚本代码

[@main]
#if
#act
MessageBox 是否确认要删除 @确定 @取消
[@确定]
点击的确定
[@取消]
点击的取消
MESSAGEBOX支持颜色写法
例如:
MESSAGEBOX{测试颜色/FCOLOR=250}=={哈哈哈/FCOLOR=249}@确定 @取消

扩展MOVR使用方法

功能:

扩展MOVR使用方法 。

格式:

MOVR 变量 数值1 数值2

MOVR G10 100 ;随机生成100以内的随机数.

MOVR G10 10 100 ;随机生成10-100之间随机数

MOVR G10 100 5000 ;随机生成100-5000之间随机数

MOVR G10 1000 9999 ;随机生成1000-9999之间随机数

;========================================= =

扩展传送地图MAPMOVE

扩展MAPMOVE 支持范围

MAPMOVE 0 330 330 3

回城到以坐标 330 330为中心的随机3格范围内

把人物加入行会

格式: ADDGUILDMEMBER 行会名称 人物名称(人物名称为空时把自己加入到行会)

[@main]

#ACT

ADDGUILDMEMBER 行会名称

把人物的属性叠加给宝宝

把人物的属性叠加给宝宝,需要把宝宝召唤出来,才可以叠加属性

ChangeSlaveAbil 宝宝名称 类型(0叠加到攻击,1叠加到防御) 叠加百分比(人物属性的百分之几叠加多少给宝宝) 使用人物的什么属性叠加给宝宝(0道术 1魔法 2攻击)

把行会加入攻城列表

格式: ADDTOCASTLEWARLIST 城堡名称 行会名称(行会名称为*号时所有行会加入到攻城列表) 天数(几天后开始攻城,该参数可以为空,为空时按照引擎设置的天数)

[@main]

#ACT

ADDTOCASTLEWARLIST 沙巴克 1

指定怪物直接爆物品

[@main] #ACT ;可以指定怪物直接爆物品,如果没有攻击目标,就以自己的坐标爆物品,如果有攻击的目标,就会以攻击的目标的坐标爆物品 ;ScatterBagItems 怪物名称 爆率倍数(实际倍率=当前设置的值除以100 需要在M2里开启 选项-功能设置-其他控制(1)里开启爆率倍数才能生效) ScatterBagItems 红野猪 100

按地图列表移动

功 能:

先设定每一张地图停留的地间,再把地图列表添加一下,人物会

从第一张地图开始一张一张移动到最后一张

例子:

[@Test]

#IF

#ACT

batchDelay 1 ;(暂停时间)

addbatch B102 ;步进地图名1

addbatch B103 ;步进地图名2

补充说明

详细说明

addbatch B104 ;步进地图名3

addbatch B105 ;步进地图名4

addbatch B106 ;步进地图名5

addbatch B107 ;步进地图名6

batchmove ;开始从第一个步进地图移动到最后一个步进地图(这里是6)

排序行会在线人数

按在线人数排序,导出行会名称

SortGuildToList导出文本路径排序模式(0,1)保存模式(0=只有行会名称,1=以冒号分割 行会名称:在线人数)

;示例

SortGuildToList ..\QuestDiary\行会名称.txt 0 0

播放人物效果PLAYEFFECT

格式: PLAYEFFECT WIL文件序号 开始图片数 播放图片张数 播放次数 播放速度(毫秒) 绘制模式(0特效绘制,1普通绘制) X Y 播放顺序(0角色上面 1角色下面) ID组

支持怪物

WIL文件序号是在M2里编辑好的,详见M2-查看-列表信息二-WIL资源

完整脚本代码

[@main]
#ACT
PLAYEFFECT 0 0 10 1 300
清空PLAYEFFECT播放的特效
CLEARPLAYEFFECT ID组
参数1=0或空表示清除所有人物特效,大于0时表示清除对应的ID组特效
[@测试]
#ACT
CLEARPLAYEFFECT

播放窗口特效PlayWindowEffect

PlayWindowEffect 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10

参数1(0:NPC对话框 1:NPC对话框2 2:人物包裹窗口 3:人物装备窗口 4:查看目标装备窗口 5:英雄包裹窗口 6:英雄装备窗口 7:血球聊天框左边的窗口 8:聊天框窗口 9:聊天框右边的窗口)

参数2(0~7共8个效果)

参数3(WIl序号)

参数4(开始图片序号)

参数5(结束图片序号)

参数6(播放间隔速度,毫秒)

参数7(播放次数,0表示无限次)

参数8(微调坐标X)

参数9(微调坐标Y)

补充说明

详细说明

参数10(有两个参数使用“|”隔开,绘制模式(0,1)|是否在最上层绘制(0,1),例如:1|1)

[@PlayWindowEffect]

#ACT

PlayWindowEffect 0 0 0 10 20 100 1 0 0 1|1

播放网络MP3

说明: 播放网络上的MP3文件,或者本地MP3文件.

格式: PlayMP3 http://www.996m2.com/123.mp3

注意: 如果是本地文件会自动搜索客户端Music目录中同名文件.

[@main]

#IF

#ACT

PlayMusic 100.MP3

播放音乐

格式: playsound 文件位置 循环次数 播放模式(0播放给自己,1播放给全服,2播放给同一地图,,4播放给同屏人物)

[@main]

#ACT

PLAYSOUND Wav\1.wav 1 0

收回OK框中的物品

格式: TAKEDLGITEM

例:

完整脚本代码

[@main]
#ACT
TAKEDLGITEM
例:
[@main]
#ACT
OPENUPGRADEDLG 装备升级(显示的名称)
;打开可以放物品的对话框,也就是装备修理或出售物品的那个对话框
OPENUPGRADEDLG 装备升级(显示的名称)
;收回OK框中的物品
TAKEDLGITEM
;返回OK框中的物品到包裹
RECLAIMITEM
点击OK键后触发字段[@UpgradeDlgItem]
[@UpgradeDlgItem]
#IF
#ACT
SENDMSG 7 名称:<$DLGITEM.NAME>-StdMode:<$DLGITEM.STDMODE>-持久:<$DLGITEM.DURA>-最大持久:<$DLGITEM.DURAMAX>
SetNewItemValue -1 0 + 10
RECLAIMITEM
SetNewItemValue 位置(-1时是OK框中的装备, 0-12时是穿在身上的装备) 属性(0-10) 操作符(+,-,= ) 值(1-100)

改变人体颜色

格式: SETBODYCOLOR 颜色(0~255)255时清除颜色 改变时长(秒)

[@main]

#ACT

SETBODYCOLOR 253

H.SETBODYCOLOR 253

改变人物攻击模式

ChangeAttatckMode (0~7)

;0-全体攻击(主动攻击) 1-和平攻击(不PK) 2-夫妻攻击 3-师徒攻击 4-编组攻击 5-行会攻击 6-红名攻击 7-国家攻击

改变人物状态

格式: MAKEPOSION 类型(0-5,0和1是绿毒和红毒 5是麻痹 12冰冻 13蛛网 其他无效) 时间(秒) 威力

宝宝专用改变状态

BMAKEPOSION 类型(0-5,0和1是绿毒和红毒 5是麻痹 12冰冻 13蛛网 其他无效) 时间(秒) 威力

例:

完整脚本代码

[@main]
#ACT
MAKEPOSION 5 10 10
#SAY
你被麻痹了
[@main]
#ACT
MAKEPOSION 12 10
#SAY
你被冰冻了
[@main]
#ACT
MAKEPOSION 13 10
#SAY
你被蛛网缠绕

改变用户模式

说明

功 能:
增加脚本命令ChangeModeEx
改变人物当前模式(无敌,隐身,生命,魔法,攻击力,魔法力,道术力,攻击速度,禁止攻击,锁定,禁锢,冰冻,蛛网,防麻痹,防禁锢,防冰冻,防蛛网,麻痹,护身,吸血,吸蓝,对怪隐身(人物不虚化),复活,破复活,定身,失明,混乱,流血 )
//格式: ChangeModeEx 模式(1-24) 时间(1-65535) 附加值(1-21亿)
//说明: 1=无敌 2=隐身 3=HP 4=MP 5=攻击力 6=魔法力 7=道术力 8=攻击速度 9=禁止攻击 10=锁定
//第三个参数隐身,禁止攻击时没有使用.
//如果是无敌时,参数三为0或空无敌立即满血,为1时只无敌不回血。
//如果是禁锢时,第三个参数表示禁锢范围
//11 禁锢(释放一个类似困魔咒的光圈,敌对人物或怪物只能在这个圈子里移动,无法走出圈子外面,所有传送失效,不能小退)
//12 冰冻
//13 蛛网
//14 防麻痹
//15 防禁锢
//16 防冰冻
//17 防蛛网
//18 麻痹
//19 护身
//20 吸血
//21 吸蓝
//22 隐身(类似隐身戒指)
//23 复活
//24 破复活
//25 定身 禁止移动
//26 失明
//27 混乱 不受控制随机走动
//28 持续流血
例子:

完整脚本代码

[@Test]
#IF
#ACT
ChangeModeEx 1 60
#SAY
给你1分钟的无敌时间,好好利用哦!
#IF
#ACT
ChangeModeEx 5 60 20
#SAY
60秒之内攻击力增加20点.
[@Main]
#ACT
ChangeModeEx 11 10 3
SENDMSG 6 你被禁锢10秒
ChangeModeEx 12 10 5 3
SENDMSG 6 10秒内攻击目标,可以使目标冰冻,冰冻机率5(数字越大机率越低),冰冻时长3秒
ChangeModeEx 13 10 5 3
SENDMSG 6 10秒内攻击目标,可以使目标中蛛网,中蛛网机率5(数字越大机率越低),中蛛网时长3秒
ChangeModeEx 14 10
SENDMSG 6 10秒内可以防麻痹
ChangeModeEx 15 10
SENDMSG 6 10秒内可以防禁锢
ChangeModeEx 16 10
SENDMSG 6 10秒内可以防冰冻
ChangeModeEx 17 10
SENDMSG 6 10秒内可以防蛛网
ChangeModeEx 18 10 5 3
SENDMSG 6 10秒内攻击目标,可以使目标麻痹,麻痹机率5(数字越大机率越低),麻痹时长3秒
ChangeModeEx 19 10
SENDMSG 6 护身,有效10秒
ChangeModeEx 19 10 100
SENDMSG 6 护身,有效10秒,掉蓝比例为设置值除以100
ChangeModeEx 20 10 100 50
SENDMSG 6 10秒内攻击目标,可以吸血,吸血机率100(数字越大机率越高 100表示每次都会吸血),吸血百分比50%(比如攻击伤害值是10000,50%的吸血比例,可以吸血5000)
ChangeModeEx 21 10 100 50
SENDMSG 6 10秒内攻击目标,可以吸蓝,吸蓝机率100(数字越大机率越高 100表示每次都会吸蓝),吸蓝百分比50%(比如攻击伤害值是10000,50%的吸蓝比例,可以吸蓝5000)
ChangeModeEx 22 10
SENDMSG 6 10秒内对怪物隐身
ChangeModeEx 23 3600 3
SENDMSG 6 一个小时内可以复活3次
ChangeModeEx 24 3600
SENDMSG 6 一个小时内可以破复活
ChangeModeEx 26 5 10
; 你 失明了,只能看到屏幕5格内目标,10秒后恢复正常
ChangeModeEx 27 0 10
; 你 进入一次混乱状态,攻击目标丢失,随机移动位置 10秒钟结束
ChangeModeEx 28 60 100 1
SENDMSG 6 你流血了,间隔1秒损失100点生命值.持续60秒

新游戏点[!]

新游戏点

检测命令 CHECKGAMEGOLDEX 检测符(<,>,=,?) 值

操作命令 GAMEGOLDEX 操作符(+,-,=) 值

显示变量 <$GAMEGOLDEX>

新的装备改名

功能: 新的装备改名

格式: ChangeItemName 物品位置(0-28,30-47) 名字

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

6 左手镯

补充说明

详细说明

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

总物品名称支持60字符,字符包含名称中各种符号,2个符号为一个汉字!

Changeitemname 1 怒斩+{极品|249}[+<TextAtlas:10:50:0:0:8>]

Changeitemname 1 屠龙<img:4:10:0:0>

Changeitemname 1 {嗜魂法杖|70}支持变色{极品|253}<PlayImg:10:70:10:200:0:0:0:0:0>

#IF

#ACT

ChangeItemName 1 新名字

显示一个放大的虚影

功能:显示一个放大的虚影

SHOWPHANTOM 参数1(任意字符,不能为空) 参数2(任意字符,不能为空) 参数3(任意字符,不能为空) 参数4(任意字符,不能为空) 参数5(任意字符,不能为空) 参数6(透明度(0~255)) 参数7(任意字符,不能为空) 参数8(任意字符,不能为空) 参数9(时间(秒)) 参数10(任意字符,不能为空)

======================================================BUFF ===============================

[@人物放大]

#ACT

SHOWPHANTOM * * * * * 120 * * 10 *

SENDMSG 6 人物放大透明度120,10秒后恢复正常

显示倒计时信息提示

功能:

显示倒计时信息提示

格式:

SENDDELAYMSG 信息内容 时间(秒) 字体颜色 换地图是否删除 跳转字段 [@测试]

完整脚本代码

#if
#act
SENDDELAYMSG 你的礼物在%s后到达 300 255 0 @给礼物
[@给礼物]
#ACT
GIVE 布衣(男)
300秒倒计时结束后会执会当前脚本文件里的[@给礼物]段

设置技能快捷键

(M2-选项-功能设置-技能魔法-开启技能CD显示)

显示技能CD时间,并且有动画显示,动画素材在必备补丁(NewopUI.Pak)的1630~1689

可以到人物属性框,技能界面拖动技能按钮到屏幕上

也可以使用脚本命令直接设置

ShowScreenMagicTime 技能名称 X Y 快捷键(值在49~56为 F1~F8 69~76为 Ctrl+F1~Ctrl+F8,0表示不改变快捷键) 是否可以拖动(0可以 1不可以)

完整脚本代码

[@显示技能CD]
#ACT
SHOWSCREENMAGICTIME 烈火剑法 100 100 0 1
SHOWSCREENMAGICTIME 逐日剑法 140 100 0 0
[@获取技能快捷键]
#ACT
GetSkillKey 烈火剑法 N1
;N1值在49~56为 F1~F8 69~76为 Ctrl+F1~Ctrl+F8

更换性别

功能:

更换性别 。

格式:

CHANGEGENDER 性別(男 0 女 1)

完整脚本代码

[@toman]
#IF
#ACT
CHANGEGENDER 0
#SAY
呵呵,你已经变成一位猛男了。\ \
[@towoman]
#IF
#ACT
CHANGEGENDER 1
#SAY
呵呵,你已经变成一位淑女了。\ \

转换职业

功能:

转换职业。

格式:

CHANGEJOB 职业名称(Warrior,Wizard,Taoist)

;转职业为武士

完整脚本代码

[@changejob0]
#IF
#ACT
CHANGEJOB Warrior
#SAY
你的职业已经变成武士了。
;转职业为法师
[@changejob1]
#IF
#ACT
CHANGEJOB Wizard
#SAY
你的职业已经变成法师了。
;转职业为道士
[@changejob2]
#IF
#ACT
CHANGEJOB Taoist
#SAY
你的职业已经变成道士了。

更改头发类型

功能:

更改头发类型

格式:

完整脚本代码

[@ChangeHair]
#if
#act
HAIRSTYLE 0
#say
你的头发已更改

更改人物颜色

功能:

更改人物颜色。

格式:

CHANGENAMECOLOR 颜色代码(0-255)

;设置人物的名称颜色

完整脚本代码

[@changeexp0]
#IF
#ACT
CHANGENAMECOLOR 2
#SAY
你的颜色已改变。

杀死人物

功能:

杀死人物.

格式:

CLEARPASSWORD

;杀死人物

KILL 0 人物死亡,不显示凶手信息

KILL 1 人物死亡不掉物品,不显示凶手信息

KILL 2 人物死亡,显示凶手信息为NPC

KILL 3 人物死亡不掉物品,显示凶手信息为NPC

完整脚本代码

[@KILL]
#IF
#ACT
KILL 2

永久增加人物属性点

功能:

永久增加人物属性点 。(支持英雄)

格式:

USEBONUSPOINT 属性位置(1-14) 控制符(+,-,= ) 点数

1-攻击力 2-魔法力 3-道术力 4-防御力 5-魔防力 6-生命值 7-魔法值 8- 准确 9-躲避 10-防御下限 11-防御上限 12-魔御下限 13-魔御上限 14-吸收伤害

完整脚本代码

[@Main]
#ACT
USEBONUSPOINT 1 + 20
SENDMSG 7 攻击力增加20点.
[@Main]
#ACT
USEBONUSPOINT 2 + 20
SENDMSG 7 魔法力增加20点.
[@Main]
#ACT
USEBONUSPOINT 3 + 20
SENDMSG 7 道术力增加20点.
[@Main]
#ACT
USEBONUSPOINT 4 + 20
SENDMSG 7 防御力增加20点.
[@Main]
#ACT
USEBONUSPOINT 5 + 20
SENDMSG 7 魔防力增加20点.
[@Main]
#ACT
USEBONUSPOINT 6 + 20
SENDMSG 7 生命值上限增加20点
[@Main]
#ACT
USEBONUSPOINT 7 + 20
SENDMSG 7 魔法值上限增加20点.
[@Main]
#ACT
USEBONUSPOINT 8 + 20
SENDMSG 7 准确增加20点.
[@Main]
#ACT
USEBONUSPOINT 9 + 20
SENDMSG 7 躲避增加20点.

添加行会成员

功能:

添加行会成员 。

格式:

AddGuildMember 行会名称 人物名称

完整脚本代码

[@Test]
#if
#act
AddGuildMember 测试行会 <$USERNAME>
#say
你已经成功加入[测试行会]行会中

清空技能CD

ClearSkillWaitTime 技能ID

;示例

完整脚本代码

[@main]
#ACT
ClearSkillWaitTime 26
sendmsg 6 可以使用烈火剑法了

清除SendCenterMsg DelayGoto

清除延迟跳转:

CLEARDELAYGOTO

参数1:空为清楚全部倒计时

参数2:@清除指定跳转字段

完整脚本代码

[@main]
#act
CLEARDELAYGOTO
sendmsg 6 DELAYGOTO延迟时清除
[@main]
#act
CLEARDELAYGOTO 1
sendmsg 6 SendCenterMsg倒计时清除
[@main]
#act
CLEARDELAYGOTO 1 @新手赠送
sendmsg 6 清除字段为@新手赠送的倒计时

清除人物转生

功能:

清除人物转生数据(即人物转生后恢复到未转生状态)

格式:

[@ClearRenewLevel]

#IF

#ACT

RestRenewLevel

清除列表内容

脚本功能:

清除列表内容

命令格式:

CLEARNAMELIST namelist.txt

;清除列表

完整脚本代码

[@Clearnamelist]
#IF
#ACT
CLEARNAMELIST namelist.txt
#SAY
列表已被清除

清除地图物品

功能:

清理地图上指定名字的物品.

格式:

CLEARITEMMAP 地图 X Y 范围 物品名称 (清除地图物品,不带物品名称则清除所有)

说明:

物品名字等于*时表示指定范围内的所有物品.

;清除盟重安全区内的回城卷

完整脚本代码

[@main]
#IF
#ACT
CLEARITEMMAP 3 330 330 10 回城卷
#SAY
盟重安全区内的回城卷都被清除了。
清除盟重安全区内所有物品
[@main]
#IF
#ACT
CLEARITEMMAP 3 330 330 10
#SAY
盟重安全区内的所有物品都被清除了。

清除屏幕特效

清空SCREENEFFECT播放的特效

SCREENEFFECT (0自己 1所有人) ID组(可空,清除所有)

[@测试]

#ACT

CLEARSCREENEFFECT

清除延时移动

功能:

清除延时移动

格式:

BREAKTIMERECALL

完整脚本代码

[@Test]
#IF
#ACT
BREAKTIMERECALL
#Say
延时移动已清除

清除地图中的怪物

功能:

用于清除指定地图里的怪物,人物的宝宝不在此范围以内,禁止清除怪物列表中的怪物不会被清除。

此功能一般用于动态刷怪方式,在有人的地图出现怪物,没人时地图上的怪物全部清除,以大大节约机器资源。

命令格式:

CLEARMAPMON 地图号

例子:

完整脚本代码

#ACT
CLEARMAPMON D717
#say
<返回/@main>

清除结婚信息

[@delMarry]

#if

DELMARRY

#say

你的结婚信息已清除

物品关联命令LINKPICKUPITEM

LINKPICKUPITEM脚本命令

功能:可以对物品进行关联,该命令扔触发里[@DropItemX] [@PickUpItemX] [@TakeOffX] [@ScatterBagItems]

完整脚本代码

[@DropItem0]
#IF
#ACT
LINKPICKUPITEM
;关联后就可以使用其他脚本命令对刚刚扔的物品进行检测,或操作
;修改该物品的名称颜色
CHANGEITEMNAMECOLOR -1 253
;修改物品星星数量
CHANGEITEMUPGRADECOUNT -1 + 1
[@PickUpItem0]
#IF
#ACT
LINKPICKUPITEM
;关联后就可以使用其他脚本命令对刚刚捡取的物品进行检测,或操作
;修改该物品的名称颜色
CHANGEITEMNAMECOLOR -1 253
;修改物品星星数量
CHANGEITEMUPGRADECOUNT -1 + 1
;修改后的参数,刷新到客户端
SENDUPGRADEITEM
[@ScatterBagItems]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你杀人了:【<$CURRRTARGETNAME>】,这个人包裹里爆出物品
#ELSEACT
SENDMSG 6 你杀怪了:【<$CURRRTARGETNAME>】,这个怪物爆出物品
#IF
#ACT
LINKPICKUPITEM
;支持用命令链接命令,用脚本命令对当前爆出的物品操作或检测

特修装备

功能:

特修装备 , 在物品规则列表中限制物品的不会被修理

格式:

RepairAll

该命令是检测命令,会自动扣除金币。

如果无法修理:

1.金币不够

2.需要修理的物品设置不允许修理的物品规则

3.该NPC文件头没有加上允许修理的代码.例如修理衣服需要加上 +10 +11

ActRepairAll

补充说明

详细说明

该命令是操作命令,不会扣金币

;特修装备

完整脚本代码

[@Test]
#IF
RepairAll
#SAY
你的装备修好了.
#ELSESAY
你是不是没有钱啊.
#IF
#ACT
ACTREPAIRALL
#SAY
你的装备修好了.

百分比

百分比 格式: PERCENT N1 N2 N3即N1= (N2/N3)*100

完整脚本代码

[@MAIN]
#IF
#ACT
Mov N2 10
Mov N3 100
PERCENT N1 <$STR(N2)> <$STR(N3)>
SENDMSG 1 百分比∶<$STR(N1)>

禁止小退

[@SoftClose]

;配合禁止小退命令,可以禁止人物小退

;“DIABLESOFTCLOSE”该命令只能在[@SoftClose]下使用,其他地方无效

DIABLESOFTCLOSE

变量数据传递MOVEX

MOVEX这个命令和MOV使用一样,不过在多级脚本使用中不一样

多级脚本触发,存在2个人物:

一个是执行脚本的人物,另外一个是触发这个脚本的人物,也就是说一个脚本是人物A执行的,但是这个脚本是由人物B触发后才开始运行的

看下面的例子:

完整脚本代码

[@main]
#ACT
MOV S1 神话
S1.MOVEX S2 <$USERNAME>
SENDMSG 6 S2使用的是神话这个人物的,<$USERNAME>这个使用的是,谁点击这个脚本,就调用的谁的
SENDMSG 6 这个脚本存在2个人,执行脚本的人物S1和点击触发脚本的人物

秒杀保护 防秒杀

ProtectHP 检测可以保护血量或血量的百分比最低值 秒杀时设置的血量或血量百分比 时间(秒) 是否是百分比(1是 0不是)

完整脚本代码

[@防秒杀百分比]
#act
ProtectHP 90 10 360 1
SENDMSG 6 该脚本的意思是,你的血量在大于等于90%的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10%,并且触发QF字段[@ProtectHP],有效期360秒
[@防秒杀]
#act
ProtectHP 100 10 360 0
SENDMSG 6 该脚本的意思是,你的血量在大于等于100的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10,并且触发QF字段[@ProtectHP],有效期360秒
QF触发
[@ProtectHP]
#ACT
防秒杀保护成功
请去M2选项-参数设置-PK控制 里面设置

移动到回城点

功能:

移动到回城点

使用方法:

完整脚本代码

[@main]
#if
#act
GoHome
#say
你已经回城了

穿人模式

功能: 改变当前人物的穿人,穿怪模式.

格式: THROUGHHUM 模式 时间(秒)

模式: [-1=恢复/0=穿人穿怪/1=穿怪/2=穿人]

#IF

#ACT

ThroughHum 1 60

SendMsg 5 60秒之内可随意穿怪.

累加行会所有在线成员的个人变量

AddGuildHumVar 行会名称 需要累加的变量(N等等数字变量) 累加结果保存变量

;示例

ADDGuildHumVar 兄弟团 U20 N$统计总数

sendmsg 7 兄弟团中的所有在线成员的U20变量累加合计为<$STR(N$统计总数)>

练习技能

功能:脚本增加

ADDSKILL 参数1:技能名称 参数2:技能等级(可空为0级) 参数3:技能别名(可空)

其他命令都可以直接操作技能别名, 如果学习了雷电术再学狂雷术那么只会有雷电术

完整脚本代码

[@addskill]
#IF
#ACT
ADDSKILL 雷电术
#SAY
你已经练习雷电术了。
#IF
#ACT
ADDSKILL 雷电术 3 狂雷术
#SAY
你已经练习雷电术了。
功能:清除人物非本职业的所有 技能
[@clearskill]
#IF
#ACT
DELNOJOBSKILL
#SAY
你的非法 技能 已经清除了。
功能:清除人物的所有 技能
[@clearskill]
#IF
#ACT
CLEARSKILL
#SAY
你的所有 技能 已经清除了。
功能:脚本删除指定 技能
[@delskill]
#IF
#ACT
DELSKILL 雷电术
#SAY
你的雷电术已删除了。
#IF
#ACT
DELSKILL 狂雷术
#SAY
你的雷电术已删除了。
功能:脚本调整 技能 点数
格式:CHANGETRANPOINT 控制符(+,-,=) 点数
[@CHANGETRANPOINT]
#IF
#ACT
CHANGETRANPOINT 雷电术 = 100
功能:检查人物 技能
格式:CHECKSKILL 技能 名称 检测符(<,>,=,?) 等级
例:
[@main]
#IF
CHECKSKILL 雷电术 = 1
#ACT
ADDSKILL 雷电术
#ELSEACT
SENDMSG 6 你已经学习了雷电术。
#IF
CHECKSKILL 狂雷术 = 1
#ACT
ADDSKILL 狂雷术
#ELSEACT
SENDMSG 6 你已经学习了狂雷术。
功能:检查人物是否学习了某项魔法
[@main]
#IF
CheckMagicName 烈火剑法
#SAY
你已经学会了烈火剑法.
功能:
脚本调整技能等级。
格式:
SKILLLEVEL 魔法名称 调整符(+,-,=) 等级 是否调整强化技能(0或为空时为技能等级,1为强化技能等级)
[@skilllevel0]
#IF
#ACT
SKILLLEVEL 雷电术 = 3
#SAY
你的雷电术等级已经为3级。
;
[@skilllevel1]
#IF
#ACT
SKILLLEVEL 雷电术 + 1
#SAY
你的雷电术等级已经升了1级。
;
[@skilllevel2]
#IF
#ACT
SKILLLEVEL 雷电术 – 1
#SAY
你的雷电术等级已经降了1级。
[@ skilllevel3 ]
#IF
CHECKSKILL 冰咆哮 = 0 1
#ACT
SKILLLEVEL 冰咆哮 = 1 1
SENDMSG 6 冰咆哮已修炼到强化一重

给予带绑定状态装备[!]

功能:

给予带绑定状态装备。主要方便设置不能配带的装备绑定状态

格式:

格式:CheckItemBind 装备位置(-1~28或30~47,-1时为OK框中物品)

GiveStateItem 物品名称 项目1 项目2 项目3 项目4 项目5 项目6 项目7(0为正常,1为绑定) 数量) 改名名称(为空时,不改名)

;项目1–禁止扔,项目2–禁止交易,项目3–禁止存,项目4–禁止修,项目5–禁止出售,项目6–禁止爆出的装备,项目7–丢弃消失

[@给一个绑定的装备]

#ACT

GiveStateItem 木剑 1 0 0 0 0 0 0 1 新木剑

SENDMSG 6 给你一个绑定木剑并且禁止扔,并且把名字改为“新木剑”

补充说明

详细说明

GiveStateItemex

给予格式:GiveStateItemex 物品名称 数量 项目1 项目2 项目3 项目4 项目5 项目6 项目7 项目8 ;0为正常,1为绑定项目类型

绑定类型;项目1=禁止扔;项目2=禁止交易;项目3=禁止存;项目4=禁止修;项目5=禁止出售;项目6=禁止爆出的装备;项目7=丢弃消失;项目8=禁止摆摊或拍卖行

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

编组地图传送

功能:编组地图传送

GROUPMAPMOVE 地图号 X Y 可以传送最低等级(可以为空,为空时不检测队员的等级直接传送) 触发字段(可以为空)

完整脚本代码

[@main]
#IF
#ACT
GROUPMAPMOVE 3 333 333 1 @GROUPMAPMOVE
[@GROUPMAPMOVE]
#IF
#ACT
SENDMSG 6 组队传送
功能: 编组地图随机传送
GROUPMOVE 地图号 可以传送最低等级(可以为空,为空时不检测队员的等级直接传送) 触发字段(可以为空)
[@main]
#IF
#ACT
GROUPMOVE 3 1 @GROUPMOVE
[@GROUPMOVE]
#IF
#ACT
SENDMSG 6 组队传送
相关命令:
检查是否为组长: ISGROUPMASTER

脚本修改浑水摸鱼模式

ChangeSecretMode 参数1 参数2 参数3 参数4

浑水摸鱼模式 进入浑水摸鱼地图QF触发字段 [@EnterSecretMap]

参数1:

01 禁止说话

02 禁止名字变色

04 禁止看对方装备

08 统一名字 //第2参数就是指定显示的名字 修改使用这个常量时<$USERNAME>也显示统一名字,如果要显示真实的名称使用常量<$REALUSERNAME>

16 统一装备外观 //第3参数指衣服外观,第4参数指武器外观

32 是否百分比显血 //是否人物、英雄HP以百分比显示

64 禁止玩家脱下衣服,武器,组队

补充说明

详细说明

128 隐藏称号显示和顶戴花翎 。隐藏顶戴和称号自己可见自己的

如果要多个功能起作用,相加对应的数字即可,

例如:禁止名字变色(02) + 禁止看对方装备(04) +统一装备外观(16),等于:22,既是第1参数= 22

参数2:有效时间(秒)

参数3:统一名字(参数1有统一名字时有效)

参数4:统一衣服外观(参数1有统一装备外观时有效)

参数5:统一武器外观(参数1有统一装备外观时有效)

[@main]

#ACT

ChangeSecretMode 63 30 神秘人 35 68

SENDMSG 6 浑水摸鱼模式,有效期30秒

脚本命令刷怪

格式:

MonGenEx 地图文件名称 X Y 怪物名称 范围 数量 是否内功怪物(0否,1是) 名称颜色(0~255) 国家名称(属于哪个国家的怪物,没有可以为空) 同一个国家玩家是否可攻击怪怪物(0不可以,1可以)

最后2个参数是国家怪物设置,如果没有可以留空

完整脚本代码

[@main]
#if
#act
MonGenEx 3 330 330 白野猪 12 10 0 255

脚本命令设置技能威力

设置技能伤害/防御 格式: SetSkillPower 技能ID +/-/= 人物伤害增加% 人物伤害增加值 怪物伤害增加% 怪物伤害增加值 防御增加% 防御增加值 时间(秒;-1一直有效)

示范脚本:

#act

SetSkillPower 66 = 100 0 100 0 0 0 -1

SENDMSG 6 你的开天斩技能对人物伤害增加为原来的2倍(增加100%),对怪物伤害为原来的2倍(增加100%)

获取技能伤害/防御

GetSkillPower 技能ID 人物伤害增加%(变量) 人物伤害增加值(变量) 怪物伤害增加%(变量) 怪物伤害增加值(变量) 防御增加%(变量) 防御增加值(变量) 时间(变量)

四级技能威力

cfg_magic.xls第38列(AM列)

等级技能威力书写格式,最多支持4-10级

补充说明

详细说明

等级#威力(万分比)|等级#威力(万分比)

例如:4#12000|5#14000|6#16000|7#18000|8#20000

4级1.2倍 5级1.4倍 6级1.6倍 7级1.8倍 8级2.0倍

脚本命令释放技能

脚本命令释放技能 无需蓝药,无需毒符,无需练习该技能(技能数据库里有就可以),也不受技能的时间间隔限制,可以直接释放技能 releasemagic 参数1 参数2 参数3 参数4 参数5

参数1 释放技能id (能支持自定义技能)

参数2 技能是否是强化技能 0= 普通技能 1= 强化技能

参数3 技能等级

参数4 技能目标 1= 攻击目标 2= 自身

参数5 0=或为空的时候,有技能动作 1= 无技能动作,战士技能无效

完整脚本代码

[@attack]
#if
#act
releasemagic 26 0 3 1
SENDMSG 6 你的物理攻击触发了一次3级烈火剑法
[@magicattack]
#if
equal <$CURRRUSEMAGICID> 11
#act
releasemagic 33 1 9 1
SENDMSG 6 你的雷电术触发特效攻击,对怪物释放了一次强化九重冰咆哮
#if
equal <$CURRRUSEMAGICID> 11
#act
releasemagic 2 0 3 2
SENDMSG 6 你的雷电术攻击为自己释放了一次3级治疗术

自动一键捡取物品

自动一键捡取物品 ,引擎-查看-列表信息二-内挂捡取 物品的一键捡取勾选的该命令才可以捡取成功 玩家内挂里物品的自动捡取也要勾上才能捡取

如果是假人使用一键自动捡取,引擎-查看-列表信息一允许捡取列表里 加入的列表的物品才能一键自动捡取

引擎有两个自动捡取脚本“PICKUPITEMS”这个命令使用一下捡取一次

“StartPickUp”这个命令使用后就开始自动捡取。除非使用“StopPickUp”才会停止自动捡取,以下两种方式任选一个就可以

自动拾取模式 :StartPickUp 参数 1 参数 2 参数 3

参数 1; 0= 人物为中心捡取, 1= 小精灵为中心捡取 (后续扩展保留参数,暂时不可用) 可空,为空时默认人物为中心

参数 2; 拾取范围 ( 最大: 8 格 ) 可空,为空时默认5格

参数 3; 捡取毫秒间隔最小 500 毫秒 可空,为空时默认1000毫秒,(建议间隔1000毫秒)

注意:(自动捡取不捡自己丢出去的物品)

一键捡取脚本⑴:

补充说明

详细说明

这一种性能更好点,使用简单,不容易造成服卡

;启动一键捡取

StartPickUp

;停止一键捡取

StopPickUp

需要到M2-查看-列表信息二-内挂捡取-勾选自动捡取

完整脚本代码

[@main]
#ACT
StartPickUp
sendmsg 6 一键捡取开启成功,捡取人物为中心5格范围内的物品,间隔1000毫秒
[@main]
#ACT
StartPickUp 0 6 500
sendmsg 6 一键捡取开启成功,捡取人物为中心6格范围内的物品,间隔500毫秒
[@停止一键捡取]
#ACT
StopPickUp
sendmsg 6 一键捡取已经关闭
一键捡取脚本⑵:
PICKUPITEMS X Y 范围(不能超过20) 是否按照(M2-查看-列表信息二-内挂捡取) 设置的捡取(1按照设置的捡取 0捡取所有物品) 人物死亡爆的物品是否捡取(0捡取,1不捡取)
可以在杀怪触发里使用,或者做个自定义技能,使用该自定义技能来触发这个命令
这个命令使用一下捡取一次,需要不停的触发该命令,或者在定时器里使用
;杀怪触发里
[@KillMon]
#ACT
MOV N200 <$KILLMONX>
MOV N201 <$KILLMONY>
;可以延时2秒在去捡取,让物品爆到地面上,如果不延时,会直接进包裹,地面上看不见
DELAYGOTO 2000 @自动捡取
[@自动捡取]
#ACT
PICKUPITEMS <$STR(N200)> <$STR(N201)> 3 1 1

自动寻路

功能: 自动移动到指定坐标.

格式: GotoNow X Y

例子: 在盟重时自动移动到330 330

#IF

IsOnMap 3

#ACT

GotoNow 330 330

自动穿取装备

说明

功能:
自动穿取装备 。
格式:
穿装备 TakeOnItem 装备名称 位置(0-16)
脱装备 TakeOffItem 位置(0-16)
物品位置:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服
18 时装武器
;穿装备

完整脚本代码

[@TakeOnItem]
#IF
#ACT
TakeOnItem 天魔神甲 0
#SAY
已经帮你穿上衣服了。
;脱装备
[@TakeOffItem]
#IF
#ACT
TakeOffItem 0
#SAY
已经帮你把衣服脱下来了。

自动穿装备和取装备

自动穿装备和取装备.新人出生就无需手动穿装备了.

例子:

;自动穿装备

AutoTakeOnItem 装备名称 位置(0-16)

;自动脱装备

AutoTakeOffItem 位置(0-16)

物品位置:

0 盔甲

1 武器

2 照明物

补充说明

详细说明

3 项链

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服

18 时装武器

自动行走

功 能:

自动行走 AUTOGOTOXY 地图名称 X坐标 Y坐标

例子:

[@Test]

#IF

#ACT

AUTOGOTOXY 3 330 330

自定义变量功能

功能:

自定义变量功能,不再受固定几个变量限制

使用方法:

三个步骤:

1、首先要声明变量

2、读取变量

3、保存变量

该变量支持增加、减少、脚本查看、检查大小等功能,该功能的开发突破了变量使用受限制,利用该变量可制作出超强功能脚本。

脚本样例:

<声明变量 /@newvarInteger > \

补充说明

详细说明

<查看变量 /@viewvarInteger > \

<读取变量 /@loadvarInteger > \

<保存变量 /@savevarInteger > \

<增加变量 /@calcvarinc > <检查变量是否大于5/@checklarage5>\

<减少变量 /@calcvardec > <检查变量是否小于5/@checksmall5>\

<检查变量是否等于5/@checkequal5>

完整脚本代码

[@calcvarinc]
#IF
#ACT
CALCVAR HUMAN QQQQ + 5
goto @varcontrol
[@calcvardec]
#IF
#ACT
CALCVAR HUMAN QQQQ – 5
goto @varcontrol
[@checkequal5]
#IF
CHECKVAR HUMAN QQQQ = 5
#ACT
sendmsg 7 等于5
goto @varcontrol
#ELSEACT
sendmsg 7 不等于5
goto @varcontrol
[@checklarage5]
#IF
CHECKVAR HUMAN QQQQ > 5
#ACT
sendmsg 7 大于5
goto @varcontrol
#ELSEACT
sendmsg 7 小于5
goto @varcontrol
[@checksmall5]
#IF
CHECKVAR HUMAN QQQQ < 5
#ACT
sendmsg 7 小于5
goto @varcontrol
#ELSEACT
sendmsg 7 大于5
goto @varcontrol
[@decInteger]
#ACT
DEC QQQQ 1
sendmsg 7 <$HUMAN(QQQQ)>
goto @varcontrol
[@addInteger]
#ACT
INC QQQQ 1
sendmsg 7 <$HUMAN(QQQQ)>
goto @varcontrol
[@loadvarInteger]
#IF
#ACT
LOADVAR HUMAN QQQQ VarSave.txt
sendmsg 7 OK
GOTO @varcontrol
[@savevarInteger]
#IF
#ACT
SAVEVAR HUMAN QQQQ VarSave.txt
sendmsg 7 OK
GOTO @varcontrol
[@viewvarInteger]
#ACT
sendmsg 7 <$HUMAN(QQQQ)>
GOTO @varcontrol
[@newvarInteger]
#IF
#ACT
VAR Integer HUMAN QQQQ
sendmsg 7 OK
GOTO @varcontrol
[@viewvarString]
<$HUMAN(QQQS)>

自定义变量按变量值大小排序[!]

SortVarToList

功能:

自定义变量按变量值大小排序,并把排序后变量值对应的人物名存放到指定列表文件中(制作排行榜用)

格式:

SortVarToList 自定义变量名 自定义变量文件路径 排序后列表的保存路径 降序还是升序(0-1) 保存格式(0-1)为0时只保存人物名,为1时:人物名 变量值.

例子:

完整脚本代码

[@test2]
#if
#act
SortVarToList LJSQZS ..\QuestDiary\数据文件\Test.txt ..\QuestDiary\数据文件\排序的文件.txt 0 1
break

自定义按钮

功能: 自定义按钮

ADDBUTTON (旧命令)

ADDBUTTONEX (支持按钮附加特效)

-自定义按钮–

格式:命令 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10

命令:ADDBUTTON

例子

完整脚本代码

#IF
#ACT
ADDBUTTON 3 1 283 284 285 10 200 1 -1 253/自定义按钮1\254/测试增加按钮
参数说明:
参数1为WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
参数2为按钮点击后的脚本触发序号,触发QF里面的[@ButtonClickX]X即为触发序号(1-100)
参数3为按钮默认图片
参数4为鼠标经过图片
参数5为按钮按下图片
参数6为距离窗口左边的距离(此参数建议用分辨率宽变量计算)
参数7为距离窗口顶边的距离(此参数建议用分辨率高变量计算)
参数8为按钮是否可以移动0=不能移动1=可以移动
参数9为按钮上面显示的文字标题,-1时为空标题(用于不显示标题)
参数10为鼠标移动到按钮显示的悬浮框备注信息 “\”表示换行 “/”颜色分割符 自定义颜色功能需要2015-01-08之后的程序才支持
ADDBUTTONEX 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9
参数1包含四个参数,每个参数用“|”隔开。触发序号(1-100)|X坐标|Y坐标|是否可以移动(0=不能移动1=可以移动)
参数2为按钮WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
参数3按钮图片,包含三个参数,每个参数用“|”隔开。按钮默认图片序号|鼠标经过图片序号|按钮按下图片序号
参数4为按钮特效WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
参数5按钮默认特效,如果没有可以使用“*”,包含六个参数,每个参数用“|”隔开。特效开始图片序号|播放张数|播放速度(毫秒)|绘制模式(0特效绘制,1普通绘制)|微调X|微调Y
参数6按钮鼠标经过特效,如果没有可以使用“*”,包含六个参数,每个参数用“|”隔开。特效开始图片序号|播放张数|播放速度(毫秒)|绘制模式(0,1)|微调X|微调Y
参数7按钮按下特效,如果没有可以使用“*”,包含六个参数,每个参数用“|”隔开。特效开始图片序号|播放张数|播放速度(毫秒)|绘制模式(0,1)|微调X|微调Y
参数8包含两个参数,每个参数用“|”隔开。按钮上面显示的文字标题,-1时为空标题|鼠标移动到按钮显示的悬浮框备注信息 “\”表示换行 “/”颜色分割符
参数9创建在哪个界面上 0屏幕上 1装备对话框上 2装备 3时装 4状态 5属性 6称号 7技能 8出战 9包裹 10聊天框左侧界面 11聊天框右侧界面 12商铺界面 13查看对方装备对话框上 14查看对方装备 15查看对方时装 16查看对称号 17聊天框
例子
#IF
#ACT
ADDBUTTONEX 1|10|200|1 5 275|-1|276 9 840|10|200|0|0|40 850|10|200|0|0|40 860|10|200|0|0|40 -1|253/自定义按钮1\254/测试增加按钮
删除按钮:
按钮序号只能为1-100,因为最多就添加100个自定义按钮
格式:命令 参数1 参数2
命令:DELBUTTON
例子
#IF
#ACT
DELBUTTON 1
说明:参数1为按钮序号(1-100) 参数2(0或空的时删除自己的,1时删除全服用户的)
按钮标题支持颜色写法
例子:
#IF
#ACT
ADDBUTTON 3 1 283 284 285 10 200 1 这是第一行{文字|250}\{这是第二行|249}\这是第3行 253/自定义按钮1\254/测试增加按钮

自定义采集[!]

采集功能格式:

SHOWPROGRESSBARDLG 时间(秒) 触发字段 提示信息 有动作是否中断(0不中断,1中断) 中断触发字段

使用示例:

完整脚本代码

[@Main]
#ACT
SHOWPROGRESSBARDLG 5 @采集完成 正在采集,进度%d%… 1 @采集中断
Break
QF触发
[@采集完成]
#ACT
Give 回城卷 1
SendMsg 5 你采集一个回城卷
Break
[@采集中断]
#ACT
SendMsg 5 采集被中断
Break
采集类怪物
格式:Race=250(怪物不移动,不攻击;人物和宝宝不能攻击此类怪 ) 怪物能否回血 自行配置Monster.xls表RehealthCd字段
说明:玩家点击怪物将会触发QF的[@CollectMonX]其中X代表Monster.xls怪物ID,视野范围ViewRange字段作为可以触发脚本的范围,为0代表不检测,如果超过范围触发QF的[@CollectMonFailX]
例:
;点击任意采集怪前触发
[@CollectMonEX]
#IF
#ACT
;<$Param1>=怪物ID
;<$Param2>=怪物名称
;<$Param3>=怪物唯一ID
mov S10 <$Param3>
SENDMSG 7 点击采集怪<$Param1>-<$Param2>-<$Param3>
SHOWPROGRESSBARDLG 5 @采集完成 正在采集,进度%d%… 1 @采集中断
stop
;采集命令格式:CAIJIBYPARAM 参数一 参数二
;参数一:怪物的唯一ID
;参数二:0或空为采集怪物时不再触发QF[@CollectMonEX],1=需要触发
[@采集完成]
#IF
#ACT
;根据怪物唯一ID触发QF
CAIJIBYPARAM <$Str(S10)>
:点击怪物采集触发
[@CollectMon1451]
#IF
CheckLevel > 0
#ACT
Give 金条
M.HUMANHP – 10000000
SendMsg 5 你探索到了一个金条!
[@采集中断]
#IF
#ACT
SENDMSG 7 你的采集被打断
;超过范围触发脚本如下:
[@CollectMonFail1451]
#act
sendmsg 9 你离着太远了,靠近一点再采集!

范围切割攻击

范围切割攻击是一组命令,单独使用无效, 造成的伤害飘血调用自定义飘血ID

SetAttackRange X Y 范围 目标类型(0所有 1人物 2怪物) 切割类型(0:以当前HP的百分比 1:以MaxHP的百分比 2:以伤害值切割) 伤害值 (值不能超过21亿,如果是百分比,设置值不超过100,负数无效) 飘血ID

设置攻击目标播放的特效,该命令单独使用无效,使用后需要使用StartAttack脚本命令才会生效,该命令可选,可以不用

SetAttackTargetEffect WIL文件序号 开始图片序号 播放图片张数 播放速度(毫秒) 绘制模式(0特效绘制,1普通绘制) X Y 播放顺序(0角色上面 1角色下面)

设置附加攻击,该命令单独使用无效,使用后需要使用StartAttack脚本命令才会生效,该命令可选,可以不用

SetAttachAttack 参数1 参数2

参数1 0:绿毒 1:红毒 2:麻痹 3:冰冻 4:推动 5:吸血 6:吸蓝 7:蜘蛛网 8:0防御 9:0魔防 10:禁锢

参数2 分别对应参数1的时间或推动格数

使用SetAttackRange设置好了之后,使用这个命令开始攻击,单独使用无效

StartAttack 模式(0直接掉血模式切割的人物死亡不会有PK值切割的怪物死亡爆的物品所有人都能捡取,1正常攻击模式)

补充说明

详细说明

;以自己的坐标在3范围内,以当前HP血量切割百分之十,切割所有目标,推动目标退3格

完整脚本代码

[@main]
#ACT
SetAttackRange <$X> <$Y> 3 0 0 10 101
;SetAttachAttack该命令可选,可以不用,如果需要附加攻击的,可以使用
SetAttachAttack 4 3
;SetAttackTargetEffect该命令可选,可以不用,如果目标需要特效的,可以使用
SetAttackTargetEffect 0 0 10 300
StartAttack 1
;以自己的坐标在3范围内,以最大血量MAXHP切割百分之十,切割所有目标,推动目标退3格
[@main]
#ACT
SetAttackRange <$X> <$Y> 3 0 1 10
;SetAttachAttack该命令可选,可以不用,如果需要附加攻击的,可以使用
SetAttachAttack 4 3
;SetAttackTargetEffect该命令可选,可以不用,如果目标需要特效的,可以使用
SetAttackTargetEffect 0 0 10 300
StartAttack 1
;以自己的坐标在3范围内,切割1000血量,切割所有目标,推动目标退3格
[@main]
#ACT
SetAttackRange <$X> <$Y> 3 0 2 1000
;SetAttachAttack该命令可选,可以不用,如果需要附加攻击的,可以使用
SetAttachAttack 4 3
;SetAttackTargetEffect该命令可选,可以不用,如果目标需要特效的,可以使用
SetAttackTargetEffect 0 0 10 300
StartAttack
;以自己的坐标在3范围内,以当前HP血量切割百分之十,切割所有目标, 禁锢目标30秒
[@main]
#ACT
SetAttackRange <$X> <$Y> 3 0 0 10
;SetAttachAttack该命令可选,可以不用,如果需要附加攻击的,可以使用
SetAttachAttack 10 30
;SetAttackTargetEffect该命令可选,可以不用,如果目标需要特效的,可以使用
SetAttackTargetEffect 0 0 10 300
StartAttack

获取一组不相同的随机数

GetRandomNumbers 最小值 最大值 数量( 最多支持255 ) 变量(不输入括号的变量,非自定义变量,如:N1) 保存实际获取数量的变量

完整脚本代码

[@MAIN]
#ACT
GetRandomNumbers 100 1000 10 N1 M1
SENDMSG 6 获取10个不一样的随机数,范围在100到1000之间,保存在N1~N10变量里,实际获取到随机数的数量为:<$STR(M1)>
SENDMSG 6 N1=<$STR(N1)>
SENDMSG 6 N2=<$STR(N2)>
SENDMSG 6 N3=<$STR(N3)>
SENDMSG 6 N4=<$STR(N4)>
SENDMSG 6 N5=<$STR(N5)>
SENDMSG 6 N6=<$STR(N6)>
SENDMSG 6 N7=<$STR(N7)>
SENDMSG 6 N8=<$STR(N8)>
SENDMSG 6 N9=<$STR(N9)>
SENDMSG 6 N10= <$STR(N10)>

获取包裹里某个物品的数量

GetItemsNumber 物品名称 保存变量

获取宝宝属性

获取宝宝属性–

GetSlaveAbility 参数1 参数2 参数3

参数1 属性类型 2,MAXHP 3,AC 4,MAXAC 5,MAC 6,MAXMAC 7,DC 8,MAXDC 9,MC 10,MAXMC 11,SC 12,MAXSC 13,appr(就是宝宝样子) 14,移动速度 15,攻击速度

参数2 变量 必须是完整格式的整数型变量 比如<$STR(N88)> <$STR(N$宝宝血量)>

参数3 宝宝名字 同名宝宝取第一个宝宝的属性

获取对面人物的名字

说明: 获取对面人物的名字

格式: GetOppositeHumName 变量

#IF

#ACT

GetOppositeHumName S0

SendMsg 5 你对面的人物是: <$STR(S0)>

获取指定人物的变量到自己的变量中

获取指定人物的变量 到 自己的变量中:

GetHumVar 对方的名字 对方的变量 自己的变量

GetHumVar S3 <$MAXAC> S4

[@main]

#act

GetHumVar S3 <$MAXAC> S4

SENDMSG 6 你已成功取得对方防御力为<$STR(S4)>

获取文本字符

GetRandomText 文件路径 变量

获取物品数据库的字段值

–获取物品属性值

获取物品属性值

1.获取物品属性值

GetDBItemFieldValue 物品名称 字段名称 保存变量

GetDBItemFieldValue 屠龙 SHAPE S1

格式:通过物品名字取数据库字段值 GetDBItemFieldValue 物品名称 字段名 变量

格式:通过 IDX 字段取数据库字段值 GetDBIdxItemFieldValue idx 字段名 变量

字段名称

IDX

NAME

补充说明

详细说明

STDMODE

SHAPE

WEIGHT

ANICOUNT

SOURCE

RESERVED

LOOKS

DURAMAX

Attribute 属性项需要自己分割一下字符串取出想要的数值。

NEED

NEEDLEVEL

PRICE

STOCK

COLOR

OVERLAP

Suit

Article

Job

effectParam

获取怪物数据库字段

格式:通过怪物名字取数据库字段值 GetDBMonsterFieldValue 怪物名称 字段名 变量

GetDBMonsterFieldValue 魔龙教主 name s1

获取身上装备属性值到变量

获取身上装备属性值到变量 支持英雄

GetItemAbil 装备位置(0~28或30~47) 保存变量1(攻击下限) 保存变量2(攻击上限) 保存变量3(魔法下限) 保存变量4(魔法上限) 保存变量5(道术下限) 保存变量6(道术上限)

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

6 左手镯

补充说明

详细说明

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

将人物行会名加入列表

功能:

将人物行会名加入列表

格式:

[@addguildList]

#if

#act

ADDGUILDLIST guildlist.txt

行会地图传送

GUILDMAPMOVE 地图号 X Y 最低等级

只有行会掌门,才可以使用

[@guildmapmove]

#if

#act

GUILDMAPMOVE 3 330 330 0

行会地图随机传送

GUILDMOVE 地图号 最低等级

只有行会掌门,才可以使用

[@guildmove]

#if

#act

GUILDMOVE 3 0

行会建设相关

修改行会建筑度:

格式: GUILDBUILDPOINT 控制符(+-)数字

修改行会人气度:

格式: GUILDAURAEPOINT控制符(+-)数字

修改行会安定度:

格式: GUILDSTABILITYPOINT控制符(+-)数字

修改行会繁荣度:

格式:GUILDFLOURISHPOINT控制符(+-)数字

检测行会建筑度:

格式: CHECKGUILDBUILDPOINT 控制符(<>= )数字

补充说明

详细说明

检测行会行会人气度:

格式: CHECKGUILDAURAEPOINT 控制符(<>=)数字

检测行会安定度:

格式: CHECKGUILDSTABILITYPOINT 控制符(<>= )数字

检测行会繁荣度:

格式: CHECKGUILDFLOURISHPOINT 控制符(<>= )数字

变量:

<$GUILDBUILDPOINT> 行会建筑度

<$GUILDAURAEPOINT> 行会人气度

<$GUILDSTABILITYPOINT> 行会安定度

<$GUILDFLOURISHPOINT> 行会繁荣度

装备属性升级

原始说明 / 数据

装备升级
装备升级功能可以指定升级物品及属性,按指定机率得到结果。
需要升级的装备物品必须放在身上。
命令格式
UPGRADEITEMEX 物品位置(0-47) 属性位置(0-14) 成功机率(0-100) 点数机率(0-255) 是否破碎(0,1)
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置
属性位置:
不同类型的物品属性位置不一样,以后补充这些资料,自行可以进行测试得到。
成功机率:
升级成功机率,数字越大机率越小。
点数机率:
升级成功后得到的点数,数值在 0 -255之间。
是否破碎:
升级失败后装备是否破碎,数值为0或1,1为失败后破碎。
属性位置详解
重要注意事项,请在使用本功能前务必详细阅读,否则将有可能带来严重后果
当所需要升级的项链、手镯、戒指、在DB数据库中因 StdMode值的不同,而升级
出来得到的结果也不同,所以使用者请按照以下属性变化列表进行详细设置!
其中涉及的体力恢复、魔法恢复、毒物躲避、中毒恢复、如升级成功“1”点属性,则表示为 10%
项链属性:
当StdMode值为19时:属性位置“0”升级出来表现为“魔法躲避”、属性位置“1”升级出来属性表现为“幸运”
当StdMode值为20时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”
当StdMode值为21时:属性位置“0”升级出来表现为“体力恢复”、属性位置“1”升级出来属性表现为“魔法恢复”
手镯属性:
当StdMode值为24时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”
当StdMode值为26时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”
戒指属性:
当StdMode值为22时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”
当StdMode值为23时:属性位置“0”升级出来表现为“毒物躲避”、属性位置“1”升级出来属性表现为“中毒恢复”
盔甲
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5-13 无效果
14 持久
武器
0 DC2
1 MC2
2 SC2
3 幸运
4 诅咒
5 准确
6 攻击速度
7 强度
8-9 暂不知道
10 需开封
11-13 暂不知道
14 持久
头盔
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5 佩带需求
6 佩带级别
7-13 无效果
14 持久
项链
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8 reserved
9-13 暂不知道
14 持久
手镯
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
戒指
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久

装备名称自定义系统

功能:

装备名称自定义系统

格式:

例脚本:

(@@useitemname)

完整脚本代码

[@main]
请选择要改名的装备:(将要改名的装备戴身上)\
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈\
◇◇◇『<盔 甲 /@@useitemname0 >』◇◇◇『<武 器 /@@useitemname1 >』◇◇◇\
◇◇◇『<项 链 /@@useitemname3 >』◇◇◇『<头 盔 /@@useitemname4 >』◇◇◇\
◇◇◇『<左手镯 /@@useitemname5 >』◇◇◇『<右手镯 /@@useitemname6 >』◇◇◇\
◇◇◇『<左戒指 /@@useitemname8 >』◇◇◇『<右戒指 /@@useitemname7 >』◇◇◇\
◇◇◇『<勋 章 /@@useitemname2 >』\
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈\
〖<返回/@main>〗 〖<关闭 /@exit >〗
[@@useitemname0]
#ACT
goto @ChangeName
[@@useitemname1]
#ACT
goto @ChangeName
[@@useitemname2]
#ACT
goto @ChangeName
[@@useitemname3]
#ACT
goto @ChangeName
[@@useitemname4]
#ACT
goto @ChangeName
[@@useitemname5]
#ACT
goto @ChangeName
[@@useitemname6]
#ACT
goto @ChangeName
[@@useitemname7]
#ACT
goto @ChangeName
[@@useitemname8]
#ACT
goto @ChangeName
[@@useitemname9]
#ACT
goto @ChangeName
[@@useitemname10]
#ACT
goto @ChangeName
[@@useitemname11]
#ACT
goto @ChangeName
[@@useitemname12]
#ACT
goto @ChangeName
[@ChangeName]
#if
checkgamegold > 0
#act
gamegold – 1
SETSCRIPTFLAG 1 1
sendmsg 7 改名成功!!!
Close
#elseact
sendmsg 7 没钱跑来做什么?

装备框的自定义文字显示

SETUSEITEMETEXT 装备框位置(0~28 30~47) 文字信息(10个字符) 颜色(0~255 X Y

[@测试]

#ACT

SETUSEITEMETEXT 5 项链 249 0 0

SETUSEITEMETEXT 6 项链 249 12 12

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

补充说明

详细说明

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

装备框的自定义特效绘制

PLAYUSEITEMEFFECT 装备框位置(0~28 30~47) WIL序号 开始图片序号 播放张数 播放速度 X Y 播放次数(0表示无限播放)

[@测试]

#ACT

PLAYUSEITEMEFFECT 5 12 2600 8 100 0 0 20

PLAYUSEITEMEFFECT 6 12 2600 8 100 0 0 0

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

补充说明

详细说明

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

解毒

完整脚本代码

[@MAIN]
#IF
#ACT
Detoxifcation
SENDMSG 6 已解毒

设置个人商店营业状态 冻结个人商店

功能: 设置个人商店营业状态 冻结个人商店

格式: SETUSERSHOPBUSINESS 角色名称 禁止或开启(0,1)

完整脚本代码

[@main]
#if
CHECKMYSHOP
#act
SETUSERSHOPBUSINESS <$USERNAME> 0
SENDMSG 6 你的个人商店已经禁止营业
SENDMSG 6 禁止营业后在个人商店里无法搜索到你的商店
SENDMSG 6 无法搜索到你出售的物品,无法在个人商店里摆摊
#elseact
SENDMSG 6 你还没有个人商店

设置人物名称 称号

设置人物名称称号 M2-选项-参数设置-游戏选项(1)-开启称号。不能勾选,勾选了,这个脚本命令无效

SETRANKLEVELNAME 称号内容(必须包含一个%s)

设置人物当前权限

功能:

设置人物当前权限(0-10)

格式:(提升到超级GM)

完整脚本代码

[@test]
#IF
#ACT
CHANGEPERMISSION 10
功能:
检测格式:CHECKMISSION 操作符(< > = ? ) 权限(0~10)
[@检测人物权限]
#IF
CHECKMISSION > 5
#ACT
SENDMSG 6 你当前权限大于5

设置人物当前模式

功能:

设置人物当前模式。(1管理模式、2无敌模式、3隐身模式)

格式:

CHANGEMODE 模式类型 开关(1为开,0为关)

[@test]

#IF

#ACT

CHANGEMODE 1 1

CHANGEMODE 2 1

CHANGEMODE 3 1

设置地图的杀怪经验倍数

功能:

设置地图的杀怪经验倍数

格式:

MAPKILLMONEXPRATE 地图文件名称(*号表示所有地图) 倍率

倍率 为杀怪经验倍数,倍数除以100为真正的倍率(200 为 2 倍经验,150 为1.5倍,0表示关闭地图的杀怪经验倍数)

完整脚本代码

[@MAPKILLMONEXPRATE]
#IF
#ACT
MAPKILLMONEXPRATE 0 1000
#SAY
您在比奇的杀怪经验倍数为 10倍
[@MAPKILLMONEXPRATE]
#IF
#ACT
MAPKILLMONEXPRATE * 1000
#SAY
所有地图杀怪经验倍数为 10倍

设置技能快捷键

完整脚本代码

[@获取技能快捷键]
#ACT
GetSkillKey 烈火剑法 N1
;N1值在49~56为 F1~F8 69~76为 Ctrl+F1~Ctrl+F8
[@设置技能快捷键]
#ACT
SetSkillKey 烈火剑法 76
;N1值在49~56为 F1~F8 69~76为 Ctrl+F1~Ctrl+F8

设置指定人物的变量值

变量获取和传递功能

传递命令格式:SetHumVar 角色名称 传递后存放的变量 传递的变量名称

获取命令格式:GetHumVar 角色名称 获取后存放的变量 获取的变量名称

例子:

完整脚本代码

[@main]
你要把你的防御力数值传给别人,让他知道你的防御力是多少吗\
请确保对方在线\
<请输入对方名字 /@@InPutString1 > \
对方名字:<$STR(S1)> \
你想知道对方防御力是多少吗,并且不让他知道\
请确保对方在线\
<请输入对方名字 /@@InPutString3 > \
对方名字:<$STR(S3)>
对方防御力:<$STR(S4)>\
;传递
[@InPutString1]
#IF
#ACT
SetHumVar S1 S2 <$MAXAC>
SENDMSG 6 成功把你的防御力数值传递给对方的S2变量,对方已知道你的防御力多少
;获取
[@InPutString3]
#IF
#ACT
GetHumVar S3 <$MAXDC> S4
SENDMSG 6 你已成功取得对方防御力为<$STR(S4)>

设置攻击力倍数[!]

功能:

设置攻击力倍数

格式:

POWERRATE 倍率 有效时间

倍率 为杀攻击力倍数,倍数除以100为真正的倍率(200为2倍攻击,150为1.5倍攻击) 支持变量操作

完整脚本代码

[@POWERRATE]
#IF
#ACT
POWERRATE 1000 600
#SAY
您当前攻击力倍数为 10倍,有效时间 600秒。

设置杀怪经验倍数

功能:

设置杀怪经验倍数.(支持内功经验,经络经验倍数)

格式:

KILLMONEXPRATE 倍率 有效时间

倍率 为杀怪经验倍数,倍数除以100为真正的倍率(200 为 2 倍经验,150 为1.5倍)

完整脚本代码

[@KILLMONEXPRATE]
#IF
#ACT
KILLMONEXPRATE 1000 600
#SAY
您当前杀怪经验倍数为 10倍,有效时间 600秒。

设置物品和人物绑定[!]

功能: 设置新的装备绑定功能.

SetItemBind,设置物品和人物绑定 绑定后物品属性会显示“已绑定”

格式:SetItemBind 装备位置(-1~28或30~47,-1时为OK框中物品) 绑定(0-1)

说明:参数2 0=取消 1=绑定

例子: 绑定武器.

完整脚本代码

#IF
CheckGold 10000
#ACT
SetItemBind 1 1
Take 金币 10000
例子: 取消绑定
#IF
CheckGold 10000
CheckItemBind 1
#ACT
SetItemBind 1 0
Take 金币 10000
#ELSESAY
你没有10000金币,或者当前物品没绑定.
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

设置物品来源

功 能:设置物品来源

脚本命令ThrowItem是在地面上放物品,SetThrowItemLy命令是用来设置该物品的来源,在ThrowItem前使用

脚本命令Give是给玩家物品,SetThrowItemLy命令是用来设置该物品的来源,在Give前使用

SetThrowItemLy 参数1 参数2 参数3 参数4 参数5 参数6

参数1 来源(1GM制造,2Npc制造, 3购买商铺,4购买商店, 5怪物爆出, 6系统给与, 7挖矿, 8挖肉, 9宝箱,或者任意字符作为来源信息)

参数2 地图文件名称(不是游戏里显示的地图名称)

参数3 怪物名称(没有可以用“*”号,不能为空)

参数4 人物名称(没有可以用“*”号,不能为空)

参数5 年-月-日(也可以使用“DATE”表示使用当前日期)

参数6 时:分:秒(也可以使用“TIME”表示使用当前时间)

补充说明

详细说明

SetThrowItemLy 该命令不能单独使用,必须配合其他脚本命令一起同时使用,下面是三个配合使用的例子

例子:

完整脚本代码

[@test]
#IF
#ACT
SetThrowItemLy 2 <$MAP> <$KILLMONNAME> <$USERNAME> <$YEAR>-<$MONTH>-<$DAY> <$HOUR>:<$MINUTE>:<$SECOND>
ThrowItem <$MAP> <$KILLMONX> <$KILLMONY> 1 <$STR(S44)> 1|1 0 1
[@test]
#IF
#ACT
SetThrowItemLy 5 <$MAP> <$KILLMONNAME> <$USERNAME> DATE TIME
Give 木剑 1
[@test]
#IF
#ACT
SetThrowItemLy 来自宇宙深处 <$MAP> <$KILLMONNAME> <$USERNAME> DATE TIME
Give 木剑 1
sendmsg 6 该物品的来源信息显示为“来自宇宙深处”
功能:调整物品来源信息
格式: CHANGEMAKEITEMINFO 位置(-1时是OK框中的装备, -1~18或30~41时是穿在身上的装备) 类型(0没有物品来源 1GM创建 2NPC创建 3购买的商铺的 4购买的NPC商店里的 5怪物爆的 6系统刷的 7挖矿 8挖的 9宝箱,或者任意字符作为来源信息,字符长度不超过50个) 地图名称(不能为空) 人物名称(如果没有用“*”代替,不能为空) 怪物名称(如果没有用“*”代替,不能为空) 是否修改物品来源时间(1为修改为当前时间,为空时不修改)
[@删除衣服的物品来源]
#ACT
CHANGEMAKEITEMINFO 0 0
[@修改衣服的物品来源]
#ACT
CHANGEMAKEITEMINFO 0 1 3 <$USERNAME> * 1
SENDMSG 6 衣服的来源已经修改为GM制造,并且修改为当前时间
[@修改衣服的物品来源]
#ACT
CHANGEMAKEITEMINFO 0 5 3 <$USERNAME> 白野猪
SENDMSG 6 衣服的来源已经修改为怪物爆出
[@修改衣服的物品来源]
#ACT
SetThrowItemLy 合成 <$MAP> 白野猪 <$USERNAME> <$YEAR>-<$MONTH>-<$DAY> <$HOUR>:<$MINUTE>:<$SECOND>
CHANGEMAKEITEMINFO 0
SENDMSG 6 衣服的来源信息显示为合成
;支持使用 SetThrowItemLy 设置来源,CHANGEMAKEITEMINFO只要有第一个参数就可以
[@修改衣服的物品来源]
#ACT
SetThrowItemLy 5 <$MAP> 白野猪 <$USERNAME> <$YEAR>-<$MONTH>-<$DAY> <$HOUR>:<$MINUTE>:<$SECOND>
CHANGEMAKEITEMINFO 0
SENDMSG 6 衣服的来源已经修改为怪物爆出
功能:获取来源信息
GETITEMCREATEINFO 装备位置(-1时是OK框中的装备, 0~28或30~41时是穿在身上的装备) 变量1(0=没有来源 1GM创建 2NPC创建 3购买的商铺的 4购买的NPC商店里的 5怪物爆的 6系统刷的 7挖矿 8挖的 9宝箱) 变量2(自定义来源信息) 变量2(人物名称) 变量4(怪物名称) 变量5(地图名称) 变量6(时间)
[@main]
#act
GETITEMCREATEINFO 0 N1
[@main]
#act
GETITEMCREATEINFO 0 N1 S1
[@main]
#act
GETITEMCREATEINFO 0 N1 S1 S2 S3 S4 S5

设置装备发光特效

格式: SETITEMEFFECT 位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 特效编号(0-65535,0为清除特效)

特效编号需要在M2里编辑好的

[@main]

#ACT

SETITEMEFFECT 0 0

装备位置代码:

0 盔甲

1 武器

2 照明物

3 项链

补充说明

详细说明

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服 时装12个

18 时装武器

19 时装项链

20 时装头盔

21 时装左手镯

22 时装右手镯

23 时装左戒指

24 时装右戒指

25 时装勋章

26 时装腰带

27 时装鞋子

28 时装宝石

30~41 十二个首饰盒装备

42-47 六个首饰盒装备位置

设置装备绑定状态[!]

功能:设置装备绑定状态。

格式:SetItemState 装备位置(-1~18或30~41,-1时为OK框中物品) 项目(0-7) 属性(0为正常,1为绑定)

项目: 0 禁止扔 1 禁止交易 2 禁止存 3 禁止修 4 禁止出售 5 禁止爆出 6 丢弃消失 7 死亡必爆(死亡爆出来后,该属性就会删除,在捡起来戴上,就没有死亡必爆了)

完整脚本代码

[@衣服禁止扔]
#IF
CheckItemBind 0
#ACT
GOTO @禁止扔
#ELSEACT
SENDMSG 6 请先绑定
[@禁止扔]
#IF
CheckItemState 0 0
#ACT
SENDMSG 6 该装备已经设置过禁止扔
#ELSEACT
SetItemState 0 0 1
SENDMSG 6 该装备禁止扔

读写ini配置项

说明

说明:读写ini配置项
写配置项格式:WriteConfigFileItem 路径 配置项区 配置项节 配置项值
读配置项格式:ReadConfigFileItem 路径 配置项区 配置项节 配置项值
删除配置项区:DelConfigFileSection 路径 配置项区
删除配置项节:DelConfigFileItem 路径 配置项区 配置项节
;=======================以下命令属高效率读写配置项(缓存,引擎关闭才会保存)======= ======================
缓存方式写配置项格式:WriteCacheConfigFileItem 路径 配置项区 配置项节 配置项值
缓存方式读配置项格式:ReadCacheConfigFileItem 路径 配置项区 配置项节 配置项值
删除配置项区:DelCacheConfigFileSection 路径 配置项区
删除配置项节:DelCacheConfigFileItem 路径 配置项区 配置项节
这4个是 Cache(缓存),操作速度会比不带cache的快很多,问题就是,在M2运行过程中,只能用脚本操作,手动操作的无效。如果ini文件不存在手动操作的情况下,就用Cache
Cache的特点是,对ini的操作只打开一次,然后一直在内存缓存,所以只命令操作才有效,手动操作无效。关闭引擎时候才会保存到INI文件内,引擎运行期间一直内存中运行,所以启动引擎后手动修改INI文件信息是无效的
在没有手动操作ini的情况下,推荐用带cache的。不带cache的比较耗时。
比如提现:操作会删除提现记录属于手动操作,所以不能使用cache,但计算战斗力属于内部引擎操作无手动干预,可以使用带cache的!
说明:
WriteConfigFileItem 写配置项
功能说明:可以把一些数据进行配置保存 你也可以把它当成一种变量保存方式
ReadConfigFileItem 读配置项
功能说明:获取出配置文件中的配置项内容
此两个命令配合使用 就相当于变量保存操作
示例:

完整脚本代码

[@main]
<写配置项> <请输入你要写入配置项的内容/@@InPutString3>\
<读配置项内容/@读配置项> <$STR(S$配置项内容)>\
[@InPutString3]
#IF
#ACT
;写配置项
WriteConfigFileItem ..\QuestDiary\KEY.ini <$USERNAME> 内容 S3
SENDMSG 6 你已经把你输入的内容写到配置文件中KEY.ini
[@读配置项]
#IF
#ACT
;读配置项
;注意:996的写法第四个参数(写入的变量)不要带<$STR()>
ReadConfigFileItem ..\QuestDiary\KEY.ini <$USERNAME> 内容 S$配置项内容
SENDMSG 6 你已经把配置文件KEY.ini中的内容获取出
GOTO @main
删除配置文件中的一行:
DelConfigFileItem 文件名 设置 用户 (删除 用户 = aaaa 这一行)
删除配置文件中的一个区:
DelConfigFileSection 文件名 设置 (删除 [设置] 及设置以下的项)
WriteConfigFileItem ReadConfigFileItem 支持绝对路径,注意使用绝对路径参数必须完整!

脚本调整人物PK点

功能:

调整人物PK点数。

格式:

CHANGEPKPOINT 控制符(=,+,-) PK点数

;将人物的PK点数设置为指定点数,不能为负数

完整脚本代码

[@changepkpoint0]
#IF
#ACT
CHANGEPKPOINT = 0
#SAY
你的PK点数已经清除。
;将人物的PK点数加100点数,不能为负数
[@changepkpoint1]
#IF
#ACT
CHANGEPKPOINT + 100
#SAY
你的PK点数已经增加100点。
;将人物的PK点数减100点数,不能为负数,如果人物点数小于100则指定为0
[@changepkpoint2]
#IF
#ACT
CHANGEPKPOINT – 100
#SAY
你的PK点数已经减少100点。

调整人物会员等级

功能:

调整人物会员等级 。

格式:

SETMEMBERLEVEL 控制符(=,+,-) 等级数(1-65535)

;设置人物会员等级

完整脚本代码

[@changememberlevel0]
#IF
#ACT
SETMEMBERLEVEL = 5
#SAY
你的会员等级为5。
;增加人物会员等级
[@changememberlevel1]
#IF
#ACT
SETMEMBERLEVEL + 1
#SAY
你的会员等级已经改变。
;减少人物会员等级
[@changememberlevel2]
#IF
#ACT
SETMEMBERLEVEL – 1
#SAY
你的会员等级已经改变。

调整人物会员类型

功能:

调整人物会员类型 。

格式:

SETMEMBERTYPE 控制符(=,+,-) 类型数(1-65535)

;设置人物会员类型

完整脚本代码

[@changemembertype0]
#IF
#ACT
SETMEMBERTYPE = 5
#SAY
你的会员类型为5。
;增加人物会员类型
[@changemembertype1]
#IF
#ACT
SETMEMBERTYPE + 1
#SAY
你的会员类型已经改变。
;减少人物会员类型
[@changemembertype2]
#IF
#ACT
SETMEMBERTYPE – 1
#SAY
你的会员类型已经改变。

调整声望点

功能:

调整人物声望点。

格式:

CREDITPOINT 控制符(= ,+,-) 点数(1-100)

;设置人物声望点

完整脚本代码

[@CREDITPOINT0]
#IF
#ACT
CREDITPOINT = 8
#SAY
你的声望点已经为8了。
;增加人物声望点
[@CREDITPOINT1]
#IF
#ACT
CREDITPOINT + 1
#SAY
你的声望点已经加了1点。
;降人物声望点
[@CREDITPOINT2]
#IF
#ACT
CREDITPOINT – 1
#SAY
你的声望点已经降了1点。

调整人物属性

功 能: 调整人物属性

格式: ChangeHumAbility 属性(1-20) 操作符(+ = -) 效果(1-21亿) 时间秒(为0时,不限制时间)

说明: 属性1-12分别对应人物 防御下限 防御上限 魔御下限 魔御上限 攻击下限 攻击上限 魔法下限 魔法上限 道术下限 道术上限 MaxHP MaxMP HP恢复 MP恢复 毒恢复 毒躲避 魔法躲避 准确 敏捷 幸运

注意: 调整后的属性效果只在人物在线时有效.不带时间为在线一直有效

例子:

完整脚本代码

[@Test]
#IF
#ACT
ChangeHumAbility 2 + 10 60
#SAY
你的防御上限增加10点.60秒后恢复

调整属性点

功能:

调整人物属性点。

格式:

BONUSPOINT 控制符(= ,+) 点数(0-1000)

;设置属性点

完整脚本代码

[@BONUSPOINT0]
#IF
#ACT
BONUSPOINT = 0
#SAY
你的属性点点已全部清0了。
;增加属性点
[@BONUSPOINT1]
#IF
#ACT
BONUSPOINT + 1
#SAY
你的属性点已经加了1点。
相关命令:
复位属性点数: RESTBONUSPOINT
检查属性点数: CHECKBONUSPOINT

调整人物游戏点数

功能:

调整人物游戏点。

格式:

GAMEPOINT 控制符(= ,+,-) 点数(1-100)

;设置人物游戏点

完整脚本代码

[@GAMEPOINT0]
#IF
#ACT
GAMEPOINT = 8
#SAY
你的游戏点已经为8了。
;增加人物游戏点
[@GAMEPOINT1]
#IF
#ACT
GAMEPOINT + 1
#SAY
你的游戏点已经加了1点。
;降人物游戏点
[@GAMEPOINT2]
#IF
#ACT
GAMEPOINT – 1
#SAY
你的游戏点已经降了1点。

调整人物的HP或MP[!]

功能:

调整人物的HP或MP

格式:

HUMANHP(+-= )数字 飘血ID

HUMANMP(+-= )数字 飘血ID

该命令飘血调用的是UI里的自定义飘血动作(例如:101)

完整脚本代码

[@HUMANHP0]
#IF
#ACT
HUMANHP + 100
[@HUMANHP1]
#IF
#ACT
HUMANHP – 100
[@HUMANHP2]
#IF
#ACT
HUMANHP = 100
[@HUMANMP0]
#IF
#ACT
HUMANMP + 100
[@HUMANMP1]
#IF
#ACT
HUMANMP – 100
[@HUMANMP2]
#IF
#ACT
HUMANMP = 100

调整人物的元素属性

原始说明 / 数据

调整人物的元素属性,该命令调整的元素,小退消失,只是临时的元素,不是永久的
ChangeHumNewValue 元素位置(0-16) 增加百分比(0-255) 有效时间(秒) 暴击或者反伤时的威力倍数(实际倍数等于设置值除以100)
属性(0-16)
(0)暴击几率增加 1~100%
(1)增加攻击伤害 1~65535%
(2)物理伤害减少 1~100%
(3)魔法伤害减少 1~100%
(4)忽视目标防御 1~100%
(5)所有伤害反弹 1~100%
(6)增加目标暴率 1~100%
(7)人物体力增加 1~65535%
(8)人物魔力增加 1~65535%
(9)怒气恢复增加 1~100%
(10)合击攻击增加 1~100%
(11)防止暴击几率1-100%
(12)防止麻痹几率1-100%
(13)防止复活几率1-100%
(14)防止全毒几率1-100%
(15)防止冰冻几率1-100%
(16)防止蛛网几率1-100%

调整人物的荣誉值[!]

调整人物的荣誉值

完整脚本代码

#IF
CheckLevelEx > 50
#ACT
ChangeNationCredit + 100
―――――――――――――――――――――两个命令自己测试
格式: GAMEGLORY (+,-,=) 值
[@main]
#ACT
GAMEGLORY + 5
#SAY
荣誉值+5

脚本控制人物等级

功能:

调整人物等级。

格式:

CHANGELEVEL 控制符(=,+,-) 等级数(1-500)

;设置人物等级

完整脚本代码

[@changelevel0]
#IF
#ACT
CHANGELEVEL = 80
#SAY
你的等级已经为80级了。
;增加人物等级
[@changelevel1]
#IF
#ACT
CHANGELEVEL + 1
#SAY
你的等级已经升了1级。
;降人物等级
[@changelevel2]
#IF
#ACT
CHANGELEVEL – 1
#SAY
你的等级已经降了1级。

脚本调整升级经验

功能:

调整人物经验点数。

格式:

CHANGEEXP 参数1(=,+,-) 参数2(经验值) 参数3(为空或0时不增加聚灵珠经验 1时同时聚灵珠经验)

;将人物的经验点数设置为指定点数,不能为负数

完整脚本代码

[@changeexp0]
#IF
#ACT
CHANGEEXP = 20000
#SAY
你当前的经验点数为 20000。
;将人物的经验点数加1000点数,不能为负数
[@changeexp1]
#IF
#ACT
CHANGEEXP + 1000
#SAY
你的经验点数已经增加1000点。
;将人物的经验点数减1000点数,不能为负数,如果人物点数小于1000则指定为0
[@changeexp2]
#IF
#ACT
CHANGEEXP – 1000
#SAY
你的经验点数已经减少1000点。

调整允许诱惑宝宝的最大数量

功能: 调整允许诱惑宝宝的最大数量

格式: CHANGEMAXTAMMINGSLAVECOUNT 操作符(+ = -) 数量

例子:允许诱惑7个宝宝,不包括技能召唤的宝宝,不能超过,M2-选项-功能设置-技能魔法-法师技能-诱惑之光里面的诱惑数量,脚本设置超过了也没用

如果“ CHANGEMAXTAMMINGSLAVECOUNT = 0 ”表示脚本不限制数量,完全按照M2设置的数量

相关常量:

已经诱惑的宝宝数量,不包括技能召唤的宝宝<$TAMMINGSLAVECOUNT> <$C.TAMMINGSLAVECOUNT>

脚本命令 CHANGEMAXTAMMINGSLAVECOUNT 设置的允许诱惑的最大数量<$MAXTAMMINGSLAVECOUNT> <$C.MAXTAMMINGSLAVECOUNT>

完整脚本代码

[@设置允许最大诱惑数量位7个]
#IF
#ACT
CHANGEMAXTAMMINGSLAVECOUNT = 7
[@设置脚本不限制数量,按照M2是的设置数量]
#IF
#ACT
CHANGEMAXTAMMINGSLAVECOUNT = 0

调整宝宝的攻击威力

修改宝宝的攻击威力

ChangeSlavePowerRate 宝宝名称 (+,-, = )威力倍数(实际倍数等于设置值除以100) 有效时间(秒)

调整宝宝等级

功能: 直接调整人物宝宝的等级

格式: ChangeSlaveLevel 名字 操作符(+ = -) 等级(1-7)

例子: 把虎卫的等级调整到7级.

#IF

#ACT

ChangeSlaveLevel 虎卫 = 7

调整死亡不掉装备的次数

NotDropItemCount (+,-,=) 次数

配套检测死亡不掉装备的次数

检测死亡不掉装备的次数

CheckNotDropItemCount (<,>,=,?) 次数

游戏币控制

功能:

调整人物游戏币及根据时间自动增减游戏币(可用来做会员时间用)。

格式:

GAMEGOLD 控制符(= ,+,-) (1-100)

;设置人物游戏币

完整脚本代码

[@GAMEGOLD0]
#IF
#ACT
GAMEGOLD = 8
#SAY
你的游戏点已经为8了。
;增加人物游戏币
[@GAMEGOLD1]
#IF
#ACT
GAMEGOLD + 1
#SAY
你的游戏点已经加了1点。
;降人物游戏币
[@GAMEPOINT2]
#IF
#ACT
GAMEGOLD – 1
#SAY
你的游戏币已经降了1点。
功能:
设置是否自动增加游戏币。
格式:
AUTOADDGAMEGOLD 控制符(START,STOP)
;设置自动增加游戏币
[@AutoAddGAMEGOLD]
#IF
#ACT
PARAM1 1
PARAM2 10
AUTOADDGAMEGOLD START
#SAY
现进入自动增加游戏币模式,每10秒增加一个
;停止自动增加游戏点
[@AutoAddGAMEGOLD]
#IF
#ACT
AUTOADDGAMEGOLD STOP
#SAY
现退出自动增加游戏币模式
功能:
设置是否自动减少游戏币。
格式:
AUTOADDGAMEGOLD 控制符(START,STOP)
;设置自动增加游戏币
[@AutoAddGAMEGOLD]
#IF
#ACT
PARAM1 1
PARAM2 10
AUTOSUBGAMEGOLD START
#SAY
现进入自动增加游戏币模式,每10秒增加一个
;停止自动增加游戏点
[@AutoAddGAMEGOLD]
#IF
#ACT
AUTOSUBGAMEGOLD STOP
#SAY
现退出自动减少游戏币模式

调整游戏速度

格式: ChangeSpeed 速度类型 速度值 有效时间(秒,该参数为空时表示不限制时间)

速度类型 1为 移动速度 2为攻击速度 3为魔法速度

速度值(-10和10之间 小于0为减速 等于0不变速)

[@main]

#ACT

CHANGESPEED 1 5

#SAY

移动速度增加

调整物品元素属性

说明

格式: SetNewItemValue 位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 属性(0-16) 操作符(+,-,=) 值(1-100)
属性(0-16)
(0)暴击几率增加 1~100%
(1)增加攻击伤害 1~65535%
(2)物理伤害减少 1~100%
(3)魔法伤害减少 1~100%
(4)忽视目标防御 1~100%
(5)所有伤害反弹 1~100%
(6)增加目标暴率 1~100%
(7)人物体力增加 1~65535%
(8)人物魔力增加 1~65535%
(9)怒气恢复增加 1~100%
(10)合击攻击增加 1~100%
(11)防止暴击几率1-100%
(12)防止麻痹几率1-100%
(13)防止复活几率1-100%
(14)防止全毒几率1-100%
(15)防止冰冻几率1-100%
(16)防止蛛网几率1-100%
点击OK键后触发字段[@UpgradeDlgItem]

完整脚本代码

[@UpgradeDlgItem]
#SAY
OK框中物品的名称:<$DLGITEM.NAME>\
OK框中物品的StdMode:<$DLGITEM.STDMODE>\
OK框中物品的持久:<$DLGITEM.DURA>\
OK框中物品的最大持久:<$DLGITEM.DURAMAX>\
<升级/@升级>\
[@升级]
#ACT
SetNewItemValue -1 0 + 10
RECLAIMITEM
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

调整物品名字颜色

功能:调整人物身上物品装备名字颜色(英雄M2)

格式:ChangeItemNameColor 物品位置(-1~28或30~47,-1位OK框物品) 颜色(0-255)

说明:颜色= 0时恢复默认颜色.

完整脚本代码

[@main]
#IF
#ACT
ChangeItemNameColor 1 253
#SAY
你装备名字的颜色变成紫色了.
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

调整血量,魔法百分比

功能:

调整血量,魔法百分比

格式:

ADDHPPER 操作符(+,-,= ) 百分比(1-100) 比率模式(0:百分比,1:千分比) 飘血ID

ADDMPPER 操作符(+,-,= ) 百分比(1-100) 比率模式(0:百分比,1:千分比) 飘血ID

该命令飘血调用的是UI里的自定义飘血动作(例如:101)

例:

完整脚本代码

#IF
#ACT
AddMpPer + 30
GuildNoticeMsg 250 0 你的MP增加了30% self
例:
#IF
#ACT
h.AddMpPer + 30 1
GuildNoticeMsg 250 0 你的英雄MP增加了30% self
#IF
h.CheckHpPer > 30 1
#ACT
#SAY
你的英雄血量在总血量的30%以上

调整行会人数上限[!]

功能: 调整当前行会的人数上限.

说明: 只能由行会老大使用.每个行会会自动读取!Setup.txt中的行会人数限制,之后可以用此命令重

新调整行会人数限制,也就是说调整后不受!Setup.txt中行会人数限制参数的限制.

格式: AddGuildMemberCount 操作符(+ – = ) 数量(0–1000)

完整脚本代码

#IF
CheckItem 金条 1
#ACT
Take 金条 1
AddGuildMemberCount + 5
#ELSESAY
你没有金条或者你不是行会老大.

调整行会可以容纳最多成员

格式: CHANGEGUILDMEMBERMAXLIMITCOUNT 行会名称(SELF表示调整自己所在的行会) 调整符(+,-,=) 数量

[@main]

#IF

CHANGEGUILDMEMBERMAXLIMITCOUNT = 100

#SAY

你的行会可以容纳100个成员

调整装备升级次数或星星数量[!]

说明

功能: 调整装备升级次数或星星数量.
格式: ChangeItemUpgradeCount 物品位置(-1~18或30~41,-1时为OK框物品) (+,-,=) 次数(0~255)
物品位置:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服
18 时装武器
30~41 首饰盒装备

完整脚本代码

#IF
CheckItem 金条 1
#ACT
Take 金条 1
ChangeItemUpgradeCount 0 + 10
SendMsg 5 盔甲升级次数增加10次
#ELSESAY
你没有金条

调整金刚石数量

功能:

调整金刚石和灵符数量。

格式:

GAMEDIAMOND 控制符(=,+,-) 点数(0 到 2147483647)

GAMEGIRD 控制符(=,+,-) 点数(0 到 2147483647)

;将人物的金刚石设置为指定点数,不能为负数

完整脚本代码

#IF
#ACT
GAMEDIAMOND = 0
#SAY
你的金刚石数量为0
;将人物的灵符设置为指定点数,不能为负数
#IF
#ACT
GAMEGIRD = 0
#SAY
你的灵符数量为0

踢人物下线

功能: 踢人物下线.

格式:

KICK

完整脚本代码

[@KICK]
#IF
#ACT
SENDMSG 5 %s,非法登录游戏
KICK
功能: 踢除服务器所有人物 。
格式:
KICKALLPLAY //踢除服务器所有在线人物
例:
#IF
#ACT
KICKALLPLAY
#Say
全体下线
功能: 踢除挂机人物 。
格式:
KICKOFFLINE //踢除人物
例:
#IF
#ACT
KICKOFFLINE
#Say
人员下线
例:
#IF
#ACT
<$USERNAME>.KICKOFFLINE
#Say
人员下线

过滤全服提示信息

功能:

过滤全服提示信息,发送给个人的信息不过滤

格式:

FILTERGLOBALMSG 聊天框(0不过滤,1过滤) 聊天框固顶(0不过滤,1过滤) SendMoveMsg(0不过滤,1过滤) SendCenterMsg(0不过滤,1过滤,如果有字段触发的还是会触发,只是客户端不显示信息) SendVerticalMoveMsg(0不过滤,1过滤) 掉落提示消息(0不过滤,1过滤)

完整脚本代码

[@main]
#IF
#ACT
FILTERGLOBALMSG 1
SENDMSG 6 开启过滤全服提示信息,你不在接受如SENDMSG、GuildNoticeMsg等等脚本命令发送的全服提示信息。
[@过滤聊天框和聊天框固顶信息]
#IF
#ACT
FILTERGLOBALMSG 1 1
SENDMSG 6 过滤聊天框和聊天框固顶信息
[@过滤SendCenterMsg信息]
#IF
#ACT
FILTERGLOBALMSG 0 0 1
SENDMSG 6 过滤SendCenterMsg信息
[@过滤所有信息]
#IF
#ACT
FILTERGLOBALMSG 1 1 1 1 1 1
SENDMSG 6 过滤所有信息

返回OK框中的物品

格式: RECLAIMITEM

;返回OK框中的物品到包裹

例:

[@main]

#ACT

RECLAIMITEM

通过脚本建立一个NPC 动态创建NPC

通过脚本命令建立一个NPC,服务器重启后消失.

格式: CreateNPC NPC名字 地图 坐标X(-1时随机坐标) 坐标Y(-1时随机坐标) 外观 脚本文件 脚本文件是否要加上地图名称(例如.设置为0时脚本文件必须带“-3”如:“传送员-3.txt” 设置为1时脚本文件不需要带“-3”如:“传送员.txt”这样的好处就是,你可以在任意地图地图创建NPC,只要一个脚本“传送员.txt”而不需要“传送员-0.txt、传送员-3.txt”等等好多NPC脚本)

注意: 脚本文件必须在Market_Def目录中.

例如:首先在Market_Def中建立一个叫测试-3.txt的脚本文件.

完整脚本代码

#IF
#ACT
CreateNPC 测试 3 330 330 8 测试-3 0
#SAY
通过脚本建立了一个NPC.
#IF
#ACT
CreateNPC 测试NPC 3 -1 -1 8 测试NPC 1
#SAY
通过脚本建立了一个NPC 随机坐标

重新分配人物附加属性点

功能:

将人物附加的属性点复位到未分配状态;

格式:

#if

#act

RESTBONUSPOINT

#say

你的属性点已经重新分配;

相关命令:

检查属性点数: CHECKBONUSPOINT

补充说明

详细说明

调整属性点数: BONUSPOINT

除法

除法 格式: DIV N1 N2 N3即N1= N2/N3

完整脚本代码

[@MAIN]
#IF
#ACT
Mov N2 100
Mov N3 10
DIV N1 <$STR(N2)> <$STR(N3)>
SENDMSG 1 结果∶<$STR(N1)>

随机跳转触发

RandomGoto 随机数(母) 随机数(子):触发字段(多个以“|”隔开)

和RANDOMEX命令几率算法是一样的,只不过这个支持触发,随机数(子),数值越大几率越高,如果和随机数(母)数值一样大,就是百分百几率

按照写的脚本顺序触发的,每次只触发一个字段,如果几率没有百分百的也有可能一个都不会触发,当然如果有百分百几率的,那肯定会触发那个百分百几率的

完整脚本代码

[@main]
#act
RandomGoto 100 10:@触发1|50:@触发2|100:@触发3
SENDMSG 6 按照脚本写的顺序触发的,如果你把“100:@触发3”写在前面,那后面两个几率永远都不会触发了,因为“100:@触发3”是百分百几率触发的
[@触发1]
#act
SENDMSG 6 你触发了百分之十的几率
[@触发2]
#act
SENDMSG 6 你触发了百分之五十的几率
[@触发3]
#act
SENDMSG 6 你触发了百分之百的几率

鞭尸再一次爆物品

功 能:

杀怪后再一次爆物品 鞭尸 此命令只可用在QF[@KillMon]字段下

例子:

完整脚本代码

[@KillMon]
#IF
#ACT
MonItems
;每次杀怪,怪物都会爆两次,如果第一次怪物已经把物品爆的差不多了,再一次可能爆不出来东西
MonItems 1
参数1:= 1时表示完整复制一份怪物爆出的物品,包含极品值
功能:高级鞭尸
格式:MonItemsex 怪物名称 可爆次数 (最大 20 次) 延迟毫秒数(默认不延迟)
[@KillMon]
#IF
#ACT
MonItemsex 魔龙教主 10 1000
;杀死任何怪物都会触发魔龙教主的爆率连续爆10次,间隔1秒
注意:本次触发的鞭尸,已经爆出过的物品不会重复爆出,例如:爆率中的 1/1 祝福油 连续爆10次的情况下只会爆出一次.
MonItems\魔龙教主.txt
1/1 祝福油
1/59 圣战戒指
1/38 圣战手镯
1/38 圣战项链
1/38 圣战头盔
1/58 法神戒指
1/38 法神手镯
1/38 法神项链
1/38 法神头盔
1/58 天尊戒指
1/38 天尊手镯
1/38 天尊项链
1/38 天尊头盔
1/22 裁决之杖
1/58 血饮
1/800 怒斩
1/800 龙牙
1/900 麻痹戒指
1/900 复活戒指
1/900 护身戒指
1/900 逍遥扇
1/3500 屠龙

高等级杀怪经验不变

格式:HighLevelKillMonFixExp 时间(秒) 是否保存(1保存,空或0不保存)

[@main]

#ACT

HighLevelKillMonFixExp 720 1

UI编辑器的快捷键

官方UI目前只支持了13周年界面,其他界面请自行编辑,有官方现成的UI也可以直接替换使用

1、主界面范围内各控件都可以使用 Shift+左键多选 、 CTRL+左键单选

AIT+左键 拖动到人物装备任意类目主界面下

例如:

把时装界面所有控件拖到装备栏,可以实现装备和时装同时展现

把称号控件拖到装备栏可以实现老传奇的装备栏下方称号横排效果

把主界面右侧商城等控件拖到左侧血池下居中显示等等都可以实现

2、悬浮框使用 CTRL+上下 ,选择分类标题的话可以快速调整整个分类的坐标

3、悬浮框使用 CTRL+鼠标左键 ,选择分类标题的话可以快速调整这个分类以下所有分类的坐标

4、 CTRL+上下 可以微调任意控件的坐标

补充说明

详细说明

5、 F2 可以快速修改控件宽高为素材本身的宽高

6、装备栏和查看装备栏的物品格子可以右键快速移动到其他栏目

7、斗笠隐藏的情况下默认显示在人物裸模的头盔位置,勾选游戏可见的时候则跟其他首饰一样单独显示(分体显示)

8、背包货币:46格背包有金币和刷新按钮,其他背包格子需要自己勾选游戏可见并排版才行

9、摆摊货币控制请到 M2-功能设置-拍卖行-交易货币类型控制 里设置

10、召唤英雄的按钮控制请去 M2-客户端控制-页面显示 设置

11、隐藏 称号备注控件 的时候,备注可以显示到称号TIPS栏

为什么不能自动解包

原始说明 / 数据

为什么不能自动解包 客户端自动解包配置,药品数据库的Anicount=打包物品的Shape,这样才可以自动解包
例如:
强效金创药 Anicount=100 超级金创药 Shape=100
疗伤药 Anicount=115 疗伤药包 Shape=115
回城卷 Anicount=108 回城卷包 Shape=108
支持2次打包
例如:
可以把“疗伤药包”再次打包
疗伤药包 Anicount=120 超级疗伤药包 Shape=120
使用启动器有个捆绑DB转换一下就正常了
新的解包配置文件 Envir\UnbindList.txt 格式,兼容旧格式,升级新M2如果不需要修改解包数量的,可以不修改Envir\UnbindList.txt:
;物品DB字段Anicount的值 物品名称 解包数量 物品类型(0其他,1加红,2加蓝,3加红蓝,4卷轴)
100 强效金创药 6 1
101 强效魔法药 6 2
119 强效太阳水 6 3
120 万年雪霜 6 3
102 金创药(小量) 6 1
103 魔法药(小量) 6 2
104 金创药(中量) 6 1
105 魔法药(中量) 6 2
106 地牢逃脱卷 6 4
107 随机传送卷 6 4
108 回城卷 6 4
109 行会回城卷 6 4
复古内挂普通体力药、特殊体力药优先级设置
Reserved= 优先级
普通红药 :(Reserved=0~99优先级,数字越小优先级越高)
普通蓝药 :(Reserved=0~99优先级,数字越小优先级越高)
瞬回药品 :(Reserved=0~99优先级,数字越小优先级越高)
回城系列 :(Reserved=0~99优先级,数字越小优先级越高)
随机系列 :(Reserved=0~99优先级,数字越小优先级越高)
如果没配 Reserved优先级,那么按照物品的IDX顺序来使用,优先使用排序在前面的物品

为什么卡

这种问题都是脚本导致,脚本太复杂,或者脚本有读写文件的,文件太大,或者读写太频繁

有的版本写的有问题,大部分是爆物品触发或捡取触发里,加入了脚本记录装备的功能导致的,每爆或捡取一个装备,脚本就记录下来,记录的文本很快就变的很大,频繁读写硬盘就会卡

完整脚本代码

[@InPutString22]
#IF
CHECKTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>
;比如这个命令,使用了这个命令,引擎就会从硬盘读取“..\QuestDiary\元宝充值\50000.txt”这个文件,如果文件变得越来越大,读取就会变慢,就会卡
#ACT
DELTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>
;比如这个命令,使用了这个命令,引擎会读取“..\QuestDiary\元宝充值\50000.txt”这个文件,然后还会写入硬盘,比上面那个命令(CHECKTEXTLIST)操作更慢,因为这个命令先读取,在写入,多一个步骤写入,如果文件变得越来越大,就会卡
;不仅仅是这两个命令,所有读写文件的脚本命令,都会这样,比如CheckContainsTextList、AddTextList、GetRandomText等等
;有的文件看起来不大,但是有时候还会卡,那可能读写太频繁了,不是NPC点击一下才读写的,比如版本里有自动捡取功能
;然后有捡取触发脚本,一瞬间几毫秒内捡取几十个物品,就触发几十次脚本,脚本里有读写文件的脚本命令,就会读写几十次文件,每读写一次文件,都是需要时间的,就会卡在读写文件那里,等待脚本全部触发完成,就会卡
;这样的情况,就算文件不大,也可能会造成卡
;还有就是定时器脚本,如果太复杂,或者有文件读写都有可能
;有些版本为了实现某些功能,会使用goto循环去触发脚本,如果条件达不到,
;会一直goto循环,这样的脚本,引擎会卡死在这个脚本,甚至卡死引擎
;解决办法就是脚本简单点,读写文件的脚本频率小一点
;可以使用LoadFileToMemory和LoadFileToMemoryEx这两个脚本命令,可以搜索说明书
;这两个命令也不是让你无限制的可以读写文件,还是要尽量减少读写频率,和减小文件大小

为什么地面物品不显示名称,不自动捡取?

M2-查看-列表信息二-内挂捡取

为什么怪物打不死?

最大的可能就是,怪物DB的MP字段设置的值不是0

怪物的MP字段的作用是:

怪物伤害封顶,封顶数值等于怪物BD中的MP数值,若DB中怪物MP值=0则不计算伤害封顶。例如怪物数据库MP设置为10.不管你攻击多高,每次只能攻击最多掉血10

为什么怪物简装无效?

为什么怪物简装无效?

禁止怪物简装功能,加入禁止简装的怪物,不会显示简装(引擎-查看-列表信息一禁止怪物简装列表) 加入此列表的怪物,不会怪物简装

为什么我的NPC不能买、卖、修理物品?

NPC脚本的第一行加上指定的操作,就可以正常了。

(@buy @sell)

%100

+5

+6

[@main]

欢迎光临!!!

<买/@buy>\

<卖/@sell>\ \

<关闭/@exit>

补充说明

详细说明

功能标志说明:

;买物品

@buy

;卖物品

@sell

;炼药

@makedrug

;存仓库

@storage

;取仓库

@getback

;升级武器

@upgradenow

;取回升级武器

@getbackupgnow

;修理

@repair

;特殊修理

@s_repair

;发祝福语

@@sendmsg

为什么我的沙城墙没血条

第一步.首先检查M2启动有没报错,如有检查怪物数据库(Monster.DB)有没设置城墙类型怪物名称,如没只需将城墙名称与怪物数据库相对应即可解决,错误信息如下:

[错误信息] 城堡初始化城门失败,检查怪物数据库里有没城门的设置: MainDoor,

第二步.检查怪物数据库内城墙名称的血量,不能超过5000,

为什么所有的衣服外观都只显示重盔甲?

登录器配置器-内挂默认设置 衣服简装显示不要勾选 然后在配置登录器。或者在M2-选项客户端设置-内挂控制-玩家简装显示不要勾选,这样直接去掉这个功能

登录器呼出内挂-所有玩家简装显示 不要勾选

为什么打不开NPC界面

NPC界面分2种写法,控制开关在M2-客户端控制-启用新NPC面板写法,勾选之后就是新的NPC界面写法,老写法的界面就无法再打开了

2种写法不可混用

为什么提示禁止点击该NPC触发字段?

为什么提示禁止点击该NPC触发字段,如下图?

下面以一个死亡触发为例,不仅仅是死亡触发,引擎的所有触发都不允许玩家点击NPC触发,

例如:物品触发[@StdModeFunc],套装触发[@GroupItemOn] [@GroupItemOff],魔法触发[@MagTagFunc],穿脱装备触发[@TakeOn] [@TakeOff]等等,就不一一举例了。

完整脚本代码

[@PlayDie]
<下一页/@下一页>
[@下一页]
<返回/@PlayDie>
;<返回/@PlayDie> 新引擎这里“@PlayDie”是引擎内部触发字段,禁止用户通过NPC点击来触发这个字段
;不仅仅“@PlayDie”不允许“@PlayDie1、 @PlayDie2、 @PlayDie死亡”等等都不允许,只有前面的字符和“@PlayDie”一样的后面不管增加什么字符都将不允许
;如果非要使用玩家点击NPC触发的,可以把上面的脚本改成如下,使用goto转一下
[@PlayDie]
<下一页/@下一页>
[@下一页]
<返回/@返回>
[@返回]
#ACT
goto @PlayDie
还有其他一些触发,也属于这类的,比如:
DelayCall 5000 @再次复活
SendCenterMsg 180 251 还剩余%d发放新手奖励. 0 30 @GiveNewHumanItem
“@再次复活”和“@GiveNewHumanItem”就会变成引擎内部触发,也是不允许用使用NPC点击来触发的
还有一些其他脚本命令带字段触发的,就不一一举例了。

为什么无法切换攻击模式,@开始提问无效?

最大的可能是命令被过滤了

M2-查看-列表信息二-消息过滤

就在这个里面过滤了,如果不知道哪个,就全部清空掉

为什么有空气墙?

先确认登录器和M2是否配套,在配套的情况,查看你所在的地图服务端和客户端是否一样 ,例:“D:\MirServer\Mir200\Map\3.Map” 和 “E:\盛大网络\热血传奇\Map\3.Map”不一样就会有空气墙

为什么物品不能重叠

物品重叠功能不能使用在拥有持久、属性、品质、纯度等物品上。 StdMode等于 0, 2, 3, 40, 41, 42 ,31

打包物品 叠加 StdMode=31 Source=0 OverLap=1或2 需要设置正确的解包物品“UnbindList.txt”,否则不算叠加打包物品,双击还是会消失

物品重叠功能,StdItem.DB 中OverLap=1或2 表示可以重叠 0不叠加

OverLap=1 重量=重叠数量*单物品重量/10

OverLap=2 重量=重叠数量*单物品重量

DuraMax必须大于1

为什么看不见衣服翅膀和武器特效

1. M2里设置错误

2. 客户端没有相应的补丁

3. 内挂开启了隐藏衣服和武器特效的选项

为什么装备元素属性不显示

M2-选项-物品装备-新增属性 勾选“启用新增属性”,勾选后登录器才能显示元素属性

如何在内挂增加BOSS提示问题

1、内挂-基本-勾选BOSS提示

2、在登录器生成器\补丁文件夹\Config\BOSS.txt 创建好这个文本。

3、文本里加入BOSS名字,一行一个。注意编码格式必须是ANSI。

4、打包生成登录器即可

如何拆分叠加物品

按住键盘“Shift”键,鼠标左键点击需要拆分的叠加物品

如何改变蜡烛类型装备掉持久类型

功能:

自定义蜡烛物品掉持久控制,支持按时间掉持久或与普通装备一样受攻击掉持久。

用法:

按时间掉持久:数品数据库中Source字段为:0

受攻击掉持久:物品数据库中Source字段为:1

修改蜡烛、火把的Shape值为亮度,亮度为1-5最高亮度5。

当M2勾选随持久改变亮度的时候,亮度只受持久控制不受Shape,持久10000=1点亮度,最高亮度5

超过50000持久亮度也是5。

如何查询数据库信息

数据库界面-右键-查询分析

然后选择你要查看的数据库名字点+号展开

再到用户表右键-打开,打开后的数据库表如下所示

如何设置武器为吸血武器

功能:

可将武器设置成吸血武器;

用法:

在物品数据库中,将武器Anicount字段设为:138,

吸血量为武器的重量(如重量为10,即每刀吸血10点)

网关封速详解

游戏网关设置

1、 间隔控制: 这里的值是控制出手到切换任意动作的间隔时间。(即等于老版本的攻击补偿、施法补偿)

例如:攻击切换走跑、攻击切施法等等的时长

2、 动作冷却时间: 这里的值是控制整个动作的总时间的,攻击总间隔、施法总间隔,这个值必须大于前面的间隔控制。

老版本引擎换到新版本引擎只需要点击一下下面的 将补偿转换为公共CD 按钮即可

3、严格控制说明: 严格控制是为应对市面上的微加速而设置的一个封挂功能,该功能开启后将严格按照控制阈值来检测玩家速度

任何一次低于控制值的动作,都会被罚站并回弹, 例如:攻击超速后这一刀就是个假刀,施法超速后就是个假的举手

移动超速后会被反弹回来。

控制阈值不建议设置太低,一切以自己服务器的网络速度来设置,太低了可能会影响正常玩家的操作

4、脚本控制单个玩家的封速和野蛮宽松度。

补充说明

详细说明

自定义封速命令

SetPunishParam 5 200 1 1 1

参数1 罚站CD(罚站的时间)

参数2 封速阈值(不开严格控制建议值200,开了严格建议值300)

参数3 严格控制等级(0-5 0代表关闭,建议值1-3)

参数4 走跑接野蛮时等待(禁止抬腿野蛮,即按野蛮后必须等玩家这一步跑完后才会执行野蛮)

参数5 攻击接野蛮时等待(禁止抬手野蛮,即按野蛮后必须等玩家这一刀砍完后才会执行野蛮)

注:默认不禁止抬腿野蛮、抬手野蛮的情况下,按了野蛮即会取消当前动作,立即执行野蛮,这样就可以操作出抬脚就出的隔位野蛮和出刀在半空中接野蛮的操作。

脚本错误 script error,load fail

如果提示以下脚本错误

CALL的脚本要这样写

正确的:

完整脚本代码

[@法魔皇元神]
{
}
[@道魔皇元神]
{
}
错误的:
{
[@法魔皇元神]
[@道魔皇元神]
}

脚本防刷说明

被刷常见功能:

1.任务点击事件(当前点击任务常量:<$CURRTASKID>) 该常量为客户端发送的ID,通过封包可以进行修改,一定要做好对应ID的服务端变量判断,否则有被刷风险 2..link执行标签(link=@回调标签#变量名1=变量值#变量名2=变量值) 该回调的标签为客户端发送的,可以通过封包修改,请不要用于消耗类判断或直接执行,否则有被刷风险

常见被刷的几种方式:

错误示例:

完整脚本代码

[@main]
#IF
checkmoney 元宝 > 1000
#ACT
money 元宝 – 1000
goto @给予屠龙
[@给予屠龙]
#IF
checklevelex ? 40
#ACT
give 屠龙 1
#elseact
messagebox 条件不满足无法给予!
正确示例:
[@main]
#IF
checkmoney 元宝 > 1000
#ACT
MOV S$调用指纹判断 已开启
goto @给予屠龙
[@给予屠龙]
#IF
NOT EQUAL S$调用指纹判断 已开启
#ACT
messagebox 非法封包!
BREAK
#IF
checklevelex ? 40
#ACT
money 元宝 – 1000
give 屠龙 1
MOV S$调用指纹判断
#elseact
MOV S$调用指纹判断
messagebox 条件不满足无法给予!
错误示例:
[@StdModeFunc150]
#if
checkitem 1000元宝 1
#ACT
messagebox 是否确定要领取? @确定 @取消
[@确定]
#IF
#ACT
GAMEGOLD + 1000
[@取消]
#if
#ACT
GIVE 1000元宝
正确示例:
[@StdModeFunc150]
#if
checkitem 1000元宝 1
#ACT
MOV S$双击150判断 已开启
messagebox 是否确定要领取? @确定 @取消
[@确定]
#IF
EQUAL S$双击150判断 已开启
#ACT
MOV S$双击150判断
GAMEGOLD + 1000
[@取消]
#if
EQUAL S$双击150判断 已开启
#ACT
MOV S$双击150判断
GIVE 1000元宝 1

血球素材编辑

血球的是到素材里面替换的,UI编辑器编辑不了的,把你的素材替换到登录器读取的血球素材

登录器生成器选择13周年的生成的登录器,血球读取的是ui_n.wzl 序号770 771 772 773

登录器生成器选择连击版、合击版、176、185生成的登录器,血球读取的是必备补丁NewopUI.Jpk序号0 Prguse.wzl 序号4 5 6

登录器生成器选择传奇序章生成的登录器,血球读取的是UI3.wzl 序号480 22 23 24

登录器生成器选择传奇归来生成的登录器,血球读取的是UI2.wzl 序号940 470 471 472 473

登录器生成器选择传奇外传生成的登录器,血球读取的是UI.wzl 序号1010 Prguse_16.wzl序号3 4 5 6

NPC窗口面板触发

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

layerid NPC面板窗口ID

<FONTFACE=宋体> <Img|move=0|wil=NewopUI|pcimg=108|bg=1|reset=1|show=0|layerid=1000>

完整脚本代码

[@OpenLayerXX]
[@CloseLayerXX]
;//例子如下:
;QF触发
[@OpenLayer1000]
#IF
#ACT
SENDMSG 7 面板打开
[@CloseLayer1000]
#IF
#ACT
SENDMSG 7 面板关闭

倒计时COUNTDOWN

NPC对话框内倒计时

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

<COUNTDOWN|a=0|x=0|y=0|time=xx|count=xx|size=xx|color=xx|link=@触发>

标签1: COUNTDOWN 秒数

标签2: TIMETIPS 天数+小时+分钟+秒

支持参数

— — 倒计时

— — time 倒计时时间

— — link 脚本命令( 触发必须放最后 )

— — count 循环次数

补充说明

详细说明

— — size 文本大小

— — color 文本颜色

— — outline、outlinecolor 描边宽度 描边颜色

COUNTDOWN 新增参数

— showWay 参数(0,1)

0=[xx秒]

1=[小于1天 xx:xx:xx 大于1天 xx天xx时xx分]

列表容器ListView

说明

自定义列表容器(左右滑动,上下滑动)
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
列表容器:<ListView>
<ListView|children={1,2}|direction=xx|bounce=xx|margin=xx|>
— direction 方向 1竖向 2横向
— margin 子控件间隔
— reload 刷新面板=1 不刷新=0
— default 索引跳转第几个容器
— cantouch 是否可滑动 1默认 0不可
— Slider 为1时开启滑块,有滑块参数则显示设置的滑块,没有则显示默认滑块
— Sdbg 滑块底图
注:direction为1时滑块按钮为上下放置,direction为2时滑块按钮为左右放置,以下参数为非数值值时,不显示改控件。
— Sdupnimg 滑块向上/向左箭头正常图片序号
— Sdupmimg 滑块向上/向左箭头悬停图片序号
— Sduppimg 滑块向上/向左箭头按下图片序号
— Sdnimg 滑块正常图片序号
— Sdmimg 滑块悬停图片序号
— Sdpimg 滑块按下图片序号
— Sddwnimg 滑块向下/向右箭头正常图片序号
— Sddwmimg 滑块向下/向右箭头悬停图片序号
— Sddwpimg 滑块向下/向右箭头按下图片序号
–例子:<ListView|children={2,3,4,5,6,7,8,9}|x=33|y=55|width=220|height=440|direction=1|bounce=0|margin=1|reload=0>
— 我想跳转到第ID:9的容器 default= 8 因为children= {2,3,4,5,6,7,8,9}里面的ID:9在第8个顺序
— **************************
同一脚本ID不可以重复,背景默认ID为1,自己定义ID从2开始
例子:
<ListView|id=7|x=260|y=310|children={70,71,72,73,74,75,76,77,78,79}|width=400|height=60|direction=2|bounce=0|margin=40|cantouch=1|color=x>
<ItemShow|id=70|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=71|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=72|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=73|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=74|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=75|itemid=10634|itemcount=100|showtips=1|bgtype=1|grey=0>

获取背包物品显示到格子

说明

背包道具显示到格子后,点击产生勾选效果
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
–<BAGITEMS>
–<BAGITEMS|condition=xx#xx,xx#xx,|select=1,2,3|count=xx|row=1|link=@脚本命令>
— condition StdMode#Shape,StdMode#Shape
— select 已经选择的道具唯一ID
— count 格子数量
— row 显示行数
— iwidth 格子 宽
— iheight 格子 高
— link 单击触发( 点击触发必须放最后 )
– selecttype 选择类型 0 = 多选 1 = 单选
— showstar 星级显示 1 = 显示 0 = 不显示
— conditionEx (注意大小写) 过滤星级 0=不过滤 1=过滤
— conditionParam (注意大小写) 过滤星级等级
— conditionOnOff (注意大小写) 显示星级条件 0 = 为星级小于设定条件值不显示 1 = 为大于设定条件值不显示
— exclude 勾选完物品唯一ID 不显示在当前同一组件内 格式:exclude=<$str(s0)>
— filter1 排除道具ID,排除道具ID(多个,逗号分隔)
— filter2 排除道具名,排除道具名(多个,逗号分隔)
— filter3 只显示道具ID或道具名,道具ID或道具名 (多个,逗号分隔,支持ID和道具名同时用) — exbind 为1时过滤绑定的
— showtips 是否显示tips 0 = 不显示 1 = 显示
— **************************
–<HEROBAGITEMS> 参数等同 BAGITEMS
//; BAGITEMS例子

完整脚本代码

[@MAIN]
#IF
#ACT
#SAY
<BAGITEMS|condition=*|select=<$STR(S0)>|count=12|row=2|x=0|y=0|link=@选择物品2>
[@选择物品2]
#IF
#ACT
SendMsg 0 –【】–<$STR(S0)>
GOTO @MAIN
说明
变量S0 是返回被点选的物品的唯一ID 点选多个物品就会返回多个ID 用,号分割
跳转回显示界面 会出现勾选效果

基础容器Layout

范围大小点击区域

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

< Layout |width=50|height=50|color=xx|link=@触发>

— — 容器

— — width 容器宽度

— — height 容器高度

— — color 容器颜色 (不写颜色为透明,0-255为专用调整颜色)

— — **************************

图上所示:只要是红色区域都能触发!

复选框CheckBox

复选框组件

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。 必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— — **************************

–"<CheckBox|id=0|children={1,2,3…}|checkboxid=xx|wil=NewopUI|pcnimg=192|pcpimg=193|default=xx|submit=xx|delay=xx|count=xx|link=@触发>"

— — 复选框

— — wil 图片所在文件名

— — checkboxid 复选框ID 用于提交数据,ID用数字变量名,返回变量值0和1,0表示没有勾选1表示勾选

— — pcnimg 未选择时显示的图片

— — pcpimg 选择时显示的图片

— — default 默认选择状态 1显示 0不显示

补充说明

详细说明

— — delay 自动提交时间(执行link=@触发间隔时间)

— — count 自动提交次数(点击后执行link=@触发次数)

— — **************************

说明:checkboxid参数支持返回勾选状态 0 1 ,设置方式 checkboxid= 数字型变量的名字 (必须是数字变量,变量不能重复)

例如:N66变量不勾选状态=0 勾选后N66变量=1 取消勾选N66变量=0

<$npcparams(类型,变量)>

;类型:1=输入框,2=勾选框,3=滑动条,4=下拉框(菜单)

;变量:面板传递的变量

<FONTCOLOR=#000000FACE=宋体> 范例:

<CheckBox|x=30|y=50|checkboxid=n66|wil=xx|pcnimg=145|pcpimg=144|default=<$str(n66)>|delay=1|count=1|link=@勾选触发>

完整脚本代码

[@勾选触发]
#if
#act
SENDMSG 9 勾选状态N66=<$npcparams(2,N66)>

序列帧<Frames>

自定义序列帧播放

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

–"<Frames|id=0|children={1,2,3…}|a=0|x=0|y=0|width=xx|height=xx|wil=xx|start=xx|count=xx|speed=xx|loop=xx>"

— — 序列帧

— — start 开始序号

— — count 图片数量

— — speed 播放速度 毫秒

— — loop 是否循环 1.循环 1.播放1次 2.播放2次

-DMode绘制模式(0=普通绘制,1=特效绘制)

— — finishframe 停留哪个帧

补充说明

详细说明

— — finishhide 完成是否隐藏

— — slowcount 放缓数量,默认= 0不放缓

案例:

<Frames|id=0|x=20|y=0|wil=NewOpui|start=2350|count=12|speed=100|loop=3>

按钮Button

文字按钮

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— — **************************

<Button|wil=NewopUI|pcnimg=140|pcmimg=140|pcpimg=143|text=按钮文字|color=255|size=12|width=80|height=30|link=@触发>

— — 按钮

— — wil 图片所在文件名

— — pcnimg 正常图片序号

— — pcmimg 悬停图片序号

— — pcpimg 按下图片序号

— — text 按钮文字

补充说明

详细说明

— — color 文本颜色

— — outline、outlinecolor 描边宽度 描边颜色

— — size 文本大小

— — grey 显示颜色 0.默认 1.灰色

— — tips 鼠标悬停提醒文字备注

— — tipsx 鼠标悬停提醒文本X偏移

— — tipsy 鼠标悬停提醒文本Y偏移

— — **************************

文字Text

说明

文字信息
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
–<Text|color=xx|size=12|text=测试文本|link=@脚本命令>
–<Text|color=255|size=18|text=测试文本>
–<Text|color=255,254,253|size=12|text=测试文本>
— — text 文本
— — color 文本颜色 支持闪烁,格式为{255,254,253},闪烁间隔1s
— — size 文本大小(只支持14,16,18,20)
— — outline、outlinecolor 描边宽度 描边颜色
— — tips 鼠标经过提醒文字备注
— — tipsx 鼠标经过提醒文本X偏移
— — tipsy 鼠标经过提醒文本Y偏移
— — link 单击触发( 点击触发必须放最后 )
— — simplenum 简化数值 1 (超万显示万为单位 超亿显示亿为单位)
— — scrollWidth 滚动区域宽度
— — scrollWay 滚动方式 — 0 从右到左 1 从下到上
— — scrollTime 滚动时间(秒)
— — scrollHeight 滚动区域高度
富文本
— — **************************
–<RText|x=140|y=75|color=70|size=20|text=<我是/FCOLOR=250><富文本/FCOLOR=251><996/FCOLOR=253>>
— text 内容
— size 字体大小
— color 字体颜色
— scrollWidth 滚动区域宽度
— scrollWay 滚动方式 — 0 从右到左 1 从下到上
— scrollTime 滚动时间(秒)
— scrollHeight 滚动区域高度
— tips 鼠标悬停提醒文字备注
— tipsx 鼠标悬停提醒文本X偏移
–tipsy鼠标悬停提醒文本Y偏移
— — **************************

图片Img

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。

<Img|wil=NewopUI|pcimg=108|bg=1|move=1|reset=1|show=0|layerid=0|width=xx|height=xx|scale9l=xx|scale9r=xx|scale9t=xx|scale9b=xx|link=@脚本命令>

— wil 图片所在文件名

— pcimg 图片序号

— bg 是背景图

— esc ESC关闭

— move 可移动

— reset 重置界面坐标

— show 显示位置 0左上 1右上 2左下 3右下 4中间

— layerid 界面ID

补充说明

详细说明

— loadDelay 延迟加载剩余界面 1=延迟 0=不延迟

— hideMain=1 隐藏UI界面

— link <SPANSTYLE="FONT-SIZE:12PT;FONT-FAMILY:宋体;MSO-FONT-KERNING:0.0000PT;MSO-SPACERUN:'YES'"> 单击触发( 点击触发必须放最后 )

— forbidBagEquip=1 禁止打开背包装备栏

— scale9l 九宫拉伸 距左侧距离

— scale9r 九宫拉伸 距右侧距离

— scale9t 九宫拉伸 距上方距离

— scale9b 九宫拉伸 距下方距离

— grey 灰化显示 0默认 1灰色

— bagPos 背包位置 1左边 0右边

— opacity 透明度 0-255 默认255全显

— **************************

游戏面板调用

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。 必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

OPENHYPERLINK 参数1 参数2

参数1:面板ID

参数2:1= 打开面板重复点按钮不会关闭,除非主动点关闭按钮(一般做任务配合新手引导用到) 2=关闭当前面板

例子:

完整脚本代码

[@打开界面]
#IF
#ACT
OPENHYPERLINK 1
Sendmsg 6 打开了装备栏面板
[@任务状态打开界面]
#IF
#ACT
OPENHYPERLINK 1 1
Sendmsg 6 打开了装备栏面板
[@关闭界面]
#IF
#ACT
OPENHYPERLINK 1 2
Sendmsg 6 关闭了装备栏面板
[@强制小退]
#IF
#ACT
OPENHYPERLINK 34 1
Sendmsg 6 强制小退到角色界面
;-
1 角色-装备
2 角色-状态
3 角色-属性
4 角色-技能
5 角色-称号
6 角色-首饰盒
7 背包
8 摆摊
9 商城-热销
10 商城-装饰
11 商城-功能
12 商城-节日
13 行会-主界面
14 行会-成员列表
15 行会-行会列表
16 邮件
17 组队
20 设置-保护
21 设置-拾取
22 设置-战斗
23 设置-基础
24 小地图
27 拍卖行
28 好友
30 打开创建行会界面
31 打开行会(智能打开)
32 排行榜面板
33 面对面交易面板
34 强制小退
35 九九交易行系统
37 时装界面
112 1 展开小地图 (不填写参数2,自动收缩)
112 2 折叠小地图 (不填写参数2,自动收缩)
及时雨
2301 职业
2302 NPC
2303 挂机
2304 发言
2305 英雄
2306 帮助
复古内挂
2307 按键
6100 首饰盒6格
6101 英雄首饰盒6格
110 任务栏
;–英雄面板
41 英雄-装备
42 英雄-状态
43 英雄-属性
44 英雄-技能
45 英雄-称号
46 英雄-首饰盒
47 英雄-背包
48 英雄-时装界面

滑动拉杆<Slider>

滑动拉杆

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— Slider: 滑动拉杆

— sliderid:滑动条ID 用于提交数据 //只支持变量 N N$

例1:sliderid= N0 滑动取到的变量值<$npcparams(3,N0)>客户端常量:$STM(SLIDERV_N0)

客户端常量只能显示在面板上,不能做其他操作类的功能

— pcbgimg:拖动背景资源

— pcbarimg:拖动条资源

— pcballimg:拖动球资源

— width:宽度 为空时,默认素材的宽度

补充说明

详细说明

— height:高度 为空时,默认素材的高度

— defvalue:默认展示值 为空时,默认为0

— maxvalue:拖动最大值 为空时,默认为100

— link:跳转触发

<Slider|wil=NewopUI|sliderid=N0|x=50.0|y=60.0|width=400|height=14|maxvalue=10000|defvalue=5000|pcbgimg=298|pcbarimg=299|pcballimg=297|link=@跳转>

完整脚本代码

[@跳转]
#IF
#ACT
SENDMSG 7 执行了跳转当前滑动条的值为:<$npcparams(3,N0)>

物品框ItemShow

说明

EquipShow 获取身上物品显示到格子里面
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
–<EquipShow>
–<EquipShow|index=xx|showtips=xx|link=@脚本命令>
— index 物品位置(0-55)
— showtips 是否显示tips 0 = 不显示 1 = 显示 — bgtype 是否显示背景图 0 = 不显示 1 = 显示
— scale 缩放比例
— link 单击触发( 点击触发必须放最后 )
— dblink 双击触发
— reload 刷新面板=1 不刷新=0
— effectshow 1=显示背包 2= 显示内观 0= 不显示 默认值为1
— **************************
//;EquipShow例子
<EquipShow|id=3|percentx=10|percenty=50|a=4|index=0|showtips=1|bgtype=1|link=@点击装备>
–<HEROEquipShow> 参数等同 EquipShow
;
ItemShow按物品IDX显示到格子里面
–<ItemShow>
–<ItemShow|itemid=xx|itemcount|showtips=xx|link=@脚本命令>
— itemid 物品id
— itemname 物品名字
— itemcount 物品数量
— color 数量颜色
— showtips 是否显示tips
— link 单击触发 @ 脚本命令
— grey 灰化显示
— lock 1/0 显示锁图标
— bgtype 是否显示背景图 0 = 不显示 1 = 显示
— **************************
//;ItemShow例子
<ItemShow|id=4|x=60|y=120|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0> <FONTCOLOR=#000000>
;
DBItemShow 按物品的唯一ID显示到格子里面
— <DBItemShow>
— <DBItemShow|x=0|y=0|makeindex=22125|link=@跳转触发>
— makeindex 唯一ID
— showtips 是否显示tips
— link 单击触发 @ 脚本命令
— grey 灰化显示
— showstar 显示星级 1 = 显示 0 = 不显示
— bgtype 是否显示背景图 0 = 不显示 1 = 显示
— **************************
–<HERODBItemShow> 参数等同 DBItemShow
//;DBItemShow例子
<DBItemShow|x=0|y=0|makeindex=22125|link=@跳转触发>

特效Effect

自定义播放 (特效)

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— — **************************

<Effect|x=280|y=60|wil=xx|start=80|num=15|DMode=0|gap=100|scale=1|count=1|link=@点击特效>

— — 特效

— — wil 图片所在文件名

— — start 开始序号

— — num 播放数量

— — DMode绘制模式(0=普通绘制,1=特效绘制)

— — gap 帧间隔毫秒

补充说明

详细说明

— — count 播放次数

— — link 单击触发( 点击触发必须放最后 )

— — scale 缩放比例 1.正常缩放

— — **************************

百分比图片<PercentImg>

百分比显示图片

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

百分比图片 <PercentImg>

<PercentImg|x=30|y=60|direction=0|wil=Newopui|pcimg=231|minValue=50|maxValue=148>

参数

direction 方向 0从左到右 1从右到左 2从上至下 3从下至上

wil 图片所在文件名

pcimg 图片序号

minValue 显示图片进度值

maxValue 定义图片最大值

自定义OK框

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

<ITEMBOX|x=191|y=50|width=70|height=70|tips=<只能放入衣服/FCOLOR=249>|boxindex=2|stdmode=*|tipsx=4|tipsy=100|wil=NewopUI|pcimg=112>

;支持boxitem0-boxitem99代替-1关联对应OK框

— — wil 图片所在文件名

— — pcimg 背景图片序号

— — boxindex OK框序号

— — stdmode 允许放入的物品格式 stdmode= 5,6,10,11

— — tips 鼠标悬停提醒文字备注

— — tipsx 鼠标悬停提醒文本X偏移

— — tipsy 鼠标悬停提醒文本Y偏移

自定义按钮AddButton

说明

自定义按钮(自定义面板)
;可以将任何新NPC控件显示到以下支持到的任意面板
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
ADDBUTTON 增加自定义按钮
DELBUTTON 删除自定义按钮
; –
ADDBUTTON 参数 1: 主窗口 ID 参数 2: 图标 ID 参数 3: 图标路径
DELBUTTON 参数 1 :主窗口ID 参数 2 :图标ID
; –
参数 1:主窗口ID
101 主界面左上 建议开始微调坐标 0 0
102 主界面右上 建议开始微调坐标 -65 0
103 主界面左下 建议开始微调坐标 0 -92
104 主界面右下 建议开始微调坐标 -62 -92
105 主界面左中 建议开始微调坐标 0 0
106 主界面上中 建议开始微调坐标 0 0
107 主界面右中 建议开始微调坐标 -62 0
108 主界面下中 建议开始微调坐标 0 -92
109 主界面切换按钮
110 主界面任务界面
1101 主界面最顶左上
1102 主界面最顶右上
1103 主界面最顶左下
1104 主界面最顶右下
2 角色-外框主面板
3 角色-装备-上层
3001 角色-装备-下层
301 别人装备界面-上层
3002 别人装备界面-下层
4 角色-状态
5 角色-属性
6 角色-技能
7 角色-背包
8 小地图
9 行会 行会列表
10 行会 行会创建
11 行会 主面板
12 行会 行会成员
14 邮件
15 好友
17 聊天框
19 复古内挂 保护
20 复古内挂 物品
21 复古内挂 战斗
19001 复古内挂 基础
19002 复古内挂 职业战
19003 复古内挂 职业法
19004 复古内挂 职业道
19005 复古内挂 挂机
19006 复古内挂 按键
19007 复古内挂 帮助
19008 复古内挂 保护-英雄
22 设置 操作
23 角色-称号
29 拍卖行 主面板
30 拍卖行 世界拍卖
31 拍卖行 行会拍卖
32 拍卖行 我的竞拍
33 拍卖行 我的上架
34 拍卖行 竞价
35 拍卖行 一口价
36 拍卖行 上架
37 拍卖行 下架
38 拍卖行 超时
39 角色-时装
3901 角色-查看别人时装
3902 时装界面-下层
41 首饰盒
43 怪物大血条
602 摆摊界面
6021 对方摊位界面
701 商城-装饰
702 商城-补给
703 商城-强化
704 商城-好友
705 商城-限时
2301 他人称号
4101 查看他人首饰盒
50002 英雄-角色外框主面板 (二合一面板不支持挂靠)
50003 英雄-装备 上层
53001 英雄-装备 下层
50301 英雄-查看别人装备-上层
53002 英雄-查看别人装备-下层
50004 英雄-状态
50005 英雄-属性
50006 英雄-技能
50007 英雄-背包
50023 英雄-称号
52301 查看他人英雄称号
54000 英雄-头像
50039 英雄-时装
3903 英雄时装界面-下层
53901 查看他人英雄时装
50041 英雄-首饰盒
54101 查看他人英雄首饰盒
参数 2:图标ID (1~XX不限制,不可重复)
参数 3:图标路径
<Button|a=0|x=180.0|y=2.0|tips={点击查看【金钻服务】/FCOLOR=250}|tipsx=10|tipsy=110|wil=NewopUI|pcnimg=140|pcmimg=140|pcpimg=143|color=251|link=@会员服务>
增加图标实际例子如下 :

完整脚本代码

#IF
#ACT
MOV S$图标 <Button|a=0|x=180.0|y=2.0|tips={点击查看【金钻服务】/FCOLOR=250}|tipsx=10|tipsy=110|wil=NewopUI|pcnimg=140|pcmimg=140|pcpimg=143||link=@会员服务>
INC S$图标 <Button|a=0|x=260.0|y=2.0|tips=点击查看【在线奖励】|tipsx=10|tipsy=110|wil=NewopUI|pcnimg=140|pcmimg=140|pcpimg=143||link=@在线奖励>
ADDBUTTON 101 1 <$STR(S$图标)>
QFunction-0.txt 触发可以随意定义,不可有重复
[@会员服务]
#IF
#ACT
SENDMSG 6 你的图标正常
[@在线奖励]
#IF
#ACT
SENDMSG 6 你的图标正常
; —
DELBUTTON 101 1
删除主窗口 ID:101 图标ID:1

自定义输入框Input

自定义输入框

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

<Input|inputid=xx|type=xx|width=xx|height=xx|color=xx|size=xx|mincount=xx|maxcount=xx|errortips=xx>

— — Input 输入框

— — inputid(1~9) 输入框ID 用于提交数据

— — type 输入类型 0任意文本 1数字 2密码 3绝对值数字(输入09显示9)

— — place 空着时提醒文本

— — placecolor 空着时提醒文本颜色

— — width 输入框宽度

— — height 输入框高度

补充说明

详细说明

— — color 输入文本颜色

— — size 输入文本大小

— — mincount 最小输入字符数

— — maxcount 最大输入字符数

— — errortips 输入类型不符提醒

— — onlyCh 输入仅能中文 1仅中文

— — submitInput (0~9) 提交输入框内容可以提交多个(格式:submitInput=3,4,5)

— — 输入的字符常量<$NPCINPUT(X)> X= 1~9

— — bgtype 是否显示背景框0~1

;例子

完整脚本代码

[@自定义输入框]
#IF
#ACT
#SAY
<Img|children={1,2,3,4,5,6,7,8,9,10,11,12}|show=4|bg=1|esc=1|move=1|wil=对话框|pcimg=112|reset=1|scale9l=10|scale9r=10|scale9t=10|scale9b=10>
< Layout|id=1|children={a1}|x=790|y=60|width=50|height=50|color=x|link=@exit >
<Button|id=a1|a=4|percentx=50|percenty=50|wil=对话框 |pcnimg=113|pcmimg=113|pcpimg=114|link=@exit >
<Input|x=20|y=40|width=145|height=25|size=18|place=请输入|placecolor=251|errortips=输入不对|mincount=3|color=250|maxcount=15|inputid=1|type=0>
<Img|x=80|y=240|wil=对话框|submitInput=1|pcimg=115|grey=1|link=@提交>
[@提交]
#IF
#ACT
sendmsg 7 本次输入的值:<$NPCINPUT(1)>

艺术字TextAtlas

艺术字(数字转图片)

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— — **************************

<TextAtlas|x=151.0|y=79.0|wil=NewopUI|pcimg=2522|iheight=24|iwidth=14|text=0123456789>

— — 艺术字

— — wil 图片所在文件名

— — pcimg 图片序号(图片必须为一个整图包含0-9的数字)

— — iheight 素材高度

— — iwidth 单字宽度(素材总宽度除以总字数=单字宽度)必须整除

— — text 需要转换的数字,可以是变量

补充说明

详细说明

— — **************************

注:艺术字的排 列按素材大小依次排列,所以字体大小和间隔宽度都由素材决定,如需改变字体大小和间隔宽度只能修改素材来实现。

完整脚本代码

[@main]
#IF
#ACT
#SAY
<Img|x=50|y=50|wil=NewopUI|pcimg=108|bg=1|layerid=8|esc=1>
<TextAtlas|x=151.0|y=79.0|wil=NewopUI|pcimg=2522|iheight=24|iwidth=14|text=0123456789>

获取身上装备显示到格子

获取身上装备并显示到格子里

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

–<EQUIPITEMS>

–<EQUIPITEMS|positions=*|select=<$STR(S0)>|count=xx|row=1|link=@脚本命令>

— positions 装备 位置

— select 已经选择的道具唯一ID

— count 格子数量

— selecttype 选择类型 0 = 多选 1 = 单选

— showstar 显示星级 1 = 显示 0 = 不显示

— row 显示 行数

补充说明

详细说明

— iwidth 格子宽

— iheight 格子高

— link 脚本命令( 点击触发必须放最后 )

— <$STR(S0)> 物品唯一ID写入变量

— showtips 是否显示tips 0 = 不显示 1 = 显示

–<HEROEQUIPITEMS> 参数等同 EQUIPITEMS

— **************************

//; EQUIPITEMS 例子

完整脚本代码

[@MAIN]
#IF
#SAY
<EQUIPITEMS|x=85.0|y=42.0|select=<$STR(S0)>|positions=*|count=4|row=1|link=@脚本命令>
[@脚本命令]
#IF
#ACT
SendMsg 0 –【】–<$STR(S0)>
GOTO @MAIN

菜单选项<menuid>

说明

菜单拉选项
;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。 必须勾选M2-客户端控制-页面显示-启用新NPC面板写法
菜单拉选项标签:< menuid >
参数
— menuid: 下拉菜单ID 用于提交数据 // 只支持S变量 如S0,S$自定义变量
例1:sliderid=S0 选择后取到的变量值<$STR(S0)>
例2:sliderid= S$自定义变量 选择后 取到 的变量值<$STR( S$自定义变量 )>
— img : 展示底资源 为空时,默认NewopUI-2000
— arrowimg : 箭头图资源 为空时,默认NewopUI-1448、1451
— selectimg : 选中图片资源 为空时,默认NewopUI-2047
— listimg : 菜单列表底图资源 为空时,默认NewopUI-2000
— width: 宽度 为空时,默认素材的宽度
— height: 高度 为 空时,默认素材的高度
— itemname : 菜单列表文本 #分隔
— select : 默认选择文本
— direction : 方向 0下拉 1上拉
— itemhei : 单条菜单列表项高
— fontcolor : 字体颜色值
— selectcolor : 选中的字体颜色值
maxhei: 下拉内容高于这个参数则可以上下滑动
— link : 跳转触发
<FONTFACE=宋体><FONTSIZE=3> <MenuItem|menuid=S0|x=300|y=50|itemname=刘德华#张学友#黎明#郭富城|select=刘德华|direction=0|fontcolor=250|selectcolor=254|select=选择人物|itemhei=30>
<$npcparams(类型,变量)>
;类型:1=输入框,2=勾选框,3=滑动条,4=下拉框(菜单)
;变量:面板传递的变量
脚本示例:

完整脚本代码

[@main]
#ACT
MOV S1 裁决之杖
MOV S$自定义
#say
<FONTCOLOR=#000000><Text|x=22.0|y=69.0|color=251|size=18|text=福利多多:新人免费领取一件物品!>
<MenuItem|menuid=S1|x=180|y=166|itemname=裁决之杖#骨玉权杖#龙纹剑#1000元宝|select=裁决之杖|direction=1|fontcolor=255|selectcolor=254|select=裁决之杖|itemhei=30|link=@菜单触发1>
<MenuItem|menuid=S$自定义|x=525|y=58|itemname=我要变强#我要装备#我要经验#我要元宝#我要转生#地图介绍|select=我要变强|direction=0|fontcolor=250|selectcolor=254|select=游戏帮助|itemhei=30|link=@菜单触发2>
<Button|x=202.0|y=134.0|color=255|wil=Newopui|pcpimg=143|pcnimg=141|pcmimg=142|text=免费领取|link=@领取>
[@菜单触发1]
#act
sendmsg 6 你选择了:<$npcparams(4,S1)>
MOV S1 <$npcparams(4,S1)>
[@领取]
#act
GIVE <$str(S1)> 1
sendmsg 6 免费领取了【<$str(S1)>】物品!
[@菜单触发2]
#IF
equal S$自定义 我要变强
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text= 我要变强的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>
#IF
equal S$自定义 我要装备
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text=我要装备的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>
#IF
equal S$自定义 我要经验
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text=我要经验的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>
#IF
equal S$自定义 我要元宝
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text=我要元宝的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>
#IF
equal S$自定义 我要转生
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text=我要转生的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>
#IF
equal S$自定义 地图介绍
#say
<Text|a=0|x=32|y=60|tipsx=10|tipsy=80|color=255|size=18|text=地图介绍的界面 >
<Text|a=0|x=384|y=80|tipsx=10|tipsy=80|color=251|size=18|text=返回|link=@MAIN>

角色内观部件<UIModel>

面板显示角色内观部件位

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

— <UIModel>

例子:

完整脚本代码

[@显示角色内观]
#IF
#SAY
<UIModel|x=150|y=110|sex=0|headID=344|capID=1188|clothID=2540|weaponID=2523|clothEffectID=506#1#0#0|weaponEffectID=505#1#0#0>

原始表格

角色内观 UIModel字段2
sex性别 0男 1女
scale1默认大小
clothID衣服内观Looks
clothEffectID衣服特效ID(优先读取盛大特效,再读取列表信息二-特效列表里的特效)格式:(特效ID#模式(0前面;1在后面)#X坐标#Y坐标)多个特效用&隔开
weaponID武器内观Looks
weaponEffectID武器特效ID(优先读取盛大特效,再读取列表信息二-特效列表里的特效)格式:(特效ID#模式(0前面;1在后面)#X坐标#Y坐标)多个特效用&隔开
headID头盔内观Looks
headEffectID头盔特效ID
capID斗笠内观Looks
capEffectID斗笠特效ID
shieldID盾牌
shieldEffectID盾牌特效ID
veilID面巾
veilEffectID面巾特效
hairID发型
notShowMoldtrue则不显示裸模
notShowHairtrue则不显示头发

货币需求展示<CostItem>

前端物品货币需求展示

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

标签CostItem

itemscale 缩放参数

fontsize 字号

itemid 物品IDX

itemcount 物品数量

title 标题文本(未配置则默认显示)

titlecolor 标题文本颜色

color /斜杠后的文字颜色

补充说明

详细说明

范例:

<CostItem|x=166.0|y=120.0|itemid=1|itemcount=200000|title=进入扣除>

进度条LoadingBar

自定义进度条百分比显示

;新NPC界面和老写法界面兼容,切记单界面只能用一种写法,单界面不可混用。 必须勾选M2-客户端控制-页面显示-启用新NPC面板写法

进度条 <LoadingBar>

wil 图片所在文件名

size 文本字体大小

color 文本字体颜色

outline、outlinecolor 描边宽度 描边颜色

direction 方向 0从左到右 1从右到左

pcloadingbg 进度条底图

pcloadingbar 进度条滚动图

补充说明

详细说明

startper 进度条起始进度

interval 进度条滚动间隔 默认0.05

loadvalue 每个时间间隔滚动的进度值 默认10 (即0.5s滚动到百分百)

offset X、offsetY 进度条bar中心点相对于进度条底图的偏移坐标

link 跳转( 点击触发必须放最后 )

endper 进度条结束进度(不填默认为100)

maxper 进度条最大值 默认为100

HideText 隐藏进度条文字显示

;例子

完整脚本代码

[@main]
< LoadingBar|id=8|a=4|percentx=55|percenty=73||outline=1|outlinecolor=1|direction=0|wil=xx|pcloadingbg=102|pcloadingbar=103|startper=10|interval=0.1|loadvalue=1|endper=50|maxper=150|link=@11 >
[@11]
#IF
#ACT
SENDMSG 6 进度条读取完毕

通用面板格式

面板通用参数:

针对目前拼图的脚本做了一些优化。功能性的脚本还是PC端一样 。

比如 mapmove..equal small ..等等全都一样

原脚本内容如下做优化修改:

; 前端新脚本标签

;

针对以前老脚本,界面显示脚本做一些优化,以前老脚本 位置被固定死。没有这个灵活。想到什么就可以写什么

;

简单例子:<Text|text=<$NPCNAME>|x=30|y=20|size=18|color=1005> ;依次是,显示的NPC名称变量,X,Y坐标,字体大小,颜色,任意参数可加

不固定位置:<Text|y=20|size=18|text=<$NPCNAME>|x=30|color=1005>

补充说明

详细说明

可写可不写:<Text|y=20|text=<$NPCNAME>|x=30>

字体大小不要的话,可以不写

颜色不要的话,也可以不写

;

新脚本需要认识的参数:

— ++++++++++++++++++++++++++++++++++++++++++

— 字段1为元素类型,必须. !!禁止使用 default_x (x为数字 1 2 3)

— 字段可任意缺省

原始表格

元素类型类型说明原传奇脚本写法
Text文字<字体颜色/FCOLOR=69>、<可以触发字段颜色{FCOLOR=250}/@跳转1>……..
Img图片,背景图<Img:N:F:X:Y:D/@Label>,包括OPENMERCHANTBIGDLG在内
Button按钮<ImgEx:F:U:H:D:X:Y:P/@Label>
Effect动画,特效PlayImg 播放图片,特效…..
Input自定义输入框INPUTTEXT、INPUTNUM (GEE输入框),扩展输入*号显示为密码项
COUNTDOWNNPC内容倒计时<COUNTDOWN:10:3:251:0:0/@倒计时结束> (GEE,NPC对话框内倒计时)
ItemShow物品信息显示<ItemShow:D:F:X:Y:Z/@Label> (GEE调用物品信息显示)
CheckBox勾选,复选框无 新脚本案例_下载
Layout点击范围区域无 新脚本案例_下载
layeridNPC面板窗口ID定义ID,可实现窗口是否开启或关闭状态
参数参数说明
通用属性 id(元素ID)id=*, *为数字任填,唯一,不能有重复
children(子节点)children={1,2,3…} 绑定写有 id=1段的内容
link响应事件(@触发)
a显示位置(0=左上角,1=右上角,2=左下角,3=右下角,4=居中,7=上下居中,8=左右居中)
ax锚点X
ay锚点Y
x坐标X
Y坐标Y
percentx坐标X 百分比
pencenty坐标Y 百分比
width宽度
height高度
percentwidth宽度 百分比
percentheight高度 百分比
colorX颜色 0-255,颜色 服务端可自定义颜色表 cfg_colour_style.xls
支持闪烁,格式为color=255,254,253,闪烁间隔1s
size字体大小

16位及常量颜色写法

功能:

<COLOR=clAqua 你好!>\<关闭/@exit>

<COLOR=$123456 你好! > //$表示16进制

格式:

例:<COLOR=clAqua 你好!>\<关闭/@exit>

clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray,

clSilver, clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clLtGray,

clDkGray, clWhite, clMoneyGreen, clSkyBlue, clCream, clMedGray

46类宝石镶嵌系统

46类宝石镶嵌功能

stdmode 46类宝石,shape=3

Anicount=0时,镶嵌后图标读取Source0-4,显示出5个不同颜色的镶嵌宝石,在必备补丁NewopUI.PAK的301~305

Anicount=1时,镶嵌后图标显示looks字段对应背包Items文件

Anicount=2时,镶嵌后图标读取looks对应内观StateItem文件

Reserved=0时,拆卸宝石归还

Reserved>0时,拆卸宝石消失

镶嵌宝石时,只需要右键点击宝石,再点击有镶嵌凹槽的装备即可,支持装备栏已穿戴装备,装备凹槽不足时会镶嵌失败,成功或失败都会触发QF

拆卸类道具

stdmode 46类道具,shape=9

补充说明

详细说明

拆卸宝石道具,右键点击背包中拆卸宝石的道具,当鼠标变成锤子状态,左键点击需拆卸的装备,弹出拆卸界面,再点击上面格子中的宝石即可。

功能:获取身上所有装备宝石数量

命令:GetStoneCount 参数 宝石名称(不分名称可用 * ) 变量

示例:

完整脚本代码

#if
#act
GetStoneCount * N10
SENDMSG 6 你的身上所有宝石共有宝石:<$STR(N10)>
GetStoneCount 攻击青宝石(初级) N10
SENDMSG 6 你的身上【攻击青宝石(初级)】共有宝石:<$STR(N10)>
功能: 获取装备宝石数量命令
命令: GetItemStoneCount 参数 装备位置 宝石名称(不分名称可用 * ) 变量
示例:
[@获取装备宝石数量命令]
#if
#act
GetItemStoneCount 1 * N10
SENDMSG 6 你的【<$WEAPON>】上面共有宝石:<$STR(N10)>
GetItemStoneCount 1 攻击青宝石(初级) N10
SENDMSG 6 你的【<$WEAPON>】上面共有【攻击青宝石(初级)】:<$STR(N10)>
批量打孔命令:
SETFLUTECOUNT 位置 数量
检测打孔数量命令:
CheckFluteCount 位置 (<、=、>、?)数量
检测物品镶嵌宝石数量:
CheckItemStoneCount 装备位置 (<、=、>) 数量
检测装备是否镶嵌指定宝石:
命令格式:
CheckItemHasStone 装备位置 宝石名称 数量
检测人物全身镶嵌指定宝石数量:
格式: 命令 宝石名称 数量
CheckStoneCount 宝石名 ><=? 数量
取消宝石并返还到背包
ItemoffStone 装备位置 孔位置(删除装备指定孔位的宝石孔位置 (0-9)
该位置必须有宝石,取下后返还宝石到背包
根据宝石名字镶嵌到指定位置
ItemAddStone 装备位置 宝石名 孔位置(0或空表示自动空孔位,0-9:指定位置)直接给装备加一个宝石(不需要包裹中有宝石)
删除指定位置的宝石不返还宝石,孔位置保留
ItemDelStone 装备位置 孔位置(删除装备指定孔位的宝石孔位置 (0-9)
批量关闭装备打孔
CloseItemFlute 装备位置 关闭的打孔数量
注:关闭后原镶嵌的宝石和属性全部消失!
;QF触发
镶嵌宝石触发
[@ClientGemAdd]
<$param1>:宝石名称
<$param2>:宝石唯一ID
<$param3>:镶嵌孔序号
<$param4>:被镶嵌装备唯一ID
并支持STOP 阻止镶嵌
取下宝石触发
[@ClientGemDel]
<$param1>:宝石名称
<$param2>:宝石唯一ID
<$param3>:镶嵌孔序号
<$param4>:被镶嵌装备唯一ID
并支持STOP 阻止取下
[@SetSuccessGem] 镶嵌成功
[@OutSuccessGem] 取下成功
[@SetFailGem] 镶嵌失败
[@OutFailGem] 取下失败
QF触发时附带3个参数。
<$param1>:宝石名称
<$param2>:装备唯一ID
<$param3>:失败返回ID
镶嵌失败返回ID:
-1 孔位不满足0-9
-999 镶嵌装备不存在
-998 镶嵌时镶嵌孔位未开孔或该孔位已镶嵌宝石
-995 镶嵌消耗宝石类型不对
取下失败返回ID:
-997 取下时镶嵌孔位未开孔或该孔位没有宝石
-993 取下消耗宝石类型不对
-991 取下宝石类型不对

BOSS大血条

1、BOSS大血条的素材读取的是必备补丁下的750-970.

官方提供了3套素材底图,UI编辑器上也可以自由设置自己的血条UI。

2、M2-BOSS血条里面设置的怪物大血条都可以自由设置怪物头像,血条样式ID指的是UI编辑器里面血条样式序号

3、血条层数指的是怪物血条显示的层数。比如怪物血量80万,设置为10层,那么会在血条上显示一个X10字样

表示血条有10层,每一层8万血,每层血条会按照UI的顺序变换颜色及特效。

4、修改完BOSS大血条的设置以后一定要加载一下怪物数据,否则修改不会立即生效。

CSV表格读取

CSV表格读取,全套使用方式

方式一:

功能1:加载csv表格内容

格式:NEWREADCSV 路径

功能2:读取表里面的第几行第几列内容(0行0列开始)

格式:NEWDQCSV 路径 行数 列数 存到变量

功能3:获取当前表格最大行数、和获取表格最大列数

格式:GetHLCSV 路径 0,1(0=行数 1= 列数) 存到变量

功能4:取字符串在csv表格中的行号

补充说明

详细说明

格式:GetGJCSV 参数1 参数2 参数3 参数4 参数5 参数6

参数1=路径

参数2=字符串

参数3=开始行号~结束行号(表内容太多,整张表取会慢,所以建议设定号开始行号和结束行号)

参数4=在表第几列查找

参数5=0,1(0=在开始哪行 1=在最后哪行)< /FONT>

参数6=存入变量

下面为全部例子:

;加载csv表格内容例子:

完整脚本代码

[@加载表格]
#IF
#ACT
NEWREADCSV ..\QuestDiary\test.csv
SENDMSG 6 加载成功
;读取表里面的第几行第几列内容例子:
[@读取表第几行第几列内容]
#IF
#ACT
NEWDQCSV ..\QuestDiary\test.csv 2 2 S0
SENDMSG 6 表里面的第二行第二列是:<$STR(S0)>
;获取当前表格最大行数、和获取表格最大列数例子:
[@取最大行号]
#if
#act
GetHLCSV ..\QuestDiary\test.csv 0 N0
SENDMSG 6 最大行数:<$STR(N0)>
;取字符串在csv表格中的行号例子:
[@取字符串在表位置]
#IF
#ACT
GetGJCSV ..\QuestDiary\test.csv 测试 0~10 2 0 N0
SENDMSG 6 [测试]字符串在表的<$STR(N0)>行第2列
方式二:
NEWREADCSV ..\Data\cfg_guanzhi.csv 表格名字前面增加cfg_读取时会已常量形式存放在内存中(如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行)
我们通过以下去读相关内存中的表格常量值
1.<$cfg_guanzhi(1_1)> 读取行列(行列可套用任意变量) 行列默认从0开始
2.<$GetTypeBRow(cfg_guanzhi,4,11)> 起始行,检测关键字所在的行数 (取第4列的,关键字11所在的初始行 ) 行列默认从0开始
3.<$GetTypeERow(cfg_guanzhi,5,11)> 结束行 (取第5列的,关键字11所在的最后一行 ) 行列默认从0开始
4.<$Getcsv(cfg_文件名,Row)> 获取最大行数 建议启动获取,保存为变量 (行数默认从1开始)
5.<$GetCsv(cfg_文件名,Col)> 获取最大列数 按照第1行计算 同上 (默认从1开始)

IF(2)多条件判断逻辑支持

多条件判断

IF(2) 括号内为条件个数,本次代码段内满足2个条件即成立

例如:

完整脚本代码

[@MAIN]
#IF(3)
EQUAL <$JOB> 0
SMALL <$LEVEL> 80
LARGE <$MAXDC> 120
#ACT
SENDMSG 7 成立<$JOB>-<$LEVEL>-<$MAXDC>
#ELSEACT
SENDMSG 7 不成立<$JOB>-<$LEVEL>-<$MAXDC>

L$数组变量系统功能

说明

数组赋值及相关操作功能命令
MOV L$数组 [字符1,字符2,字符3,字符4]
MOV L$数组1 [1,2,3,4]
SENDMSG 6 数组的值为:<$STR(L$数组)>,<$STR(L$数组1)>
取值:(中括号内的数字叫:下标,下标从0开始)
MOV L$数组3 [字符1,字符2,字符3,字符4]
MOV S$数组第一个值 <$STR(L$数组3[0])> ;输出得到:字符1
MOV S$数组第二个值 <$STR(L$数组3[1])> ;输出得到:字符2
MOV N$数组下标3 2
MOV S$数组第三个值 <$STR(L$数组3[<$STR(N$数组下标3)>])>;输出得到:字符3
修改值:
MOV L$数组4 [字符1,字符2,字符3,字符4]
MOV L$数组4[0] 张三 ;结果为[张三,字符2,字符3,字符4]
INC L$数组4[1] 李四 ;结果为[张三,字符2李四,字符3,字符4]
DEC L$数组4[1] 李四 ;结果为[张三,字符2,字符3,字符4]
DEC L$数组4 张三 ;结果为[字符2,字符3,字符4]
MOV N$数组下标1 1
MOV L$数组4[<$STR(N$数组下标1)>] 王五 ;结果为[字符2,王五,字符4]
数组命令
功能:获取值位置
格式:GetListVarIndex 数组变量 值 接收变量
功能:获取数组值数量
格式:GetListVarCount 数组变量 接收变量
功能:检查值是否存在于数组中
格式:CheckVarInList 数组变量 值
功能:检查数组内所有值是否均为数字
格式:CheckListAllDigit 数组变量
功能:获取元素中的最大数字值
格式:GetListMaxVar 数组变量 接收变量
功能:获取元素中的最小数字值:
格式:GetListMinVar 元素变量名 接收变量
****************** 以上2个命令必须要求元素中的所有子元素必须是数字,否则得到的结果是error
功能:数组排序
格式:SortList 待排序数组变量 接收变量 排序方式(空或0:升序-从低到高;1:降序-从高到低) 排序依据(0或空:根据数值排序;1:根据文本排序)
****************** 以上命令要么全是数字,要么全是字符,否则得到的结果是error
功能:数组翻转
格式:ReverseList 待翻转数组 接收变量
功能:数组追加元素
格式:AddToList 数组变量 值
等同于:Inc 数组变量 值
功能:数组插入元素(插入到某个元素之前)
格式:InsertToList 数组变量 值 插入位置(-1为数组最后一位)
功能:根据下标替换数组中的元素
格式:ReplaceListByIndex 数组变量 替换值 数组下标
等同于:Mov 数组[下标] 值
功能:根据值替换数组中的元素
格式:ReplaceListByContent 数组变量 旧值 新值 区分大小写(0:不区分;1:区分)
功能:根据下标删除数组中的元素
格式:RemoveListByIndex 数组变量 数组下标
功能:根据内容删除数组中的元素
格式:RemoveListByContent 数组变量 元素内容 区分大小写(0:不区分;1:区分)
***********注意:Dec 数组变量 元素内容,也可以删除数组中的元素值,Dec删除元素值时,但是只删第一个匹配到的值
功能:数组切片
格式:ExtractList 数组变量 保存变量(可为L、S、T、A等) 起点索引 终点索引 步长(可空,默认1)

遍历背包物品

遍历背包勾选物品

遍历背包格式 :LoopBagItems 参数1 参数2 参数3 参数4

参数1: 回调接口 @跳转

参数2:物品唯一ID存到变量

参数3:物品 名字 存到变量

参数4:物品数量存到变量

通过物品的唯一ID删除物品

格式: DelItemByMakeIndex 物品唯一ID,物品唯一ID,物品唯一ID (逗号可以串联,支持多个一起删除)

DelItemByMakeIndex 参数1

参数1:物品唯一ID (,逗号串联可以一起删除)

补充说明

详细说明

关联背包物品唯一ID

关联格式:LINKITEMBYMAKEINDEX 物 品唯一ID

关联刷新:UpDateBoxItem -1

例子:

完整脚本代码

[@MAIN]
#IF
#ACT
MOV S$递增物品唯一ID
MOV S$递增物品名称
MOV S$递增物品数量
LoopBagItems @获取当前背包所有物品 N$物品唯一ID S$物品的名称 S$物品的数量
SENDMSG 6 你当前背包所有物品ID:<$STR(S$递增物品唯一ID)>
SENDMSG 6 你当前背包所有物品名称:<$STR(S$递增物品名称)>
SENDMSG 7 你当前背包所有物品数量:<$STR(S$递增物品数量)>
[@获取当前背包所有物品]
#IF
#ACT
INC S$递增物品唯一ID <$STR(N$物品唯一ID)>,
INC S$递增物品名称 <$STR(S$物品的名称)>,
INC S$递增物品数量 <$STR(S$物品的数量)>,
SENDMSG 6 遍历到的物品唯一ID:<$STR(N$物品唯一ID)>–名称:<$STR(S$物品的名称)>–数量:<$STR(S$物品的数量)>
#IF
EQUAL S$物品的名称 开天斩
#ACT
DelItemByMakeIndex <$STR(N$物品唯一ID)>
SENDMSG 7 删除开天斩
#IF
EQUAL S$物品的名称 屠龙
#ACT
LINKITEMBYMAKEINDEX <$STR( N$物品唯一ID )>
SetNewItemValue -1 0 + 1
ChangeItemNameColor -1 253
UpDateBoxItem -1
SENDMSG 7 屠龙暴击+1%

NPC面板倒计时

NPC对话框内倒计时

说明:NPC对话框内倒计时显示

格式:<COUNTDOWN:倒计时时间(秒):次数(0无限次):颜色:X:Y/@触发>

示列:

倒时计:<COUNTDOWN:10:3:251:0:0/@倒计时结束>\

格式:<TIMETIPS:倒计时时间(秒):次数(0无限次):颜色:X:Y/@触发>

显示格式为:天数+小时+分钟+秒

示列:

倒时计:<TIMETIPS:10:3:251:0:0/@倒计时结束>\

NPC文本触发

完整脚本代码

[@触发]
#IF
#ACT
SENDMSG 5 倒计时已结束
[@倒计时结束]
#IF
#ACT
SENDMSG 5 天数倒计时已经结束

NPC面板编辑功能

EquipShow获取身上物品显示到格子里面

<EquipShow:D:X:Y:B:G/@脚本命令>

d= 物品位置(0-55)

X Y = 微调坐标 排版的

B=是否显示背景图片 在必备补丁的47号图片

G= 灰化显示(0=正常,1=灰化)

鼠标放上去显示物品属性。类似<Img>图标的用法

/@脚本命令 没有触发的时候一样可以显示,支持 扩展参数回调

DBItemShow 按物品的唯一ID显示到格子里面

<DBItemShow:D:X:Y:B:G/@脚本命令>

补充说明

详细说明

d= 唯一ID

X Y = 微调坐标 排版的

B=是否显示背景图片 在必备补丁的47号图片

G= 灰化显示(0=正常,1=灰化)

鼠标放上去显示物品属性。类似<Img>图标的用法

/@脚本命令 没有触发的时候一样可以显示,支持 扩展参数回调

RandomText 随机取字符串

RandomText

//参数1:长字符串

//参数2:分隔符

//参数3:随机出的字符串

;两种随机抽物品f格式

格式一:

;物品名不能包含" { }三种符号 例子:{1/10}光芒道靴,机率A=1/机率B=10 大约10分之1几率爆出

;最后一个物品几率建议1/1,前面物品没抽到,最后可作为保底抽取

例子:

RandomText RANDOM*{1/4}雷霆项链|{1/4}雷霆护腕|{1/4}雷霆道戒|{1/4}雷霆道靴|{1/1}雷霆腰带* | S1

补充说明

详细说明

格式二:

例子:

RandomText NEWRANDOM*雷霆项链|雷霆护腕|雷霆道戒|雷霆道靴|雷霆腰带* | S2

Stop停止执行消耗

停止执行触发类物品的消耗

说明:如果你使用双击解包物品,背包满了返回的物品会掉在地面就可以用这个写法

例子:

完整脚本代码

[@StdModeFunc253]
#if
NOT CHECKBAGSIZE 4
#ACT
MESSAGEBOX 你背包满了
stop
#ELSEACT
GIVE 金条 1
;超级祝福油 31类触发物品
[@StdModeFunc7]
#IF
CheckItemAddValue 1 3 < 7
#ACT
CHANGEITEMADDVALUE 1 3 + 1
SENDMSG 6 您的武器获得了幸运+1!
#ELSEACT
; 执行stop后物品不会消耗 ,无需再返还一个。
Stop
;下面这句提示框仍然会执行, Stop不会停止下面的脚本执行(切记)
MESSAGEBOX [系统]:您的武器幸运已满!!

While条件循环

While 操作符说明: >大于 <小于 = 等于 !不等于

完整脚本代码

[@MAIN]
< 111/@111 > < 222/@222 > <$STR(N1)>
; ******************************************尽可能不要用这种写法,递归调用容易产生栈溢出
[@111]
#IF
SMALL N1 2000
#ACT
Inc N1 1
SendMsg 6 > $STR(N1)>
GOTO @111
BREAK
;这种脚本递归调用产生的 Stack overflow,堆栈溢出,递归层次多时有可能产生这样的问题。换成新的写法,用 while / endwhile
; ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★推荐这种写法
[@222]
#IF
#ACT
;为方便测试每次执行脚本前将变量设置为1,本示例脚本可无视MOV
;MOV N1 1
;循环开始,While 变量/值 比较符号(> < =) 变量/值;循环写在 #ACT中
While N1 < 1000
SendMsg 6 <$STR(N1)>
Inc N1 1
EndWhile
;循环结束 EndWhile
SendMsg 6 aaaaaa

气泡引导

气泡引导功能

增加气泡格式:addbutshow 参数1 参数2 参数3

参数1:ID

参数2:显示名称

参数3:@跳转QF(支持回调功能,例:@气泡引导回调,aaa,bbb,ccccc)

删除气泡格式:delbutshow ID

例子:

完整脚本代码

[@增加气泡]
#IF
#ACT
AddbutShow 1 测试气泡 @跳转QF
[@气泡引导]
#act
AddbutShow 1 测试气泡测试气泡测试气泡 @气泡引导回调,aaa,bbb,ccccc
QFunction-0.txt
[@跳转QF]
#IF
#act
mapmove 3 333 333
OPENHYPERLINK 16
SENDMSG 6 你的气泡触发成功
[@删除气泡]
#IF
#ACT
DelbutShow 1
SENDMSG 6 你的气泡删除成功
[@气泡引导回调]
#act
sendmsg 6 气泡回调Param1=<$Param1>
sendmsg 6 气泡回调Param2=<$Param2>
sendmsg 6 气泡回调Param3=<$Param3>

主屏幕弹出公告

SENDMSGNEW 前景色 背景色 公告信息 模式 秒数

模式:0=发送给自己 1=发送所有人物 2=发送行会 3=发送当前地图 4= 组队

[@新加功能]

#IF

#act

SENDMSGNEW 253 250 当前发言的人为:<$USERNAME> 1 30

交易前触发

QFunction-0.txt

;此脚为功能脚本,用于实现各种与脚本有关的功能

完整脚本代码

[@DealBefore]
#if
#ACT
stop
;支持STOP阻止交易
sendmsg 7 交易的对象的玩家名字为:<$DEALPLAYNNAME>

人物变身怪物命令

格式:changeAppr appr 时间(单位:秒)

注:自定义怪物Appr在数据库Appr的基础上加100000

变身后 禁止攻击、施法 禁止跑

完整脚本代码

[@变身]
#act
changeAppr 160 10
sendmsg 7 你变成了鸡,时间10秒
[@变身自定义]
#act
changeAppr 101508 30
;自定义怪物Appr在怪物表Appr的基础上加100000
sendmsg 6 你被打成了Appr=1508的自定义怪物,有效时间30秒

人物宝宝攻击前触发

;==================== 宝宝被攻击前触发 ===================

//;QFunction-0.txt触发 [@StruckDamageBB]

完整脚本代码

[@StruckDamageBB]
#IF
CHECKCURRTARGETRACE = 0
#ACT
ChangeDamageValue 0 = 1000
SENDMSG 6 [<$USERNAME>] 你的宝宝被人物【<$CURRRTARGETNAME>】攻击了。掉血值:<$DAMAGEVALUE>
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
ChangeDamageValue 0 = 1000
SENDMSG 6 [<$USERNAME>] 你的宝宝被英雄【<$CURRRTARGETNAME>】攻击了。掉血值:<$DAMAGEVALUE>
//;==================== 宝宝攻击前触发 ===================
//;QFunction-0.txt触发 [@AttackDamageBB]
[@AttackDamageBB]
#IF
CHECKCURRTARGETRACE = 0
#ACT
ChangeDamageValue 0 = 1000
SENDMSG 6 [<$USERNAME>] 你的宝宝攻击了人物【<$CURRRTARGETNAME>】。掉血值:<$DAMAGEVALUE>
BREAK
#IF
CHECKCURRTARGETRACE = 1
#ACT
ChangeDamageValue 0 = 1000
SENDMSG 6 [<$USERNAME>] 你的宝宝攻击了怪物【<$CURRRTARGETNAME>】。掉血值:<$DAMAGEVALUE>
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
ChangeDamageValue 0 = 1000
SENDMSG 6 [<$USERNAME>] 你的宝宝攻击了英雄【<$CURRRTARGETNAME>】。掉血值:<$DAMAGEVALUE>

人物宠物攻击触发

//;==================== 宝宝物理攻击触发 ===================

//;QFunction-0.txt触发 [@attackPet]

完整脚本代码

[@attackPet]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物物理攻击了人物:<$CURRRTARGETNAME>
BREAK
#IF
CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物物理攻击了怪物:<$CURRRTARGETNAME>
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物物理攻击了英雄:<$CURRRTARGETNAME>
BREAK
//;==================== 宠物魔法攻击触发 ===================
//;QFunction-0.txt触发 [@MagicAttackPet]
[@MagicAttackPet]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物魔法攻击了人物:[<$CURRRTARGETNAME>]
BREAK
#IF
CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物魔法攻击了怪物:[<$CURRRTARGETNAME>]
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物魔法攻击了英雄:[<$CURRRTARGETNAME>]
BREAK
//;====================宠物 被物理攻击触发 ===================
//;QFunction-0.txt触发 [@StruckPet]
[@StruckPet]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物被人物[<$CURRRTARGETNAME>]物理攻击了
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物被英雄[<$CURRRTARGETNAME>]物理攻击了
BREAK
//;====================宠物 被魔法攻击触发 ===================
//;QFunction-0.txt触发 [@MagicStruckPet]
[@MagicStruckPet]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物被人物[<$CURRRTARGETNAME>]魔法攻击了
BREAK
#IF
CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 [<$USERNAME>] 你的宠物被英雄[<$CURRRTARGETNAME>]魔法攻击了
BREAK

人物攻击掉血前触发

ChangeDamageValue类型(0=值,1=百分比) 操作符(+,-,=) 值

放到文本:QFunction-0.txt

//;攻击前触发

完整脚本代码

[@AttackDamage]
#IF
CHECKCURRTARGETRACE = 0
#act
ChangeDamageValue 0 = 10
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>–掉血值:<$DAMAGEVALUE>
BREAK
#IF
#act
ChangeDamageValue 0 = 10
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>–掉血值:<$DAMAGEVALUE>
//;被攻击前触发
[@StruckDamage]
#IF
CHECKCURRTARGETRACE = 0
#act
ChangeDamageValue 0 = 10
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID= <$CURRRUSEMAGICID>–掉血值:<$DAMAGEVALUE>
BREAK
#IF
#act
ChangeDamageValue 0 = 10
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>–掉血值:<$DAMAGEVALUE>

人物身上装备掉落前触发

[@CheckDropUseItems]

#Act

Sendmsg 3 掉落位置:<$param1>,掉落物品ID:<$param2>,唯一ID:<$param3>,装备名字:<$param4>

;触发返回参数,装备位置:<$Param1>,装备IDX:<$Param2>支持STOP,每掉落一件触发一次

传送戒指传送前触发

功能: 传送戒指传送前触发

命令:@BeginTeleport 中止传送戒指传送命令:StopTeleport或stop

示列:

[@BeginTeleport]

#act

StopTeleport

sendmsg 6 停止传送戒指传送

使用地图参数限制角色在地图内时间

功能: 使用地图参数限制角色在地图内时间

格式:TimeMap(3|5|1|@计时地图返回)

参数一到时间返回的地图代码#多个地图分成组设置同ID(同ID下共用一个倒计时时间)

参数二 倒计时时间分钟计算

参数三 是否显示当前地图剩余倒计时

参数四 退出地图触发QF字段

增加设置时间命令

可以设置正在进入地图的参数三值,第一个参数为地图号,第二个参数为设置的时间

(MapInfo.txt)

[G001 质询屋] SAFE DAY QUIZ NOMANNOMON TimeMap(3|5|1)

补充说明

详细说明

[G001 质询屋] SAFE DAY QUIZ NOMANNOMON TimeMap(3|5|1|@计时地图返回)

[d5071 天道一层] SAFE DAY QUIZ NOMANNOMON TimeMap(3#1|5|1|@天道地图返回)

[d5072 天道二层] SAFE DAY QUIZ NOMANNOMON TimeMap(3#1|5|1|@天道地图返回)

QFunction-0.txt

完整脚本代码

[@计时地图返回]
#IF
#ACT
Sendmsg 5 返回地图。
;从地图出来时候触发,无论在线到时间出来还是小退后自动出地图,只要出地图就触发

使用技能前触发

使用技能前触发.Q-Function.txt中

完整脚本代码

[@BeginMagic]
参数1:<$param1>触发的技能ID
参数2:<$param2>触发的技能名称
常量:鼠标指向的地图坐标<$mouseX>、<$mouseY>
#IF
EQUAL <$param1> 22
#ACT
STOPMAGIC
;打断施法
SENDMSG 7 禁止使用火墙
;英雄使用技能前触发
[@HeroBeginMagic]
#ACT
sendmsg 0 英雄参数1:<$param1>触发的技能ID英雄参数2:<$param2>触发的技能名称
;战士技能按技能触发
参数1:<$param1>触发的技能ID
参数2:<$param2>触发的技能名称
[@OpenMagic]
#IF
#ACT
SENDMSG 7 你按下了技能ID:<$param1>,技能名称:<$param2>
STOPMAGIC
;打断施法

修改宝宝外观

ChangeSlaveAppr 外观模型 宝宝名(为空或*,表示所有宝宝,指定名字为指定宝宝) 外观模型有效时间(分钟,空或0 表示在线一直有效)

完整脚本代码

[@main]
#IF
#ACT
;//修改宝宝外观模型
ChangeSlaveAppr 72 神兽 60
sendmsg 6 您的神兽外观已经修改为虎卫外观!有效时间60分钟!
break

修理沙巴克城墙城门

功能:可在任何时间对沙巴克城门和城墙进行修理,已存在非满血的城墙城门直接满血,已死亡的城门城墙重新刷新并且满血。

沙巴克城门受攻击及之后的60秒内不可修复城门

NPC命令:

修理城门:RepairDoor

修理城墙:RepairWall 参数1 (参数1、2、3分别对应3个城墙)

完整脚本代码

[@修复沙城城墙]
#IF
#ACT
RepairDoor
RepairWall 1
RepairWall 2
RepairWall 3
SendMsg 6 沙巴克城墙和城门已全部修复.

全屏吸怪

全屏吸怪,嘲讽周围怪物

MoveMonsters

参数1:中心X

参数2:中心Y

参数3:影响范围(0-999)

参数4:目标类型(0=怪物 1=人物 2= 怪物+人物)

参数5:最大吸取数量(0=不限制数量)

参数6:判断怪物等级(0=不判断,其他数值的话。怪物等级小于等于参数6吸取)

参数7:判断是否嘲讽状态(0=不判断 1= 静止的怪才吸取, 避免吸取其他玩家的怪)

例子1

完整脚本代码

[@attack]
#IF
#ACT
MoveMonsters <$X> <$Y> 20 0 0 0 0
sendmsg 6 范围20的所有怪物都吸过来了
例子2
[@attack]
#IF
#ACT
MoveMonsters <$X> <$Y> 20 0 0 0 1
sendmsg 6 范围20的所有怪物都吸过来了,不包括活跃的怪物
魔王岭
移动指定坐标的怪物到新的位置
MoveMonToPos 参数1 参数2 参数3 参数4 参数5 参数6
参数1:怪物名字
参数2:地图编号
参数3:老坐标X
参数4:老坐标Y
参数5:新坐标X:
参数6:新坐标Y
//例子:
#IF
CheckRangeMonCountEx K004 魔王弓箭手 51 43 5 > 0
#ACT
MoveMonToPos 魔王弓箭手 K004 51 43 48 47

关联物品获取背包物品数量

完整脚本代码

[@关联物品唯一ID]
#IF
#ACT
LINKITEMBYMAKEINDEX <$STR(S0)>
SENDMSG 0 你的物品是:<$LINKITEM.NAME>,数量是:<$LINKITEM.COUNT>,道具ID是:<$LINKITEM.INDEX>
英雄关联物品获取背包物品数量
[@关联物品唯一ID]
#IF
#ACT
H.LINKITEMBYMAKEINDEX <$STR(S0)>
SENDMSG 0 你的物品是:<$H.LINKITEM.NAME>,数量是:<$H. LINKITEM.COUNT>,道具ID是:<$H.LINKITEM.INDEX>

准星功能

数据库物品设置:

StdMode=47 新增扩展物品 可叠 加

Shape=50, 物品使用一次后消失 , 准星对准物品点击了,即消失

Shape=51, 物品可以一直使用,直到手动删除

Shape=52, 右键使用准星物品可以一直使用,每选择一次物品触发一次[@StdmodeShowX],直到右键取消后结束准星功能。

Anicount, 触发 QF中的 [@StdmodeShowX] X=数字

脚本开启准星:

格式:Collimator 触发ID 是否可以一直使用(0或空:只能使用一次,1:一直使用直到右键结束)

PC端右键使 用后 鼠标增加准星模式

移动端使用后,准星物品上会有准星图标,可以拖动到需要准星的物品上

补充说明

详细说明

增加常量:

当前使用物品名 :<$UseItemName>

当前使用物品唯一ID :<$UseItemMakeIndex>

当前使用物品IDX:<$UseItemMakeidx>

准星选择的物品名称:<$BagItemName>

准星选择的物品唯一ID:<$BagItemMakeIndex>

准星选择的物品IDX:<$BagItemstidx>

完整脚本代码

[@StdModeShow1]
#if
#act
SendMsg 6 人物当前使用的物品名:<$UseItemName>,唯一ID:<$UseItemMakeIndex>,当前使用物品IDX:<$UseItemMakeidx>,准星物品改名名字<$G_UseItemName>
SendMsg 6 使用物品目标名字:<$BagItemName>,唯一ID:<$BagItemMakeIndex>,准星选择的物品IDX:<$BagItemstidx>,准星选中物品的改名名字<$G_BagItemName>
;关联准星物品
LINKITEMBYMAKEINDEX <$BagItemMakeIndex>
ChangeItemNameColor -1 253
UpDateBoxItem -1
SENDMSG 0 你的物品颜色变成了253

减少技能CD冷却时间

减少技能 CD冷却时间(英雄技能使用命令加H)

减免 技能冷却时间 : ( 在这个技能本身基础 CD上做 + – 如果=0 就是还原技能CD )

比如:烈火剑法技能表中设置的是 10秒 那么=1的情况下 烈火剑法就是9秒CD

比如 +1 就是11秒 比如-1就是9秒

设置技能冷却时间格式: SetSkillDecCD 技能 名称 操作符(+/-/=) 时间(秒)

获取技能初始冷却时间: GetSkillCSCD 技能名称 变量名

获取当前技能冷却时间: GetSkillDQCD 技能名称 变量名

注意:技能冷却时间减少只支持有 CD的技能

英雄技能设置

cfg_magic.xls技能表与技能表现表cfg_magicinfo.xls修改为英雄技能名称(例:英雄烈火剑法)

补充说明

详细说明

注:涉及到英雄技能相关全部使用英雄技能名称,不统一设置可能出现教程不成功情况

英雄设置技能冷却时间格式: H. SetSkillDecCD 英 雄烈火剑法 操作符(+/-/=) 时间(秒)

英雄获取技能初始冷却时间: H.GetSkillCSCD 英雄烈火剑法 变量名

英雄获取当前技能冷却时间: H.GetSkillDQCD 英雄烈火剑法 变量名

重置技能冷却

格式:skillrestcd 参数1 参数2

参数1:技能ID

参数2:0=重置全部cd,不为0=减去修改值的cd时间

完整脚本代码

[@IgnoreDef]
#act
skillrestcd 56 2
SENDMSG 5 56号技能cd时间减少2秒
例子:
[@设置技能冷却时间]
#IF
#ACT
SetSkillDecCD 野蛮冲撞 + 10
SENDMSG 6 野蛮冲撞增加10秒
[@获取技能初始冷却时间]
#IF
#ACT
GetSkillCSCD 野蛮冲撞 N10
SENDMSG 6 获取成功:<$STR(N10)>秒
[@获取当前技能冷却时间]
#IF
#ACT
GetSkillDQCD 野蛮冲撞 N20
SENDMSG 6 获取成功:<$STR(N20)>秒

切换攻击模式触发

常量:<$Param1>=切换后模式,<$Param2>=切换前模式

0= 全体

1=和平

2=夫妻

3=师徒

4=组队

5=行会

6=善恶

7=国家

QF触发

补充说明

详细说明

[ @ChangeAttackMode ]

#IF

EQUAL <$Param1> 0

#ACT

SENDMSG 7 切换模式成功,当前为全体模式

动态调整特殊属性

说明

ChangeSP
参数1:特殊属性编号 0=神秘人 1=传送 2=麻痹 3=防麻痹 4=复活 5=破复活 6=护身 7=防护身 8=技巧 9= 探测
10= 复活成功率(默认100,复活成功率0~100)
11= 麻痹几率(1~100,默认100,0也是100)
12= 防麻痹几率(1~100,默认100,0也是100)
13= 破复活几率(1~100,默认100,0也是100)
14=破护身几率(1~100,默认100,0也是100)
所有带几率的属性,如想其发挥作用,前者必须带有此属性效果,如装备带有相同属性的效果,尽量避免使用。
参数20=对怪隐身
参数2: 0=关闭 1= 开启
参数3: 持续时间 单位秒 参数0或空= 无限制,参数大于0为时长,(参数1是10、11、12、13、14时,此参数3变为几率控制)
注意事项:此命令下线失效,有特殊属性的装备并不会冲突,也不会因为冲突导致失效,但应注意使用逻辑,不支持假人!!!!
场景1:带复活戒指的人物且开启了复活属性10秒,十秒复活到达后,带有复活戒指情况下,是会继续复活的,两者是不冲突
场景2:带复活戒指的人物且开启了复活属性10秒,十秒未到达前,卸掉了复活戒指,此时复活属性依然有效,除非你关闭了。
复活成功率:在原复活基础下进行判断,满足原基础复活条件下,进行几率判断,几率不满足的取消复活。
场景3:带麻痹戒指的人物且开启了麻痹属性,麻痹几率和麻痹时长取最大值。
注:关闭指定属性编号,效果会立即取消,如关闭神秘人属性就会立即取消神秘人效果。
多次调用同一个属性编号,参数取最后调用,如前者设置了1000秒防复活,后者设置了10秒防复活,最终生效时间取后者(10秒,持续时间设置为0时效率最优且一直生效)。
此命令充分分析了引擎运行机制,采用最优方案进行贴合设计,效率和设计快捷性达到最完美。
到时间后触发QFunction-0.txt [@ChangeSPTimeOutX] X代表属性编号,不提供参数1的10、11、12、13、14模式的触发 =================================================================================================
赋予玩家复活成功几率(前者必须有复活属性,无时间控制,无时间到期反馈)

完整脚本代码

#ACT
ChangeSP 10 1 50
sendmsg 6 您的复活成功率更改为百分之50
赋予玩家防复活属性
#ACT
ChangeSP 5 1 10
sendmsg 6 防复活特殊属性生效,持续10秒。
QFunction-0.txt 任意位置添加
[@ChangeSPTimeOut5]
#act
sendmsg 6 防复活属性失效!!!
对怪隐身
#ACT
ChangeSP 20 1 10
sendmsg 6 对怪隐身生效,持续10秒。
QFunction-0.txt 任意位置添加
[@ChangeSPTimeOut20]
#act
sendmsg 6 对怪隐身失效!!!

发型斗笠外显控制

扩展ITEM表W列单独控制发型斗笠的外显以及装备栏裸模显示

W列只有衣服和时装衣服有效,其他物品设置无效

W列为空或0时,显示现有发型和斗笠

W列为1时,不显示发型和斗笠

例如隐藏 头发#斗笠#裸模(1#1#1)

取两个时间之间的相差秒数

取两个日期之间相差的天数

格式 DaysBetween 参数1:日期,参数2:日期,参数3:接收变量

例子:

完整脚本代码

[@Main]
#IF
#ACT
DaysBetween 2019-1-1 2020-1-1 S0
SendMsg 6 间隔的天数为【<$STR(S0)>】天
取两个时间之间的相差秒数
脚本格式:Taketime 时间1 时间2
时间相差常量:<$Timeresult>
[@时间计算]
#IF
#ACT
Taketime 2021-01-01-10-00-00 2021-01-02-10-00-00
SENDMSG 0 2021年-01月-01日-10点-00分-00秒截止到2021年-01月-02日-10点-00分-00秒,一共相差<$Timeresult>秒

取指定行会成员人数

GetGuildHum 行会名称 写入变量 1

参数1:指定行会名称

参数2:写入变量

参数3: 0或空取行会总人数,1取当前在线人数

完整脚本代码

[@main]
#IF
#ACT
GetGuildHum 996M2 N$当前在线人数 1
SENDMSG 7 996M2行会当前在线人数为:<$STR(N$当前在线人数)>

取数值的百分比

取数值的百分比方式

格式:CalcPer 当前数值 百分比 保存变量

例子: 取300的15%

完整脚本代码

[@百分比]
#IF
#ACT
CalcPer 300 15 N0
SENDMSG 6 300的百分之15为:<$STR(N0)>

取身上物品位置唯一ID

取身上物品位置唯一ID 装备位置

说明:原来的物品常量后面加上ID,就可以获取到装备位装备的唯一ID

如:

衣服原来的常量为:<$DRESS> 想取当前身上衣服唯一ID:<$DRESSID>

武器原来的常量为:<$WEAPON> 想取当前身上武器唯一ID:<$WEAPONID>

检测唯一ID装备是否穿戴命令

格式:CHECKMAKEINDEXBYBODY 参数1

参数1:唯一ID

//例子:

完整脚本代码

[@main]
#if
CHECKMAKEINDEXBYBODY <$USEITEM0>
#act
sendmsg 6 穿戴了唯一ID:<$USEITEM0>
#elseact
sendmsg 6 没有穿戴

变量的嵌套写法

完整脚本代码

[@mian]
#IF
#ACT
MOV S$测试 装备属性
MOV N$装备属性 8
SENDMSG 7 <$STR(S$测试)>–<$STR(N$装备属性)>
#IF
EQUAL N$<$STR(S$测试)> 8
#ACT
INC N$<$STR(S$测试)> 2
SENDMSG 6 装备属性:<$STR(N$<$STR(S$测试)>)>
[@mian]
#IF
#ACT
MOV N$序号 1
MOV S$按钮 激活按钮
#IF
EQUAL N$序号 1
#ACT
MOV S$显示按钮_<$STR(N$序号)>_1 默认按钮
SENDMSG 6 显示按钮:<$STR(S$显示按钮_<$STR(N$序号)>_1)>
#IF
EQUAL S$按钮 激活按钮
#ACT
MOV S$显示按钮<$str(N$序号)> <$STR(S$显示按钮_<$str(S$序号)>_1)>
SENDMSG 6 显示按钮1:<$STR(S$显示按钮<$str(N$序号)>)>
注:良好的代码书写规范还请各位GM遵循,以便更灵活的支持变量嵌套写法
例如以下书写方式将不再支持:
MOV N1 N2- 正确写法: MOV N1 <$STR(N2)>
INC <$STR(S1)> <$STR(S2)> 正确写法: INC S1 <$STR(S2)>
MUL N1 N2 N3- 正确写法:MUL N1 <$STR(N2)> <$STR(N3)>
DIV N1 N2 N3 – 正确写法:DIV N1 <$STR(N2)> <$STR(N3)>

唯一ID存仓

TAKEITEMTOSTORAGE 参数1 参数2

参数1 : 存入仓库的页数

参数2:物品唯一ID

注:此功能请在入包后操作,不在背包的物品无法存入仓库

<$STORAGEPAGECNT(1)>第一页仓库剩余格子数

<$STORAGEPAGECNT(2)>第二页仓库剩余格子数

<$STORAGEPAGECNT(3)>第三页仓库剩余格子数

<$STORAGEPAGECNT(4)>第四页仓库剩余格子数

<$STORAGEPAGECNT(5)>第五页仓库剩余格子数

例子:

完整脚本代码

[@addbag]
#IF
#ACT
LINKITEMBYMAKEINDEX <$NEWBAGITEMID>
#IF
NOT CheckItemFlag -1 32
#ACT
#ELSEACT
BREAK
#OR
CHECKITEMADDVALUE -1 0 > 0
CHECKITEMADDVALUE -1 1 > 0
CHECKITEMADDVALUE -1 2 > 0
CHECKITEMADDVALUE -1 3 > 0
CHECKITEMADDVALUE -1 4 > 0
#ACT
MOV N$可存入 1
MOV N$存入页 0
GOTO @存入页判断
#ELSEACT
MOV N$可存入 0
BREAK
#IF
LARGE N$存入页 0
EQUAL N$可存入 1
#ACT
SetItemFlag -1 32 1
TAKEITEMTOSTORAGE <$STR(N$存入页)> <$NEWBAGITEMID>
sendmsg 7 物品<$CURRTEMNAME>已存入到仓库的第<$STR(N$存入页)>页
[@存入页判断]
#IF
LARGE <$STORAGEPAGECNT(1)> 0
#ACT
MOV N$存入页 1
BREAK
#IF
LARGE <$STORAGEPAGECNT(2)> 0
#ACT
MOV N$存入页 2
BREAK
#IF
LARGE <$STORAGEPAGECNT(3)> 0
#ACT
MOV N$存入页 3
BREAK
#IF
LARGE <$STORAGEPAGECNT(4)> 0
#ACT
MOV N$存入页 4
BREAK
#IF
LARGE <$STORAGEPAGECNT(5)> 0
#ACT
MOV N$存入页 5
BREAK

四则运算

四则运算计算命令

FORMULATION 参数1 参数2

参数1:计算公式

参数2:存入变量

参数3:0或不填=结果四舍五入,1=丢弃掉小数

注:/代表除 *代表乘 +代表加 -代表减 %为取余数 ()优先计算括号

常量:<$formulation[四则公式]>

范例:<$formulation[(<$STR(U8)>+2)*(2+2)/(1+1)]>

四则运算常量

四舍五入:<$FORMULATION[155/100]> 说明:结果=1.55四舍五入=2

补充说明

详细说明

向下取整:<$FORMULATIONEX[199/100]>说明:结果=1.99向下取整=1

两位小数:<$FORMULATIONDC[100/33]>说明:结果=3.33333两位小数=3.33 (只能作为显示使用)

注:数值支持变量,例如<$FORMULATIONEX[<$STR(N$N1)>/<$STR(N$N2)>]>

如果运算符号书写错误 返回0

//例子:

完整脚本代码

#if
#act
FORMULATION 2/(100+20)*100+100 N$切割值
sendmsg 6 提示:您的切割值为<$STR(N$切割值)>
[@main]
#act
FORMULATION (10+20%9)%5 N$测试
sendmsg 6 <$STR(N$测试)>
;如果运算符号书写错误 返回-1

地图播放怪物形象倒计时

地图播放怪物形象倒计时 (支持自定义特效)

参数1:地图名字

参数2:X坐标

参数3:Y坐标

参数4:播放类型(0=怪物形象,1=特效)

参数5:

参数4=0时,参数5为播放怪物怪物名字|形象颜色(7种)|方向(0~7)

参数4=1时,参数5为播放特效 WIL序号|开始图片|播放数量|播放速度|绘制模式

参数6:倒计时颜色

参数7:倒计时时间 (不能为负数)

补充说明

详细说明

参数8:倒计时结束QF触发字段(可空)

参数9:倒计时文字偏移X|偏移Y(可空,默认位置为怪物形象血条处上方)

参数10:形象ID组(可空)

参数11:备注文字 {白野猪\下次刷新|254}\{倒计时|250}

完整脚本代码

[@main]
#IF
#ACT
MAPEFFECTFUNCALL 3 336 337 0 白野猪|7|4 253 1800 @测试代码 3|3 1 {白野猪\下次刷新|254}\{倒计时|250}
SENDMSG 7 地图3白野猪已被击杀,倒计时30分钟后刷新。
;QF触发
[@测试代码]
#IF
#ACT
MonGenEx 3 336 337 白野猪 1 1 0 253
SENDMSG 0 白野猪已在地图3复活。
脚本清除形象倒计时
[@main]
#IF
#ACT
DELMAPEFFECT 1
SENDMSG 6 清除ID为1的形象ID组

坐骑系统

说明

马牌参数: 变量:<$HORSE>装备位置:15
1、DB段详情参数:
stdmod — 28 马牌
source — 1:支持双人骑,0:不支持双人骑, 仅当stdmod=28并且Anicount大于0时有效
cfg_item.xls V(21)列Expend1原参数为首饰盒,扩展2个马牌参数,参数2马牌特效,参数3马牌翅膀特效。
如:0#1#0#1
参数1:参数=0
参数2:马外观=1:主宰者战马, 2:主宰者灵虎 (3-5为Horse2.wzl单人马匹,320张一个性别,640张一组,自动区分男女,如设置3读取Horse2.wzl文件的0-639张图片)
扩展马的素材20-99,文件名:L-Horse.wil 读取为20-28;L-Horse1.wil 读取为29-49;L-Horse2.wil 读取为50-99
参数3:马外观特效编号=1-6为horse2.wzl(图标编号:1920-3839)中马的6组特效,0为不使用特效
参数4:马上人物的翅膀特效=0:不显示翅膀特效;1:显示翅膀特效 只对官方主宰者灵虎有效(stdmod=28; Horse=2)
参数5:马上人物衣服外观 参数5= 0或空显示马牌自带衣服外观,参数5=1表示按参数2显示衣服外观,参数5 = 2表示按Shape值显示马上衣服外观
参数6:扩展马上人物衣服素材 文件名:L-HumHorse.wil 读取为0-49;L-HumHorse1.wil为50-99;L-HumHorse2.wil 读取为100-149;…….L-HumHorse6.wil 读取为300-349;
参数7:扩展马上人物发型素材,文件名:L-HairHorse.wil 读取为0-14,15种发型
扩展马读取规则:只有当参数2=(20-99)时,参数6和参数7才有效 。
2、QF段触发:
@UPHORSE:上马触发

完整脚本代码

[@UPHORSE]
#if
#act
Sendmsg 7 您的坐骑成功被召唤!
break
@DOWNHORSE:下马触发
[@DOWNHORSE]
#if
#act
Sendmsg 7 您的坐骑成功被收回!
break
2、上下马脚本命令:
[@UpOrDownHorse]
#if
#act
UpOrDownHorse
Sendmsg 7 OK!
break
骑马时候声音(程序包内第三方补丁文件内查看)
3、相关操作
邀请方式:
鼠标移至身边3格内的不在坐骑状态下的玩家,点击以下快捷键,即可进行邀请。
邀请命令:CTRL+L(固定键)
下马命令:CTRL+G(邀请人和被邀请人共用)
双人坐骑状态:
1. 基础设定:
走路(鼠标左键):1格;
跑步(鼠标右键):3格。
双人坐骑状态下无法攻击、不可接水、不可拾取、不可挖宝,不可进行有起手动作的动作。如:不可逗宠物,不可释放除烟花、璀璨烟花、传情烟花和周年庆礼炮之外的其它烟花等。(包含邀请人和被邀请人)
2. 邀请人坐骑状态:
邀请人坐骑状态遵循单人坐骑状态所有条件(除不可组队)。
3. 被邀请人坐骑状态:
1) 被邀请人可进行状态:吃药、小退、大退、下马、聊天五种操作;
2) 其他操作由邀请人进行决定。
4. 伤害计算:双人坐骑为1格,双人共用格子。被攻击的伤害全部施放在邀请人身上,被邀请人为保护状态。
5. 状态展示:所有双人坐骑状态,遵循邀请人坐骑状态。如,心法状态判断邀请人是否开启心法,中毒判断邀请人是否中毒等。
6. 被邀请人界面:在双人坐骑状态下,被邀请人界面出现下马按钮,为一个马按钮状,点击可直接下马,同时有悬浮提示:点击按钮可直接下马。
7. 双人骑外显:双人坐骑时,邀请人显示坐骑后方,被邀请人显示坐骑前方。
8.角色名显示:
在双人坐骑状态下,不显示其他称号,只显示名字。邀请人名字显示在后部,被邀请人名字显示在前部。
9. 血条显示:
在双人坐骑状态下,只显示邀请人血条和内功条,被邀请人血条不显示。
10.禁止相关:
双人坐骑状态下,点击传送相关按钮和使用传送石进行传送,将无反应。双人骑状态,邀请人和被邀请人无法进行组队。
下马设置:
1. 被邀请人单独下马:
被邀请人快捷键下马:CTRL+G,或点击操作界面下马按钮。
小退单独下马
大退单独下马
被邀请人死亡下马
2. 共同下马:
邀请人快捷键下马:CTRL+G
邀请人小退
邀请人大退
邀请人死亡
单人骑马介绍:
上马方法:
1) 上马必须将马牌装备在相应装备位当中;
2) 装备好之后,在F12当中设置快捷键(若未设置按照默认快捷键ctrl+g);
3) 使用快捷键召唤坐骑;
下马方法:(上马和下马命令在引擎游戏命令处查看)
1. 主动下马:
1) 大退下马
2) 小退下马
3) 使用快捷键下马
2. 被动下马:
1) 死亡下马
2) 马牌放入包裹当中:下马
坐骑状态下,可进行的动作:
1) 走:每步1格。鼠标左键进行操作;
2) 跑:每步3格。鼠标右键进行操作;
3) 可进行吃药;
4)可进行自动开盾;
5) 可面对面交易、丢弃物品;
6) 可点击NPC。
7)可以释放烟花。
坐骑状态下,不可进行的动作:
1) 无法攻击其他目标;
2) 不可接水;
3) 不可拾取
4) 不可挖宝;
5) 不可挑战;
6) 骑乘状态下,不可进行有起手动作的动作。。
功能: 检测是否骑马状态
格式:
CheckOnHorse
#IF
CheckOnHorse
#SAY
你正在骑马中….
地图参数
NOHORSE 禁止骑马
用户命令Command.ini
@DisableHorseInvite=禁止邀请上马
默认禁止邀请上马,用户使用命令可允许与禁止。
M2客户端控制->页面显示增加复选框->显示上马/下马按钮
修改上马时间命令
SETUPHORSETIME
上马时间默认3秒,等于0表示立即上马
SETUPHORSETIME 时间(秒)
[@main]
#IF
#ACT
SETUPHORSETIME 2
SENDMSG 7 您的上马时间已修改为2秒
骑马跑步触发:
[@HorseRun]
#IF
#ACT
SENDMSG 7 骑马跑步触发

增加附加伤害效果

说明

增加附加伤害效果 RangeHarm
说明:
RangeHarm 参数1 参数2 参数3 参数4 参数5 参数6…..参数15
参数1 X坐标
参数2 Y坐标
参数3 范围 (增加一个|用于控制最大目标数量,范围|数量,无|时只表示范围)
参数4伤害值
参数5附加效果0=无,1=击退,2=冻结,3=麻痹,4=吸血,5= 吸蓝,6真实伤害数值,7蛛网效果,8红毒,9绿毒,10定身,11防禁锢,12最大hp百分比真实伤害,13当前hp百分比真实伤害
参数6 附加属性值 参数 5=1;击退距离、2;冻结时间、3;麻痹时间、4;吸血值、5;吸蓝值、6;真实伤害值、7;蛛网时间、8;红毒时间、9;绿毒时间、
10;定身时间(定身时间单位是毫秒)、11;防禁锢时间(秒) 12;最大hp百分比真实伤害的值 13;当前hp百分比真实伤害的值
参数7 是否检查防冻结/麻痹/石化/冰冻/蛛网/红毒/绿毒属性(0: 直接设置状态; 1:检查后设置状态)
参数8 目标(0或空:所有目标; 1:仅人物; 2:仅怪物)
参数9 WIL序号
参数10 开始图片
参数11 播放张数
参数12 播放速度
参数13 是否透明绘制(0或空,1)
参数14 是否物理属性攻击(0或空,1 物理属性则目标以防御来抵御伤害,0或者空目标则以魔御来抵御伤害)
参数15 飘血ID
RangeHarm <$X> <$Y> 5 333 3 2 0 0 36 1560 20 100 1 1 101
当前人物范围5之内所有可以攻击的目标都受到333点伤害并且被麻痹2秒
所有参数都支持变量 伤害和普通伤害一样需要 考虑目标的防御
扩展了一个 RangeHarmEx 支持伤害触发
RangeHarmEx
参数1 X坐标
参数2 Y坐标
参数3 范围 (增加一个|用于控制最大目标数量,范围|数量,无|时只表示范围)
参数4 伤害值
参数5附加效果0=无,1=击退,2=冻结,3=麻痹,4=吸血,5= 吸蓝,6真实伤害数值,7蛛网效果,8红毒,9绿毒,10定身,11防禁锢,12最大hp百分比真实伤害,13当前hp百分比真实伤害
参数6 附加属性值 参数 5=1;击退距离、2;冻结时间、3;麻痹时间、4;吸血值、5;吸蓝值、6;真实伤害值、7;蛛网时间、8;红毒时间、9;绿毒时间、
10;定身时间(定身时间单位是毫秒)、11;防禁锢时间(秒) 12;最大hp百分比真实伤害的值 13;当前hp百分比真实伤害的值
参数7 是否检查防冻结/麻痹/石化/冰冻/蛛网/红毒/绿毒属性(0: 直接设置状态; 1:检查后设置状态)
参数8 目标(0或空:所有目标; 1:仅人物; 2:仅怪物)
参数9 触发选项(0:所有目标触发; 1:只触发一次) 注:该触发走的是[@Magicattack]
参数10 触发几率(仅对所有目标触发有效,值越小几率越高)
参数11 WIL序号
参数12 开始图片
参数13 播放张数
参数14 播放速度
参数15 是否透明绘制(0或空,1)
参数16 是否物理属性攻击(0或空,1 物理属性则目标以防御来抵御伤害,0或者空目标则以魔御来抵御伤害)
参数17 飘血ID

完整脚本代码

[@Attack]
#IF
#ACT
RangeHarmEx <$X> <$Y> 5 333 1 4 0 0 3 3 36 1560 20 100 1 0 101
SENDMSG 6 当前屏幕内所有目标造成333点伤害附加击退4格的伤害

多货币关联系统

多货币关联使用功能

表: cfg_item.xls表

设置方法:Reserved字段 货币组分类(数字)#优先扣除顺序 如:10#1

图介绍:10#3 10#1 10#2 10=这3个货币是一个类别的 后面的1 2 3 代表扣除的顺序 数字越小越优先扣除

检测多货币关联格式:CheckBindMoney 货币名称 检测符(> < =) 数量

获取多货币数量格式:GetBindMoney 货币名称 存入变量

扣除多货币数量格式:ChangeBindMoney 货币名称 数量

货币ID2(元宝)和4(绑定元宝)为系统默认关联货币不可再关联其他货币

说明:多货币只支持扣除,不支持增加,如果要增加请用其他命令 如:GAMEGOLD MONEY

货币关联后的检测和扣除原则:

补充说明

详细说明

1、货币关联后检测时顺序号大的货币自动替换货币小的,扣除时优先扣除顺序小的货币

2、关联货币也支持改名,例如金刚石→火龙币,灵符→绑定火龙币

MONEY 火龙币 + 100

ChangeBindMoney 游戏点 100

如果你的金刚石有100个,游戏点有200个,关联检测货币名为游戏点值为200+100=300,如果检测的货币名为金刚石则值为100

关联后的货币只想检测某一种的话,请使用 CHECKMONEY

完整脚本代码

[@MAIN]
#IF
CheckBindMoney 游戏点 > 299
#ACT
ChangeBindMoney 游戏点 300
SENDMSG 7 当前游戏点<$MONEY(游戏点)>
#ELSEACT
SENDMSG 7 游戏点不足
MONEY操作所有货币功能
CHECKMONEY 货币名称 检测符(> < = ?) 数量
MONEY 货币名称 检测符(+ – =) 数量
输出货币值:<$MONEY(货币名称)>
[@MAIN]
#IF
CHECKMONEY 元宝 ? 100
#ACT
sendmsg 7 大于100
MONEY 元宝 – 100
#IF
CHECKMONEY 元宝 > 1000
#ACT
sendmsg 7 小于1000
MONEY 元宝 – 1000
;关联货币操作
[@扣除关联货币]
#IF
#ACT
ChangeBindMoney 元宝 300
SENDMSG 6 你扣除了和元宝关联的货币300个
[@获取多货币]
#IF
#ACT
GetBindMoney 元宝 S1
SENDMSG 6 你当前关联元宝的货币有:<$STR(S1)>个。
[@多货币]
#IF
CheckBindMoney 元宝 > 300
#ACT
SENDMSG 6 你的元宝关联货币足够
#ELSEACT
SENDMSG 6 你的元宝关联货币不足够
<FONTCOLOR=#0000FF><FONTCOLOR=#000000>

字符串取左边取长度

获取字符串左边指定长度字符

LeftStr 参数1 参数2 参数3

参数1:字符串

参数2: 长度

参数3:写入变量

//例子

完整脚本代码

#if
#ACT
mov S$字符串 996引擎
LeftStr <$str(S$字符串)> 3 S$获取字符串
sendmsg 7 当前获取的字符串为[<$str(S$获取字符串)>]!!
获取字符串长度
;例子
[@main]
#IF
#ACT
GETSTRLENGTH 要获取的字符串 N$字符串长度
SENDMSG 6 获取到的长度<$STR(N$字符串长度)>
功能:
取字符串长度.
格式: TextLength 字符串 保存变量
示列:
[@main]
#ACT
TextLength 这是一个测试文字aaabbbccc N1
SENDMSG 6 <$STR(N1)>
;–输出25,一个汉字占2个字符

字符分割高级

字符分割方式

格式:GETVALIDSTRSUPER 参数1 参数2 参数3 参数4(可空)

参数1:分割内容|分割内容|分割内容|

参数2:分割符号

参数3:存入变量 只支持临时变量N$XX S$XX支持到9999

参数4:分割数量存入变量 (可以不填)

//;例子

装备列表.txt 里面的内容为

战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指

完整脚本代码

[@ 分割 ]
#IF
gender man
checkjob warrior
#ACT
GetRandomText ..\QuestDiary\装备列表.txt <$STR(S$装备数据)> 0
GETVALIDSTRSUPER <$STR(S$装备数据)> : S$变量
GIVE <$STR(S$变量1)> 1
GIVE <$STR(S$变量2)> 1
GIVE <$STR(S$变量3)> 1
GIVE <$STR(S$变量4)> 1
GIVE <$STR(S$变量5)> 1
GIVE <$STR(S$变量6)> 1
GIVE <$STR(S$变量7)> 1
GIVE <$STR(S$变量8)> 1
TakeOn <$STR(S$变量1)> 0
TakeOn <$STR(S$变量2)> 1
TakeOn <$STR(S$变量3)> 3
TakeOn <$STR(S$变量4)> 4
TakeOn <$STR(S$变量5)> 5
TakeOn <$STR(S$变量6)> 6
TakeOn <$STR(S$变量7)> 7
TakeOn <$STR(S$变量8)> 8
BREAK

宝宝相关

人物宝宝叛变

QFunction-0.txt触发

完整脚本代码

[@MobTreachery]
#IF
#ACT
SENDMSG 7 宝宝已叛变
宝宝升级触发
QFunction-0.txt触发
[@Slaveupgrade]
#IF
#ACT
SENDMSG 6 你的宝宝<$SLAVEUPGRADENAME>升级了
获得宝宝触发
QFunction-0.txt触发,注意:神兽站起和趴下也会触发
[@Slavebb]
#IF
#ACT
SENDMSG 7 你获得宝宝<$SLAVEBBNAME>
宝宝被攻击和攻击别人宝宝触发
QFunction-0.txt触发
[@SlaveDamage]
#IF
#ACT
SENDMSG 7 宝宝被[<$darlingpet>]攻击了
[@HitSlave]
#IF
#ACT
SENDMSG 7 你攻击了[<$darlingpet>]的宝宝
杀死别人宝宝触发
QFunction-0.txt触发
[@KillSlave]
#IF
CheckKillSlaveName 月灵
#ACT
SendMsg 5 你把对方<$KILLSLAVEMASTERNAME>的月灵宝宝杀死了.
自己宝宝死亡触发
QFunction-0.txt触发
[@SelfKillSlave]
#IF
#ACT
SendMsg 6 <$USERNAME>你的宝宝<$SLAVEBBNAME>死了
脚本召唤宝宝
RECALLMOB 怪物名称 宝宝等级(最高为 7) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7)
[@召唤宝宝]
#IF
#ACT
;召唤宝宝30分钟后叛变,七彩变色
RECALLMOB 神兽 7 30 1
SENDMSG 0 好好看着自己的宝宝,不要乱咬人
检查宝宝的等级
CHECKSLAVELEVEL 控制符(=,>,<) 等级数< BR>
[@checklevel0]
#IF
CHECKSLAVELEVEL = 5
#SAY
宝宝的等级等于5级。
#ELSESAY
宝宝的等级不等于5级。
检查玩家所带宝宝数量
格式:CHECKSLAVECOUNT 控制符(=,>,<) 数量< BR>
[@宝宝数量]
#IF
CHECKSLAVECOUNT < 5
#ACT
SENDMSG 6 你的宝宝总数量为5个。
#ELSEACT
SENDMSG6 你的宝宝总数量不为5个。
检测人物宝宝名字
CHECKSLAVENAME 宝宝名字
[@检测宝宝名字]
#IF
CHECKSLAVENAME 虎卫
#ACT
SENDMSG 5 提示:你的宝宝叫虎卫
#ELSEACT
SENDMSG 5 提示:你的宝宝不叫虎卫
检测自己和宝宝之间的距离
CheckSlaveInRange 名字 距离
[@检测宝宝距离]
#IF
CheckSlaveInRange 月灵 5
#SAY
你的月灵在身边
#ELSESAY
你的月灵宝宝跑哪里去了?
杀死自己指定宝宝
KillCallMob 名字 数量 方式(为空或者0有死亡动画 1直接消失)
示例一:
[@杀死自己指定宝宝]
#IF
#ACT
;把自己宝宝杀死,有死亡动画
KILLCALLMOB 虎卫 1
SENDMSG 5 你的虎卫宝宝被杀死了.
示例二:
[@杀死自己指定宝宝]
#IF
#ACT
;把自己宝宝杀死,没有死亡动画
KILLCALLMOB 虎卫 1 1
SENDMSG 5 你的虎卫宝宝被杀死了.
杀死自己全部宝宝
KILLSLAVE
[@杀死全部宝宝]
#IF
#ACT
KILLSLAVE
SENDMSG 5 你的宝宝全部杀死了
指定宝宝立即叛变
GetCallMob 宝宝名字
[@立即叛变]
#IF
#act
GETCALLMOB 神兽
#say
你的神兽已经叛变
直接调整人物宝宝的等级
ChangeSlaveLevel 参数1 参数2 参数3 参数4
参数1:名字
参数2:操作符(+ = -)
参数3:等级(1-7)
参数4:第几只宝宝(为空或为0=全部宝宝,1~99= 第几只宝宝)
[@调整所有宝宝等级]
#IF
#ACT
;把虎卫的等级调整到7级.
ChangeSlaveLevel 虎卫 = 7
[@调整第1个宝宝等级]
#IF
#ACT
ChangeSlaveLevel 虎卫 = 7 1
调整宝宝攻击人物的威力倍率
ChangeSlaveAttackHumPowerRate 宝宝名称 攻击人物威力倍率(威力倍数为0时不攻击人物,当前值除以100为实际倍数)
[@神兽不攻击人物]
#if
CHECKSLAVENAME 神兽
#ACT
ChangeSlaveAttackHumPowerRate 神兽 0
sendmsg 6 神兽不攻击人物
#elseact
sendmsg 6 请先把神兽召唤出来
[@神兽攻击人物倍数1点1倍]
#if
CHECKSLAVENAME 神兽
#ACT
ChangeSlaveAttackHumPowerRate 神兽 110
sendmsg 6 神兽攻击人物1.1倍攻击力
#elseact
sendmsg 6 请先把神兽召唤出来
获取当前宝宝名字和宝宝等级
GetSlaveInfo 参数1 参数2 参数3 参数4
参数1:第几只宝宝
参数2:宝宝名字存取变量
参数3:宝宝等级存取变量
参数4:是否带数字保存(0或者空不带 1=带宝宝后面数字)
示例一:
[@宝宝名字和等级不带数字]
#IF
#ACT
GetSlaveInfo 1 S$宝宝名字1 N$宝宝等级1
GetSlaveInfo 2 S$宝宝名字2 N$宝宝等级2
SENDMSG 6 <$STR(S$宝宝名字1)><$STR(N$宝宝等级1)>
SENDMSG 6 <$STR(S$宝宝名字2)><$STR(N$宝宝等级2)>
示例二:
[@宝宝名字和等级带数字]
#IF
#ACT
GetSlaveInfo 1 S$宝宝名字1 N$宝宝等级1 1
GetSlaveInfo 2 S$宝宝名字2 N$宝宝等级2 1
SENDMSG 6 <$STR(S$宝宝名字1)><$STR(N$宝宝等级1)>
SENDMSG 6 <$STR(S$宝宝名字2)><$STR(N$宝宝等级2)>
修改宝宝属性值
CHANGEMOBABILITY 参数1 参数2 参数3 参数4
参数1:宝宝名称(不需要带数字)
参数2:属性位置
;属性位置:1=防御下限 2=防御上限 3=魔御下限 4=魔御上限 5=攻击下限 6=攻击上限 7=魔法下限 8=魔法上限 9=道术下限 10=道术上限 11=MaxHP 12=MaxMP 13=移动速度(百分比) 14= 攻击速度(百分比)
参数3:操作符(+ – =)
参数4:时间(属性值最大21亿)
示例:
[@main]
#IF
#ACT
CHANGEMOBABILITY 神兽 11 + 10000 9999
SENDMSG 7 你的神兽增加了HP+10000
恢复宝宝血量
MEBabyHP 参数1 参数2 参数3 参数4
参数1 :宝宝名称
参数2:操作符号(+ – =)
参数3:血量值
参数4:是否区分数字(0不区别,1区别)
;示例:
[@修改神兽血量]
#IF
#ACT
MEBabyHP 神兽 = 99999 0
sendmsg 7 您的BB恢复了99999点血
[@修改神兽1血量]
#IF
#ACT
MEBabyHP 神兽1 = 99999 1
sendmsg 7 您的BB恢复了99999点血
宝宝在 线改名命令
ChangeBmz 参数1 参数2
参数1:新名字
参数2:原有名字(如果原有名字为空,则把所有宝宝的名字都改成新名字)
;示例:
[@ChangeBmz]
#IF
#ACT
ChangeBmz 超级神兽
SendMsg 5 你所有宝宝名字修改为超级神兽!
[@ChangeBmz1]
#IF
CHECKSLAVENAME 神兽
#ACT
ChangeBmz 超级神兽 神兽
SendMsg 5 你的神兽宝宝名字成功修改为超级神兽!
#ELSEACT
SENDMSG 5 提示:你的宝宝名字不 叫神兽

将变量插入字符串指定位置

Insert

INsert 参数一(原字符串或变量) 参数二(插入的位置) 参数三(插入的内容) 参数四(最终字符串保存到 变量)

例子:

#ACT

;在字符串 一二三 的第2个字符位置插入字符 四 S1=一二四三

INsert 一二三 2 四 S1

将自己宝宝移动至指定坐标

MOVESLAVE 参数1 参数2 参数3

参数1: 0全部BB 大于0为第几只BB

参数2: 新X坐标

参数3: 新Y坐标

;例子:

完整脚本代码

[@main]
#IF
#ACT
MOVESLAVE 0 333 333
获取宝宝坐标
<$SlaveX> 宝宝自身X坐标(当有多个宝宝时,随便选一个)
<$SlaveY> 宝宝自身Y坐标(当有多个宝宝时,随便选一个)
;例子:
[@main]
#IF
#ACT
SENDMSG 7 当前宝宝坐标<$SlaveX>, <$SlaveY>

强制加入攻城列表

行会强制加入攻城列表命令

加入攻城列表

AddToCastleWarListEx 参数1 参数2

参数1:占领名称(例:沙巴克)

参数2:行会名称(*所有行会)

//例子:将需要加入的行会加入列表并配合GM命令开启攻城,立即生效,正在攻城当中也可以加入列表。

#if

#ACT

;开启全部行会攻城

AddToCastleWarListEx 沙巴克 *

补充说明

详细说明

SENDMSG 7 攻城列表已刷新,所有行会都可参与攻城

怪物体型放大

怪物体型放大、缩小功能

1、扩展cfg_monster.xls表Q列为怪物体型倍数,比如150=刷新出来的怪物体型放大1.5倍

2、MonGenEx 颜色参数扩展 例如255#150表示本次刷的怪物体型放大1.5倍

3、MonGenEx 颜色参数扩展 例如255#150;3#0#120;测试1 表示怪物体型1.5倍,所有属性提升1.2倍(血量、攻击下限、攻击上限、防御下限、防御上限)

3#0#120;测试1 解析

3 表示该属性有效的职业,0=战士、1=法师、2=道士、3=全职业,该命令为怪物所以填3

0 表示怪物所有属性,1=生命值、2=魔法值、3=攻击下限、4=攻击上限等等,详细请参考 属性对照表 的ID、移动速度ID为92

120 表示调整的百分比,大于100即为提升,少于100则降低

测试1 表示该怪物读取的爆率文件, 注意:爆率文件必须对应MonItems\ScriptMonItems\测试1.txt ,请在爆率文件夹下创建 ScriptMonItems 目录及爆率文件。不写或读不到文件则爆率不变

注意:爆率文件是在M2启动的时候读取进来的,重载爆率无效,重启M2有效。

完整脚本代码

[@mian]
#IF
#ACT
MonGenEx 0 638 413 白野猪 1 1 0 255#
MonGenEx 0 639 413 白野猪 1 1 0 255#150
MonGenEx 0 640 413 白野猪 1 1 0 255#50
SENDMSG 0 刷新了一只白野猪精英,体型是白野猪的1.5倍
SENDMSG 0 刷新了一只白野猪弱小,体型是白野猪的0.5倍
MonGenEx <$map> <$X> <$Y> 稻草人 2 1 0 233#200;3#0#120|3#20#50|3#92#100#1;测试1
SENDMSG 6 血量、攻击下限、攻击上限、防御下限、防御上限1.2倍

截取字符串中的一段字符

CopyText

参数1=待处理字符串

参数2=待拷贝字符初始位置

参数3=拷贝字符数量

参数4=保存的变量

NPC排版用起来很方便 注意:中文、英文、数字通用

例子:

#ACT

;S0=木土

CopyText 金木土水火 2 2 S0

补充说明

详细说明

#ACT

;S0=BC

CopyText ABCDE 2 2 S0

#ACT

;S0=23

CopyText 12345 2 2 S0

批量使用叠加消耗类型物品

批量使用 叠加消耗类型物品 (只支持叠加物品)

格式:EatItem 参数1 参数2

参数1:道具名称(支持31、2类型)

参数2:使用次数(0或空批量使用 1为使用1次)

例子:

完整脚本代码

[@使用物品]
#IF
#ACT
EatItem 10元宝 1
;脚本使用消耗类物品并支持QF触发
[@STDMODEFUNC138]
#IF
#ACT
GAMEGOLD + 10
SENDMSG 6 使用的道具IDX:<$CURREATEITEM>-本次吃掉了<$CURREATEITEMCOUNT>个

批量检测\拿走\给予\背包物品

功能 1:批量检 测背包物品

格式: CHECKITEMS 参数1 参数2 参数3

参数 1:物品名称#物品数量&物品名称#物品数量 (&=和的意思)

参数 2:0/1/2(0=不检测 1.非绑定 2.绑定)

参数 3:参数1中的物品名称是ID还是道具名称(0,道具名称,1,道具ID)

功能 2:批量拿走背包物品

格式: TAKES 参数1 参数2 参数3 参数4

参数 1:物品名称#物品数量&物品名称#物品数量 (&=和的意思)

参数 2:存入变量 判断拿走的物品是否有绑定的状态 0.非绑定 1.绑定

参数 3:参数1中的物品名称是ID还是道具名称(0,道具名称,1,道具ID)

补充说明

详细说明

参数 4: 填空0或空按之前 填1表示优先收走绑定的

功能 3:批量给 予物品

格式: GIVES 参数1

参数 1:物品名称#数量#绑定状态&物品名称#数量#绑定状态

参数 1绑定状态说明:1=禁止扔 2=禁止交易 4=禁止存 8=禁止修 16=禁止出售 32=禁止爆出 64=丢弃消失 128=死亡必爆(死亡爆出来后,该属性就会删除,在捡起来戴上,就没有死亡必爆了) 256=禁止摆摊或上架拍卖行

; 批量检测背包物品 例子:

完整脚本代码

[@批量检测背包物品]
#IF
CHECKITEMS 屠龙#3&木剑#4&金条#5 0 0
#ACT
SENDMSG 6 你背包有:屠龙3件,木剑4件,金条5个.
; 批量回收背包物品 例子:
[@批量拿走背包物品]
#IF
#ACT
TAKES 屠龙#3&木剑#4&金条#5 N0 0
SENDMSG 0 回收的物品是否含有绑定状态:<$STR(N0)>
批量给予物品例子:
比如:我想给木剑绑定状态为,禁止仍,禁止交易,禁止出售 (1+2+16=19)
[@给绑定物品]
#IF
#ACT
GIVES 木剑#1#19
SENDMSG 6 你获得了木剑,绑定状态为 禁止仍,禁止交易,禁止出售

批量检测背包唯一ID或者IDX物品是否存在

格式:CheckBagItem 参数1 参数2 参数3

参数1:物品唯一ID或者IDX (多个物品请用逗号,分开)

参数2:存入变量

参数3:模式 (0或者空物品唯一IDX 1=物品的IDX)

例子:

完整脚本代码

[@检测背包唯一ID物品]
#IF
CheckBagItem 3395,3393,3391,9920 S10
#ACT
SENDMSG 6 当前背包唯一ID物品有:<$STR(S10)>
#ELSEACT
SENDMSG 6 当前一个不存在
[@检测背包IDX物品]
#IF
CheckBagItem 30026,30027,30031,30042,30041 S10 1
#ACT
SENDMSG 6 当前背包存在的IDX物品有:<$STR(S10)>
#ELSEACT
SENDMSG 6 当前一个不存在

技能CD显示及快捷拖放

显示技能CD时间,并且有动画显示,动画素材在必备补丁(NewopUI.Pak)的1630~1689

可以到人物属性框,技能界面拖动技能按钮到屏幕上

也可以使用脚本命令直接设置

双击即可删除改按钮

ShowScreenMagicTime 技能名称 X Y 快捷键(值在49~56为 F1~F8 69~76为 Ctrl+F1~Ctrl+F8,0表示不改变快捷键) 是否可以拖动(0可以 1不可以)

[@显示技能CD]

#ACT

SHOWSCREENMAGICTIME 烈火剑法 100 100 0 1

SHOWSCREENMAGICTIME 逐日剑法 140 100 0 0

技能备注

M2选项-查看列表信息二-技能描述 技能备注

例子:

<火球术:/FCOLOR=251>\<法师的初级火系攻击魔法。/FCOLOR=250>\<凝聚自身魔力发射一枚火球攻击目标。/FCOLOR=250>

技能描述文字支持颜色编辑,花式展现随心所欲 。

押镖系统

功能 :镖车自动寻路到指定坐标

格式 :Dartmap 333 333 0 X坐标 坐标Y 人物离镖车几格内镖车自动寻路 为空或0 不检测镖车和人物范围自动到设置坐标 范围:1~12格

功能 :镖车人物下线和设置镖车存活时间

格式 :镖车存活时间 DartTime 60 1 镖车存活多少秒 下线是否消失 为空或0消失,1为下线不消失到时间消失

QFunction-0.txt 触发

//;镖车到达指定寻路触发 (只支持镖车自动寻路到坐标点触发)

完整脚本代码

[@CarPathEnd]
#IF
#ACT
SENDMSG 7 你的镖车达到了指定位置
//;镖车切换当前地图触发 (只支持坐标点切换地图,不支持传送切换地图)
[@LeaveDart]
#IF
#ACT
SENDMSG 7 你的镖车切换了地图
//;人物离开又进入镖车范围触发 (只支持镖车跟着人物走的模式触发)
[@CarFindMaster]
#IF
#ACT
SENDMSG 7 你的进入了镖车自动寻路范围
[@SlaveDamage]
#IF
CHECKSLAVENAME 普通镖车
#ACT
SENDMSG 7 你的普通镖车被攻击了
[@HitSlave]
#IF
CHECKSLAVENAME 普通镖车
#act
SENDMSG 7 攻击了别人的普通镖车
[@MAIN]
#IF
#SAY
<五年诚信经营,打造品牌游戏,每天多个新区开放,打造激情天堂/SCOLOR=146>\ \
╔━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━╗\
┃ <激情镖车/SCOLOR=250> ┃ <镖车越好获得的物品越好(随机分配)/SCOLOR=146> ┃<接受任务 /@JSRW>┃\
╠━━━━━╋━━━━━━━━━━━━━━━━━╋━━━━┫\
┃ <激情镖车/SCOLOR=250> ┃ <镖车越好获得的物品越好(随机分配)/SCOLOR=146> ┃<接受任务 /@JSRW>┃\
╚━━━━━┻━━━━━━━━━━━━━━━━━┻━━━━╝\
<请把镖车拉运到:押镖之路(二)的镖务总管处换取酬劳/AUTOCOLOR=253>\
您今天押镖次数为:<$HUMAN(押镖次数)>次(每角色每天可押镖3次)
#ACT
break
#ELSEACT
MESSAGEBOX 活动时间为:19点-21点!
//;镖车自动寻路到坐标点
//;龙门镖局-3.txt
[@JSRW]
#IF
CHECKGAMEGOLD < 1000
#ACT
MESSAGEBOX 接受押镖任务需要1000颗元宝做为押金,完成任务将反还给你!
break
#IF
check [145] 1
#SAY
您还没有完成上一次押镖任务.如果你要重新开始,请先放弃上一\
次未完成的护送任务。\ \
注意:放弃任务为任务失败!\ \
<放弃任务/@放弃任务> \ \
<返回 /@main>\
#ACT
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
RANDOM 15
#ACT
GAMEGOLD – 1000
RECALLMOB 豪华镖车 7 30 0
DartTime 300 1
Dartmap 21 23 0
set [145] 1
MESSAGEBOX 恭喜你接到了【豪华镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(豪华镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
RANDOM 5
#ACT
GAMEGOLD – 1000
RECALLMOB 高级镖车 7 30 0
DartTime 300 1
Dartmap 21 23 0
set [145] 1
MESSAGEBOX 恭喜你接到了【高级镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(高级镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
#ACT
GAMEGOLD – 1000
RECALLMOB 普通镖车 7 30 0
DartTime 300 1
Dartmap 21 23 0
set [145] 1
MESSAGEBOX 恭喜你接到了【普通镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(普通镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#elsesay
接受任务失败:\ \
1.您今天已经完成了3次押镖任务!\ \
2.您的元宝不足1000颗,无法接受任务!\ \
3.押镖时间为每天的19点至21点!\ \
<离开 /@EXIT >
//;镖车跟着人物走
[@JSRW]
#IF
CHECKGAMEGOLD < 1000
#ACT
MESSAGEBOX 接受押镖任务需要1000颗元宝做为押金,完成任务将反还给你!
break
#IF
check [145] 1
#SAY
您还没有完成上一次押镖任务.如果你要重新开始,请先放弃上一\
次未完成的护送任务。\ \
注意:放弃任务为任务失败!\ \
<放弃任务/@放弃任务> \ \
<返回 /@main>\
#ACT
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
RANDOM 15
#ACT
GAMEGOLD – 1000
RECALLMOB 豪华镖车 7 30 0
DartTime 300 1
set [145] 1
MESSAGEBOX 恭喜你接到了【豪华镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(豪华镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
RANDOM 5
#ACT
GAMEGOLD – 1000
RECALLMOB 高级镖车 7 30 0
DartTime 300 1
set [145] 1
MESSAGEBOX 恭喜你接到了【高级镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(高级镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#IF
CHECKVAR HUMAN 押镖次数 < 3
#ACT
GAMEGOLD – 1000
RECALLMOB 普通镖车 7 30 0
DartTime 300 1
set [145] 1
MESSAGEBOX 恭喜你接到了【普通镖车】\一直往前走,直到看见镖务总管为止!
GuildNoticeMsg 251 249 玩家【%s】接受了(普通镖车),前往杀害他的镖车可获得1000个元宝哦,机会不可错过!
break
#elsesay
接受任务失败:\ \
1.您今天已经完成了3次押镖任务!\ \
2.您的元宝不足1000颗,无法接受任务!\ \
3.押镖时间为每天的19点至21点!\ \
<离开 /@EXIT >
//;镖务总管-3
[@MAIN]
#IF
check [145] 1
CHECKVAR HUMAN 押镖次数 < 3
CheckSlaveInRange 豪华镖车 5
#ACT
KILLCALLMOB 豪华镖车 1 1
set [145] 0
CALCVAR HUMAN 押镖次数 + 1
SAVEVAR HUMAN 押镖次数 ..\QuestDiary\重要数据\镖车变量.txt
CHANGEEXP + 30000000
GAMEGOLD + 1000
GuildNoticeMsg 251 249 玩家(<$USERNAME>)参加激情押镖活动中,经验值(3000万)!
messagebox [提示]:你的1000元宝押金已经返还。请查看背包!
break
#IF
check [145] 1
CHECKVAR HUMAN 押镖次数 < 3
CheckSlaveInRange 高级镖车 5
#ACT
KILLCALLMOB 高级镖车 1 1
set [145] 0
CALCVAR HUMAN 押镖次数 + 1
SAVEVAR HUMAN 押镖次数 ..\QuestDiary\重要数据\镖车变量.txt
CHANGEEXP + 15000000
GAMEGOLD + 1000
GuildNoticeMsg 251 249 玩家(<$USERNAME>)参加激情押镖活动中,获得经验值(1500万)!
messagebox [提示]:你的1000元宝押金已经返还。请查看背包!
break
#IF
check [145] 1
CHECKVAR HUMAN 押镖次数 < 3
CheckSlaveInRange 普通镖车 5
#ACT
KILLCALLMOB 普通镖车 1 1
set [145] 0
CALCVAR HUMAN 押镖次数 + 1
SAVEVAR HUMAN 押镖次数 ..\QuestDiary\重要数据\镖车变量.txt
CHANGEEXP + 10000000
GAMEGOLD + 1000
GuildNoticeMsg 251 249 玩家(<$USERNAME>)参加激情押镖活动中,获得经验值(1000万)!
messagebox [提示]:你的1000元宝押金已经返还。请查看背包!
break
#ELSESAY
你的镖车跑哪里去了?

拍卖行系统

打开拍卖行面板前触发

完整脚本代码

[@OpenPaimai]
#IF
#ACT
STOP
SENDMSG 7 禁止打开拍卖行
拍卖行 上架 ,下架触发和禁止上架和下架 QF触发
[@CanGetBackPaimaiItem]
#IF
#ACT
; ALLOWPAIMAI 1(为禁止,其他或者不填为允许)
ALLOWPAIMAI 1
sendmsg 5 禁止取回拍卖物品<$STR(S0)>
[@CanPaimaiItem]
#IF
#ACT
SENDMSG 6 当前物品<$STR(S0)>– <$Param1>-物品ID–<$Param2>-物品唯一ID–<$Param3>-上架货币ID–<$Param4>-上架货币数量
; ALLOWPAIMAI 1(为禁止,其他或者不填为允许)
ALLOWPAIMAI 1
sendmsg 5 禁止上架物品<$STR(S0)>
拍卖购买物 品触发 ,竞价触发,获取购买当前物品名称
[@BuyPaimaiItem]
#IF
EQUAL S0 屠龙
#ACT
SENDMSG 6 当前物品<$STR(S0)>– <$Param1>-物品ID–<$Param2>-物品唯一ID–<$Param3>-上架货币ID–<$Param4>-上架货币数量-<$USERSHOPSELLER>-卖家名字
; ALLOWPAIMAI 1(为禁止,其他或者不填为允许)
ALLOWPAIMAI 1
SENDMSG 6 当前物品<$STR(S0)>禁止购买
[@BiddingPaimaiItem]
#IF
EQUAL S0 屠龙
#ACT
SENDMSG 6 当前物品<$STR(S0)>– <$Param1>-物品ID–<$Param2>-物品唯一ID–<$Param3>-上架货币ID–<$Param4>-上架货币数量
; ALLOWPAIMAI 1(为禁止,其他或者不填为允许)
ALLOWPAIMAI 1
SENDMSG 6 当前物品<$STR(S0)>禁止竞价
[@GetPaimaiItem]
#IF
ISONMAP 0150
#ACT
SENDMSG 6 当前地图禁止使用我的竞拍【领取】功能

掉落身上指定部位装备

HumanDropUseItem 参数1 参数2

参数1:装备位置 (-1表示随机位置,0~30为指定装备位置 : 0~16 身上物品 17~18 时装 19~30 十二生肖)

参数2:暴出物品后记录物品名字符串变量

注意:该位置没有穿装备则命令无效…

掉落时先执行的人物本身的死亡掉落,执行完之后才是这个强制爆出,如果正好重合的话强制爆出就会是个空值,因为之前爆出了这个部位就是空的了

例子:掉落身上装备命令

完整脚本代码

[@PlayDie]
#IF
#ACT
HumanDropUseItem -1 S11
#IF
NOT EQUAL S11
#ACT
SENDMSG 0 客官,你的装备爆了:<$STR(S11)>

改变技能特效

SETMAGICWILLID 参数1 参数2 参数3

参数1:技能名称

参数2:技能起手特效WIL序号(大于0为修改后读取的WIL资源序号,-1为默认)

参数3:技能命中特效WIL序号(大于0为修改后读取的WIL资源序号,-1为默认)

参数4:是否简装

参数5:起手特效绘制(0:普通绘制,1:特效绘制,空为默认绘制)

参数6:命中特效绘制(0:普通绘制,1:特效绘制,空为默认绘制)

注:此功能只修改读取的文件,技能特效本身读取的图片起始序号不变。

;WIL序号需要在M2-列表信息二-WIL资源里面添加要读取的包名

完整脚本代码

[@MAIN]
#IF
#ACT
SETMAGICWILLID 火墙 -1 79
SENDMSG 7 改火墙地面效果,火墙起手效果不变。
[@MAIN]
#IF
#ACT
SETMAGICWILLID 火墙 -1 -1
SENDMSG 7 恢复火墙特效。
[@MAIN]
#IF
#ACT
SETMAGICWILLID 冰咆哮 80 80
SENDMSG 7 改冰咆哮起手效果以及命中效果。

数值串排序

SortString 参数一 参数二 参数三 参数四

参数一:要排序的字符串

参数二:分隔符

参数三:排序后赋值的变量 注:写入变量这个参数不要带<$STR()>

参数四:排序模式,0小到大 1大到小

例子1:

;从小到大排序

完整脚本代码

#ACT
MOV N$三号位置 10
MOV N$四号位置 7
MOV N$五号位置 3
MOV S$排序 <$STR(N$三号位置)>|<$STR(N$四号位置)>|<$STR(N$五号位置)>
SortString <$STR(S$排序)> | S$整理后 0
结果为:3|7|10|
例子2:
;从大到小排序
#ACT
MOV S$三号位置 14
MOV S$四号位置 5
MOV S$五号位置 8
MOV S$排序 <$STR(S$三号位置)>|<$STR(S$四号位置)>|<$STR(S$五号位置)>
SortString <$STR(S$排序)> | S$整理后 1
结果为:14|8|5|

数据消息上报

数据消息上报(用来做数据分析的)

格式:HTTPPSOT 参数1 参数2 参数3 参数4 参数5

参数1:Url网页地址

参数2:发送格式 0=TXT 1=json

参数3:Param1

参数4:Param2

参数5:Param3

参数6:Param4

完整脚本代码

[@TXT]
#IF
#ACT
;文本格式
HTTPPOST http://www.xxxx.com 0 <$LEVEL>|<$GAMEID>|<$USERID>|<$USERACCOUNT>|<$USERNAME><$HP>|<$DC>|<$HFTIME>
[@JSON]
#IF
#ACT
;jSon格式
HTTPPOST http://www.xxxx.com 0 {"#account_id":"<$USERID>","#type":"track","#ip":"<$IPADDR>"}
需要搭建HTTP服务器,接收post提交过来的参数,请让专业的技术搭建

新建项目

设置等级锁定命令

格式:setlocklevel 参数1

参数1: 0=解除锁定等级,1=锁定等级不加经验 2=锁定等级经验累加

范例:

完整脚本代码

#if
checklevel 44
#act
setlocklevel 2
SENDMSG 5 45级后经验累加,但等级不提升

新方式给装备设置绑定状态

功能:设置人物装备绑定状态。

格式:SETITEMBINDSTATE 参数1 参数2

参数1:装备位置(0~12,-1时为OK框中物品)

参数2:绑定规则

绑定状态说明:1=禁止扔 2=禁止交易 4=禁止存 8=禁止修 16=禁止出售 32=禁止爆出 64=丢弃消失 128= 死亡必爆(死亡爆出来后,该属性就会删除,在捡起来戴上,就没有死亡必爆了) 256= 禁止摆摊或上架拍卖行]

完整脚本代码

[@main]
#IF
#act
;设定衣服禁止扔、禁止交易、禁止存规则(1+2+4)
SETITEMBINDSTATE 0 7
#elseact
;取消衣服绑定状态设置为0即可
SETITEMBINDSTATE 0

新自定义变量

说明

清理自定义私人变量格式:ClearHumCustVar 参数1 参数2
参数1= 支持多个一起清理 |分割
参数2= 0或者为空清理全服 1清理自己
清理自定义全局变量格式:ClearGlobalCustVar 参数1
参数1=* 清理全部 支持多个一起清理 |分割
清理自定义行会变量格式:ClearGuildCustVar参数1 参数2
格式:ClearGuildCustVar 行会名字 行会变量名
参数1=* 清理全部 支持多个一起清理 |分割
参数2=* 清理全部 支持多个一起清理 |分割
注意:参数1、参数2,均为必填
自定义保存变量
功能说明:
自定义变量功能,不再受固定几个变量限制
使用方法:
自定义个人变量 自定义全局变量 自定义行会变量
变量使用前 需要 申明变量类型
自定义变量 数据 合区自动合并 避免合区需要合大量的文本操作
自定义私人变量运用:
申明整数型私人变量 VAR Integer HUMAN 变量名
检测整数型私人变量 CHECKVAR HUMAN 变量名 ? 大于等于
检测整数型私人变量 CHECKVAR HUMAN 变量名 = 等于
检测整数型私人变量 CHECKVAR HUMAN 变量名 > 大于
检测整数型私人变量 CHECKVAR HUMAN 变量名 < 小于
操作整数型私人变量 CALCVAR HUMAN 变量名 + – = * /
保存整数型私人变量 SAVEVAR HUMAN 变量名
申明字符型私人变量 VAR String HUMAN 变量名
检测字符型私人变量 CHECKVAR HUMAN 变量名 = 等于
操作字符型私人变量 CALCVAR HUMAN 变量名 =
保存字符型私人变量 SAVEVAR HUMAN 变量名
自定义全局变量运用:
申明整数型全局变量 VAR Integer GLOBAL 变量名
检测整数型全局变量 CHECKVAR GLOBAL 变量名 ? 大于等于
检测整数型全局变量 CHECKVAR GLOBAL 变量名 = 等于
检测整数型全局变量 CHECKVAR GLOBAL 变量名 > 大于
检测整数型全局变量 CHECKVAR GLOBAL 变量名 < 小于
操作整数型全局变量 CALCVAR GLOBAL 变量名 + – = * /
保存整数型全局变量 SAVEVAR GLOBAL 变量名
申明字符型全局变量 VAR String GLOBAL 变量名
检测字符型全局变量 CHECKVAR GLOBAL 变量名 = 等于
操作字符型全局变量 CALCVAR GLOBAL 变量名 =
保存字符型全局变量 SAVEVAR GLOBAL 变量名
申明字符型行会变量 VAR String GUILD 变量名
申明整数型行会变量 VAR Integer GUILD 变量名
查看私人变量:<$HUMAN(XXXX)>
查看全局变量:<$GLOBAL(XXXX)>
查看行会变量:<$GUILD(XXXX)>
修改指定行会自定义变量格式:REVGuildVAR 行会名字 行会变量名 + – = * /
保存指定行会自定义变量格式:SAVEGuildVAR 行会名字 行会变量名
;声明全局变量

完整脚本代码

[@Startup]
#IF
#ACT
VAR Integer GLOBAL 奔跑次数
;申明行会变量(放置QM中)
[@LoadGuild]
#IF
#ACT
VAR Integer GUILD 行会等级
;声明个人变量
QManage.txt
[@Login]
#If
CHECKLEVELEX > 0
#Act
VAR Integer HUMAN 押镖次数
自定义变量排序
说明:排序自定义数字变量名
格式:SortHumVar 参数1 参数2 参数3 参数4 参数5 参数6
参数1:排序变量名
参数2:写入到字符型变量
参数3:写入到数字型变量
参数4:0=所有玩家 1=在线玩家 2=行会变量
参数5:0升序,1降序
参数6:为空或0取所有,取前几名
例子:
[@排序变量N]
#IF
#act
SortHumVar 变量数字 S$变量排序 N$变量排序 0 1 10
SENDMSG 0 -<$str(S$变量排序1)>:<$STR(N$变量排序1)>
SENDMSG 0 -<$str(S$变量排序2)>:<$STR(N$变量排序2)>
SENDMSG 0 -<$str(S$变量排序3)>:<$STR(N$变量排序3)>
说明:取自定义数字变量名位置
格式:HumVarRank 参数1 参数2 参数3 参数4
参数1:排序变量名
参数2:写入变量名
参数3:0=所有玩家 1=在线玩家 2=行会变量
参数4:0升序,1降序 例子:
[@最大排序10个]
#IF
#act
SortHumVar 变量数字 S$排序写入变量 N$排序写入变量 0 1 10
SENDMSG 0 -<$str(S$排序写入变量1)>:<$STR(N$排序写入变量1)>
SENDMSG 0 -<$str(S$排序写入变量2)>:<$STR(N$排序写入变量2)>
SENDMSG 0 -<$str(S$排序写入变量3)>:<$STR(N$排序写入变量3)>
例子:
[@获取变量位置N]
#if
#ACT
HumVarRank 变量数字 N$变量位置 0 1
SENDMSG 0 -<$STR(N$变量位置)>

施法边框特效

StartFrameRect 开关(0~1) 框序号(0~1) 施法距离 框颜色(0~255) 绘制宽度单位像素

例如:

完整脚本代码

[@main]
#IF
#ACT
;0号框
StartFrameRect 1 0 7 254 3
;1号框
StartFrameRect 1 1 8 253 3
SENDMSG 7 施法框已绘制完成

时装外显勾选及触发

QFunction-0.txt

;此脚为功能脚本,用于实现各种与脚本有关的功能

勾选外显时装生效触发QF:

人物:@ShowFashion

英雄:@HeroShowFashion

取消外显时装时候触发QF:

人物:@NotShowFashion

英雄:@HeroNotShowFashion

命令开启/关闭时装外显

ShowFashion 参数1=(1:显示; 0:关闭)

补充说明

详细说明

H.ShowFashion 参数1=(1:显示; 0:关闭)

检测时装外显是否开启:

人物:CheckShowFashion 英雄:H.CheckShowFashion

完整脚本代码

#if
CheckShowFashion
#act
ShowFashion0
SENDMSG 6 玩家已经开启外显
#if
H.CheckShowFashion
#act
H.ShowFashion 0
SENDMSG 6 英雄已经开启外显

时间戳转换月日年时分秒

;格式:UNIXTOSTR 时间戳 变量1 变量2

完整脚本代码

[@MAIN]
#if
#act
UNIXTOSTR 1669705167 S1 S2
sendmsg 6 <$str(S1)> //获取到的变量格式为:2022/11/29 XX:XX:XX
sendmsg 6 <$str(S2)> //获取到的变量格式为:2022-11-29-XX-XX-XX

将秒数转换为X天X小时X分钟X秒

DecodeTime 参数一(返回转换后的结果到字符变量) 参数二(需要转化的秒数 支持变量) 参数三(0~1可空) 0或空时,时间格式为X天X时X分X秒,为1时格式为X时X分X秒

例子1:

;秒数分钟数转为时间格式,方便玩家快速理解活动倒计时等

MOV G24 2880

DecodeTime S50 <$STR(G24)>

S50=0天0小时48分0秒

星期脚本案例

功能:DAYOFWEEK 测试星期(MON\TUE\WED\THU\FRI\SAT\SUN)

完整脚本代码

[@MAIN]
<星期一/@星期一> <星期二/@星期二> <星期三/@星期三> <星期四/@星期四>\
<星期五/@星期五> <星期六/@星期六> <星期天/@星期天>\
[@星期六]
#If
DAYOFWEEK SAT
#SAY
今天是星期六!
#ELSESAY
今天不是星期六!
[@星期五]
#If
DAYOFWEEK FRI
#SAY
今天是星期五!
#ELSESAY
今天不是星期五!
[@星期四]
#If
DAYOFWEEK THU
#SAY
今天是星期四!
#ELSESAY
今天不是星期四!
[@星期三]
#If
DAYOFWEEK WED
#SAY
今天是星期三!
#ELSESAY
今天不是星期三!
[@星期二]
#If
DAYOFWEEK TUE
#SAY
今天是星期二!
#ELSESAY
今天不是星期二!
[@星期一]
#If
DAYOFWEEK MON
#SAY
今天是星期一!
#ELSESAY
今天不是星期一!
[@星期天]
#If
DAYOFWEEK SUN
#SAY
今天是星期天!
#ELSESAY
今天不是星期天!

是否正在进行行会战

检测本行会是否正在进行行会战

完整脚本代码

[@main]
#IF
CHECKGUILDISWAR
#ACT
SENDMSG 7 您的行会正在进行行会战,请速去支援。

暂停刷怪

暂停游戏刷怪

注:暂停刷怪之后所有刷怪时间都会往后推迟,直到恢复刷怪继续计时。

刷新时间是往后推迟,恢复之后可能会有几十秒的偏差。

检测是否暂停刷怪:

CheckStopM2MakeMon

暂停M2Server刷怪

StopM2MakeMon 参数1(0:恢复刷怪;1:暂停)

完整脚本代码

[@test]
#if
CheckStopM2MakeMon
#act
StopM2MakeMon 0
sendmsg 6 现在已经恢复M2刷怪
#elseact
StopM2MakeMon 1
sendmsg 6 现在已经暂停M2刷怪

检测当前被攻击者身上状态

格式:checkHumanState 状态

状态代码:1.魔法盾 2.护体神盾 3.无极真气 4.幽灵盾 5.神圣战甲术 6.隐身术 7.冰冻 8.麻痹 9.锁定 10.蛛网

11、绿毒

12、红毒

13、禁锢

14、0防御

15、0魔防

备注:此命令支持多级脚本!

;例子

完整脚本代码

[@test]
#IF
CheckHumanState 1
#SAY
当前攻击目标魔法盾持续中
[@test1]
#IF
P.CheckHumanState 1
#SAY
当前目标魔法盾持续中

检测获取地图NPC坐标命令

命令:FindNpcPoint 参数1 参数2 参数3 参数4

参数1:地图名

参数2:NPC名称

参数3:X坐标变量

参数4:Y坐标变量

注:在ACT下面执行将会报错,需要在IF下面

说明:如果同一地图拥有相同名称的NPC,只会获取第一个找到的NPC,支持自定义NPC获取

完整脚本代码

[@测试]
#if
FindNpcPoint 3 盟重老兵 N1 N2
#act
SendMsg 0 盟重省中npc盟重老兵的坐标为<$STR(N1)>–<$STR(N2)>-

武器加诅咒触发

完整脚本代码

[@NoAddUnLuck]
#IF
#ACT
STOP
SENDMSG 7 你的幸运武器受到了保护,诅咒无效。

死亡前触发

类似于复活戒指这种复活

完整脚本代码

[@NextDie]
#if
EQUAL N$刘德华 0
#ACT
MOV N$刘德华 1
ChangeModeEx 23 1 1
SENDMSG 5 你当前已经复活
英雄死亡之前复活触发
例子:
[@HeroNextDie]
#if
EQUAL N$张学友 0
#ACT
MOV N$张学友 1
h.ChangeModeEx 23 1 1
SENDMSG 5 你的英雄当前已经复活

沙城升级武器破碎触发

例子:

完整脚本代码

[@TakeWeaponByUpgradeFail]
#IF
#ACT
SENDMSG 5 您的武器升级失败
STOP
[@TakeWeaponByUpgradeOK]
#IF
#ACT
SENDMSG 5 您的武器升级成功物品名字–<$Param1> 物品IDX–<$Param2> 物品唯一ID–<$Param3>

添加自动排列按钮,自定义按钮自动排列

–添加自动排列按钮,自定义按钮自动排列

位于引擎选项-》客户端设置-》按钮自动排列

说明:类似于ADDBUTTON,区别在于自动排列

格式:添加自动排列按钮 AddArrButton 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9

参数1为分组编号 (参数1为分组编号(1-7))

参数2为按钮点击后的脚本触发序号,触发QF里面的[@ArrButtonClickX]X即为触发序号

参数3为WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源里面编辑

参数4为按钮默认图片

参数5为鼠标经过图片

参数6为按钮按下图片

补充说明

详细说明

参数7为按钮创建在哪个界面上<FONTCOLOR=#FF0000> 0屏幕上 1装备对话框上 2装备 3时装 4状态 5属性 6称号 7技能 8出战 9包裹 10聊天框左侧界面 11聊天框右侧界面 12商铺界面 13查看对方装备对话框上 14查看对方装备 15查看对方时装 16查看对称号 17聊天框

参数8为按钮上面显示的文字标题,-1时为空标题(用于不显示标题)

参数9为鼠标移动到按钮显示的悬浮框备注信息

注意:不在一个位置的按钮不要放到一个分组中,不然坐标会计算错误(比如,一个在背包,一个在主界面,然后放到一个分组)

;以下按钮加到背包

AddArrButton 1 21 1 135 136 137 3 标题1 这是提示文字

AddArrButton 1 22 1 135 136 137 3 标题2 这是提示文字

AddArrButton 1 23 1 135 136 137 3 标题3 这是提示文字

AddArrButton 1 24 1 135 136 137 3 标题4 这是提示文字

AddArrButton 1 25 1 135 136 137 3 标题5 这是提示文字

QF触发

[@ArrButtonClick1]

#act

sendmsg 7 自动排列按钮点击1

删除自动排列按钮:DelArrButton 按钮编号

清掉地图某范围的怪物

KillMapMon 参数1 参数2 参数3 参数4 参数5

参数1:地图名

参数2:坐标X

参数3:坐标Y

参数4:范围

参数5:怪物名(*表示不判断名称)

参数5:是否爆物品(0:不爆,1:爆)

参数6:是否清尸体(0或空:不清; 1:清)

示列:

[@mail]

补充说明

详细说明

#ACT

KillMapMon 3 333 333 10 * 0

SENDMSG 6 地图3,坐标333,333范围10以内怪物被成功清理,不爆物品

清空字符串内的空格

Trim

参数1=待处理字符串

参数2=处理模式 0=删除变量里的所有空格 1=删除变量前部空格 2=删除变量尾部空格

NPC排版用起来很方便

例子:

[@main]

#ACT

;删除在字符里的所有空格

Trim <$STR(S$寄售名字)> 0

满聚灵珠操作功能

说明

聚灵珠操作功能
;聚灵珠检测
CHECKITEMDURACOUNT
参数1:物品名称
参数2:是否已满0=未满,1=已满
参数3:< = > ?
参数4:数量
;获取背包中的聚灵珠数量
GetBagItemCount
参数1:物品名称
参数2:保存变量
参数3:是否排除OK框0=计算OK框的,1 = 不计算
参数4:是否判断已满 0或空不判断,1判断
;拿走聚灵珠
TAKEDURAITEM
参数1:物品名称
参数2:是否聚满(0=未满的,1=已满的)
参数3:数量
;给聚灵珠
NEWGIVE 物品名 数量
参数1:物品名称
参数2:数量
参数3:是否满聚灵珠(0或空不满,1满聚灵珠)

完整脚本代码

[@MAIN]
#IF
CHECKITEMDURACOUNT 聚灵珠(小) 1 > 3
#SAY
TAKEDURAITEM 聚灵珠(小) 1 3
SENDMSG 7 你的背包有3个满聚灵珠(小)
#ELSESAY
SENDMSG 7 满聚灵珠(小)不足3个

物品光柱

M2-查看-列表信息二-物品光柱

物品添加标记

位置介绍:(-1时是OK框中的装备, 0-55时是穿在身上的装备)

检测标记格式:CheckItemFlag 装备位置 标识(1-32)

添加标记格式:SetItemFlag 装备位置 标识(1-32) 状态(0,1) 0或为空= 清除 1= 添加

物品位置

完整脚本代码

[@检测标记]
#IF
CheckItemFlag 0 32
#ACT
SENDMSG 6 你的衣服有32的标识
BREAK
[@添加标记]
#IF
#ACT
SetItemFlag 0 32 1
SENDMSG 6 你的衣服添加了32标识
[@清除标记]
#IF
#ACT
SetItemFlag 0 32
SENDMSG 6 你把衣服清除了32标记

物品进背包触发

物品进背包触发:

QFunction-0.txt

完整脚本代码

[@AddBag]
#IF
#ACT
SendMsg 6 当前获得物品名称为:<$NEWBAGITEMNAME>ID为:<$NEWBAGITEM>唯一ID为:<$NEWBAGITEMID>

百分比修改速度

功能:百分比修改速度

格式: ChangeSpeedEX 参数1 参数2 参数3

参数1:速度类型 1=移动速度 2=攻击速度 3= 魔法速度

参数2:速度值0=原速度 (大于0=加速 -= 减速)

参数3:有效时间秒(为空=表示不限制时间,最大值65535)

说明:

速度值百分比,由于系统中是由移动间隔、攻击间隔决定的:

当速度值大于0,则移动攻击间隔=固有间隔/(1+攻速/100)

当速度值小于0,则移动攻击间隔=固有间隔*(1-攻速(负数值)/100)

例如:原有攻击间隔为1000ms,即1秒一刀

补充说明

详细说明

速度值=100,加速100%,相当于速度为原来(1+100%)=2倍

攻击间隔=1000/(1+100%)=500ms,即1秒2刀

速度值=-100,即减慢100%,则速度为原来的1/(1+100%)=0.5倍

攻击间隔=1000*(1+100%)=2000ms,即2秒1刀

;该速度与ChangeSpeed的区别在于百分比增加减少

[@main]

#ACT

CHANGESPEEDEX 1 50 65535

#SAY

移动速度增加50%

百分比范围切割

DelMonHp

参数1=百分比或切割值 (值不能大于21亿,百分比不能超过100,负数无效)

参数2=0:以当前HP的百分比 1:以参数1的值切割 2::以最大HP的百分比

参数3=0不判断嘲讽 1判断嘲讽过的怪才切割

参数4=0都切割 1:本次切割只切割角色 2:本次切割只切割英雄 3:本次切割只切割怪物

参数5=分母基数(<=100等于100)

参数6=是否播放切割飘血|飘血ID

例子1:

完整脚本代码

#ACT
;本次切割只切割怪物10点HP
DELMONHP 10 1 0 3 100 1|101
例子2:
#ACT
;本次切割只切割人物当前血量百分之8
DELMONHP 8 0 0 1
例子3:
#ACT
;本次切割只切割人物当前血量千分之8
DELMONHP 8 0 0 1 1000
DelMonHpEx
参数1=百分比或切割值 (值不能大于21亿,百分比不能超过100,负数无效)
参数2=0:以当前HP的百分比 1:以参数1的值切割 2:以最大HP的百分比
参数3=0不判断嘲讽 1判断嘲讽过的怪才切割
参数4=0以自身范围 1以攻击目标范围
参数5=X坐标
参数6=Y坐标
参数7=范围
参数8=0都切割 1:本次切割只切割角色,2:本体切割只切割英雄,3:本次切割只切割怪物。
参数9=分母基数(<=100等于100)
参数10=是否播放切割飘血|飘血ID
例子1:
#ACT
;切割自身1格坐标范围的怪物10/100 HP
DELMONHPEX 10 2 0 0 <$X> <$Y> 1 3 100 1|101
例子2:
#ACT
;切割自身1格坐标范围的怪物10/1000 HP
DELMONHPEX 10 2 0 0 <$X> <$Y> 1 3 1000

百区来源查询设置

M2-复古TIPS新增新百区TIPS显示样式,

百区日志查询功能必须配置ITEM表第26列LookSource字段,

0=默认的呈现方式

1=打开后隐藏原来的物品详情,通过查看来源按钮显示物品来源Tips

2=彻底隐藏物品来源信息

祝福罐、魔族指令设置

祝福罐、魔族指令填充物数据库设置

DB记录(StdMode = 96; 祝福罐,Source = 0:双击释放后减总数量,Source = 1:双击释放不减数量)

10092 祝福油 3 4 1 10 0 0 26 1000 0 0 0 1000 255 0 0

10093 祝福罐 96 10 1 0 0 0 1174 50000 0 0 0 20000 255 0 0

UnbindList.txt

10 祝福油

注意:

祝福罐的Shape要对应释放出来的物品的 AniCount,并且要在UnbindList中添加数据。

魔族指令和祝福罐一样使用!!!!

魔族令和祝福罐使用:佩戴人物毒符位置,将祝福油(魔族指令)从背包拖动到装备栏祝福罐内!

禁止跑步

功能:禁止跑步

NoRun (0~1)

参数1=1 表示禁止跑步,小退下线解除

参数1=0 表示解除禁跑

例子 :

完整脚本代码

[@main]
#IF
#ACT
NoRun 1
DELAYGOTO 6000 解除禁跑
[解除禁跑]
#act
NoRun 0

穿脱任意套装触发

例子:

完整脚本代码

[@GroupItemOnEX]
#IF
#ACT
SENDMSG 5 当前穿套装触发的套装ID是<$param1>
[@GroupItemOffEX]
#IF
#ACT
SENDMSG 5 当前脱套装触发的套装ID是<$param1>
英雄穿脱任意套装触发
[@HeroGroupItemOnEX]
#IF
#ACT
SENDMSG 5 当前穿套装触发的套装ID是<$param1>
[@HeroGroupItemOffEX]
#IF
#ACT
SENDMSG 5 当前脱套装触发的套装ID是<$param1>

等概率或者按权限随机获取分割字符串

格式: RANSJSTR 参数1 参数2 参数3 参数4 参数5

参数 1:需要获取随机的字符串 字符串 #权重|字符串#权重 |=分割符 ( 字符串顺序无要求 )

参数 2:0~1( 0=系统权重随机,有几个字符串就是几份之一 , 1=按#位权重随机总权重为各项 ; 位权重总和 )

参数 3: 0~3(0=参数4和参数5 ; 显示 #权重数字 1=参数4和参数5 ; 不显示 #权重数字 2=参数4 ; 显示权重 参数5 ; 不显示权重 3=参数4 ; 不显示权重 参数5 ; 显示权重)

参数 4:随机到的字符串保存变量

参数 5:剩余的字符串保存变量

例子 1:

完整脚本代码

[@随机分割字符串]
#IF
#ACT
RANSJSTR 测试 1#2000|测试2#1000|测试3#5000 1 3 S0 S1
;总权重说明 : 总权重为 2000+1000+5000=8000
SENDMSG 0 随机的字符串 : <$str(S0)>
SENDMSG 0 剩余字符串值 : <$str(S1)>
; 假设分割出来的是 : 测试 2 # 1000
; 继续分割剩余的字符串 总权重为 2000-1000+5000=7000
RANSJSTR <$str(S1)> 1 3 S2 S3
SENDMSG 0 随机的字符串: <$str(S2)>
SENDMSG 0 剩余字符串值: <$str(S3)>
例子 2:
[@随机分割字符串系统权重]
#IF
#ACT
RANSJSTR 木剑 #3|铁剑#3|短剑#3 0 1 S0 S1
SENDMSG 0 随机的字符串: <$str(S0)>
SENDMSG 0 剩余字符串值: <$str(S1)>
; 总权重说明 : 总权重为 3(系统权重随机时,有几个字符串就是几份之一)
gives <$str(S0)>
SENDMSG 0 你获得了 3把铁剑(假设分割出来的是铁剑)
权重规则解释:
如: RANSJSTR 测试2#300|测试1#100|测试3#200 1 3 S0 S1
那么总权重为: 300+100+200=600 系统会从1~600随机出来一个数 如随机出来的是50,那么就和第一个字符串#权重|做对比 如果50比第一个字符串小于等于,那么就取第1个
如果随机出来的是 400,那么就会用400-300=100 再和下面一个 测试 1#100 对比然后小于等于 100那么就取第二个,依次类推

系统NPC商店购买后触发

说明: QF脚本触发

完整脚本代码

[@ClientBuyItem]
#if
#ACT
sendmsg 7 购买了NPC商店物品
;注:系统NPC商店为盟重药店等,非商城与摆摊

系统任务计时

按需使用,可代替部分定时器功能,效率要比定时器高很多!

1.增加倒计时

格式: DSFUNCALL 参数1 参数2 参数3 参数4

参数1:标识, DINGSHICF_自定义 (标识必须以 “DINGSHICF_” 开头)

参数2:倒计时时间单位毫秒, 倒计时结束后会自动触发QFunction-0 @DINGSHICF_自定义 字段下脚本

参数3: (参数=1, 上线直接执行 参数=0或为空, 上线需重新开启否则消失)

参数4:(参数=1,上线刷新当前时间,参数=0或为空, 开启新的)

2.删除倒计时

DELDSFUNCALL DINGSHICF_自定义

3.改变倒计时状态

补充说明

详细说明

格式:CNGDSFUNCALLSTATE 参数1 参数2

参数1:DINGSHICF_自定义

参数2:参数=1时继续,参数=2时停止)

4.常量

<$GETDS(DINGSHICF_自定义)> 剩余时间,默认值为0

<$GETDSSTATE(DINGSHICF_自定义)> 状态:0不存在,1运行中,2停止

例子:

完整脚本代码

[@增加倒计时]
#IF
#ACT
DSFUNCALL DINGSHICF_测试 5000 1 1
SENDMSG 6 倒计时时间:<$GETDS(DINGSHICF_测试)>秒
;;增加5秒倒计时,5秒后触发QF的@DINGSHICF_测试
;QFunction-0.txt触发标签
[@DINGSHICF_测试]
#IF
#ACT
DELDSFUNCALL DINGSHICF_测试
SENDMSG 6 倒计时状态:<$GETDSSTATE(DINGSHICF_测试)>

系统攻击经验倍数结束触发

经验倍数结束触发

QF触发

完整脚本代码

[@KillMonExpRateRecover]
#IF
#ACT
sendmsg 7 经验倍数已结束
攻击倍数结束触发
QF触发
[@PowerRateRecover]
#IF
#ACT
sendmsg 7 攻击倍数已结束

红点系统

说明

红点系统相关
红点主窗口id
— 101 主界面左上
— 102 主界面右上
— 103 主界面左下
— 104 主界面右下
— 105 主界面左中
— 106 主界面上中
— 107 主界面右中
— 108 主界面下中
— 0 NPC面板
— 1 角色背包
— 2 角色界面
— 9 商城-装饰(按钮ID=商城序号ID)
— 10 商城-补给(按钮ID=商城序号ID)
–11 商城-强化(按钮ID=商城序号ID)<BR>–12 商城-好友(按钮ID=商城序号ID)<BR>–200 PC端下方3个按钮(按钮ID:100=角色按钮,101=背包按钮,102= 技能按钮)
— 202 玩家主面板
给按钮增 加红点( 脚本)
格式:Reddot 参数1 参数2 参数3 参数4 参数5 参数6
参数1:主窗口ID(NPC面板默认=0 任务栏=110)
参数2:按钮ID(每个界面或者按钮都有ID) 任务栏使用任务ID
参数3:X坐标
参数4:Y坐标
参数5:Wil资源文件名
参数6:图片起始序号
参数7:播放张数
参数8:播放速度(单位毫秒)
参数9:绘制模式(0普通绘制 1特效绘制)
删除格式:Reddel 主窗口ID(NPC面板默认为0) 按钮ID(每个界面或者按钮都有ID)
;例子

完整脚本代码

[@自定义图片红点]
#IF
#ACT
Reddot 104 333 15 15 Newopui 2470 9 80 0
SENDMSG 6 增加红点成功
[@增加默认红点]
#IF
#ACT
Reddot 104 333 15 15 Newopui 2470 9 80 0
SENDMSG 6 增加红点成功
[@删除红点]
#IF
#act
Reddel 104 333
SENDMSG 6 删除 红点成功
红点系统(cfg _redpoint.xls)
字列 :id
含义: 红点ID
字列 :group
含义:组别,多个id在同一个组时,通过levelCondition字列条件判断此id是否生效,且一组中只会生效一个id
字列 :level
含义:系统等级,数字越小越优先,在同组别读取levelCondition字列条件的顺序,合理使用可大大降低卡顿问题
字列 :ids
含义:按钮配置
按钮ID使用变量改变时,如有不刷新可在面板里加入“reload=1” 示例<Img|layerid=1234|img=public/bg_npc_01.png|loadDelay=1|bg=1|reset=1|show=0|reload=1>
字列 :levelCondition
含义:功能对应变量/常量等级,判断ID是否生效,同组别,必须使用同一个变量/常量作为判断条件,且要使用等于判断
字列 :VarCondition
含义:变量/常量条件
格式:变量/常量/Idx 检测符(> < = >= <=) 值 " | " " & " 分割(|=或,&=和)
示例:S10=贵族一级&N10>=10 混合使用 "|"和"&”混合使用时需要加[]括号,如[N1>1&N2>2]|[N3>3&N4>4]
常量示例:<$LEVEL>>=100
键值示例:<T10#会员等级>=1
变量示例:N1=1
标识示例:{8}=1
为空示例:S1=null
组合示例:
T11=996M2|T12=引 擎|T13=红点 变量T11等于'996M2' 或者 变量T12等于'引擎' 或者 变量T13等于'红点' 其中一个满足即可
T11=996M2&T12=引擎&T13=红点 变量T11等于'996M2' 和 变量T12等于'引擎' 和 变量T13等于'红点' 三个变量都要满足
[T11=996M2|T12=引擎]&[T13=红点|T14 =系统] 变 量T11等于'996M2' 或者 变量T12等于'引擎'则满足第一段; 变量T13等于'红 点' 或者 变量T14等于'系统'则满足第二段 这2段都要满足
<$Level>>=200&<$USEITEMNAME[1]>=屠龙 等级大于等于200级 和 穿戴的武器屠龙
字列 :currencyCondition
含义:道具,装备,货币数量条件
格式:Idx 检测符(> < = >= <=) 值 " | " " & " 分割(|=或,&=和)
道具示例:10132>=2 背包回城石大于等于2个
装备示例:50014>=5 背包木剑大于等于5个
货币示例:2>=1000 元宝大于等于1000
多个Idx条件用法参考VarCondition字列的组合示例,此字列条件也支持配置VarCondition字列中
字列 :offset
含义: 红点显示 的类型和偏移坐标
字列 :BindCurrency
含义:需关联的货币(item表Reserved关联后生效)
填写关联货币的Idx,多个货币用#分割;如金币与绑定金币关联,只填“1”即可,元宝与绑定元宝关联,只填"2",如多组货币填写"1#2"
表格配置的变量,标识等需配置M2 路径:M2选项-功能设置-其他设置-客户端推送变量
VarCondition字段支持的常量
红点变量 立即推送前端命令 sendredvartoclient

原始表格

等级<$LEVEL>职业<$JOB>转生<$RELEVEL>生命值<$HP>HP上限<$MAXHP>魔力值<$MP>MP上限<$MAXMP>防御力<$AC>最高防御力<$MAXAC>魔御力<$MAC>最高魔御力<$MAXAC>
攻击力<$DC>最高攻击力<$MAXDC>魔法力<$MC>最高魔法力<$MAXMC>道术<$SC>最高道术<$MAXSC>装备位置名称<$USEITEMNAME[X]>装备位置Idx<$USEITEMID[X]>货币名称<$MONEY(X)>

终止当前技能

增加终止技能命令StopMagic,在技能触发中生效,可以终止当前释放技能。

完整脚本代码

[@MagSelfFunc2]
#ACT
StopMagic
SendMsg 5 自己加血被终止
[@MagTagFunc2]
#ACT
StopMagic
SendMsg 5 给别人加血被终止
[@MagMonFunc2]
#ACT
StopMagic
SendMsg 5 给怪物加血被终止
[@Magic2]
#ACT
StopMagic
sendmsg 6 禁止使用治愈术

给予物品直接到指定位置

给予物品直接到指定位置 装备位置

格式: GiveOnItem 参数1 参数2 参数3 参数4

参数1:位置 (-1 当前OK框; 0~55 装备位置; boxitem0~boxitem17 自定义OK框位置)

参数2:物品名称

参数3:数量 (默认写1 数量大于1时只对自定义OK框叠加物品有效)

参数4:属性位置

属性位置规则:

装备极品属性:1-14

防御|魔御|攻击|魔法|道术|幸运(诅咒)|准确|敏捷|攻击速度|魔法躲避|毒物躲避|魔法恢复|体力恢复|中毒恢复|

装备元素属性:15-24

补充说明

详细说明

暴击几率增加|增加攻击伤害|物理伤害减少|魔法伤害减少|忽视目标防御|所有伤害反弹|增加目标暴率|人物体力增加|人物魔力增加|暴击伤害增加

;例子

完整脚本代码

[@给予布衣]
#if
#act
GiveOnItem 0 布衣(男) 1 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|22|24|
SENDMSG 6 你获得一件全属性布衣(男)
[@给物品到OK框]
#if
#act
GiveOnItem boxitem0 沃玛凭证 10
SENDMSG 6 你放入一个沃玛凭证到OK框中

脚本开启隔位野蛮

脚本开启隔位野蛮功能

格式: SetSpaceMotaebo 时间(-1:关;0:在线一直有效;>0:秒)

[@隔位野蛮]

#act

SetSpaceMotaebo 3

sendmsg 7 隔位野蛮开启3秒钟

脚本总耗时

格式:

PRINTUSETIME 1 开始计时

PRINTUSETIME 2 结束计时,并打印耗时信息(起始行结束行进行打印)

时间单位:微秒 1秒 = 1000毫秒 = 1000000微秒

例子:

完整脚本代码

[@耗时]
#IF
#ACT
PRINTUSETIME 1
TAKE 屠龙 10
TAKE 屠龙 10
TAKE 屠龙 10
TAKE 屠龙 10
TAKE 屠龙 10
PRINTUSETIME 2

脚本控制内挂系统

;移动内挂控件

;移动控件到新的面板和坐标,面板ID等于原面板或等于0的情况下只改变坐标,不相等则移动到新面板ID指定坐标位置

UPDATENGLT新面板ID控件ID=X|Y,控件ID=X|Y

参数1=目的面板ID

参数2=键值对格式 控件ID=X|Y

;设置内挂控件

UPDATENGV类型(1=可见,2=可选中,3=状态)控件ID=值,控件ID=值,控件ID-控件ID=值

;类型=1时,设置控件是否可见,数值型(0~1),0=隐藏,1=可见

;类型=2时,设置勾选类控件的勾选状态,数值型(0~1),0=取消,1=勾选

;类型=3时,设置输入框或者下拉框的文本,字符型

补充说明

详细说明

;刷新脚本修改的内挂设置,以上设置必须刷新后才生效。注意:修改的东西太多的时候可能会延迟1秒才能设置完成

;刷新内挂设置

UPDATENGNOW

;还原脚本上次修改前的控件状态

UPDATENGRESET 控件ID

参数1:为空还原所有修改(不包含手动修改的状态)

例子:

完整脚本代码

[@main]
<修改面板/@修改面板> <修改选项/@修改选项> <初始化/@初始化> \
[@修改面板]
#IF
#ACT
UPDATENGLT 22 106=100|90,107=180|90,108=260|90
UPDATENGNOW
SENDMSG 7 修改面板位置
[@修改选项]
#IF
ACT
;UPDATENGV 3 104-119=1,101=1,103=1
UPDATENGV 3 200-212=1
UPDATENGV 2 211-216=0
UPDATENGV 1 219-222=0
;UPDATENGV 3 600=灵魂火符,601=飓风破,606=回城卷,626=30,630=盟重回城石
UPDATENGNOW
SENDMSG 7 修改选项状态
[@初始化]
#IF
#ACT
UPDATENGRESET
UPDATENGNOW
SENDMSG 7 初始化所有

原始表格

面板ID面板ID面板ID面板ID面板ID面板ID面板ID字段8字段9字段10字段11字段12字段13字段14
10基本20职业30保护40战斗50物品60挂机70快捷键
控件ID控件名称控件ID控件名称控件ID控件名称控件ID控件名称控件ID控件名称控件ID控件名称控件ID控件名称
100背景音乐200刀刀刺杀300HP低于500魔法锁定550极品颜色600单体技能下拉框700启用自定义快捷键
101重复音乐201自动烈火301HP输入框1501稳如泰山551颜色输入框601群体技能下拉框701召唤英雄
102绿字信息202智能半月302HP下拉框502清理尸体602怪物数量输入框702英雄攻击目标
103物品显示203隔位刺杀303HP输入框2503魔法攻击自动下马603道士宝宝1下拉框703使用合击技能
104物品过滤204自动开天斩304HP百分比勾选504自动练功604道士宝宝2下拉框704英雄攻击模式
105物品提示205逐日剑法305MP低于505练功输入框605红药用完使用705英雄守护模式
106自动捡取206走位刺杀306MP输入框1506练功下拉框606红药用完使用下拉框706切换攻击模式
107捡取过滤207近身烈火307MP下拉框507自动召唤607禁用施毒术707切换小地图
108地图全亮208龙影剑法308MP输入框2508自动合击608道法近身砍怪708释放连击
109自动解包209雷霆剑法309MP百分比勾选509合击不打怪609蓝药用完使用709英雄包裹
110自动放药210纵橫剑术310普通体力药610蓝药用完使用下拉框710宝宝锁定
111只显人名211自动开盾311普通体力输入框1611自动捡物711上下马
112Boss提示212被攻击开盾312普通体力输入框2612毒符用完使用712技能1
113人名显名213手动控制冰咆哮313普通体力百分比勾选613毒符用完使用下拉框713技能2
114持久提示214手动控制爆裂火焰314普通魔法药614自动打怪过滤714技能з
115智能跑位响应215疾光电影锁定目标315普通魔法输入框1615包裹满时使用715技能4
116智能鼠标响应216手动控制流星火雨316普通魔法输入框2616包裹满时使用下拉框716技能5
117自动修理217毒符互换317普通魔法百分比勾选617未获得经验717技能6
118免shift218红绿毒互换318特殊体力药618未获得经验输入框718技能7
119防止石化219自动隐身319特殊体力输入框1619未获得经验下拉框719技能8
120传送捡取220宝宝跟随主人攻击320特殊体力输入框2620被怪包围或无路可寻720技能9
121显示血条221手动控制飓风破321特殊体力百分比勾选621被怪包围输入框721技能10
122数字显血222自动神圣战甲术322特殊魔法药622被怪包围下拉框722技能11
123职业等级223自动幽灵盾323特殊魔法输入框1623魔法值少于723技能12
124数字飘血224智能开盾1下拉框324特殊魔法输入框2624魔法值少于输入框724技能13
125透明地图225自动开盾1325特殊魔法百分比勾选625身边怪物数量大于725技能14
126地图标识226被攻击开盾1326自动小退626身边怪物大于输入框726技能15
127高亮显血227智能开盾2下拉框327自动小退输入框1627道士宝宝1保持输入框727技能16
128屏幕震动228自动开盾2328自动小退输入框2628道士宝宝2保持输入框
129NPC血条229被攻击开盾2329自动小退百分比勾选629被人物攻击使用
130过滤230智能BUFF1下拉框330英雄HP低于630被人物攻击使用下拉框
131过滤输入框231自动释放1331英雄HP输入框1631被人物攻击是自动还击
132怪物显名232智能BUFF2下拉框332英雄HP收回百分比632英雄自动锁定主体目标
133免负重233自动释放2333英雄MP低于
134装备比较234智能BUFF3下拉框334英雄MP输入框1
135禁止交易235自动释放3335英雄MP收回百分比
136走位捡物236智能BUFF4下拉框336英雄普通体力药
137智能追踪237自动释放4337英雄普通体力输入框1
138免shift开关238自动释放1下拉框338英雄普通体力输入框2
139血里简化显示239自动释放1339英雄普通体力百分比勾选
140锁定目标特效显示240自动释放2下拉框340英雄普通魔法药
141隐藏翅膀效果241自动释放2341英雄普通魔法输入框1
142隐藏武器效果242自动释放3下拉框342英雄普通魔法输入框2
143隐藏其他效果243自动释放3343英雄普通魔法百分比勾选
144隐藏物品光柱244自动释放4下拉框344英雄特殊体力药
145隐藏人物特效245自动释放4345英雄特殊体力输入框1
146隐藏顶戴花钥246自动释放5下拉框346英雄特殊体力输入框2
147人物简装显示247自动释放5347英雄特殊体力百分比勾选
148怪物简装显示248自动血魂一击348英雄特殊魔法药
149武器简装显示349英雄特殊魔法输入框1
150组队信息显示350英雄特殊魔法输入框2
151英雄状态数字显示351英雄特殊魔法百分比勾选
352分身被攻击施法还击
及时雨内挂保护和英雄保护设置
353保护1勾选
354保护1下拉框
355保护1血量值
356保护1喝药CD
357保护1百分比
358保护2勾选
359保护2下拉框
360保护2血量值
361保护2喝药CD
362保护2百分比
363保护3勾选
364保护3下拉框
365保护3血量值
366保护3喝药CD
367保护3百分比
368保护4勾选
369保护4下拉框
370保护4血量值
371保护4喝药CD
372保护4百分比
373保护6勾选
374保护6下拉框
375保护6血量值
376保护6喝药CD
377保护6百分比
378自动小退
379小退血量值
380小退执行CD
381小退百分比
382英雄保护1勾选
383英雄保护1下拉框
384英雄保护1血量值
385英雄保护1喝药CD
386英雄保护1百分比
387英雄保护2勾选
388英雄保护2下拉框
389英雄保护2血量值
390英雄保护2喝药CD
391英雄保护2百分比
392英雄保护3勾选
393英雄保护3下拉框
394英雄保护3血量值
395英雄保护3喝药CD
396英雄保护3百分比
397英雄保护4勾选
398英雄保护4下拉框
399英雄保护4血量值
400英雄保护4喝药CD
401英雄保护4百分比
402收回英雄
403收回血量值
404收回CD
405收回百分比

脚本设置、删除安全区

功能:脚本命令设置、删除安全区

格式:增加安全区: ADDSTARTPOINT 参数1 参数2 参数3 参数4 参数5

参数1:地图编号

参数2:自定义安全区编号

参数3:安全区光柱特效类型(参考cfg_startpoint.xls表安全区配置)

参数4:安全区坐标及中心点(参考cfg_startpoint.xls表格安全区配置)

删除安全区:

格式: DELSTARTPOINT 参数1 参数2

参数1:地图编号

参数2:自定义安全区编号

补充说明

详细说明

*说明: 1.ADDSTARTPOINT命令设置,重启M2消失不保存

2.删除安全区DELSTARTPOINT命令,只支持删除ADDSTARTPOINT命令设置的安全区,

3、可添加多个相同ID的安全区,删除的时候也要一个个删除。

示例:

[@脚本命令设置安全区]

#IF

#ACT

ADDSTARTPOINT 3 1 4 343#320#343#328#351#328#351#320#347#324

自动寻路打开指定NPC面板

格式:OPENNPCSHOWEX NPC的ID 范围(如果不在同屏,或者超过这个范围自动传送到NPC附近) 传送NPC附近几格范围

;例子

[@打开ID100的NPC]

#IF

#ACT

OPENNPCSHOWEX 100

NPCID 同跨服NPCID一样

自动排列自定义按钮倒计时触发

说明

–自动排列自定义按钮倒计时触发
注:SetArrBuff (是不指定坐标,而指定分组的)具体参阅 引擎–选项-》客户端设置-》按钮自动排列
自动排列自定义按钮倒计时触发 SetArrBuff
;参数1:分组编号(1-7)
;参数2:按钮序号(1-200)
;参数3:WIL文件序号
;参数4:图片序号
;参数5:倒计时间(-1时按钮,大于0是倒计时)
;参数6:剩余下多时间开始闪烁
;参数7:闪烁图片开始序号
;参数8:闪烁图片数量
;参数9:文字备注
;参数10:倒计时间X坐标
;参数11:倒计时间Y坐标
;参数12:配合倒计时使用参数大于0参数13生效
;参数13:倒计结束后 图片序号
示例:
SetArrBuff 1 1 1 130 10 3 130 4 测试倒计时功能
SetArrBuff 1 2 1 130 100 10 130 4 测试倒计时功能
SetArrBuff 1 3 1 130 80 10 130 4 测试倒计时功能
SetArrBuff 1 4 1 130 60 10 130 4 测试倒计时功能
SetArrBuff 1 5 1 130 30 10 130 4 测试倒计时功能
按钮点击触发(按需使用,不需要点击则无法增加点击触发)
SetArrBuff 支持1-200,点击触发: [@ArrBuffClickX]X表示序号 (点击触发,不管是按钮还是倒计时都可以点击触发)
关闭命令:(具体使用参考原到计时命令SetClientBuff)
CloseArrBuff
隐藏/显示屏幕SetArrBuff图标命令 ((具体使用参考原到计时命令SetClientBuff))
ShowArrBuff
;QF触发 点击触发

完整脚本代码

[@ArrBuffClick1]
#act
sendmsg 7 自动排列按钮点击1
;QF触发 到时间触发
[@CloseArrBuff1]
#act
sendmsg 7 自动排列倒计时1关闭
[@CloseArrBuff2]
#act
sendmsg 7 自动排列倒计时2关闭
[@CloseArrBuff3]
#act
sendmsg 7 自动排列倒计时3关闭
[@CloseArrBuff4]
#act
sendmsg 7 自动排列倒计时4关闭
[@CloseArrBuff5]
#act
sendmsg 7 自动排列倒计时5关闭

自定义装备位

自定义位置装备

自定义装备穿戴位置开启:M2-参数设置-穿戴配置 ,支持穿戴位置71-120

自定义装备StdMode不要用201会和宠物蛋冲突

自定义装备常量: 唯一ID<$USEITEM[XX]>;IDX<$USEITEMID[XX]>;名字<$USEITEMNAME[XX]> XX表示M2设 置的自定义装备位置 比如 71 72

;QManage.txt

完整脚本代码

[@Login]
#IF
#ACT
MOV S$自定义装备 <EquipShow|x=60|y=210|width=45|height=45|bgtype=1|index=71|showtips=1|dblink=@脱下_71>
INC S$自定义装备 <EquipShow|x=186|y=210|width=45|height=45|bgtype=1|index=72|showtips=1|dblink=@脱下_72>
ADDBUTTON 3001 2 <$STR(S$自定义装备)>
;QFunction-0.txt
[@脱下_71]
#IF
#ACT
TakeOffItem 71
[@脱下_72]
#IF
#ACT
TakeOffItem 72
查看他人装备位置显示
打开对方面板时穿戴对方装备唯一ID方式进行显示
;查看他人装备触发
<$LOOKHUMNAME>:被查看玩家的名字
[@LookHumInfo]
#if
#act
GetHumVar <$LOOKHUMNAME> <$USEITEM[71]> S$对方装备位置71
GetHumVar <$LOOKHUMNAME> <$USEITEM[72]> S$对方装备位置72
MOV S$他人自定义装备 <DBItemShow|x=60|y=210|width=45|height=45|bgtype=1|makeindex=<$STR(S$对方装备位置71)>|showtips=1>
INC S$他人自定义装备 <DBItemShow|x=186|y=210|width=45|height=45|bgtype=1|makeindex=<$STR(S$对方装备位置72)>|showtips=1>
ADDBUTTON 3002 2 <$STR(S$他人自定义装备)>

自定义装备对比

装备对比优先级配置

引擎开启方法:功能设置 -客户端设置- 开启装备对比

装备表和道具表 AF 列添加字段 : Comparison

该字段不填时,按M2对比方法对比,填了后按优先级对比

;例子

Comparison 字段格式 :(职业#优先级)

填空表示默认战士, 只 会对比战士装备,填3表示3三职业都对比

职业 = 0战士 1法师 2道士 3三职业

优先级 = StdMode= 同类型装备才会比较 数字越小越低0-9999999 为空或0按照原来职业属性比较如 战士:比较攻击 法师:比较魔法 道士:比较道术) -1为不提示对比

不提示 对比设置方 法: AF列Comparison字段 -1=人物和英雄都不提示穿戴提示 -2=人物不提示 -3=英雄不提示

艺术字效果

NPC界面艺术字效果

格式: <TextAtlas:F:N:X:Y:L>

F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)

N表示从文件的第几个图开始,0~9的数字图片必须连续

X和Y这两个坐标可以使图片显示的坐标更加精准.

L表示需要显示的数字或数值变量

注:艺术字的排列按素材大小依次排列,所以字体大小和间隔宽度都由素材决定,如需改变字体大小和间隔宽度只能修改素材来实现。

完整脚本代码

[@main]
#ACT
MOV N$显示数值 9961234567890
#SAY
艺术字效果:\
<TextAtlas:7:2470:0:0:<$STR(N$显示数值)>>

范围调整怪物属性

说明

;清空上次操作过的怪物列表(不影响上次改的怪物属性),方便对下一批怪调整属性
;例如调整白野猪攻击+10,然后执行清空列表,再调整白野猪攻击+5,最终白野猪攻击+5。
;总结,对同一批怪执行清空,则值不会累加,而是覆盖上次的值。
;对下一批怪进行操作一定要清空列表,不然值是累加后的值 。
CLEARMONABILITY
范围调整怪物属性
ChangeMonAbility
参数1=类型 0:HP 1:MaxHP 2:MP 3:MaxMP 4:AC1 5:AC2 6:MAC1 7:MAC2 8:DC1 9:DC2 10:MC1 11:MC2 12:SC1 13:SC2 14:攻速 15:移速 16:appr外观 17:准确 18:敏捷 19:等级 20:经验值21:攻击伤害 22:物伤减少 23:魔伤减少 24:忽视防御 25:伤害反弹
参数2=运算符 (+、-、=)注: 16:appr外观 只有= 不支持+- ,值= 0则表示还原到怪物原本属性,不支持负数不可超过21亿
参数3=是否百分比(0:值 1:百分比)
刷新怪物属性值
RecalcMonAbility <$MAP> <$X> <$y> 鸡 10 5
参数1=地图 <$MAP>
参数2=X坐标 <$X>
参数3=Y坐标 <$y>
参数4=怪物名 (注: *号 所有怪物 )
参数5=范围 (注:范围太大可能会卡一下,尽量控制在10以内)
参数6=数量 ( 注: -1不限数量)
参数7=0或者空时永久有效,大于0时为时间秒,到时间后恢复
上述三条命令需要配合使用,只使用 ChangeMonAbility 不刷新的话不会生效,只刷新不给值也无效
例子:

完整脚本代码

[@main]
#ACT
CLEARMONABILITY
ChangeMonAbility 0 = 900 0
ChangeMonAbility 1 = 1000 0
ChangeMonAbility 2 = 900 0
ChangeMonAbility 3 = 1000 0
ChangeMonAbility 4 = 100 0
ChangeMonAbility 5 = 110 0
ChangeMonAbility 6 = 120 0
ChangeMonAbility 7 = 130 0
ChangeMonAbility 8 = 130 0
ChangeMonAbility 9 = 140 0
ChangeMonAbility 10 = 150 0
ChangeMonAbility 11 = 160 0
ChangeMonAbility 12 = 170 0
ChangeMonAbility 13 = 180 0
ChangeMonAbility 14 = 190 0
ChangeMonAbility 17 = 200 0
ChangeMonAbility 18 = 210 0
ChangeMonAbility 19 = 220 0
RecalcMonAbility <$MAP> <$X> <$y> 鸡 10 5

获取当前唯一ID物品的星星数量

GetItemStars 唯一ID 变量

完整脚本代码

[@获取星星数]
#IF
#ACT
GetItemStars <$WEAPONID> n$星星数
SENDMSG 7 <$str(n$星星数)>
获取人物身上位置物品星星数量 装备位置
格式:GetItemWhereStars 位置(0~55时身上装备,-1时为OK框里的物品) 存入变量
例子:
[@main]
#IF
#ACT
GetItemWhereStars 1 N10
SENDMSG 6 当前武器星星数量为:<$STR(N10)>

获取当前地图怪物状态命令

mapBossinfo 参数1 参数2 参数3 参数4 参数5

参数1: 地图编号

参数2: 怪物名称

参数3:怪物名字格式,0=默认名称带数字,1=显示名称去掉名字末尾的数字

参数4: 结果存入的变量名(字符串变量)

参数5: 填空或者0表示刷怪文本里的怪,填1刷怪文本里的怪和脚本命令刷的

结果存入:

字符串格式,多个怪物用&符号分隔

怪物名称#剩余HP百分比#剩余刷新时间(单位秒,存在的怪物刷新时间为0)#当前X坐标#当前Y坐标#归属玩家名字(如果没有归属则获取为“无”)

例如: 白野猪#90#0#玩家1&黑野猪#0#300#

补充说明

详细说明

表示白野猪剩余90%血,已刷新, 归属啊玩家1

黑野猪,0血,300秒后刷新,归属无,

脚本命令刷的怪 剩余刷新时间都为0,多只相同名字的怪死亡后 只能获取到一只的信息

注意事项:

cfg_monster.xls表里的X列是否BOSS填 1

如果是MonGen.txt刷怪的话必须配置死亡刷新,案例如下:

3 330 330 白野猪 5 1 3 0#1 255

范例:

完整脚本代码

[@获取当前地图怪物状态]
#if
#act
MapBossinfo 3 白野猪 0 s2 1
sendmsg 6 获取的是[<$STR(s2)>]

获取当前物品的附加元素属性

功能:获取当前物品的附加元素属性 装备位置

格式:GetNewItemAddValue 0 0 M10

参数1:物品位置

参数2:元素属性

参数3:保存变量

0: //暴击几率

1: //攻击伤害

2: //物理伤害减少

3: //魔法伤害减少

4: //忽视目标防御

补充说明

详细说明

5: //所有伤害反弹

6: //目标爆率

7: //人物体力增加

8: //人物魔力增加

11: //暴击伤害

获取技能等级功能

格式: GetMagicLevel 参数1 参数2 参数3

参数1:技能名称

参数2:查询类型(0普通技能 1强化技能 2当前技能熟练度 3当前技能等级最大熟练度)

参数3:存入变量 ;例子

英雄获取技能等级功能

格式: H.GetMagicLevel 参数1 参数2 参数3

参数1:英雄技能名称(例:英雄烈火剑法)

参数2:查询类型(0普通技能 1强化技能 2当前技能熟练度 3当前技能等级最大熟练度)

参数3:存入变量 ;例子

完整脚本代码

[@获取技能等级]
#IF
#ACT
GetMagicLevel 烈火剑法 0 N1
SENDMSG 0 你的烈火剑法等级为:<$STR(N1)>

获取指定地图、指定怪物当前血量和最大血量

说明:建议使用在活动或者当前地图就一只这个怪物的情况下

格式: FindMapMonsterHealth 地图编号 怪物名字 N1(当前血量) N2(最大血量)

例子:

完整脚本代码

[@main]
#IF
#ACT
FindMapMonsterHealth 0150 牛魔王 N1 N2
SENDMSG 6 当前0150地图的牛魔王当前血量<$STR(N1)>-最大血量<$STR(N2)>

获取指定地图怪物数量

格式:FindMapMonster 地图号 怪物名称(*号代表全部怪物) 存入变量 模式

模式=0或为空 (当前地图共存在的怪物数量,包含死亡怪物,尸体未清理掉的)

模式=1 当前地图存活的怪物数量

模式=2 当前地图死亡的怪物数量

//;例子

完整脚本代码

[@数羊羊]
#IF
#ACT
FindMapMonster 3 羊 N1
SendMsg 6 共有羊<$STR(N1)>只
FindMapMonster 3 羊 N1 1
SendMsg 6 活羊共<$STR(N1)>只
FindMapMonster 3 羊 N1 2
SendMsg 6 死羊共<$STR(N1)>只

获取指定地图玩家数量

格式: GetPlayCountInMap 参数1 参数2 参数3

参数1:地图编号

参数2:是否全部获取 0=全部获取 1=排除已死亡的

参数3:存入变量

例子:

完整脚本代码

[@main]
#IF
#ACT
GetPlayCountInMap 3 0 N0
SENDMSG 6 当前3地图一共有<$STR(N0)>人

获取背包物品数量

格式:GETBAGITEMCOUNT 物品名称 变量名

例子:

完整脚本代码

[@背包物品数量]
#IF
#ACT
GETBAGITEMCOUNT 木剑 N0
SENDMSG 0 你背包物品为:<$STR(N0)>个
功能说明: 获取仓库物品数量 (不计算叠加,叠加再多也只算一个)
格式:GetStorageItemCount 仓库类型(0:普通仓; ) 依据值的类型(0:物品唯一ID; 1:物品Idx; 2:物品名称) 值 变量
格式:GetStorageItemCount 仓库类型(0:普通仓; ) 依据值的类型(0:物品唯一ID; 1:物品Idx; 2:物品名称) 值 变量
示例:
[@test]
#act
GetStorageItemCount 0 1 0 N1
sendmsg 6 普通仓库中,物品idx=0的物品数量为<$STR(N1)>
[@test1]
#act
GetStorageItemCount 1 2 屠龙 N1
sendmsg 6 无限仓库中的屠龙数量为<$STR(N1)>
[@test2]
#act
GetStorageItemCount 0 2 * N1
sendmsg 6 普通仓库中的物品数量为<$STR(N1)>

行会战宣战命令

SETGUILDWAR 参数1 参数2 参数3

参数1:宣战行会名字

参数2:敌对行会名字

参数3:时间分钟

[@设置行会宣战]

#ACT

SETGUILDWAR 红方 蓝方 30

行会触发相关

;QFunction-0.txt

;加入行会前的QF触发

完整脚本代码

[@ConfirmGuildAddMember]
#IF
#ACT
;ConfirmGuildAddMember (1=禁止 0=允许)
;Stop (禁止加入行会),兼容2个禁止加入行会命令
;增加传递参数,预加入行会名 <$Param1> 和预加入行会成员人数 <$Param2>
SENDMSG 6 <$USERNAME>:即将加入【<$Param1>】,拥有【<$Param2>】小伙伴!
//;加入行会后触发例子
[@GuildAddMember]
#IF
#ACT
SENDMSG 6 <$USERNAME>:已加入【<$GUILDNAME>】,拥有【<$GUILDMEMBERCNT>】小伙伴!
//;退出行会触发
[@GuildDelMember]
#IF
#ACT
MOV U30 120
SENDMSG 7 <$USERNAME>退出行会
//; 编辑行会公告前触发
[@UpdateGuildNotice]
#IF
#ACT
SENDMSG 6 你编辑了 行会 公告
//.掌门招募逐一触发(招募页面点击接受)
[@CanAddJoinMember]
#IF
EQUAL <$param1> 1
#ACT
Stop
SENDMSG 6 接受玩家<$param3>入会申请,是否在线<$param1>–USERID=<$param2>
;<$param1> 0~1 0表示该玩家不在线,1表示该玩家在线
;<$param2> 玩家唯一UID
;<$param3> 被接受的玩家名
//;退出行会前触发
[@GuildDelMemberBefore]
#IF
#ACT
STOP
//;解散行会前
[@GuildCloseBefore]
#IF
#ACT
STOP
行会战宣战命令
SETGUILDWAR 参数1 参数2 参数3
参数1:宣战行会名字
参数2:敌对行会名字
参数3:时间分钟
[@设置行会宣战]
#ACT
SETGUILDWAR 红方 蓝方 30
//;创建行会前触发
[@CheckBuildGuild]
#IF
#ACT
SENDMSG 7 禁止<$USERNAME>创建行会:<$param1>
Stop
//;加入行会触发
[@GuildAddMemberAfter]
//;退出行会触发
[@GuildDelMember]
#IF
#ACT
MOV U30 120
SENDMSG 7 <$USERNAME>退出行会
;//掌门踢出行会成员前触发
[@GuildChiefDelMember]
#IF
#act
stop
sendmsg 7 禁止踢出行会
//;行会编辑封号前触发
QF触发@SetRankNameXX(XX:1-5个行会封号)
[@SetRankName1]
#act
stop
sendmsg 6 不允许编辑行会掌门封号!
//;退出行会前触发
[@GuildDelMemberBefore]
//;解散行会
[@GuildClose]
[@SetGuildRank1]
#IF
#act
Sendmsg 6 任命掌门人前触发
Stop
[@SetGuildRank2]
#IF
#act
sendmsg 6 任命副掌门前触发
Stop
[@SetGuildRank3]
#IF
#act
sendmsg 6 任命成员3前触发
Stop
[@SetGuildRank4]
#IF
#act
sendmsg 6 任命成员4前触发
Stop
[@SetGuildRank5]
#IF
#act
sendmsg 6 任命成员5前触发
Stop
<$GUILDNAMENOTICE>:行会公告常量
<$RANKNAME>: 行会职位名称
<$GUILDNAME>: 行会名称
<$GUILDMEMBERCNT>:当前行会人数常量

装备位置

物品位置和相关常量:

996引擎装备常量: 唯一ID<$USEITEM[XX]>;IDX<$USEITEMID[XX]>;名字<$USEITEMNAME[XX]>

XX表示M2设置的装备位置支持(0-111)

英雄常量在原来常量基础上增加H. 如:<$H.DRESS>

改名字后常量在原来基础加G_ 如:<$G_DRESS>

原始表格

道具类型数据库stdmode穿戴位置位置常量位置唯一ID常量(取下保留对应唯一ID)
衣服(男)100<$DRESS><$DRESSID>
衣服(女)110<$DRESS><$DRESSID>
武器(男)5、61<$WEAPON><$WEAPONID>
武器(女)5、61<$WEAPON><$WEAPONID>
勋章302<$RIGHTHAND><$RIGHTHANDID>
项链19、20、213<$NECKLACE><$NECKLACEID>
头盔154<$HELMET><$HELMETID>
右手镯24、265<$ARMRING_R><$ARMRING_RID>
左手镯24、266<$ARMRING_L><$ARMRING_LID>
右戒指22、237<$RING_R><$RING_RID>
左戒指22、238<$RING_L><$RING_LID>
符、毒药25、519<$BUJUK><$BUJUKID>
腰带54、6410<$BELT><$BELTID>
靴子52、6211<$BOOTS><$BOOTSID>
宝石、血石53、63、712<$CHARM><$CHARMID>
斗笠1613<$HAT><$HATID>
军鼓6514<$DRUM><$DRUMID>
马牌2815<$HORSE><$HORSEID>
盾牌4816<$SHIELD><$SHIELDID>
面巾5055<$FTOWEL><$FTOWELID>
时装衣服(男)6617<$SDRESS><$SDRESSID>
时装衣服(女)6717<$SDRESS><$SDRESSID>
时装武器(男)6818<$SWEAPON><$SWEAPONID>
时装武器(女)6918<$SWEAPON><$SWEAPONID>
时装斗笠7129<$SHAT><$SHATID>
时装项链75、76、7719<$SNECKLACE><$SNECKLACEID>
时装头盔7820<$SHELMET><$SHELMETID>
时装右手镯79、8021<$SARMRING_R><$SARMRING_RID>
时装左手镯79、8022<$SARMRING_L><$SARMRING_LID>
时装左戒指81、8223<$SRING_L><$SRING_LID>
时装右戒指81、8224<$SRING_R><$SRING_RID>
时装勋章8325<$SRIGHTHAND><$SRIGHTHANDID>
时装腰带84、8526<$SBELT><$SBELTID>
时装靴子86、8727<$SBOOTS><$SBOOTSID>
时装宝石88、8928<$SCHARM><$SCHARMID>
时装马牌9048<$SHORSE><$SHORSEID>
时装符印9149<$SBUJUK><$SBUJUKID>
时装军鼓9250<$SDRUM><$SDRUMID>
时装盾牌9351<$SSHIELD><$SSHIELDID>
时装面巾9452<$SFTOWEL><$SFTOWELID>
生肖位置110030<$GODBLESSITEM1><$GODBLESSITEM1ID>
生肖位置210131<$GODBLESSITEM2><$GODBLESSITEM2ID>
生肖位置310232<$GODBLESSITEM3><$GODBLESSITEM3ID>
生肖位置410333<$GODBLESSITEM4><$GODBLESSITEM4ID>
生肖位置510434<$GODBLESSITEM5><$GODBLESSITEM5ID>
生肖位置610535<$GODBLESSITEM6><$GODBLESSITEM6ID>
生肖位置710636<$GODBLESSITEM7><$GODBLESSITEM7ID>
生肖位置810737<$GODBLESSITEM8><$GODBLESSITEM8ID>
生肖位置910838<$GODBLESSITEM9><$GODBLESSITEM9ID>
生肖位置1010939<$GODBLESSITEM10><$GODBLESSITEM10ID>
生肖位置1111040<$GODBLESSITEM11><$GODBLESSITEM11ID>
生肖位置1211141<$GODBLESSITEM12><$GODBLESSITEM12ID>
首饰盒位置1头手戒链STDMODE42<$JEWELRYITEM1><$JEWELRYITEM1ID>
首饰盒位置2头手戒链STDMODE43<$JEWELRYITEM2><$JEWELRYITEM2ID>
首饰盒位置3头手戒链STDMODE44<$JEWELRYITEM3><$JEWELRYITEM3ID>
首饰盒位置4头手戒链STDMODE45<$JEWELRYITEM4><$JEWELRYITEM4ID>
首饰盒位置5头手戒链STDMODE46<$JEWELRYITEM5><$JEWELRYITEM5ID>
首饰盒位置6头手戒链STDMODE47<$JEWELRYITEM6><$JEWELRYITEM6ID>

装备回收系统

开启和关闭命令

BackpackRecovery 参数1

参数1:1=开启回收、0=关闭回收

序号开关命令

SetNumber 参数1 参数2

参数1:序号

参数2:1=开启、0=关闭

单次回收命令

RECOVERITEMBYLIST 1,2,3,4

参数1:可空,为空时回收所有组,多个组以英文逗号组合。只执行一次回收

补充说明

详细说明

例子:

完整脚本代码

#IF
#ACT
BackpackRecovery 1
;首先要用这个命令开启此用户允许使用自动回收装备,否则激活回收序号也是没用的,这是个总开关
SetNumber 0 1
SetNumber 9 1
;这两条命令是激活回收序号0和9,M2里面自己添加0和9的回收序号,系统就会按照0和9的序号自动回收装备
;如果只想回收序号9的装备,不想回收0的序号那就这样写
SetNumber 0 0
SetNumber 9 1
;如果都关闭回收序号,那就这样写
SetNumber 0 0
SetNumber 9 0
回收相关触发及常量
序号触发QF:
[@BackpackRecovery_1]
#Act
sendmsg 6 回收序号1数量为:<$BACKRECOVERYNUM>,元宝:<$BACKRECOVERYYB>,金币:<$BACKRECOVERYJB>,泡点:<$BACKRECOVERYPD>,灵符:<$BACKRECOVERYLF>,金刚石:<$BACKRECOVERYJGS>,荣誉值:<$BACKRECOVERYRYZ>,经验值:<$BACKRECOVERYJYZ>,游戏点:<$BACKRECOVERYYXD>
单件装备触发QF:
该触发为每回收一件就触发一次,慎用
[@BackpackRecoverySingle]
#Act
sendmsg 6 回收名字为:<$BACKRECOVERYNAME>
显示信息配置及格式
显示信息的文本名字叫 装备回收显示.txt
放入 Mir200\Envir\装备回收显示.txt 并勾选M2显示回收数据即可
★★★已自动回收[%num]件装备★★★/FColor=249
元 宝+%money_yb/FColor=223
金 币+%money_jb/FColor=225
泡 点+%money_pd/FColor=244
灵 符+%money_lf/FColor=246
金刚石+%money_jgs/FColor=249
荣誉值+%money_ryz/FColor=253
经验值+%money_jyz/FColor=251
游戏券+%money_yxd/FColor=252

角色交易行

九九角色交易行功能

九九角色交易行需要到PC端后台下载承诺函并按要求提交资料才可开通。

交易行目前仅支持同区的角色交易,并支持脚本控制玩家是否可以上架

上交易行请使用25.06.06.8以上的引擎和登录器,登录器生成器的补丁文件夹目录必须集成wkecore.dll。

允许出售角色命令

SETSELLCHAR 1

参数1: 0或空为禁止出售,1为允许出售

打开交易行命令

完整脚本代码

[@main]
#IF
#ACT
OPENHYPERLINK 35
sendmsg 7 打开九九角色交易行界面

设置下次攻击伤害命令

功能:设置下次攻击伤害命令

命令: SetNextDamage 参数1 下次伤害百分比 (不能为0和负数 ,低于100 伤害低于正常值 )

示列:

[@Attack]

#act

SetNextDamage 300

SENDMSG 5 下次攻击伤害提高到300%,魔法触发请使用@MagicAttack

设置剪切板内容

SETCLIPBOARDTEXT 参数1

参数1:内容(支持变量)

完整脚本代码

[@mian]
#IF
#ACT
SETCLIPBOARDTEXT 996引擎
SENDMSG 7 内容已经复制到剪切板,CTRL+V粘贴即可

设置当前攻击飘血

设置当前攻击飘血样式

功能:设置当前攻击飘血样式

命令:SETATTACKEFFTYPE 参数1:UI配置里的飘血ID

当次有效,下次攻击清零

UI飘血ID说明

1、减血、加血、减蓝、加蓝、暴击、闪避、切割为系统ID不建议修改ID可以更换样式和素材

系统修改ID后系统仍然会采用默认飘血,修改后的ID相当于一个自定义ID可以使用脚本调用

2、每一个飘血特效由多个动作组合而成,最多10个,

3、重叠偏移起点的意思为上一个飘血还没结束下一个飘血又出来的情况下显示位置按顺序偏移,避免飘血重叠引起的重叠现象。

示例:

完整脚本代码

[@AttackDamage]
#if
#act
SETATTACKEFFTYPE 12
SENDMSG 6 已将当次攻击飘字设置成12号 飘血
break

设置聊天框前缀

聊天窗口信息前缀设置

格式:SetChatPrefix 前缀显示 颜色(0~255)

;例子

完整脚本代码

[@main]
#IF
#ACT
SetChatPrefix [专属会员] 251
[@恢复聊天]
#IF
#ACT
SetChatPrefix

设置足迹特效

命令SetMoveEff 参数1

参数1:Wil序号

参数2:起始ID

参数3:播放数量

参数4:播放速度(可空,为空默认300毫秒)

参数5:绘制模式(0或空=普通绘制,1=特效绘制)

完整脚本代码

[@设置足迹]
#if
#act
SetMoveEff 0 20 10 200 0
SENDMSG 5 添加足迹脚印成功!

读取xls表格功能

读取表格功能

读取格式:ReadExcel 表格路径 行号

变量:Excel+列 0列开始

例子:

完整脚本代码

[@读取表格第1行第1列]
#IF
#ACT
ReadExcel ..\QuestDiary\996m2.xls 1
SENDMSG 0 -<$GLOBAL(Excel0)>-<$GLOBAL(Excel1)>-<$GLOBAL(Excel2)>
[@读取表格第1行第2列]
#IF
#ACT
ReadExcel ..\QuestDiary\996m2.xls 1
SENDMSG 0 -<$GLOBAL(Excel1)>

调整人物所有属性

调整人物所有 属性 支持 属性对照表 里面所有属性

临时的属性不会保存,自己用变量保存

ChangeHumNewValueEx 属性ID 属性值 有效时间(秒)

属性数值常量:<$ATTR[X]>

说明:X表示 att表属性ID (命令增加属性,将延迟10毫秒刷新常量)

例子:

完整脚本代码

[@人物元素]
#IF
#ACT
ChangeHumNewValueEx 25 10 60
SENDMSG 6 增加攻击伤害10% 时间60秒
获取人物身上属性值
格式:GETABILVALUE 参数1 参数2
参数1:属性ID(参数为变量时,不支持<$STR(N0)>,支持N0)
参数2:存入变量(超过21E用字符串变量接收)
例子:
[@获取属性值]
#IF
#ACT
GETABILVALUE 4 S10
SENDMSG 6 你的属性值为:<$STR(S10)>

调整背包负重

命令: AddMaxWeight 符号(+/-/=) 值

变量:

取扩展背包重量 <$AddMaxBW>

[@脚本]

#act

AddMaxWeight + 100

SendMsg 6 扩展背包最大重量:<$AddMaxBW>

货币改变触发

触发格式:[@MoneyChangeX] X=货币ID

当前身上货币常量:<$OLDMONEY>

改变后的货币常量:<$CURRMONEY>

完整脚本代码

[@MoneyChange1]
#if
#ACT
SENDMSG 6 当前货币:<$OLDMONEY>,改变后货币:<$CURRMONEY>
BREAK
[@MoneyChange2]
#if
#ACT
SENDMSG 6 当前货币:<$OLDMONEY>,改变后货币:<$CURRMONEY>
BREAK

货币超出21亿触发

货币超出21亿触发( 金币不支持 )

完整脚本代码

[@ChangeMoneyOut]
#IF
euqal <$PARAM1> 1
#ACT
SendMsg 9 您的货币ID:<$param1>,已经超出21亿上限,当前货币超出<$PARAM2>

购买商铺物品前触发

;购买商铺物品前触发

;支持Stop中断本次购买

完整脚本代码

[@BeginBuyShopItem]
#IF
#ACT
SENDMSG 6 %s通过商铺购买了<$BUYSHOPEITEMNAME>,价格是:<$BUYSHOPEITEMPRICE>,金额<$BUYSHOPEITEMMONEY>,货币ID<$BUYSHOPEITEMID>,购买数量<$BUYSHOPEITEMCNT>
;购买商铺物品触发
[@BuyShopItem]
#IF
#ACT
SENDMSG 7 %s通过商铺购买了<$BUYSHOPEITEMNAME>,价格是:<$BUYSHOPEITEMPRICE>,金额<$BUYSHOPEITEMMONEY>,货币ID<$BUYSHOPEITEMID>,购买数量<$BUYSHOPEITEMCNT>

透明消息框

SendMessage

参数1:计算模式(0:以参数2、3作为直接绘制点 | 1:以自身角色XY作为计算基础点,再加上参数2、3 | 2:以游戏鼠标XY作为计算基础点,再加上参数2、3)

参数2:X,支持负数( 值大于分辨率时则在边框绘制 )

参数3:Y,支持负数( 值大于分辨率时则在边框绘制 )

参数4:显示毫秒,0代表不限时,以毫秒为单位,1000等于1秒

参数5:是否可以ESC关闭,1可以,0不可以

参数6:颜色值,0-255

参数7:内容,支持变量,空格使用[#]代替

例子参考:

完整脚本代码

[@透明消息框]
#IF
#ACT
;清除以往自定义透明消息
ClearMessage
;以模式0
SendMessage 0 0 200 0 1 255 自定义透明框
SendMessage 0 0 300 0 1 253 支持多种计算方式
SendMessage 0 0 400 0 1 146 支持各种颜色、定时显示、ESC键关闭
SendMessage 0 450 100 0 1 255 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 450 180 0 1 255 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 450 260 0 1 267 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 450 340 0 1 254 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 450 420 0 1 266 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 450 500 0 1 101 自定义透明框\[#]\内容自定义填写、支持变量
SendMessage 0 3000 200 0 1 135 自定义透明框
SendMessage 0 3000 300 0 1 167 支持多种计算方式
SendMessage 0 3000 400 0 1 254 支持各种颜色、定时显示、ESC键关闭
ClearMessage
;可以清除以往自定义透明消息框

通过字符串增加对应属性值

通过字符串增加 对应属性值(参照 属性对照表 )

格式:ADDATTLIST 参数1 参数2 参数3 参数4

参数1:自定义属性组名称

参数2:操作符(+、-、=)

参数3: 属性字符串(3 #1#100|3#2#100|3#3#10|3#4#10)

参数4:0或为空=计算套装属性增加 1=增加固定值;不计算套装属性(属性加成类无效)

获取自定义属性组数值

格式:GETATTLIST 参数1 参数2

参数1:自定义属性组名称

参数2:存储变量

补充说明

详细说明

清除属性格式:DELATTLIST 参数1

参数1:空=清除所有自定义属性组,否则输入对应的自定义属性组名称

例子:

完整脚本代码

[@计算套装属性加成]
#IF
#ACT
ADDATTLIST 属性组1 + 3#1#100|3#2#100|3#3#10|3#4#10
;参照ChangeHumAbility使用
[@不计算套装属性]
#IF
#ACT
;参数4为1时,百分比增幅属性无效
ADDATTLIST 属性组2 + 3#1#100|3#2#100|3#3#10|3#4#10 1
;清除例子
[@清除属性组]
#IF
#ACT
DELATTLIST 属性组1
;获取例子
[@获取属性组数值]
#IF
#ACT
GETATTLIST 属性组1 S0

通过物品唯一ID获取物品名称

通过物品唯一ID获取物品名称 格式:GetItemNameByMakeIndex 物品唯一ID 存入变量 参数3:(0或空取装备名字,1获取装备改名名字)

;例子

完整脚本代码

[@获取物品唯一ID的名称]
#IF
#ACT
GetItemNameByMakeIndex <$STR(S0)> S2

邮件系统

邮件系统(最多未读100封邮件,超过自动删除第1封)

;绑定物品规则

邮件给物品格式:MailGIVE 物品名称 数量 绑定类型#绑定类型#绑定类型#绑定类型

发送邮件格式:SendMail 自定义邮件ID 邮件标题 邮件内容 物品类型(0或空:物品,1:货币)

获取自定义邮件ID:<$LASTMAILOPTYPEID>

绑定类型: 0=禁止扔 1=禁止交易 2=禁止存 3=禁止修 4=禁止出售 5=禁止爆出 6=丢弃消失 7=死亡必爆(死亡爆出来后,该属性就会删除,在捡起来戴上,就没有死亡必爆了) 8=禁止摆摊或上架拍卖行

完整脚本代码

[@例子]
#IF
#act
MailGIVE 元宝 100 0#1#2#3#4#5#6#7#8 1
SendMail 1 系统奖励 你好<$USERNAME>奖励你元宝100颗,请点提取!
;给予邮件物品命令,要在发送邮件消息命令前面
[@给予带规则物品]
#IF
#ACT
MailGIVE 木剑 1 0#1#2#3#4#5#6#7#8
SendMail 1 系统奖励 你好<$USERNAME>奖励你木剑1把带绑定规则,请提取
;给予邮件物品命令,要在发送邮件消息命令前面
触发QFunction-0.txt
;阅读触发
[@ReadMail]
#IF
EQUAL <$LASTMAILOPTYPEID> 1
#ACT
SENDMSG 0 你阅读了ID:<$LASTMAILOPTYPEID>的邮件
;提取触发
[@GetMailItem]
#IF
EQUAL <$LASTMAILOPTYPEID> 1
#ACT
SENDMSG 0 你提取了ID:<$LASTMAILOPTYPEID>的邮件

部位万分比属性加成到人物

设置部位属性:SETEQUIPADDVALUE 部位(装备位置) 控制符(+-=) 倍数(万分比)

获取部位属性:GETEQUIPADDVALUE 部位(装备位置) 变量(倍数存入到变量)

增加后会自动保存比例倍数,穿戴装备后按倍数加成到属性

部位属性常量:<$GETEQUIPADDVALUE(部位ID)>

完整脚本代码

[@设置部位属性]
#ACT
SETEQUIPADDVALUE 0 + 15000
sendmsg 6 衣服的基础属性1.5倍增加到人物上!
[@获取部位属性倍数]
#ACT
GETEQUIPADDVALUE 0 S1
SendMsg 6 获取衣服属性加成倍数是:<$str(S1)>

铭文系统支持

铭文系统功能

1、 SetMeteorShowerStruckCnt 设置流星火雨伤害次数,参数1:次数(0~255),0还原默认2次

例子:

完整脚本代码

[@main]
#IF
#ACT
SetMeteorShowerStruckCnt 3
sendmsg 7 你的流星火雨已改为3段伤害
2、调整恢复类药品的恢复量
ChangeHumNewValueex 83 2000 60
:药品恢复量提升20%有效时间60秒
参数1:83为恢复类药品,固定值不要改
参数2:万分比
参数3:有效时间(秒)
3、脚本调整施毒术无需佩戴毒药
SetNoPoison 设置免毒,参数1时间(秒),0:取消
例子:
[@main]
#IF
#ACT
SetNoPoison 30
sendmsg 7 你的施毒术施法免毒药限制30秒
4、持续类技能增加消失QF触发
8隐身,11魔法盾,75护体神盾,9神圣战甲,10幽灵盾
:QF触发
[@BuffClose]
#IF
EQUAL <$Param1> 8
#ACT
SENDMSG 7 隐身状态消失
#IF
EQUAL <$Param1> 11
#ACT
SENDMSG 7 魔法盾状态消失
#IF
EQUAL <$Param1> 75
#ACT
SENDMSG 7 护体神盾状态消失
#IF
EQUAL <$Param1> 9
#ACT
SENDMSG 7 神圣战甲状态消失
#IF
EQUAL <$Param1> 10
#ACT
SENDMSG 7 幽灵盾状态消失
5、提升技能威力及持续时间可以通过提升 技能威力 来实现

字符型变量的 键值对 操作方法

格式:ADDSTRVALUE 参数1 参数2 参数3

参数1:字符型变量 (A变量 T变量 S变量) 如果是自定义字符型变量 格式为:HUMAN(XXX) 不要带<$> 但是要带HUMAN、GLOBAL GUILD

参数2:主键值

参数3:对应值

写入例子:

完整脚本代码

[@main]
#IF
#ACT
MOV T10 1=999,2=888,3=777
增加例子:
[@main]
#IF
#ACT
ADDSTRVALUE T10 4 996M2
修改例子:
[@main]
#IF
#ACT
ADDSTRVALUE T10 1 996M2.COM
获取字符串主键值 对应值:
格式:GETSTRVALUE 参数1 参数2 参数3
参数1:字符型变量 (A变量 T变量 S变量) 如果是自定义字符型变量 格式为:HUMAN(XXX) 不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存)
参数2:主键值
参数3:存入变量
例子:
[@获取主键值对应值]
#IF
#ACT
GETSTRVALUE T10 1 S10
SENDMSG 6 获取出来的为:<$STR(S10)>
删除字符型变量主键值:
DELSTRVALUE 参数1 参数2
参数1:字符型变量 (A变量 T变量 S变量) 如果是自定义字符型变量 格式为:HUMAN(XXX) 不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存)
参数2:主键值
例子:
[@删除主键值]
#IF
#ACT
DELSTRVALUE T10 1
键值对获取全部主键命令
GETSTRKEY 参数1 参数2
参数1:键值对变量名称
参数2:存入变量
//例子
#if
#ACT
movT11=2,2=1,996=2,引擎=3
GETSTRKEY T1 S1
;取出主键值为逗号分割(1,2,996,引擎)
sendmsg 7 <$str(S1)>
;搭配分割有神奇的功效
MOV N11 0
GETVALIDSTRSUPER <$str(S1)> , S$获取主键值 N$总主键数量
while N11 < <$str(N$总主键数量)>
INC N11 1
sendmsg 7 <$str(S$获取主键值<$str(N11)>)>
endwhile
新增键值对取主键对应的值为常量
[@main]
#IF
#ACT
mov T1 1=996M2,2=996M2.COM
sendmsg 7 <$GETSTRVALUE(T1,1)>,<$GETSTRVALUE(T1,2)>.
功能:修改键值对主键
命令:格式SETSTRVALUEKEY 变量名称 原主键 新主键
示例:
[@main]
#if
#ACT
movT11=2,2=1,996=2,引擎=3
#if
#ACT
;修改主键“引擎”为“M2”
SETSTRVALUEKEY T1 引擎 M2 SENDMSG6<$STR(T1)>打印值:1=2,2=1,996=2,M2=3
新读取指定CSV的2列内容以键值对的方式写入到变量
NEWREADCSVSAVEVAR 参数1 参数2 参数3 参数4 参数5
参数1:CSV所在路径
参数2:读取数据的起始行
参数3:主键所在列
参数4:值所在列
参数5:保存的变量(只支持字符型变量)
注:数据以列的形式存放在CSV中,主键和值不能同时空行,同时空行即表示读取结束
注:主键为空,值不为空时,忽略该行,主键不为空,值为空时会写入空值。
[@main]
#IF
#ACT
MOV T10
NEWREADCSVSAVEVAR ..\QuestDiary\test.csv 10 1 2 T10
sendmsg 6 <$STR(T10)>
sendmsg 7 <$GETSTRVALUE(T10,10)>,<$GETSTRVALUE(T10,11)>.
键值对排序
功能:键值对排序
命令:SORTVARSTR 参数1 参数2 参数3
参数1:变量名称(如:A1)
参数2:排序数量(1-100,如前10名填10,最多支持排序100组键值)
参数3:0/1(升序/降序)
参数4:0/1(0:小于时间戳优先,1:大于时间戳优先)
;注:参数4可理解为,按捐献同等数量的情况下是让先捐献的排上面,还是后捐献的排上面
键值对排序格式:玩家名字=捐献数量#时间戳
排序主键常量:<$GETSTRKEY(变量名,第几个)>
排序值常量:<$GETSORTSTRVALUE(变量名,第几个)>
;//示例
;重要说明:务必按照下方脚本逻辑进行编写脚本
[@main]
#if
#ACT
;赋值捐献的数量
MOV N$捐献数量 10000
;在总键值对中取出该玩家捐献的数量值
MOV N$捐献数量取出 <$GETSTRVALUE(A10,<$username>)>
;加上当前实际的捐献数量
INC N$捐献数量取出 <$str(N$捐献数量)>
;增加原有的基础键值数据
ADDSTRVALUE A10 <$username> <$str(N$捐献数量取出)>
;增加需要排序的变量键值数据
ADDSTRVALUE A11 <$username> <$str(N$捐献数量取出)>#<$UTCNOW>
;降序只排前6名按照大于时间戳优先
SORTVARSTR A11 6 1 1
sendmsg 6 <$Str(A11)>
sendmsg 6 排名第一名玩家名字:<$GETSTRKEY(A11,1)>。捐献数量:<$GETSORTSTRVALUE(A11,1)>
sendmsg 6 排名第二名玩家名字:<$GETSTRKEY(A11,2)>。捐献数量:<$GETSORTSTRVALUE(A11,2)>
sendmsg 6 排名第三名玩家名字:<$GETSTRKEY(A11,3)>。捐献数量:<$GETSORTSTRVALUE(A11,3)>
sendmsg 6 排名第四名玩家名字:<$GETSTRKEY(A11,4)>。捐献数量:<$GETSORTSTRVALUE(A11,4)>
sendmsg 6 排名第五名玩家名字:<$GETSTRKEY(A11,5)>。捐献数量:<$GETSORTSTRVALUE(A11,5)>
sendmsg 6 排名第六名玩家名字:<$GETSTRKEY(A11,6)>。捐献数量:<$GETSORTSTRVALUE(A11,6)>
;逻辑:我们将A10做为原始数据负责调用,用A11进行排序,这样需要排序的变量只会增加一个,从而达到高效率排序目的
;切记不要直接去排所有的变量,会造成卡顿,并且排序最多只支持100组键值

限时物品扩展及触发

限时道具配置方式 (Item表根据下方字段进行配置)

Need=101、NeedLevel=时间(分钟),计算时间方式为: 穿戴身上计算时间 其他都不计算时间

Need=102、NeedLevel=时间(分钟),计算时间方式为: 穿戴中、穿戴后脱下放入背包和仓库计算时间!(摆摊 拍卖行等不计算时间)

Need=103、NeedLevel=时间(分钟),计算时间方式为: 获得物品即刻计算时间,离线不计算时间、其他方式都计算

Need=104、NeedLevel=时间(分钟),计算时间方式为: 获得物品即刻计算时间,包含离线也计算时间

限时物品到期QF触发

完整脚本代码

[@ItemExpired]
#Act
Sendmsg 7 你到期的装备为<$ExpiredItemName>
英雄限时物品到期QF触发
[@HeroItemExpired]
#Act
Sendmsg 3 你的英雄到期的装备为 <$H.ExpiredItemName>

顶戴花翎扩展(宝宝)

SetIconEx

参数1=宝宝名字 ALL=所有宝宝

参数2=位置(0-9)

参数3=WIL文件序号

参数4=图片序号(0-65535)

参数5=X 参数6=Y

参数7=播放张数

参数8=播放效果(0普通 1特效)

参数9=播放速度(毫秒)

参数10=是否只有自己看见(0=所有人都可以看见 1=仅仅自己可以看见)

补充说明

详细说明

例子:

完整脚本代码

#IF
#ACT
SetIconEx 强化神兽 0 0 11 1 -20 1 0 300 0
SENDMSG 6 你的宝宝强化神兽头顶加了一组花翎
Break

!Setup.txt(引擎配置文件)

如果要直接修改txt文件的话,请关服后再修改,因为每次关闭服务器时会重写一次配置文件。

AdminList.txt(管理员列表)

GM管理员设置方法

M2-查看-列表信息-管理员列表

方法一 :角色权限根据GM指令权限进行设置,GM操作指令一般全部设置位10,管理员权限也调整为10即可!

方法二 :直接修改该文本,但修改后不会直接生效,需重启M2(不推荐)

文本路径:\Mir200\Envir\AdminList.txt

AutoLoadOffline.txt(脱机人物列表)

加载脱机 操作方法

第1步 :数据库服务器-管理-数据导出-选择好数据和等级后,点击导出

第2步 :M2-控制-加载脱机人物

脱机人物不宜加载过多,太多会拖慢服务器的运行效率。

AutoRunRobot.txt(机器人配置)

原始说明 / 数据

功能:
系统机器人,可以定时做一些指定操作
相关配置目录:
\Envir\Robot_def\
相关文件:
\Envir\Robot.txt 机器人配置文件
\Envir\Robot_def\RobotManage.txt 机器人运行脚本文件
机器人配置文件格式:
;Robot.txt
;机器人名称 脚本名称
系统控制 AutoRunRobot
脚本格式:
;AutoRunRobot.txt
#AutoRun NPC SEC 10 @SendRedMsg
SEC:按秒运行
MIN:按分运行
HOUR:按小时运行
DAY:按天运行
RUNONWEEK:按星期几及时间运行
#AutoRun NPC RUNONWEEK 5:15:55 @SendRedMsg
星期五15点55分运行
实例:
Robot.txt内容:该文件在\Envir\下
Test Test
Test.txt内容:(每8秒钟运行脚本一次)该文件在\Envir\Robot_def\下
#AutoRun NPC SEC 8 @DHB

BoxsList.txt(宝箱配置)

内挂药品的添加

方法一 :M2-查看-列表信息二-宝箱列表

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

宝箱功能

ClientEatItemNameList.txt(内挂药品设置列表)

内挂药品的添加

方法一 :M2-客户端控制-内挂药品设置

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

Command.ini(游戏命令配置)

游戏命令配置

文本路径\Mir200\conmmand.ini

可在M2-选项-游戏命令 中进行可视化配置

1.操作方式::直接配置M2立即生效

2.操作方式::直接修改文档需重启M2生效

CustomItemAbilTextList.txt(新版自定义属性)

新版自定义属性的添加

方法一 :M2-客户端控制-自定义属性

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

新版自定义属性

CustomNpc(自定义NPC)

自定义NPC系统

先到NPC文本Envir\MerChant.txt添加自定义NPC,NPC形象代码大于10000即为自定义NPC,重启引擎后,自定义NPC栏就会出现你刚才添加的自定义NPC,编辑后保存即可。

M2-查看-列表信息(二)-自定义NPC

DZItemDescList.txt(顶部备注列表)

光柱的添加

方法一 :M2-查看-列表信息二-物品备注

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

DropEffectList.txt(物品光柱列表)

光柱的添加

方法一 :M2-查看-列表信息二-物品光柱 (注意:光柱ID从50001开始)

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

DummyNameList.txt(假人名字列表)

假人名字的添加

方法 : 直接修改该文本,但修改后不会直接生效,需重启M2

DummyHeroNameList.txt 英雄假人名字列表

EffectImageList.txt(Wil资源列表)

WiL资源列表的添加

方法一 :M2-查看-列表信息二-WiL资源 (此列表只支持WZL、JPK格式)

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

EffectItemList.txt(物品特效列表)

物品特效列表的添加

方法一 :M2-查看-列表信息二-物品特效

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

EffectList.txt – 特效列表

Exps.ini(人物等级经验)

人物等级经验配置

文本路径\Mir200\Exps.ini

人物等级经验优先读取\Mir200\Envir\data\cfg_level.xls,只有删除cfg_level.xls才会读取Exps.ini的配置

FilterItemList.txt(内挂拾取列表)

内挂拾取列表的添加

方法一 :M2-查看-列表信息二-内挂拾取

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

GlobalVal.ini(全局变量存储文件)

全局变量存储目录(A变量G变量)

路径\Mir200\GlobalVal.ini

注意:合区只能保留主区的全局数据,从区的数据不会自动合到主区

GroupItemList.txt(套装属性列表)

套装属性列表的添加

方法一 :M2-查看-列表信息二-套装系统

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

GroupItemSkillPowerList.txt – 套装技能威力列表

GuardList.txt(大刀守卫刷新列表)

套装属性列表的添加

方法一 : 直接修改该文本,但修改后不会直接生效,需重启M2

ItemDescList.txt(物品备注列表)

物品备注 列表的添加

方法一 :M2-查看-列表信息二-物品备注

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

ItemRuleList.txt(物品规则列表)

物品规则 列表的添加

方法一 :M2-查看-列表信息二- 物品规则

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

LevelAbilitys0.ini(人物等级属性配置)

人物等级经验配置

文本路径\Mir200\LevelAbilitys0.ini

人物等级经验优先读取\Mir200\Envir\data\cfg_level.xls,只有删除cfg_level.xls才会读取LevelAbilitys0.ini的配置

LevelAbilitys0.ini 战士等级经验配置

LevelAbilitys0.ini 法师等级经验配置

LevelAbilitys0.ini 道士等级经验配置

LineNotice.txt(彩色滚动播报)

LineNotice.txt彩色滚动 公告

例:

[253,0]自定义字体颜色 公告 !

<252,255>窗口顶部滚动 公告 !

[253,0]本服是独家品牌1.76复古小极品,耐玩性高,适合喜欢复古长久的玩家!

[253,0]本服元宝比例:1:100

[253,0]聚灵珠集满后需要元宝开启,小=80元宝,中=160元宝,大=320元宝

<249,255>玩家在游戏过程发生任何问题,发现BUG请加QQ群22222222提交,确认后奖励元宝!

格式1:[253,0]聊天框公告 0为背景色 253前景色

格式2:<252,255,190> 窗口顶部滚动公告,255为背景色 252前景色 190为背景条颜色(背景条颜色留空为不显示)

补充说明

详细说明

格式3:<252,255> 9 公告内容 255为背景色 252前景色,9(9两边用tab键隔开)为公告字体大小(9号不加粗)

格式4:<252,255,190> 10b 公告内容 255为背景色 252前景色 190为背景条颜色,10b(10b两边用tab键隔开)为公告字体大小(10号加粗)

MagicShieldItemList.txt(护身装备扩展)

;装备名称(必须是可以护身的装备才有效) 掉蓝比例(设置数值除以100,引擎默认是1.5倍 也就是150) 用户如果佩戴多个,按装备位置顺序,最后一个装备的设置才有效

测试护身 50

MakeItem.txt(毒药炼制配置)

毒药炼制配置 的添加

方法一 : 直接修改该文本,但修改后不会直接生效,需重启M2

MapEvent.txt(地图触发事件)

毒药炼制配置 的添加

方法一 : 直接修改该文本,但修改后不会直接生效,需重启M2

填写格式

MapInfo.txt(地图及参数配置)

mapinfo.txt配置

地图重复使用

[0 比奇]

[01|0 比奇-1]

这个配置的意思是 地图代码 01、02、03的地图都镜像地图代码为0的地图,

这样你就可以拥有3个比奇了,而玩家客户端上调用的都只是0.map文件

注意:被镜像的原地图必须先被服务器读取,因为MapInfo.txt读取方式是从上到下

所以被镜像的原地图应该在镜像地图的上面。

地图连接点左边范围进入地图

格式:地图号 X坐标,Y坐标 范围 -> 地图号 X坐标,Y坐标

补充说明

详细说明

例子:

[3 盟重省]

3 330,314 1 -> 0159 5,16

地图参数格式

MapQuest.txt(杀怪触发配置)

老任务脚本配置

路径:Mir200\Envir\Mapquest.txt

建议使用QF中的[@KILLMON]杀怪触发制作

原格式:

地图 变量 判断 怪物名 条件 文件名

A1 [999] 0 赤月恶魔 * 赤月恶魔

A2 [999] 0 赤月恶魔 * 赤月恶魔

A3 [999] 0 赤月恶魔 * 赤月恶魔

A4 [999] 0 赤月恶魔 * 赤月恶魔

A5 [999] 0 赤月恶魔 * 赤月恶魔

补充说明

详细说明

建议改进后,* 星号代表 所有地图触发, 则一行就能搞定!!

地图 变量 判断 怪物名 条件 文件名

* [999] 0 赤月恶魔 * 赤月恶魔

【地图代码不建议用*,如果不是所有地图都有,建议单个地图写,效率更高】

MerChant.txt(NPC配置)

NPC配置格式

NPC默认路径 \Mir200\Envir\Market_Def

NPC脚本路径 地图 X坐标 Y坐标 NPC名字 方向 外观 是否归属沙城 备用 备用 备用 备用 备用 跨服ID(不可重复)

常规NPC格式

【比奇城】/比奇城_药店 0108 7 7 赖家店老板 0 1 0 0 0

跨服NPC格式

kuafu 跨服地图名 20 25 跨服NPC 0 23 0 0 0 0 0 1 100

MiniMap.txt(小地图配置)

配置小地图

默认读取方式为图片ID+1

例:

地图编号3,小地图编号map.Wzl文件序号为105,则填106

3 106

小地图计算方法

功能: 小地图计算方法

小地图添加

打开“X:\MirServer\Mir200\Envir\MiniMap.txt”X表示盘符一般是D

里面的格式为“地图文件名称 小地图文件序号”一行一个地图

补充说明

详细说明

例如:

0 101

小地图文件序号查看,使用WIL编辑器打开“X:\热血传奇\data\mmap.wzl” X表示盘符

里面全部是小地图,小地图序号图片序号加1,

例如你在WIL编辑器里显示的图片序号是 100,那么小地图序号就是101

其他小地图添加: Data\minimap\小地图从5001开始

Data\minimap\301.mmap 小地图代码 5000

Data\minimap\302.mmap 小地图代码 5001

Data\minimap\303.mmap 小地图代码 5002

Data\minimap\304.mmap 小地图代码 5003

Data\minimap\306.mmap 小地图代码 5004

Data\minimap\308.mmap 小地图代码 5005

Data\minimap\309.mmap 小地图代码 5006

Data\minimap\350.mmap 小地图代码 5007

Data\minimap\311.mmap 小地图代码 5008

Data\minimap\312.mmap 小地图代码 5009

Data\minimap\313.mmap 小地图代码 5050

Data\minimap\314.mmap 小地图代码 5011

Data\minimap\315.mmap 小地图代码 5012

Data\minimap\316.mmap 小地图代码 5013

Data\minimap\317.mmap 小地图代码 5014

Data\minimap\318.mmap 小地图代码 5015

Data\minimap\319.mmap 小地图代码 5016

Data\minimap\320.mmap 小地图代码 5017

Data\minimap\321.mmap 小地图代码 5018

Data\minimap\322.mmap 小地图代码 5019

Data\minimap\323.mmap 小地图代码 5020

Data\minimap\324.mmap 小地图代码 5021

Data\minimap\325.mmap 小地图代码 5022

Data\minimap\326.mmap 小地图代码 5023

Data\minimap\327.mmap 小地图代码 5024

Data\minimap\328.mmap 小地图代码 5025

Data\minimap\329.mmap 小地图代码 5026

Data\minimap\330.mmap 小地图代码 5027

Data\minimap\331.mmap 小地图代码 5028

Data\minimap\402.mmap 小地图代码 5029

Data\minimap\3021.mmap 小地图代码 5030

Data\minimap\3022.mmap 小地图代码 5031

Data\minimap\3023.mmap 小地图代码 5032

MonGen.txt(刷怪配置)

刷怪配置

格式:地图 坐标X 坐标Y 怪物名字 范围 数量(支持G变量) 间隔 集中刷新坐标机率# 刷新模式 # 大地图是否显示倒计时 名字颜色(0~255) 刷出来时触发的QF脚本字段 内功怪物(0,1) 国家名字 同国家名玩家是否可攻击(0,1)

说明:最后一个参数为0时表示同国家玩家不能攻击该怪物,为1时在非国家攻击模式下可以攻击该怪物

注:刷新模式不可与G变量数量控制同时使用。

刷新模式 =0时, 刷怪模 式不变,和以前一样,可能boss刚被杀死,未到间隔时间会重新刷一只。 //不添“刷新模式”参数,默认为0

刷新模式 =1时,假设怪物刷新间隔时间是1小时,杀死怪物后,经过1小时才会再次刷出该怪物,被诱惑走的怪物不算死亡。

大地图是否显示倒计时 =0时不显示

大地图是否显示倒计时 =1时显示倒计时(建 议刷怪 的坐标范围设置为1,怪物数量也是1)

例:

3 333 333 鸡 1 1 1 100#1 249

补充说明

详细说明

注:刷新模式不可与G变量数量控制同时使用

;刷新了一只白野猪死亡之后10分钟刷新,并且显示刷新倒计时

3 330 330 白野猪 1 1 10 100#1#1 253 @土城刷怪

3 100 85 ◆◆◆◆妖魔神王◆◆◆◆ 75 <$STR(G111)> 180 0 254 @QF脚本段1

QFunction-0.txt

完整脚本代码

[@ 土城刷怪 ]
#IF
#ACT
SENDMSG 0 <$GENMONNAME>在地图<$GENMONMAP>刷新了,速度去消灭!
[@QF脚本段1]
#if
#act
SENDMOVEMSG02510501<【世界BOSS全服提示】:/FCOLOR=70><『◆◆◆◆妖魔神王◆◆◆◆』/FCOLOR=250>已出世,赶紧抢!!!
相关常量:
怪物名称:<$GENMONNAME> 带数字的怪物:<$GENMONALLNAME>
地图名称:<$GENMONMAP>
X坐标:<$GENMONX>
Y坐标:<$GENMONY>

MonSayMsg.txt(怪物说话配置)

怪物说话配置

功能: 怪物说话配置

格式: 无

说明: 配置文件位置Mir200\Envir\MonSayMsg.txt

例:

;状态(0为杀人,1为被攻击,2为死亡,3为刚刷出来) 刚刷出来发的文字为广播文字全服务器都可以看到。

;机率(数字越大,说话机率越小)

;颜色(0为红色,1为绿色,2为蓝色,3为白色) 白色文字,显示在怪物头顶上所有旁边的人都可以看到,其它颜色则显示在人物聊到框中只有对应的人物可以看到。

;状态 机率 颜色 怪物名称 文字内容

1 30 0 鹿 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

补充说明

详细说明

1 30 1 鹿 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 2 鹿 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 3 鹿 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 4 鹿 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 0 稻草人 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 0 森林雪人 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 0 半兽人 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 30 0 半兽战士 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 0 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 0 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 1 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 2 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 3 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

1 50 4 白野猪0 %s不要打我,%d我没东西爆的!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

2 30 1 鹿 %s不要打我,%d我挂了!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

0 50 0 白野猪0 %s哈哈,死了吧%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

0 50 1 白野猪0 %s哈哈,死了吧%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

0 50 2 白野猪0 %s哈哈,死了吧%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

0 50 3 白野猪0 %s哈哈,死了吧%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

0 50 4 白野猪0 %s哈哈,死了吧%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

3 1 4 白野猪0 %s老猪来也%d!!!! 支持%m 地图名称 %x=X坐标 %yY坐标

MonSpAbilList.txt(怪物特殊配置)

配置怪物特殊属性

路径:\Mir200\Envir\MonSpAbilList.txt

怪物名 忽视防御(0~100) 增加伤害(0~255) 伤害反弹(0~100) 物伤减少(0~100) 魔伤减少(0~100) 麻痹-几率-时间(0~1 0~10 0~10) 防麻痹(0~1) 防全毒(0~1) 防火墙(0~1) 防诱惑(0~1) 破复活(0~1) 破护身(0~1)

鸡 100 0 20 0 0 1-5-3 1 1 1 0 1 1

NPC顶戴花翎配置

参数介绍:参数1 参数2 参数3 参数4 参数5 参数6 参数7

参数1:WIL文件序号

参数2: 图片序号(0-65535)

参数3: 播放张数

参数4: X(为空时默认X=0)

参数5: Y(为空时默认Y=0)

参数6: 播放效果(0普通1特效)

参数7:播放速度(毫秒,为空时速度为300毫秒)

参数8:播放次数(0或为空时表示无限次数)

参数9:播放顺序(0角色上面 1角色下面)

补充说明

详细说明

说明:

X:\MirServer\Mir200\Envir\NpcIcons\**\xx.txt 没有文件自己新建

**=对应的NPC文件路径 xx=npc文件名 必须要和你MerChant.txt 配置的文件路径一样

如MerChant.txt文件中的装备回收要加顶戴花翎:996m2/装备回收 3 333 333 装备回收 0 15 0 0 0

那么新建文件 X:\MirServer\Mir200\Envir\NpcIcons\996m2\装备回收-3.txt ;填写下面参数到文本中保存

配置示例:

3 1 5 0 -30

Notice.txt(游戏公告)

示例:

健康游戏忠告

抵制不良游戏,拒绝盗版游戏。

注意自身保护,谨防受骗上当。

适度游戏益脑,沉迷游戏伤身。

合理安排时间,享受健康生活。

拥护协议已经修改,

请到官方网站阅读相应内容,

继续游戏请点击确认同意

Npcs.txt(管理NPC配置)

系统管理NPC列表

该目录不可扩展,自定义NPC请使用npclist.xls表进行配置

;-

;-调用脚本名-NPC属性-NPC地图–NPC坐标–NPC刷新时间-NPC代码

;-

;固定 NPC 文件

;名称 代码 地图 x y 范围 图标

比奇国王 1 0122 29 32 0 8

比奇国王 1 3 320 322 0 8

管理人员 2 0150 7 16 0 8

补充说明

详细说明

老人 0 3 669 338 0 1

红娘 0 M101 27 32 0 12

ParalysisItemList.txt(麻痹装备扩展)

;装备名称(必须是可以麻痹的装备才有效) 麻痹成功机率(数字越小机率越大,引擎默认5) 用户如果佩戴多个,按装备位置顺序,最后一个装备的设置才有效

;装备名字 麻痹几率 麻痹时间

麻痹戒指 1 2

PoisonWeapon.txt(绿毒武器)

绿毒武器

路径:\Envir\UserData\PoisonWeapon.txt

;成功率100以下时设置多少就是多少的成功率例如:80就是80%的成功率50就是50%的成功率

;扩展时间是一个随即值,假如设置为10那么它的值就是1-10之间的值. 持续时间=基本时间+扩展时间所产生的随机值

;格式: 武器名称 成功几率 减HP值 基本时间 扩展时间

木剑 90 10 10 5

QFunction-0.txt(功能脚本)

QFunction-0.txt

功能脚本 (通俗叫法) 用于实现各种与脚本有关的功能

QManage.txt(登录脚本)

QManage.txt(简称QM)

登录脚本 (通俗叫法)

1.服务端启动触发 [@Startup]

2.玩家登录触发 [@Login]

3.个人定时器、全局定时器 [@OnTimerX]、 [@OnTimerEx X ]

4.全服调用[GMEXECUTE StartQuest]

5.行会变量申明 [@LoadGuild]

6.自定义国家变量申明 [@LoadNatIon]

7.HCALL指定玩家触发

RevivalItemList.txt(复活装备扩展)

;装备名称(必须是可以复活的装备才有效) 复活间隔(秒) 恢复血量百分比(100恢复满血) 用户如果佩戴多个,按装备位置顺序,最后一个装备的设置才有效

测试复活 20 80

Robot.txt(机器人脚本配置)

;默认配置内容

;机器人名称 脚本名称 (机器人脚本文件请务必放在此文件夹下)

系统控制 AutoRunRobot

RobotManage.txt(机器人脚本)

RobotManage.txt内容(内容即普通脚本内容)该文件在\Envir\Robot_def\下

完整脚本代码

[@DHB]
#if
#act
SENDMSG 0 双头金刚怪物攻城了……
MISSION 3 330 330
PARAM1 360
PARAM2 340
PARAM3 10
PARAM4 1
MOBPLACE 双头金刚
;执行AutoRunRobot.txt配置( AutoRun NPC SEC 8 @DHB )

ShopItemList.txt(系统商城配置)

系统商铺的添加

方法一 :M2-查看-列表信息二-商铺列表

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

SkillPowerItemList.txt(装备技能威力配置)

装备技能威力的添加

方法一 :M2-查看-列表信息二-装备技能威力

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

StartPoint.txt(安全区及出生点配置)

登录点安全区 功能: 登录点安全区

格式: 无

说明: 配置文件 D:\MirServer\Mir200\Envir\StartPoint.txt

例:

文件格式:

地图号:安全区所在地图

座标X:安全区所在地图座标X

座标Y:安全区所在地图座标Y

禁止说话:安全区内是否禁止说话(此功能未完成)

大小范围:安全区范围大小(此功能未完成)

补充说明

详细说明

光环类型:安全区边界显示类型 1是僵尸钻的洞 3是石块 4是困魔光 5是火墙 6是祖码教主裂开的石头 7,8,9三种火墙效果

PKZONE:安全区是否为PK比赛区域(此功能未完成)

PKFIRE:安全区PK区域边界显示类型(此功能未完成)

出生点配置规则:

M2-参数设置-坐标范围-新人出生点范围

这里填的值即为出生点安全区选择范围,填2则表示安全区配置的前2个地图为出生点,新人出生时随机选择一个出生点地图出生。

原始表格

;地图号座标X座标Y禁止说话大小范围光环类型PKZONEPKFIRE
0289618010400
0650631010400
0334266010400
2503483010400
3330330010400

String.ini(系统提示信息配置)

游戏命令配置

文本路径\Mir200\String.ini

操作方式::直接修改文档需重启M2生效

例如: 掉落信息提示

SuiteItemsList.txt(套装属性配置)

套装属性的添加

方法一 :M2-查看-列表信息二-套装系统

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

TzItemDescList.txt(套装备注)

套装备注 的添加

方法一 :M2-查看-列表信息二-套装系统

方法二 : 直接修改该文本,但修改后不会直接生效,需重启M2

装备套装备注

功能: 装备套装备注

格式: 装备名称=颜色(0~255)/备注描述1\备注描述2\

物品备注:M2-查看-列表信息二-物品备注里进行编辑

套装备注:M2-查看-列表信息二-套装系统-套装备注里进行编辑

物品备注 :

宝藏钥匙=250/可用来开启卧龙山庄中的“神秘宝藏”\253/直接获得其中的宝物

补充说明

详细说明

套装备注 :

颜色(0~255)/套装名字|装备数量|颜色(0~255)/装备名称:颜色(0~255)/属性描述

例1. 223/套装名称|2|116/木剑|116/青铜头盔:253/攻魔道提升

例2. 223/套装名称=0|2|116/木剑|116/龙天魔甲:253/攻魔道提升

例3. 223/套装名称=1|2|116/木剑|116/凤天魔衣:253/攻魔道提升

例4. 223/套装名称|2|116/木剑|116/(龙天魔甲,凤天魔衣):253/攻魔道提升

例1 不检测性别

例2 男性套装

例3 女性套装

例4 根据鼠标选择的装备自动显示男女

“\”表示换行 “/”颜色分隔符 “|”套装的分隔符 “:”套装装备名称和属性之间的分隔符 “-”表示分割线

–物品备注和套装备注支持显示图片-

物品图片显示:

格式:<LOOKS:L:T:X:Y:Z>

L表示物品DB的Looks值

T0表示包裹物品图片 1表示地面物品图片

XY 表示微调坐标

Z0表示不显示背景 1表示显示背景

任意图片显示:

格式:<Img:N:F:X:Y>

N表示播放开始图片

F表示WIL文件序号

X,Y表示微调坐标

动态图片播放:

格式: <PlayImg:F:N:C:T:X:Y:M>

F表示WIL文件序号

N表示播放开始图片

C表示播放张数

T表示播放速度(毫秒)

X,Y表示微调坐标

M是绘制模式0普通绘制 1特效绘制

物品备注例子:

布衣(男)=251/备注描述3\250/备注描述4\

金戒指=-\251/备注描述/250/备注描述/252/备注描述\<PlayImg:32:2070:10:300:0:0:0>

圣战戒指=-\251/备注描述/250/备注描述/252/备注描述\251/备注描述<PlayImg:38:970:10:100:0:0:1>

怒斩=251/备注描述3\250/备注描述4\<Img:991:38>\<PlayImg:38:970:10:100:0:0:1>

斗笠=251/备注描述3\250/备注描述4\<PlayImg:38:970:10:100:0:0:1><looks:344:0:0:0:1>

套装备注例子:

255/布衣套装|2|116/木剑|116/青铜头盔:<looks:344:0:0:0:1><looks:344:0:0:0:1>253/攻魔道提升\<PlayImg:38:970:10:100:0:0:1>

UnbindList.txt(解包文本配置)

客户端自动解包配置,药品数据库的Anicount=打包物品的Shape,这样才可以自动解包

例如:

强效金创药 Anicount=100 超级金创药 Shape=100

疗伤药 Anicount=115 疗伤药包 Shape=115

回城卷 Anicount= 108 回城卷包 Shape= 108

支持2次打包

例如:

可以把“疗伤药包”再次打包

疗伤药包 Anicount= 120 超级疗伤药包 Shape= 120

;物品DB字段Anicount的值 物品名称 解包数量 物品类型(0其他,1加红,2加蓝,3加红蓝,4卷轴)

补充说明

详细说明

100 强效金创药 6 1

101 强效魔法药 6 2

119 强效太阳水 6 3

120 万年雪霜 6 3

102 金创药(小量) 6 1

103 魔法药(小量) 6 2

104 金创药(中量) 6 1

105 魔法药(中量) 6 2

106 地牢逃脱卷 6 4

107 随机传送卷 6 4

108 回城卷 6 4

109 行会回城卷 6 4

UserCmds.txt(自定义用户命令配置)

用户自定义命令

方法一 : M2→查看→列表信息二→用户命令

方法二 :直接修改该文本,但修改后不会直接生效,需重启M2(不推荐)

文本路径: \Mir200\Envir\ UserCmds.txt

人形怪配置

说明

人型怪物设置方法
功能: 人型怪物设置方法
格式: 无
说明: 无
例:
1、在Envir目录下增加MonUseItems目录,放置怪的配置文件,见MonUseItems目录
2、Monster.DB范例:
战士;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;450;1;0;450;5000;
法师;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;750;1;0;750;5000;
道士;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;750;1;0;750;5000;
3、此类怪物支持暴背包物品(MonItems目录下建立暴物品列表),同时支持暴身上物品(MonUseItems目录,见MonUseItems目录)
注意:如果觉得怪物速度太慢!可以自己调节怪物的攻击速度。走动速度。防御等等!!!!增加新怪,RACE=60
示例:
Monster.DB范例:
战士;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;450;1;0;450;5000;
法师;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;750;1;0;750;5000;
道士;60;19;0;198;0;100;5000;0;1000;1000;0;0;0;0;88;45;750;1;0;750;5000;
MonUseItems文件夹下:
道士.TXT
设置内容如下:
[Info]
;职业
Job=2
;性别
Gender=0
;头发
Hair=5
;使用魔法
UseSkill=神圣战甲术,幽灵盾,灵魂火符,施毒术,群体施毒术,无极真气,
;是不是掉背包装备,1=掉,0=不掉
DropItem=1
;掉背包装备几率
DieDropItemRate=10
;是不是掉身上装备,1=掉,0=不掉
DropUseItem=0
;掉身上装备几率
DieDropUseItemRate=10
;是否允许挖取身上装备 1=是,0=否
ButchUseItem=1
;挖取身上装备机率,0为百分百,数字越大,机率越小
ButchItemRate=10
;允许挖取几件装备
ButchItemCount=1
;身体坚韧度,数字越小,挖的时间越长
ButchUseItemBodyLeathery=150
;挖取身上装备收费模式(0不收费,1金币,2元宝,3金刚石,4灵符)不管有没有挖到装备都会收费
ButchChargeClass=0
;挖取身上装备每次收费点数
ButchChargeCount=1
[UseItems]
;衣服
UseItems0=光芒道袍(男)
;武器
UseItems1=玄天
;照明物
UseItems2=
;项链
UseItems3=光芒项链
;头盔
UseItems4=天龙盔
;左手镯
UseItems5=光芒护腕
;右手镯 UseItems6=光芒护腕
;左戒指
UseItems7=光芒道戒
;右戒指
UseItems8=光芒道戒
;物品
UseItems9=护身符(大)
;腰带
UseItems10=光芒腰带
;鞋子
UseItems11=光芒道靴
;宝石
UseItems12=气血石(大)
;斗笠
UseItems13=斗笠
法师.txt
设置如下:
[Info]
;职业
Job=1
;性别
Gender=1
;头发
Hair=1
;使用魔法
UseSkill=雷电术,冰咆哮,抗拒火环,火墙,地狱雷光,圣言术,魔法盾,灭天火,火龙气焰,
;是不是掉背包装备,1=掉,0=不掉
DropItem=1
;掉背包装备几率
DieDropItemRate=10
;是不是掉身上装备,1=掉,0=不掉
DropUseItem=0
;掉身上装备几率
DieDropUseItemRate=10
;是否允许挖取身上装备 1=是,0=否
ButchUseItem=1
;挖取身上装备机率,0为百分百,数字越大,机率越小
ButchItemRate=10
;允许挖取几件装备
ButchItemCount=1
;身体坚韧度,数字越小,挖的时间越长
ButchUseItemBodyLeathery=150
;挖取身上装备收费模式(0不收费,1金币,2元宝,3金刚石,4灵符)不管有没有挖到装备都会收费
ButchChargeClass=0
;挖取身上装备每次收费点数
ButchChargeCount=1
[UseItems]
;衣服
UseItems0=魔法长袍(女)
;武器
UseItems1=镇天
;照明物
UseItems2=
;项链
UseItems3=烈焰项链
;头盔
UseItems4=魔龙盔
;左手镯
UseItems5=烈焰护腕
;右手镯 UseItems6=烈焰护腕
;左戒指
UseItems7=烈焰魔戒
;右戒指
UseItems8=烈焰魔戒
;物品
UseItems9=
;腰带
UseItems10=烈焰腰带
;鞋子
UseItems11=烈焰魔靴
;宝石
UseItems12=气血石(大)
;斗笠
UseItems13=斗笠
战士.txt
设置如下:
[Info]
;职业
Job=0
;性别
Gender=0
;头发
Hair=5
;使用魔法
UseSkill=烈火剑法,半月弯刀,刺杀剑术,狮子吼,彻地钉,擒龙手,
;是不是掉背包装备,1=掉,0=不掉
DropItem=1
;掉背包装备几率
DieDropItemRate=10
;是不是掉身上装备,1=掉,0=不掉
DropUseItem=0
;掉身上装备几率
DieDropUseItemRate=10
;是否允许挖取身上装备 1=是,0=否
ButchUseItem=1
;挖取身上装备机率,0为百分百,数字越大,机率越小
ButchItemRate=10
;允许挖取几件装备
ButchItemCount=1
;身体坚韧度,数字越小,挖的时间越长
ButchUseItemBodyLeathery=150
;挖取身上装备收费模式(0不收费,1金币,2元宝,3金刚石,4灵符)不管有没有挖到装备都会收费
ButchChargeClass=0
;挖取身上装备每次收费点数
ButchChargeCount=1
[UseItems]
;衣服
UseItems0=雷霆战甲(男)
;武器
UseItems1=开天
;照明物
UseItems2=
;项链
UseItems3=雷霆项链
;头盔
UseItems4=圣龙盔
;左手镯
UseItems5=雷霆护腕
;右手镯 UseItems6=雷霆护腕
;左戒指
UseItems7=雷霆战戒
;右戒指
UseItems8=雷霆战戒
;物品
UseItems9=
;腰带
UseItems10=雷霆腰带
;鞋子
UseItems11=雷霆战靴
;宝石
UseItems12=气血石(大)
;斗笠
UseItems13=斗笠

地图文件说明

地图文件总目录

注意:

服务端地图必须跟客户端地图一致,否则可能会导致空气墙的问题

怪物顶戴花翎配置

NPC顶戴花翎配置

参数介绍:参数1 参数2 参数3 参数4 参数5 参数6 参数7

参数1:WIL文件序号

参数2: 图片序号(0-65535)

参数3: 播放张数

参数4: X(为空时默认X=0)

参数5: Y(为空时默认Y=0)

参数6: 播放效果(0普通1特效)

参数7:播放速度(毫秒,为空时速度为300毫秒)

参数8:播放次数(0或为空时表示无限次数)

补充说明

详细说明

参数9:播放顺序(0角色上面 1角色下面)

说明:

X:\MirServer\Mir200\Envir\MonIcons\白野猪.txt 没有文件自己新建

配置示例:

3 1 5 0 -30

新沙巴克配置

[Setup] CastleName=沙巴克 OwnGuild= ChangeDate=2015-06-13 22:06:42 WarDate=2015-06-13 22:06:42 IncomeToday=2017-08-29 15:36:35 TotalGold=0 TodayIncome=0 [Defense] CastleMapList=new0151,new0152,new0153,new0154,new0155,new0156,new01571,new01581, CastleMap=n3 CastleHomeMap=n3 CastleHomeX=644 CastleHomeY=290 CastleWarRangeX=100 CastleWarRangeY=100 CastlePlaceMap=new0150 CastleSecretMap=nd701 CastlePalaceDoorX=630 CastlePalaceDoorY=283 MainDoorX=673 MainDoorY=330 MainDoorName=MainDoor MainDoorOpen=1 MainDoorHP=10000 LeftWallX=610 LeftWallY=272 LeftWallName=LeftWall LeftWallHP=5000 CenterWallX=620 CenterWallY=265 CenterWallName=CenterWall CenterWallHP=5000 RightWallX=613 RightWallY=272 RightWallName=RightWall RightWallHP=5000 Archer_1_Name=弓箭手 Archer_1_X=619 Archer_1_Y=259 Archer_1_HP=2000 Archer_2_Name=弓箭手 Archer_2_X=617 Archer_2_Y=261 Archer_2_HP=2000 Archer_3_Name=弓箭手 Archer_3_X=615 Archer_3_Y=263 Archer_3_HP=2000 Archer_4_Name=弓箭手 Archer_4_X=613 Archer_4_Y=265 Archer_4_HP=2000 Archer_5_Name=弓箭手 Archer_5_X=666 Archer_5_Y=328 Archer_5_HP=2000 Archer_6_Name=弓箭手 Archer_6_X=664 Archer_6_Y=331 Archer_6_HP=2000 Archer_7_Name=弓箭手 Archer_7_X=661 Archer_7_Y=334 Archer_7_HP=2000 Archer_8_Name=弓箭手 Archer_8_X=677 Archer_8_Y=319 Archer_8_HP=2000 Archer_9_Name=弓箭手 Archer_9_X=679 Archer_9_Y=316 Archer_9_HP=2000 Archer_10_Name=弓箭手 Archer_10_X=682 Archer_10_Y=313 Archer_10_HP=2000 Archer_11_Name=弓箭手 Archer_11_X=676 Archer_11_Y=331 Archer_11_HP=2000 Archer_12_Name=弓箭手 Archer_12_X=673 Archer_12_Y=334 Archer_12_HP=2000 Guard_1_Name=护卫 Guard_1_X=671 Guard_1_Y=334 Guard_1_HP=2000 Guard_2_Name=护卫 Guard_2_X=675 Guard_2_Y=330 Guard_2_HP=2000 Guard_3_Name=护卫 Guard_3_X=670 Guard_3_Y=335 Guard_3_HP=2000 Guard_4_Name=护卫 Guard_4_X=674 Guard_4_Y=332 Guard_4_HP=2000

服务端表结构

Excel表结构详细说明

表单存放路径:\Mir200\Envir\Data

引擎服务端只读取以下表格,服务端表格相关TXT及DB文件引擎不会读取

如果发现表格无效的情况,请打开该表格另存为(97~2003).xls格式

原始表格

表 名说 明备 注
cfg_item.xls装备道具表(原StdItems.DB)参照表对应字段进行配置
cfg_magic.xls技能表(原Magic.DB)参照表对应字段进行配置
cfg_monster.xls怪物表(原Monster.DB)参照表对应字段进行配置
cfg_redpoint.xls红点表配置方法及说明
cfg_level.xls基础等级属性配置表(原Exps.ini)参照表对应字段进行配置(优先读表)
cfg_JobAction.xls自定义职业动作表参照表对应字段进行配置
cfg_JobActionZ.xls自定义动作8方向层级表参照表对应字段进行配置

沙巴克配置

服务端路径:Mir200\Castle\0

SabukW.txt

如果使用 3.map 老土城 怪物数据库的外观形象ID, appr字段,沙巴克皇宫城墙 是 901,902,903

老配置文件

如果使用 n3.map 新土城 怪物数据库的外观形象ID, appr字段,新沙巴克皇宫城墙 是 904,905,906

* 新配置文件

爆率格式

爆率配置说明

爆率配置1和2都可以混用

路径:\Mir200\Envir\MonItems

创建cfg_monster.xls怪物name字段文本文件进行配置(如:鸡.txt)

爆率设置方式一:(传统设置)

文件位置

【\Mir200\Envir\MonItems\】

内容格式

格式:几率 物品名称 (数量)数量针对金币

使用示例

补充说明

详细说明

1/1 万年雪霜

1/1 金币 10000

爆率设置方式二:(新格式)

文件位置

【\Mir200\Envir\MonItems\】

内容格式

格式:#CHILD 几率 RANDOM //里面的爆率设置要使用()包围起来

使用说明

完整脚本代码

#CHILD 固定命令不能更改
几率 当符合几率条件时才会执行()里的爆率设置
RANDOM 固定值,当加入该条件后,()里的爆率设置几率将无效,系统而是从()里随机抽取一件物品爆出
使用示例
#CHILD 1/1 RANDOM
(
1/1 圣殿之刃
1/1 圣殿宝甲
)
新爆率设置的主要应用特色说明
在传统的爆率设置中,由于爆率随机性的缺点,对于爆出的物品无法精确控制。
例如:
1/4 天尊头盔
1/4 天尊项链
1/4 天尊手镯
1/4 天尊戒指
以上设置,在怪物爆出物品时无法控制每次只爆出一件,系统有可能爆出两件或四件,也有可能一件都不爆。
新方式一:
#CHILD 1/1 RANDOM
(
1/1 天尊头盔
1/1 天尊项链
1/1 天尊手镯
1/1 天尊戒指
)
使用这种方式后,可以确保每次只随机爆出其中的一件物品。
新方式二:
#CHILD 1/2
(
1/1 天尊头盔
1/1 天尊项链
1/1 天尊手镯
1/1 天尊戒指
)
使用这种方式后,子爆率有效,二分之一几率进入然后按子爆率爆出物品。
注:两种新格式可同时使用,也可以单独使用,同时使用需要底部为双刮号(只需一种就不需要双刮号),下面示列:
1/1 二级金针
1/1 解读卷轴
1/1 超强魔法药
1/15 半月弯刀
1/60 地狱雷光
1/3000 困魔咒
1/10 野蛮冲撞
1/60 魔法盾
1/10 降妖除魔戒指
;当CHILD 指定RANDOM后,表示从下面随机取一个(中间的几率设置无效),子项的几率无效
#CHILD 1/1 RANDOM
(
1/1 天尊头盔
1/1 天尊项链
;当CHILD不指定RANDOM后,根据几率爆下 面的物品,子项爆率有效
#CHILD 1/2
(
1/100 火球术
1/1 治愈术
1/1 基本剑术
1/1 精神力战法
)
)
====================================以下是采用#call设置怪物爆率==========================================
》》》》》》》》》》》》》白野猪.txt
#CALL [\\爆率系统\基础爆率.txt] @药水
-以上是怪物爆率文件中白野猪设置–
》》》》》》》》》》》》》
D:\MirServer\Mir200\Envir\QuestDiary\爆率系统\基础爆率.txt
[@药水]
{
#CHILD 1/1 RANDOM
(
1/1 超强金创药
1/1 超强魔法药
1/1 太阳水
)
}
–以上是CALL路径的基础爆率设置–

禁止系列文本

DenyAccountList.txt ─── 禁止登陆帐号列表

DenyChrNameList.txt ─── 禁止登陆人物列表

DenyIPAddrList.txt ─── 禁止登陆IP列表

DenyIPLocalList.txt ―― 禁止IP本地列表

DenyMachineIDList.txt ─── 禁止登陆机器码列表

DisableMakeItem.txt ─── 禁止制造物品列表

DisableMoveMap.txt ─── 禁止移动地图列表

DisableSendMsgList.txt ─── 禁止发言人物列表

DisableTakeOffList.txt ─── 禁止取下物品列表

方法一 :M2-查看-列表信息

补充说明

详细说明

方法二: 直接修改该文本,但修改后不会直接生效,需重启M2

管理NPC

系统默认NPC

路径:\Mir200\Envir\Npc_Def

比奇国王(创建行会)

管理人员(沙巴克)

老人(查看沙巴克攻城时间)

精准爆率格式

说明

;支持老爆率和精准爆率混合使用,都支持物品名称后面加上QF触发
;功能:杀死怪物时,触发QF脚本 检测人物数据后决定是否爆出物品
;命令:ALLOWDROP 参数1 (默认参数1=0)
;参数1: 0=不允许掉落物品 1=允许掉落物品
;常量:<$CURRTEMNAME> 杀死怪物正在爆出的物品名称
;触发:在爆率中装备名字后面加|@触发字段 如:1/10 开天|@爆开天触发检测
;1/10 强效魔法药|@爆稀有装备检测 触发规则: 需要命中这1/10几率 才到触发QF里的 @爆稀有装备检测 这个字段
;精准爆率有两中语句 #CASE和#IF
;不支持自定义变量,其他变量都支持
;一但加上触发,该物品,如果是被大刀或弓箭手等等非人物杀死的是不会爆的,因为只有人物才能触发脚本,人物杀死的才会根据脚本是否爆出
1/10 强效魔法药|@爆稀有装备检测
1/1 强效金创药
1/1 强效金创药
1/2 强效金创药
1/3 强效金创药
1/4 强效金创药
1/4 强效金创药
;–CASE用法 检测N10变量–
#CASE N10|1 RANDOM
;-CASE用法 检测N10等于100时爆物品,一但触发该爆率时N10变量值“|”后面值参数,参数=1 清空变量 参数=0 不清空 默认不清空 (“RANDOM”该参数可选,可以加或者不加,如果加上“RANDOM”表示在括号里随机抽取一个物品爆出,括号里的几率也无效)
100
(
1/1 太阳水|@爆稀有装备检测
1/1 木剑|@爆稀有装备检测
1/1 S10|@爆稀有装备检测
;物品名称也支持变量,必须是字符变量,每次物品爆出后,该变量清空
)
;-CASE用法 检测N10等于101时爆物品,一但触发该爆率时N10变量值自动归0,如果是字符变量自动为空
101
(
1/1 回城卷
1/1 随机传送卷
1/1 A10
;物品名称也支持变量,必须是字符变量,每次物品爆出后,该变量清空
)
;-CASE用法 检测N10等于102时爆物品,一但触发该爆率时N10变量值自动归0,如果是字符变量自动为空
102
(
1/1 强效太阳水
1/1 A11
;物品名称也支持变量,必须是字符变量,每次物品爆出后,该变量清空
)
;–CASE用法 检测M10变量–
#CASE M10
;-CASE用法 检测M10等于10时爆物品,一但触发该爆率时M10变量值自动归0,如果是字符变量自动为空
10
(
1/1 重盔甲(男)
1/1 重盔甲(女)
1/1 S100
;物品名称也支持变量,必须是字符变量,每次物品爆出后,该变量清空
)
;-CASE用法 检测M10等于11时爆物品,一但触发该爆率时M10变量值自动归0,如果是字符变量自动为空
11
(
1/1 魔法长袍(男)
1/1 魔法长袍(女)
)
;-CASE用法 检测M10等于12时爆物品,一但触发该爆率时M10变量值自动归0,如果是字符变量自动为空
12
(
1/1 灵魂战衣(男)
1/1 灵魂战衣(女)
)
;–IF用法 检测N20变量 大于100 并且小于110
;–检测符号支持 大于:> 小于:< 等于:= 不等于:<> 大于等于:>= 小于等于:<= 如果是字符变量只支持等于和不等于两个检测符
;–#IF [N20 > 100, N20 < 110|参数] 参数=1 清空变量 参数=0 不清空 默认不清空 (“RANDOM”该参数可选,可以加或者不加,如果加上“RANDOM”表示在括号里随机抽取一个物品爆出,括号里的几率也无效)

完整脚本代码

#IF [N20 > 100, N20 < 110|1] RANDOM
(
1/1 井中月|@爆稀有装备检测
1/1 炼狱|@爆稀有装备检测
1/1 A110
1/1 A111
1/1 S100
;物品名称也支持变量,必须是字符变量,每次物品爆出后,该变量清空
)
;–IF用法 检测N21变量 大等于100时爆物品,一但触发该爆率时N21变量值自动归0,如果是字符变量自动为空
#IF [N21 >= 100]
(
1/1 裁决之杖
1/1 魔杖
)
;–IF用法 检测N22变量 大于100时爆物品,一但触发该爆率时N22变量值自动归0,如果是字符变量自动为空
#IF [N22 > 100]
(
1/1 骨玉权杖
)
;–IF用法 检测N23变量等于100时爆物品,一但触发该爆率时N23变量值自动归0,如果是字符变量自动为空
#IF [N23 = 100]
(
1/1 无极棍
)
例子1:
QF中脚本例子:
[@爆稀有装备检测]
#OR
equal <$CURRTEMNAME> 屠龙
equal <$CURRTEMNAME> 嗜魂法杖
equal <$CURRTEMNAME> 裁决之杖
#act
goto @爆出稀有装备条件检测
break
[@爆出稀有装备条件检测]
#if
large U3 1999
#act
;U3充值记录大于2000元,则允许此物品掉落
ALLOWDROP 1
break
#elseact
;小于2000,不允许掉落
ALLOWDROP 0

新建项目

[Setup] CastleName=沙巴克 ChangeDate=2019-6-20 16:45:20 WarDate=2019-6-20 16:45:20 IncomeToday=2019-6-20 16:45:20 TotalGold=500 TodayIncome=500 OwnGuild= [Defense] CastleMapList=0151,0152,0153,0154,0155,0156, CastleMap=3 CastleHomeMap=3 CastleHomeX=644 CastleHomeY=290 CastleWarAreaHomeMap=3 CastleWarAreaHomeX=330 CastleWarAreaHomeY=330 CastleWarRangeX=100 CastleWarRangeY=100 CastlePlaceMap=0150 CastleSecretMap=D701 CastlePalaceDoorX=631 CastlePalaceDoorY=274 MainDoorX=672 MainDoorY=330 MainDoorName=城门 LeftWallX=624 LeftWallY=278 LeftWallName=左城墙 CenterWallX=627 CenterWallY=278 CenterWallName=中城墙 RightWallX=634 RightWallY=271 RightWallName=右城墙 Archer_1_X=662 Archer_1_Y=333 Archer_1_Name=弓箭手 Archer_1_HP=2000 Archer_2_X=664 Archer_2_Y=331 Archer_2_Name=弓箭手 Archer_2_HP=2000 Archer_3_X=666 Archer_3_Y=329 Archer_3_Name=弓箭手 Archer_3_HP=2000 Archer_4_X=676 Archer_4_Y=319 Archer_4_Name=弓箭手 Archer_4_HP=2000 Archer_5_X=678 Archer_5_Y=317 Archer_5_Name=弓箭手 Archer_5_HP=2000 Archer_6_X=681 Archer_6_Y=314 Archer_6_Name=弓箭手 Archer_6_HP=2000 Archer_7_X=628 Archer_7_Y=271 Archer_7_Name=弓箭手 Archer_7_HP=2000 Archer_8_X=632 Archer_8_Y=267 Archer_8_Name=弓箭手 Archer_8_HP=2000 Archer_9_X=670 Archer_9_Y=335 Archer_9_Name=弓箭手 Archer_9_HP=2000 Archer_10_X=671 Archer_10_Y=334 Archer_10_Name=弓箭手 Archer_10_HP=2000 Archer_11_X=675 Archer_11_Y=330 Archer_11_Name=弓箭手 Archer_11_HP=2000 Archer_12_X=676 Archer_12_Y=329 Archer_12_Name=弓箭手 Archer_12_HP=2000 Archer_13_X=583 Archer_13_Y=335 Archer_13_Name=弓箭手 Archer_13_HP=2000 Archer_14_X=584 Archer_14_Y=335 Archer_14_Name=弓箭手 Archer_14_HP=2000 Archer_15_X=585 Archer_15_Y=336 Archer_15_Name=弓箭手 Archer_15_HP=2000 Archer_16_X=581 Archer_16_Y=332 Archer_16_Name=弓箭手 Archer_16_HP=2000 Archer_17_X=580 Archer_17_Y=331 Archer_17_Name=弓箭手 Archer_17_HP=2000 Archer_18_X=581 Archer_18_Y=333 Archer_18_Name=弓箭手 Archer_18_HP=2000 Archer_19_X=677 Archer_19_Y=239 Archer_19_Name=弓箭手 Archer_19_HP=2000 Archer_20_X=676 Archer_20_Y=238 Archer_20_Name=弓箭手 Archer_20_HP=2000 Archer_21_X=675 Archer_21_Y=237 Archer_21_Name=弓箭手 Archer_21_HP=2000 Archer_22_X=674 Archer_22_Y=236 Archer_22_Name=弓箭手 Archer_22_HP=2000 Archer_23_X=673 Archer_23_Y=235 Archer_23_Name=弓箭手 Archer_23_HP=2000 Archer_24_X=672 Archer_24_Y=234 Archer_24_Name=弓箭手 Archer_24_HP=2000 Guard_1_X=652 Guard_1_Y=323 Guard_1_Name=守卫 Guard_1_HP=0 Guard_2_X=665 Guard_2_Y=310 Guard_2_Name=守卫 Guard_2_HP=1000 Guard_3_X=657 Guard_3_Y=306 Guard_3_Name=守卫 Guard_3_HP=1000 Guard_4_X=650 Guard_4_Y=315 Guard_4_Name=守卫 Guard_4_HP=1000 Guard_5_X=666 Guard_5_Y=246 Guard_5_Name=守卫 Guard_5_HP=1000 Guard_6_X=668 Guard_6_Y=247 Guard_6_Name=守卫 Guard_6_HP=1000 Guard_7_X=591 Guard_7_Y=324 Guard_7_Name=守卫 Guard_7_HP=1000 Guard_8_X=589 Guard_8_Y=322 Guard_8_Name=守卫 Guard_8_HP=1000 MainDoorOpen=1 MainDoorHP=10000 LeftWallHP=5000 CenterWallHP=5000 RightWallHP=5000

调用脚本说明

调用文本文件说明

路径:\Mir200\Envir\QuestDiary

文本调用命令#CALL 根目录在QuestDiary文件夹下

示例:

完整脚本代码

#CALL [\NPC\shili.txt] @Settings
;调用QuestDiary\npc文件夹下shili.txt目录下的@Settings字段
shili.txt文本格式
[@Settings]
{
#if
#ACT
sendmsg 7 调用文本消息成功!!!
}

NPC名称支持全局A变量设置

MerChant.txt 里面,只支持A变量,必须输入包含括号的的完整变量格式,如下

测试 3 330 336 A100 0 8 0

NPC对话框内创建输入框

说明

INPUTTEXT :输入框ID:X:Y:宽度:高度:背景色:边框色:文字颜色:最小长度:最大长度:数据无效时提示对话框内容:提示文字:提示文字颜色
输入框ID: 1-9
背景色:-1为透明,0-255
边框色:-1为无边框, 0-255
最小长度,最大长度,为0表示不判断
INPUTNUM:输入框ID:X:Y:宽度:高度:背景色:边框色:文字颜色:最小值:最大值:数据无效时提示对话框内容:提示文字:提示文字颜色
输入框ID: 1-9
背景色:-1为透明,0-255
边框色:-1为无边框, 0-255
最小值,最大值:同时为0表示不限,否则最小值必须 <= 最大值
以上2个命令:“数据无效时提示对话框内容”为空时,客户端不检查数据有效性。
示范:

完整脚本代码

[@main]
姓名:<INPUTTEXT:1:0:0:80:15:0:249:255:4:10:姓名必须在4-10位长:输入姓名:160> \
年龄:<INPUTNUM:2:0:2:80:15:0:249:255:1:100:年龄必须输入1-100之间的数字:输入年龄:160> \
性别:<INPUTNUM:3:0:4:80:15:0:249:255:0:1:性别必须输入0或1:男(0)-女(1):160> \
<text:只提交姓名年龄:10:6:1,2/@提交部分>\
<Img:130:1:0:4:1,2|249#将所有输入框的内容全提交/@提交部分>\
<全部提交/@全部提交>
使用IMG或者IMGEX或PLAYIMG提交输入框数据时,如果不指定哪个输入框,是不会提交数据的,例如:
<ImgEx:0:120:121:122:0:0:1,2|254#996引擎官方网站:^253#www.996m2.com/@提交部分>\
就是提交输入框1和2,如果不写,例如
<ImgEx:0:120:121:122:0:0|254#996引擎官方网站:^253#www. 996m2 .com/@提交部分>\
这样就不会提交输入框数据的
[@全部提交]
#act
;;;;;;★★★★★★★★★★★★★★★★★★★★★★★★★★这里别忘了对输入的数据有效性判断。。。
SendMsg 5 输入的姓名为 <$NPCINPUT(1)>
SendMsg 5 输入的年龄为 <$NPCINPUT(2)>
SendMsg 5 输入的性别为 <$NPCINPUT(3)>
[@提交部分]
#act
;;;;;;★★★★★★★★★★★★★★★★★★★★★★★★★★这里别忘了对输入的数据有效性判断。。。
SendMsg 5 输入的姓名为 <$NPCINPUT(1)>
SendMsg 5 输入的年龄为 <$NPCINPUT(2)>
SendMsg 5 输入的性别为 <$NPCINPUT(3)>
;
注: 如果留空要通过检测不想提示的请用空格。
姓名:< INPUTTEXT :1:0:0:80:15:0:249:255:0:0: : :160>\
;
INPUTTEXT
INPUTNUM 有非法字符,全是触发 @inputboxFilter
[@InputBoxFilter]
#ACT
SendMsg 5 输入了非法字符

NPC对话框显示物品图片 显示物品属性

=================================在NPC对话框里显示物品图片,鼠标放上去可以显示物品的属性===================================================

M2-查看-列表信息二-内挂捡取。最下面那个“物品数据库不发送到登陆器”这个选项,如果你勾选了

请配置登陆器的时候,点击集成特殊文件,把物品数据库集成。否则就不要勾选

<ItemShow:D:F:X:Y:B>

d= 物品ID

F= 数量(如果为0 就不会显示数量)

X Y = 微调坐标 排版的

B=是否显示背景图片 在必备补丁的47号图片

鼠标放上去显示物品属性。类似<Img>图标的用法

NPC彩色字体设置[!]

NPC彩色字体设置

功能: NPC彩色字体设置

格式: 无

说明: 无

例:

变量字符颜色{<$USERNAME>/FCOLOR=254}\

变量字符自动变色{<$USERNAME>/AUTOCOLOR=254,251,168,191,250,70,245,249,253}\

<字体颜色/FCOLOR=69>\

<自动变色/AUTOCOLOR=254,251,168,191,250,70,245,249,253>\

<可以触发字段颜色{FCOLOR=250}/@跳转1>\

补充说明

详细说明

<可以触发自动变色{AUTOCOLOR=254,251,168,191,250,70,245,249,253}/@跳转2>\

NPC标签备注功能[!]

功能:

NPC标签备注功能

格式:#颜色分隔符 ^换行符

[@main]

<996引擎官方网站|253#996引擎官方网站:^254#www.996m2.com>\

<996引擎官方网站|249#996引擎官方网站:^250#www.996m2.com/@打开>\

<Img:210:3:0:0|254#996引擎官方网站:^253#www.996m2.com>\

NPC自动变色[!]

;脚本名称 地图名称 X坐标 Y坐标 NPC名称 标志 形象 是否属于沙 是否移动 移动间隔 是否允许变色 变色速度(秒)

NewopUI.Jpk文件说明[!]

原始说明 / 数据

NewopUI.Jpk文件为登录器必备补丁,如果没有登录器无法正常启动。
可以使用我们提供的专用WIL编辑器打开编辑。该文件格式支持密码功能。
NewopUI.Jpk文件密码为空或者输入996M2.COM
00108~00163 个人商店相关图片
00180~00193 仿HeroM2摆摊相关图片
00210~00225 黑夜白天功能相关的图片
00732~0748 配置器选择连击版,登录窗口图片
01370~01375是1024界面相关图片(配置器的 显示1024的界面 不勾选就不会使用这些图片)
血条
00170 血条背景
00171 人物血条
00172 高亮血条
00173 内功血条
00174 NPC血条
00175 怪物血条
00176 大刀、弓箭手血条
雷达
00240 自己
00241 其他人
00242 我的英雄
00243 NPC
00244 怪物
00245 大刀、弓箭手
00470~00475 是1.76和1.85登录界面
以上如果有不使用的功能,可以用编辑器把相关图片删除,减小登录器的大小。删除图片时,编辑器选择用空图片代替不是删除

人物在线改名系统

–人物在线改名

完整脚本代码

[@Main]
<我要改名/@@InputString2(请输入新的名称:)>>\
[@InputString2]
#if
#act
MOV S2 <$NPCPARAMS(1,S2)>
#IF
Equal S2
#ACT
SENDMSG 6 请输入一个正确的名称
Break
#OR
CheckStringlength S2 > 20
CheckStringlength S2 < 4
#ACT
SENDMSG 6 输入名称长度不正确
Break
#IF
#ACT
CHANGEHUMNAME S2
QFunction-0.txt脚本相关触发
[@QueryingHumName]
正在查询请稍后。。。\ \
<关闭/@exit>\
[@ChangeingHumName]
正在修改请稍后。。。\ \
<关闭 /@exit>\
[@QueryHumNameOK]
查询成功,该名称可以使用\ \
<关闭/@exit>\
[@ChangeingHumName]
正在修改请稍后。。。\ \
<关闭/@exit>\
[@ChangeHumNameOK]
#ACT
;这个命令是用来修改,你的变量保存文件和人物名称列表文件里面的人物名称的,如果没有这些可以不使用这个命令
;这个命令也只能放在这个地方,放其他地方无效
CHANGEHUMNAMEFILE ..\QuestDiary\变量文件\HQCQASave.txt
CHANGEHUMNAMEFILE ..\QuestDiary\会员名称.txt
#SAY
你的名字修改成功,旧名称:<$USERNAME> 新名称:<$USERNEWNAME>!\ \
<关闭/@exit>\
[@NameLengthFail]
名字长度不允许超过30个字符!\ \
<关闭/@exit>\
[@HumNameFilter]
该名字存在非法字符!\ \
<关闭/@exit>\
[@HumNameExists]
该名字已经被其他玩家占用,请选择其他名字\ \
<关闭/@exit>\
[@ChangeHumNameFail]
改名失败!\ \
<关闭/@exit>\

人物英雄等级属性调整

D:\MirServer\Mir200\!Setup.txt

[Setup]

LevelValueOfTaosHP=6

LevelValueOfTaosHPRate=2.5

LevelValueOfTaosMP=8

LevelValueOfWizardHP=15

LevelValueOfWizardHPRate=1.8

LevelValueOfWarrHP=4

LevelValueOfWarrHPRate= 4.5

;以下是英雄的

补充说明

详细说明

HeroLevelValueOfTaosHP=6

HeroLevelValueOfTaosHPRate=2.5

HeroLevelValueOfTaosMP=8

HeroLevelValueOfWizardHP=15

HeroLevelValueOfWizardHPRate=1.8

HeroLevelValueOfWarrHP=4

HeroLevelValueOfWarrHPRate= 4.5

伤害吸收装备设置

功能: 伤害吸收装备设置

格式: 无

说明: 无

例: Shape=188

Source 吸伤百分率(1即吸伤1%,超过100%,程序按100%计算)

*武器、衣服 不可以设置

内挂自动挂机[!]

内挂自动挂机使用说明:

使用快捷键CTRL+ALT+X或点击挂机按钮会触发QF里的[@StartAutoPlayGame]

停止挂机触发QF里的[@StopAutoPlayGame]

格式:

StartAutoPlayGame 参数1 参数2 参数3

参数1:挂机范围(挂机点以人物当前坐标生成范围)

参数2:2个挂机点之间的距离(登录器会根据该参数自动生成挂机点,该值可以控制挂机点的密度)

参数3:模式(0=需要用户设置挂机点,否则无法挂机,1=如果用户没有设置挂机点,会自动生成挂机点, 2=不管有没有用户有没有设置挂机点都会清空所有挂机点,然后自动生成挂机点)

完整脚本代码

[@StartAutoPlayGame]
#IF
CHECKMAPNAME 0
#ACT
SENDMSG 6 当前地图禁止挂机
break
#IF
#ACT
StartAutoPlayGame 100 60 1
SENDMSG 6 开始挂机,使用快捷键“CTRL+ALT+X”停止挂机
[@StopAutoPlayGame]
#ACT
SENDMSG 6 挂机结束,使用快捷键“CTRL+ALT+X”开始挂机
―――――――――――――――――――――――――――――――――――――――――脚本命令停止挂机―――――――――
[@main]
#IF
#ACT
StopAutoPlayGame
SENDMSG 6 命令停止挂机,使用快捷键“CTRL+ALT+X”开始挂机
;防外挂调用挂机触发
;前端调用了挂机,引擎没执行过挂机会走这个触发,并累加<$AUTOPLAYGAMEERR>常量次数,GM可以通过这个次数来做出处罚.
;引擎默认也会有处罚。
[@AutoPlayGameErr]
#IF
LARGE <$AUTOPLAYGAMEERR> 4
#ACT
;清理挂机异常常量次数,挂机异常常量的次数只有小退和执行这个命令才可以清除。
;启用惩罚并清零
;CLEARAUTOPLAYGAMEERR
SENDMSG 7 挂机常量大于5,执行处罚。
;不惩罚
;CLEARAUTOPLAYGAMEERR 1

动态创建镜像地图

动态创建一个镜像地图

ADDMIRRORMAP

格式:AddMirrorMap A B C D E F

功能:动态创建一个镜像地图

说明:创建成功后,人物D99变量返回1,否则返回0

A,原地图编号,在地图配置文件中存在的地图!

B,新地图编号,临时使用的地图编号,就和镜像地图功能一样!

C,新地图名,这里指客户端显示的名字

D,该地图存在的有效时长(秒),时间到后,此地图将自动回收,并且将地图上的人传送至E参数设置的地图

E,人物退出时返回的地图编号 该地图不能是动态创建的地图,也就是不能是ADDMIRRORMAP命令创建的地图

补充说明

详细说明

F, 小地图编号

DelMirrorMap

格式:DelMirrorMap 地图名

功能:删除动态创建的镜像地图

MirrorMapTime

格式:MirrorMapTime 地图名 时间(单位:秒)

功能:设置/获取镜像地图的时间

说明:如果时间不写,则表示获取当前地图的剩余时间,时间返回在D99变量

如果获取地图失败或不是镜像地图,则D99返回-1

CheckMirrorMap

格式:CheckMirrorMap 地图名

功能:检测镜像地图是否已经创建

叠加功能

叠加功能 功能:多个物品放到一格

格式:无

说明:物品重叠功能不能使用在拥有持久、属性、品质、纯度等物品上。StdMode等于 0, 2, 3, 40, 41, 42 ,31

例:

打包物品叠加 StdMode=31 Source= 0 OverLap= 1或2

物品重叠功能,StdItem.DB 中OverLap=1、2、3 表示可以重叠 0不叠加。DuraMax字段表示可以叠加的数量 必须大于1.例如:DuraMax=100表示可以叠加100个

OverLap=1 重量=重叠数量*单物品重量/10

OverLap=2 重量=重叠数量*单物品重量

OverLap= 3 重量= 物品重量(不管叠加多少个,物品重量不变)

收回物品 take 1 数字自己看着办喽

补充说明

详细说明

检测多少个 查看持久即可

可视化仓库

=====================================可视化仓库=============================================

可视化仓库总共5个仓库,除了默认的一个仓库外,其他4个仓库,需要脚本命令开通

openStorage 打开可视化仓库

;SETSTORAGEOPEN 参数1(仓库序号(2,3,4,5)) 参数2(开启或关闭(1,0))

;支持自由调整仓库坐标

OpenStorageView 1 打开可视化仓库

OpenStorageView 0 打开普通仓库

支持坐标调整打开窗口的位置,格式为:OpenStorageView 0/1 坐标x 坐标 y

;

;仓库二未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段

完整脚本代码

[@StorageOpenFail2]
#IF
#ACT
MESSAGEBOX 仓库二无法打开,单击确认后开启 @开启仓库二 @取消
[@开启仓库二]
#IF
CHECKGAMEGOLD > 99
#ACT
GAMEGOLD – 100
SETSTORAGEOPEN 2 1
;开启仓库二命令
MESSAGEBOX 仓库二已解锁
#ELSEACT
MESSAGEBOX 元宝不够
;
;仓库三未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段
[@StorageOpenFail3]
#IF
#ACT
MESSAGEBOX 仓库三无法打开,单击确认后开启 @开启仓库三 @取消
[@开启仓库三]
#IF
CHECKGAMEGOLD > 99
#ACT
GAMEGOLD – 100
SETSTORAGEOPEN 3 1
;开启仓库三命令
MESSAGEBOX 仓库三已解锁
#ELSEACT
MESSAGEBOX 元宝不够
;
;仓库四未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段
[@StorageOpenFail4]
#IF
#ACT
MESSAGEBOX 仓库四无法打开,单击确认后开启 @开启仓库四 @取消
[@开启仓库四]
#IF
CHECKGAMEGOLD > 99
#ACT
GAMEGOLD – 100
SETSTORAGEOPEN 4 1
;开启仓库二命令
MESSAGEBOX 仓库四已解锁
#ELSEACT
MESSAGEBOX 元宝不够
;
;仓库五未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段
[@StorageOpenFail5]
#IF
#ACT
MESSAGEBOX 仓库五无法打开,单击确认后开启 @开启仓库五 @取消
[@开启仓库五]
#IF
CHECKGAMEGOLD > 99
#ACT
GAMEGOLD – 100
SETSTORAGEOPEN 5 1
;开启仓库三命令
MESSAGEBOX 仓库五已解锁
#ELSEACT
MESSAGEBOX 元宝不够

地图参数表

原始表格

地图参数标志说明
SAFE安全地图
CHECKQUEST进入本地图执行任务脚本 格式:CHECKQUEST(Q001) 说明: Q001 代表脚本名。
NEEDSET_ON进入本地图需要人物指定标志为打开状态 格式:NEEDSET_ON(001) 说明:001 代表人物标志
NEEDSET_OFF进入本地图需要人物指定标志为关闭状态 格式:NEEDSET_OFF(001) 说明:001 代表人物标志
MUSIC进入入本地图播放音乐 格式:MUSIC(Wav\bg.mp3) 或者 MUSIC(Wav\sellect-loop2.wav)代表客户端Wav目录下的sellect-loop2.wav文件
EXPRATE进入本地图后杀怪经验倍数 格式:EXPRATE(100) 说明:100代表经验倍数,除以100后为实际倍数。
PKWINLEVEL进入本地图后可以PK升级 格式:PKWINLEVEL(1) 说明:1代表升多少级;
PKWINEXP进入本地图后可以PK得经验 格式:PKWINEXP(1000) 说明:1000代表得多少经验;
PKLOSTLEVEL进入本地图后可以PK死亡掉等级 格式:PKLOSTLEVEL(1) 说明:1代表掉多少等级;
PKLOSTEXP进入本地图后可以PK死亡掉经验 格式:PKLOSTEXPP(1000) 说明:1000代表掉多少经验;
DECHP进入本地图后自动减HP 格式:DECHP(1/10) 说明 1/10 1代表减的间隔(秒),10代表一次减多少点;
INCHP进入本地图后自动加HP 格式:INCHP(1/10) 说明 1/10 1代表减的间隔(秒),10代表一次加多少点;
DECGAMEGOLD进入本地图后自动减游戏币 格式:DECGAMEGOLD(1/10) 说明 1/10 1代表减的间隔(秒),10代表一次减多少点;
INCGAMEGOLD进入本地图后自动加游戏币 格式:INCGAMEGOLD(1/10) 说明 1/10 1代表加的间隔(秒),10代表一次加多少点;
INCGAMEPOINT进入本地图后自动加游戏点 格式:INCGAMEPOINT(1/10) 说明 1/10 1代表加的间隔(秒),10代表一次加多少点;(用于游戏泡点功能)
DECMONEY进入本地图后自动减游戏币 格式:DECMONEY(元宝/1/10/@XX) 说明 货币名称或ID/1/10 1代表减的间隔(秒),10代表一次减多少点;触发QFunction-0.txt [@XX] XX可以随便写对应就好
INCMONEY进入本地图后自动加游戏币 格式:INCMONEY(元宝/1/10/@XX) 说明 货币名称或ID/1/10 1代表加的间隔(秒),10代表一次加多少点;触发QFunction-0.txt [@XX] XX可以随便写对应就好
RUNMON允许穿怪
RUNHUMAN允许穿人
NORUNMON禁止穿怪
NORUNHUMAN禁止穿人
NEEDHOLE进入需要洞
NORECALL禁止记忆召唤
NOGUILDRECALL禁止行会召唤
NODEARRECALL禁止夫妻召唤
NOMasterRECALL禁止师徒传送
NORANDOMMOVE禁止使用瞬息移动
NODRUG禁止吃药
MINE可以挖矿
NODEAL禁止交易
NOPOSITIONMOVE禁止定座标移动
NORECONNECT进游戏时退出本地图 格式:NORECONNECT(3) 说明:3 代表地图号盟重
QUIZ禁止喊话
ALLOWUSEMYSHOP允许摆摊,该参数只对个人商店的摆摊有效,对仿Hero摆摊的无效(必需先设置摆摊限制在指定地图才会生效)
NOTALLOWUSEITEMS禁止使用物品 说明:NOALLOWUSEITEMS(回城卷|强效金创药)
NOTALLOWUSEMAGIC禁止使用技能 说明:NOTALLOWUSEMAGIC(火墙|彻地钉)
NOHEROPROTECT为禁止英雄守护
THUNDER例:THUNDER(10) 此地图有闪电效果,击中减hp为10
LAVA例:LAVA(10) 此地图地上冒岩浆,击中减HP为10
FLAMEFLAME(45:82:50|43:84:50)参数说明:x坐标:y坐标:伤害 可以为多坐标以|分隔
NOHORSE禁止骑马
MISSION不允许使用任何物品和技能,并且宝宝在该地图会自动消失,不能攻击
NOCALLHERO禁止召唤英雄,已召唤英雄将自动消失
NIGHT该参数与M2内挂设置配合使用,当M2设置免蜡烛时凡是地图带NIGHT开启天气效果,M2取消免蜡烛时不带该参数的地图天启天气效果
NEEDLEVELTIME没到指定等级时不让进入,发送string.ini里的NeedLevelToXYErrorMsg提示可以自行修改
DECEXPRATETIME(值)每秒减双倍经验时间,如值小于1时,则默认为1
NGEXPRATE(数值)内功经验倍数(100代表经验倍数,除以100后为实际倍数)
PULSEXPRATE(数值)经络经验倍数(100代表经验倍数,除以100后为实际倍数)
DARK黑暗效果 如果同时存在 DAY以DAY参数效果为准
DAY白天效果 如果同时存在DARK以DAY参数效果为准
SAYLEVEL(等级)可限制当前地图人物说话等级.
DELDROPITEM人物(英雄)死亡后掉落的身上物品立即消失(不掉落在地图中).
REVIVAL(X:N)当前地图人物可复活的次数,X表示复活次数,N表示人物在当前地图已经复活次数的自动清零间隔(最小30秒).具体表示:每经过指定秒人物在当前地图复活过的次数自动减1.
NODROPUSEITEMS当前地图人物死亡不掉落身上的物品
NOSAFEPOSITIONMOVE禁止在当前地图安全区中使用传送戒指
NOALLOWUSEITEMS不允许使用物品NOALLOWUSEITEMS(回城卷,随机传送卷)
ONKILLMON杀死怪物时触发,对应地图参数中需要加入ONKILLMON才可生效!
HITMON(触发字段)攻击怪物触发。例:HITMON(@攻击) 攻击怪物会触发QF脚本的[@攻击]字段
FIGHT杀人不加PK值 死亡不掉装备
FIGHT2杀人不加PK值 死亡掉装备
FIGHT3(是否掉装备)行会战地图 进入该地图名字颜色会变色,杀人不加PK。格式:FIGHT3(0)死亡不掉装备格式:FIGHT3(1)死亡掉装备
FIGHT4挑战地图 杀人不加PK 死亡不掉装备
WEATHER1天气效果1 读取Effect_SE.wzl
WEATHER2天气效果2 读取Effect_SE.wzl
WEATHER3天气效果3 读取Effect_SE.wzl
NODROPITEMFILENAME禁止某个地图扔某个物品 例如:NODROPITEMFILENAME(QuestDiary\禁止扔物品列表.txt) 禁止扔物品列表.txt 这个里面就是禁止扔的物品名称
NOUSESTORAGE禁止某个地图使用仓库,无法寄存和取回
NOUSESNDASHOP禁止某个地图购买商铺物品
NOMANNOMON(60)地图没有人时,自动清理怪物(cfg_monster.xls表ISBOSS列标记为BOSS的除外)默认60秒,清理时间建议大于这个地图的刷怪时间避免进入地图没有怪物。刷怪总数超过5万建议使用该参数可有效减少内存占有率刷怪数量可以通过日志文件\Mir200\Log\data_xxxxx.txt进行查看
lightcolor地图光效渲染可自由编辑RGB颜色,可以实现各种场景的光效例如:恐怖惨绿色lightcolor(74|231|74)熔岩洞窟火红色lightcolor(220|0|0)等等
TimeMap使用地图参数限制角色在地图内时间格式:TimeMap(3|5|1|@计时地图返回)参数一到时间返回的地图代码#多个地图分成组设置同ID(同ID下共用一个倒计时时间)参数二 倒计时时间分钟计算参数三 是否显示当前地图剩余倒计时参数四 退出地图触发QF字段

多级脚本使用[!]

多级脚本使用

功能: 多级脚本使用

格式: 无

说明: 本功能的实现突破执行脚本的唯一性,使脚本的使用更加灵活多变 , 使用方法为 任意人物名称.任意脚本命令 。 以下所使用的996引擎名称等全部支持变量操作

H. 表示是英雄

O. 表示是主人

M. 表示是怪物

P. 表示是对面的角色

pex.表示攻击的目标(人物,英雄)

BB.表示是宝宝(仅支持RangeHarm、RangeHarmEx、humanhp、humanmp、ADDHPPER、ADDMPPER)

补充说明

详细说明

英雄多级脚本

HM.英雄攻击的怪物(人物无效)

HP.英雄对面的角色(怪物无效)

H. 英雄自己

HH.英雄对面的英雄

hpex.表示英雄攻击的目标(人物,英雄)

例:

例如:

完整脚本代码

#if
996引擎.Check [100] 1
check [100] 1
#act
996引擎的变量值100为1
你自己的变量值100也为1
下面列举几种常用的使用方法,以下方法同样可以用在#ACT命令中
例如
#if
996引擎.CheckLevel 51
CheckLevel 51
#act
996引擎.GameGold + 10
GameGold + 10
#say
996引擎的等级在50级以上,给予10元宝奖励
你的等级也在50级以上,给予10元宝奖励
上面脚本,如果996引擎不在线,M2会提示出错,但脚本会继续执行并跳过该句做为无效检测处理
当做为无效检测处理后,只要D3dm2等级和自己的等级在50级以上,既执行#say和#act段,
并且,996引擎.GameGold + 10 该句也无法执行,被跳过,继续执行下面的
所以在使用多级的时候请注意脚本的使用
#if
H.CheckLevelEx > 1
#say
你的英雄大于1级
#if
P.CheckLevelEx > 1
#say
你的对面的角色大于1级
;怪物操作,一般用在攻击触发里
#if
#act
M.HumanHP + 100

大包裹 大背包

在“引擎-选项-功能设置-客户端控制里面开启

大包裹数量调整脚本命令ChangeBagCount,包裹最少为46个,最大为126个

大包裹为一体式包裹设置,不分页。

双击带锁的格子可以触发QF脚本

如果减背包格子,而被减掉的格子里又存放了物品,那么物品不会消失只是取不出来

再次开启该格子物品就可以显示出来了。

<$BAGCOUNT> 当前包裹里的物品数量(包括放在OK框里的和仿HeroM2摆摊的物品)

<$BAGMAXCOUNT> 包裹允许存放的最大数量

ChangeBagCount 参数1(+,-,=) 参数2(数量)

完整脚本代码

[@main]
#act
ChangeBagCount + 1
QF触发,包裹里格子显示有锁图片的是不能放物品的,双击锁图片触发
[@UnLockBag]
#act
ChangeBagCount + 1
SENDMSG 6 你的包裹解锁一格,当前最大允许放物品<$BAGMAXCOUNT>个

天气效果[!]

天气效果

功能: 天气效果

格式: 无

说明: 无

例:

地图参数 DARK 黑暗效果

地图参数 DAY 白天效果

如果同时存在以DAY参数效果为准

以下三个效果读取客户端的Effect_EX.Wil和Effect_SE.Wil如果客户端没有这2个文件,效果显示不了

增加天气效果脚本命令 SETWEATHEREFFECT

补充说明

详细说明

格式:SETWEATHEREFFECT 地图号 天气效果(0=关闭天气效果 1= 黄沙效果 2= 花瓣效果 3= 下雪效果) 有效时间(秒)

黑夜效果,禁止免蜡功能

默认黑夜模式

1、地图参数只有DARK 受M2白天黑夜控制

2、地图参数只有DAY 只有白天

3、地图参数DARK,DAY同时 只有白天

4、地图参数啥也没设 只有白天

盛大黑夜模式

1、地图参数不加DARK和DAY,则受M2时间段控制,来决定是否白天黑夜。

2、地图参数加了DARK的,不受M2时间段控制,永远是黑夜(例如山洞)。

3、地图参数加了DAY的,不受M2时间段控制,永远是白天。

4、地图参数同时加了DARK和DAY的,不受M2时间段控制,永远是白天。

怪物伤害封顶[!]

增加怪物伤害封顶,封顶数值等于怪物BD中的MP数值,若DB中怪物MP值=0则不计算伤害封顶

怪物名称颜色自定义功能[!]

增加怪物名称颜色自定义功能

MonGen.txt 格式:地图 坐标X 坐标Y 怪物名字 范围 数量(支持G变量) 间隔 集中刷新坐标机率# 刷新模式 # 大地图是否显示倒计时 名字颜色(0~255) 刷出来时触发的QF脚本字段 内功怪物(0,1) 国家名字 同国家名玩家是否可攻击(0,1)

说明:最后一个参数为0时表示同国家玩家不能攻击该怪物,为1时在非国家攻击模式下可以攻击该怪物

注:刷新模式不可与G变量数量控制同时使用。

刷新模式 =0时,刷怪模式不变,和以前一样,可能boss刚被杀死,未到间隔时间会重新刷一只。 //不添“刷新模式”参数,默认为0

刷新模式 =1时,假设怪物刷新间隔时间是1小时,杀死怪物后,经过1小时才会再次刷出该怪物,被诱惑走的怪物不算死亡。

大地图是否显示倒计时 =0时不显示

大地图是否显示倒计时 =1时显示倒计时(建议刷怪的坐标范围设置为1,怪物数量也是1)

3 100 85 ◆◆◆◆妖魔神王◆◆◆◆ 75 1 180 0 254 @QF脚本段1

3 100 85 ◆◆◆◆妖魔神王◆◆◆◆ 75 <$STR(G111)> 180 0 254 @QF脚本段1

补充说明

详细说明

;刷新了一只白野猪死亡之后10分钟刷新,并且显示刷新倒计时

3 330 330 白野猪 1 1 10 100#1#1 253

完整脚本代码

[@QF脚本段1]
#if
#act
SENDMOVEMSG02510501<【世界BOSS全服提示】:/FCOLOR=70><『◆◆◆◆妖魔神王◆◆◆◆』/FCOLOR=250>已出世,赶紧抢!!!

怪物探索设置说明[!]

怪物探索设置说明

功能: 怪物探索设置说明

格式: 无

说明: 在Mir200\Envir\MonUseItems里添加对应怪物名称的两个文件(xxxx.txt xxxx-item.txt格式和人形怪的配置差不多)

例: 狂热火蜥蜴.txt

[INFO]

;挖取身上装备收费模式(0金币,1元宝,2金刚石,3灵符)

ButchChargeClass=0

;挖取身上装备每次收费点数

ButchChargeCount=1

补充说明

详细说明

;未挖到物品是否减灵符 1=是,0=否

ButchNotItemDelGold=0

狂热火蜥蜴-Item.txt

1/5 龙牙

1/50 凰天魔衣

1/50 天龙圣剑

1/50 银星勋章(法)

扩展NPC脚本点击触发带参数

扩展NPC脚本点击触发带参数、参数回调

–扩展NPC脚本点击触发带参数

///////////////////////////////////////////////////////////新增触发带参数

<@测试1/@测试(1,2,3)> <@测试2/@测试(2,3,4)>

:注,不好用建议用下面的新版传参功能

完整脚本代码

[@测试]
#IF
#ACT
SENDMSG 6 <$SCRIPTPARAM1>,<$SCRIPTPARAM2>,<$SCRIPTPARAM3>
break
[@main]
你想买点什么呢?\\
<麻痹戒指/@购物(20,麻痹戒指)> <重生戒指/@购物(20,重生戒指)>\
<护体戒指/@购物(20,护体戒指)> <魔道麻痹/@购物(20,魔道麻痹戒)>\
[@购物]
#IF
CHECKGAMEGOLD <$SCRIPTPARAM1>
#ACT
GAMEGOLD – <$SCRIPTPARAM1>
GIVE <$SCRIPTPARAM2> 1
#ELSESAY
对不起!你的元宝不够!
####################################################2019-08-28进行补充说明,防止个别人运用错误!!!!!下面为解说!!!!#########################################
[@main]
亲爱的<$USERNAME>\
你想买点什么呢?\\
<麻痹戒指/@购物(20,麻痹戒指)> <重生戒指/@购物(20,重生戒指)>\
<护体戒指/@购物(20,护体戒指)> <魔道麻痹/@购物(20,魔道麻痹戒)>\
[@购物]
#IF
CHECKGAMEGOLD <$SCRIPTPARAM1>
#ACT
GAMEGOLD – <$SCRIPTPARAM1>
GIVE <$SCRIPTPARAM2> 1
#ELSESAY
对不起!你的元宝不够!
新增NPC脚本点击触发带参数、参数回调,扩展新的传参方式
[@main]
<传参测试/@传参测试#装备名=布衣(男)#参数2=2#参数3=300#参数4= 400>
[@传参测试]
#ACT
;前三个位置支持老模式传参,注意位置3个。
; 新老参数回调不可以混用
;新的参数回调写法可以支持1~99,只支持S$扩展变量获取回调值。
SENDMSG 6 <$STR(S$装备名)>,<$STR(S$参数2)>,<$STR(S$参数3)>,<$STR(S$参数4)>

扩展字符变量S和数字变量N[!]

扩展字符变量S和数字变量N

功能: 扩展字符变量S和数字变量N

格式: 无

说明: 扩展字符变量S和数字变量N,除了支持0~999以外,可以在S$变量或N$变量后面增加任意字符,人物基础变量不需要加$。

例: [@test]

完整脚本代码

#ACT
MOV S$我的人物名称 <$USERNAME>
SENDMSG 0 <$STR(S$我的人物名称)> 255 253
[@test1]
#ACT
MOV N$我的杀怪总数 100
INC N$我的当前杀怪数 1
SENDMSG6【杀怪总数=<$STR(N$我的杀怪总数)>】【当前杀怪数=<$STR(N$我的当前杀怪数)>】 255 253
注意:
以下的人物基础变量。不需要 在S变量或N变量的 后加$,当然你也可以加,加上后就属于扩展变量,例如 S1和S$1 这样的2个变量完全是2个不同的变量。
P0-P99 (私人变量,数字型) 关闭对话框重置为0。
D0-D99 (私人变量,数字型) 下线不保存.摇筛子变量.
M0-M99 (私人变量,数字型) 下线不保存.切换地图清空.
N0-N99 (私人变量,数字型) 下线不保存.小退归0.
S0-S99 (私人变量,字符型) 下线不保存.小退归0.
I0-I499 (全局变量,数字型) 下线不保存.小退归0.
G0-G499 (全局变量,数字型) 可保存。(存放在Mir200/GlobalVal.ini文件里面)
A0-A499 (全局变量,字符型) 可保存。(存放在Mir200/GlobalVal.ini文件里面)
U0-U254 (私人变量,数字型) 可保存。(存放在人物数据库里面)
T0-T254 (私人变量,字符型) 可保存。(存放在人物数据库里面)

技能CD时间显示

技能CD时间显示(M2-选项-功能设置-技能魔法-开启技能CD显示)

技能备注功能

查看-列表信息二-技能描述

斗笠功能设置[!]

斗笠相关数据 功能: 斗笠相关数据

StdMode = 16

Anicount 0戴上后显示头盔的内观 1戴上后不显示头盔的内观,UI里必须取消斗笠的游戏可见勾选

Shape 0~7 Hair2

Shape 8~9 Hair3 目前Hair3只有2个斗笠,如果增加,Shape值依次增加就可以支持

Source 0时显示神秘人,Source= 1时不显示神秘人 带斗笠后的"神秘人"效果对管理员无效.

神秘人显示可以在M2中设置-功能设置-其他设置

563;斗笠一;16;0;1;0;0;0;1188;6000;0;1;0;0;0;0;0;0;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

564;斗笠二;16;1;1;0;0;0;1587;6000;0;0;0;1;0;0;0;0;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

565;斗笠三;16;2;1;0;0;0;2080;6000;0;0;0;0;0;1;0;0;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

补充说明

详细说明

566;斗笠四;16;3;1;0;0;0;2081;6000;0;0;0;0;0;0;0;1;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

567;斗笠五;16;4;1;0;0;0;2422;6000;0;0;0;0;0;0;0;0;0;1;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

568;斗笠六;16;5;1;0;0;0;2522;6000;0;0;0;0;0;0;0;0;0;1;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

569;斗笠七;16;6;1;0;0;0;2768;6000;0;0;0;0;0;0;0;0;0;1;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

570;斗笠八;16;7;1;0;0;0;3356;6000;0;1;0;0;0;1;0;0;0;0;0;44;10000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

571;斗笠九;16;8;1;0;0;0;3890;6000;0;1;0;0;0;0;0;0;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

572;斗笠十;16;9;1;0;0;0;4266;6000;0;0;0;1;0;0;0;0;0;0;0;44;5000;5;255;0;;;;;;;;;;;;;;;;;;;;;;;

物品位置:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

5 右手镯

6 左手镯

7 右戒指

8 左戒指

9 护身符

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

新版自定义属性

说明

引擎-选项-客户端设置-自定义属性-新版自定义属性
一个装备有30个属性,每个属性都要勾选,并且脚本开启,
每个属性有3个值,这三个值显示的在什么位置,分别在新版自定义属性哪个窗口里设置 $$1 $$2 $$3
这三个值的大小也是脚本命令控制
$$1比较特殊,$$1的值代表在 TEXT变量的行数
比如“属性1” 设置成“<TEXT:$$1>”然后脚本命令把 变量“$$1”值设置成1 表示这个属性显示的内容就读取“TEXT变量”里面的第一行的内容
相关命令
检测装备指定的无属性是否已经开通,如果开通了,设置显示的哪一个会保存到变量
CheckNewCustomItemAbil 装备位置(-1= OK框,0~28身上装备,30~40生肖盒,41~47首饰盒)属性位置(1~30) 保存变量(获取读取的哪一个) CheckNewCustomItemValue 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 属性位置(1~30) 变量位置,需要检测哪一个变量(1第一个变量$$1,2第二个变量$$2,3第三个变量$$3) 检测符(>,<,=) 检测值
开启装备无属性
SetNewCustomItemAbil 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 属性位置(1~30) 设置读取引擎30个属性框(0~30,0=关闭该属性)
获取装备无属性读取引擎30个属性框中的哪一个框
GetNewCustomItemAbil 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 属性位置(1~30) 保存变量读取引擎30个属性框中的哪一个框,如果获取值为0表示该属性没有开启)
获取装备无属性已开启的数量
GetNewCustomItemAbilCount 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 保存变量(已经开启的数量)
设置装备无属性的三个变量值($$1,$$2,$$3)
SetNewCustomItemValue 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 属性位置(1~30) 变量位置(0=所有变量, 1第一个变量$$1,2第二个变量$$2,3第三个变量$$3) 操作符(+,-,=) 变量1 变量2 变量3
获取装备无属性的三个变量值($$1,$$2,$$3),如果没有开启的属性,无法获取
GetNewCustomItemValue 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 属性位置(1~30) 变量1 变量2 变量3
获取全身装备指定位置的无属性的三个变量值之和
GetNewAllCustomItemValue 属性位置(1~30) 变量1 变量2 变量3
获取全身装备指定位置的无属性,TEXT相同行的三个变量值之和,也就是无属性的三个变量值中的第一个变量值一样的
GetNewAllCustomItemValueByTextLine 属性位置(1~30) TEXT行 变量1 变量2 变量3
开启一个无属性,该命令和SetNewCustomItemAbil命令的不同之处,SetNewCustomItemAbil需要指定属性位置,开启哪个位置的无属性,而这个命令会自动从第一个无属性开始搜索没有开启的,自动开启,只开启一个
AddNewCustomItemAbil 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) 保存变量(开通的是第几个无属性,会保存在这个变量,如果检测该变量等于0,说明已经全部开启了)
刷新修改后的无属性到客户端,修改身上的装备使用,在OK框的不使用这个命令
UpDateNewCustomItemAbil 装备位置(0~28身上装备,30~40生肖盒,41~47首饰盒)
获取全身装备所有开启的无属性,TEXT相同行的三个变量值之和,也就是无属性的三个变量值中的第一个变量值一样的
GetNewAllCustomItemValueByTextLineEx TEXT行 变量1 变量2 变量3
获取单个装备所有开启的无属性,TEXT相同行的三个变量值之和,也就是无属性的三个变量值中的第一个变量值一样的
GetNewCustomItemValueByTextLine 装备位置(-1=OK框,0~28身上装备,30~40生肖盒,41~47首饰盒) TEXT行 变量1 变量2 变量3

完整脚本代码

[@main]
#IF
CheckNewCustomItemValue 0 1 1 > 0
#ACT
SENDMSG 6 检测衣服的第一个无属性的第一个变量值大于0
#IF
CheckNewCustomItemValue 0 1 2 > 0
#ACT
SENDMSG 6 检测衣服的第一个无属性的第二个变量值大于0
#IF
CheckNewCustomItemValue 0 1 3 > 0
#ACT
SENDMSG 6 检测衣服的第一个无属性的第三个变量值大于0
[@main]
#ACT
SetNewCustomItemValue 0 1 0 = 1 100 200
SENDMSG 6 设置衣服的第一个无属性的三个变量分别是1,100,200,如果参数为零,变量值不变
[@main]
#ACT
SetNewCustomItemValue 0 1 1 = 1
SENDMSG 6 设置衣服的第一个无属性的第一个变量为1
[@main]
#ACT
SetNewCustomItemValue 0 1 2 = 100
SENDMSG 6 设置衣服的第一个无属性的第一个变量为100
[@main]
#ACT
SetNewCustomItemValue 0 1 3 = 100
SENDMSG 6 设置衣服的第一个无属性的第一个变量为100
[@main]
#ACT
SetNewCustomItemAbil 0 1 1
SENDMSG 6 设置装备无属性第一个属性,读取引擎30个属性框中的第一个框
SetNewCustomItemValue 0 1 1 = 1 100 200
SENDMSG6设置衣服第一个无属性变量值,$$1=1,$$2=100,$$3=200
UpDateNewCustomItemAbil 0
SENDMSG 6 刷新衣服的无属性到客户端
引擎-选项-客户端设置-自定义属性-新版自定义属性-TEXT变量,里面的格式如下:
引擎-选项-客户端设置-自定义属性-新版自定义属性-TEXT变量,里面的格式如下:
引擎-选项-客户端设置-自定义属性-新版自定义属性-TEXT变量,里面的格式如下:
格式: <IMG:N:F:X:Y:M:S>
N表示显示文件中的第几个图片,F表示WIL文件序号,X是横向坐标,Y是纵向坐标.
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
X和Y这两个坐标可以使图片显示的坐标更加精准.
M是绘制模式0普通绘制 1特效绘制
S=不占用字符位置(0占 1不占)
格式: <PLAYIMG:F:N:C:T:X:Y:M:S>
F表示WIL文件序号
N表示播放开始图片
C表示播放张数
T表示播放速度(毫秒)
X,Y表示微调坐标
M是绘制模式0普通绘制 1特效绘制
S=不占用字符位置(0占 1不占)
“|”颜色分割符 支持“\”换行
{物理防御 +|243} \{$$2|250} – {$$3|250}
{魔法防御 +|243}\ {$$2|250} – {$$3|250}
<IMG:1600:0:0:0:0:0>\{物理攻击 +|243} {$$2|250} – {$$3|250}
<PLAYIMG:0:1610:10:100:0:0:0:0>\{魔法攻击 +|243} {$$2|250} – {$$3|250}
{物理防御 +|243} {$$2|250} – {$$3|250}
{魔法防御 +|243} {$$2|250} – {$$3|250}
<IMG:1600:0:0:0:0:1>{ 物理攻击 +|243} {$$2|250} – {$$3|250}
<PLAYIMG:0:1610:10:100:0:0:0:1>{ 魔法攻击 +|243} {$$2|250} – {$$3|250}
{道术攻击 +|243} {$$2|250} – {$$3|250}<IMG:1610:0:0:0>
自定义OK框常量(X是OK框0-17 Y是自定义属性1-30)
<$BOXITEM[X].NEWCUSTOMABILS[Y].INDEX>
<$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE1> <$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE2> <$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE3>

无限刀 攻击不卡

M2-选项-参数设置-游戏速度-攻击的速度调整为100,攻击冷却调整为100 就表示无限刀开启了。

M2-选项- 客户端设置-内挂控制-攻击速度的动作时间 越小速度越快。这里的数值表示,数值越小,每秒砍的刀数越多

机器码使用说明[!]

<$MACHINEID> 机器码,和登录的角色无关,只要是该机器登录的角色,这个机器码就一样。

<$USERMACHINEID> 该机器当前登录的角色的机器码。不同的角色名称或不同的机器登录生成的机器码不一样。

配合以下命令可以限制角色登录游戏

CheckTextList 文件位置 字符串

AddTextList 文件位置 字符串

DelTextList 文件位置 字符串

极品属性转移

===================================极品属性转移=============================================

<$MOVE.SOURCE.NAME> ;正在移动的原始物品名称

<$MOVE.DEST.NAME>;正在移动的目标物品名称

脚本命令:打开极品属性转移窗口

;OpenMoveItemValueDlg 参数1(20130801) 参数2(20130802) 参数3(所需货币类型(0=元宝,1=金币,2=泡点)) 参数4(20130804) 参数5(所需货币值) 参数6(20130806) 参数7(20130807) 参数8(20130808) 参数9(20130809) 参数10(20130810)

脚本命令:关闭极品属性转移窗口

;CloseMoveItemValueDlg

完整脚本代码

[@main]
#IF
#ACT
OpenMoveItemValueDlg 20130801 20130802 0 20130804 100 20130806 20130807 20130808 20130809 20130810
;打开属性转移窗口,转移装备极品属性需要100元宝
;点击转移按钮会触发QF脚本中以下字段
[@StartMoveItemValue]
#IF
CHECKTEXTLIST ..\QuestDiary\物品名称.txt <$MOVE.SOURCE.NAME>
#ACT
MoveItemValueFail
;MoveItemValueFail 禁止转移命令
SENDMSG 6 该物品禁止转移
break
#IF
CHECKTEXTLIST ..\QuestDiary\物品名称.txt <$MOVE.DEST.NAME>
#ACT
MoveItemValueFail
;MoveItemValueFail 禁止转移命令
SENDMSG 6 该物品禁止转移
break
#IF
#ACT
MoveItemValueOK
;MoveItemValueOK 开始转移属性命令,会自动扣除所需的费用,如果费用不够转移失败

浑水摸鱼地图参数设置

原始说明 / 数据

[+] 增加地图参数:SECRET(31|固定名字|2|21) //浑水摸鱼模式
01 禁止说话
02 禁止名字变色
04 禁止看对方装备
08 统一名字 //第2参数就是指定显示的名字
16 统一装备外观 //第3参数指衣服外观,第4参数指武器外观
32 是否百分比显血 //是否人物、英雄HP以百分比显示
如果要多个功能起作用,相加对应的数字即可,
例如:禁止名字变色(02) + 禁止看对方装备(04) + 统一装备外观(16),等于:22,既是第1参数=22
SECRET(31|固定名字|2|21)
特别解说: 第一参数 31 为控制总参数
总参数分为
01 禁止说话
02 禁止名字变色
04 禁止看对方装备
08 统一名字 //第2参数就是指定显示的名字
16 统一装备外观 //第3参数指衣服外观,第4参数指武器外观
32 是否百分比显血 //是否人物、影响HP以百分比显示
假如第一参数为01时 SECRET(1|固定名字|2|21) 那么后面的 |固定名字|2|21 的几个参数也必须写上但是不生效
举列: 我要设置盟重身 所有玩家名字为 神秘人 禁止说话 禁止查看对方装备
那么第一参数就是 01+08+04=13 第2参数写 神秘人 第3参数和第4参数由于未用到可以随便写不起效
[盟重省 3] SECRET(13|神秘人|2|21)
举列2: 我要设置盟重身 所有玩家名字为 神秘人 禁止说话 禁止名字变色 禁止查看对方装备 统一装备外观为倚天衣=物品库的倚天衣SHAPE=35 统一武器外观为倚天武器=物品库的SHAPE=68
那么第一参数就是 1+2+4+8+16=31 第2参数写 神秘人 第3参数写35 第4参数写68
[盟重省 3] SECRET(31|神秘人|35|68)
举列2: 我要设置盟重身 所有玩家名字为 神秘人 禁止说话 禁止名字变色 禁止查看对方装备 统一装备外观为倚天衣=物品库的倚天衣SHAPE=35 统一武器外观为倚天武器=物品库的SHAPE=68 .比例显血
那么第一参数就是 1+2+4+8+16+32=63 第2参数写 神秘人 第3参数写35 第4参数写68
[盟重省 3] SECRET(63|神秘人|35|68)

游戏开宝箱功能[!]

游戏开宝箱功能

功能: 双击物品可以打开宝箱功

格式: 无

说明: 无

例:

宝箱相关数据:

宝箱的设置方法(M2-查看\列表信息二中编辑):

宝箱设置:StdMode=31 Shape=15–18(15=檀木宝箱,16=紫铜宝箱,17=白银宝箱,18=赤金宝箱,19-24=扩展的6个宝箱)

钥匙设置:StdMode=40 Shape=15–24

宝箱增加获得物品时触发Q-Function中的@GetBoxsItemX脚本段,其中X表示当前宝箱的Shape值,

补充说明

详细说明

当前获得的物品名称放在人物的S0变量中,例如我们在物品数据中添加一个叫做经验500000的物品,

打开檀木宝箱获得此物品时自动增加50W经验值,那么编写如下脚本:

完整脚本代码

[@GetBoxsItem15]
#IF
EQUAL S0 经验500000
#ACT
Take 经验500000
ChangeExp + 500000
Break
OpenDragonBox
功能: 使用脚本命令开宝箱
格式: OpenDragonBox 编号(15–24)
说明: 除了默认4个宝箱外,还可支持扩展的6个宝箱,具体设置M2\查看\列表信息\其他设置\宝箱系统
例子: 开宝箱.
#IF
CheckGold 10000
#ACT
OpenDragonBox 15
Take 金币 10000
#ELSESAY
没钱还想开宝箱?

火龙神殿[!]

NPC相关命令:

功能: 关闭客户端'!'图标显示

格式: CLOSEMSGWINDOWS

格式: MESSAGEBOX 消息内容 QF触发段 QF触发段

例: MESSAGEBOX 使用10元宝,便可在当前地图内原位\置复活? @确认 @取消

说明: 在客户端显示一个提示框,点确定时,触发QFunction-0.txt的 @确认 代码

点取消时,触发QFunction-0.txt的 @取消 代码

物品ID

774;火龙凭证;41;0;1;0;0;0;269;0;0;0;0;0;0;0;0;0;0;0;0;0;5000;5;;0;

MonGen.txt

补充说明

详细说明

;地图名:火龙殿

D2083 82 44 火龙教主 0 1 30

D2083 65 48 恶魔蝙蝠 10 10 30

D2083 81 62 恶魔蝙蝠 10 10 30

D2083 66 62 恶魔蝙蝠 10 10 30

D2083 51 75 恶魔蝙蝠 10 10 30

火龙守护兽设置说明

火龙守护兽的刷新点必须跟配置表的刷新点一样才能攻击指定点,如果不一样则为自由刷怪,则会攻击视野范围内的玩家

火龙守护兽默认30分钟刷新一次,刷新模式为补怪模式,即死亡后计算刷新时间,有则不刷。

配置文件名字:\Envir\FireDragonGuard.txt

;名称 地图 x y dir(0-1) 攻击坐标x 攻击坐标Y(可以为多个以|分隔)

;-

火龙守护兽 D2083 51,67 1 77,50|74,50|83,50|80,53|86,53|74,41|71,41|71,44|71,47

火龙守护兽 D2083 48,70 1 81,44|81,47|78,44|75,44|84,47|78,41|75,41|81,50|84,50

火龙守护兽 D2083 45,73 1 81,44|84,47|78,41|85,50|75,41|76,51|79,54|73,48

火龙守护兽 D2083 61,78 0 79,48|79,51|76,48|78,53|75,50|76,45|82,51|81,44|84,47|78,41

火龙守护兽 D2083 58,81 0 79,48|82,51|85,54|76,45|71,40|82,48|79,45|76,42|85,51|73,42

火龙守护兽 D2083 55,84 0 80,48|77,48|80,45|77,51|74,51|74,54|71,54|71,57

(怪物血量以及一些其他配置请自行修改)

灵魂收割者;81;19;240;100;1;1000;20000;20000;0;12;12;280;300;0;0;17;15;900;1;0;2000;

蓝影刀客;81;19;241;100;1;1000;20000;20000;0;12;12;280;300;0;0;17;15;900;1;0;2000;

恶魔蝙蝠;127;19;80;999;0;1000;2000;400;0;1000;1000;40;45;0;0;17;15;900;1;0;2000;

火龙魔兽;128;93;800;999;1;1000;30000;18000;0;30;30;60;150;0;0;17;15;900;1;0;3000;

火龙守护兽;129;94;802;999;1;1000;0;18000;0;30;30;40;45;0;0;17;15;900;1;0;2000;

点击小地图自动寻路[!]

增加点击小地图自动寻路功能(可以在M2关闭或开启该功能,使用小地图按键或M键打开)

寻路QF触发

[@FindPathBegin] 开始

[@FindPathStop] 中断

[@FindPathEnd] 到达

;中断寻路

STOPGOTOX

物品光柱

地面物品特效 物品光柱

引擎-查看-列表信息二-物品光柱

物品合成系统

功能: 物品合成系统

格式: 无

说明: M2: 查看->列表信息2 ->铸造物品

例:

使用说明: 以合成 求婚戒指 为例:

首先在物品列表中找到 求婚戒指 ,然后点击下面的添加按钮将 求婚戒指 添加到物品列表中.

接着在左边的物品列表中点击 求婚戒指 ,右边的所需物品列表中的添加按钮处于激活状态后就可以添加合成 求婚戒指 需要的

材料和装备了.(目前除了StdItems.DB中的物品外还可以直接支持 金币 元宝 声望 能量点) 图中合成 求婚戒指 需要铜矿5块

银矿金矿各一块 .添加完成之后点保存按钮即可.

特别说明: 成功几率=100时合成物品必定成功 ,99=99%90=90%1=1%的成功率.如果需要更低的成功率那么设置大于100即可,这时设置多少就是多少分之一的成功率例如1000=1/1000的成功率.当合成物品有成功率时,失败消失=1时 如果物品合成失败 那么

补充说明

详细说明

此物品将会消失,失败消失=0时物品不会消失( 另外物品合成成功之后所有所需物品都会消失 ).

脚本说明: CheckFoundryItem 检测背包中合成物品的材料是否足够 GiveFoundryItem 回收合成材料同时将合成后的物品放入背包.

合成失败后自动执行@FoundryFail段的脚本.

合成 求婚戒指 脚本如下:

完整脚本代码

[@Main]
<合成 求婚戒指 /@合成 求婚戒指 >\
[@合成 求婚戒指 ]
#IF
CheckFoundryItem 求婚戒指
#ACT
GiveFoundryItem 求婚戒指
#ELSEACT
SendMsg 5 缺少合成物品<%Item>
[@FoundryFail]
#ACT
SendMsg 5 合成 <%Item> 失败!
合成多个物品的脚本可以参考如下脚本(以@FoundryItem_开头后面跟要合成的物品, %FoundryItem是M2自动转换后的合成物品名称):
[@Main]
<合成 求婚戒指 /@FoundryItem _ 求婚戒指 > <查看所需物品 /@ShowItem_求婚戒指戒 >\
<合成 护身戒指 /@FoundryItem _护身戒指> <查看所需物品 /@ShowItem _ 护身戒指 戒>\
<合成 负载戒指 /@FoundryItem _负载戒指> <查看所需物品 /@ShowItem _ 负载戒指 戒>\
[@FoundryItem_]
#IF
CheckFoundryItem %FoundryItem
#ACT
GiveFoundryItem %FoundryItem
#ELSEACT
;SendMsg 5 缺少合成物品<%Item>
ShowFoundryItem %FoundryItem
[@FoundryFail]
#ACT
SendMsg 5 合成 <%Item> 失败!
[@ShowItem_]
<$ShowItem>

物品衣服武器的扩展算法[!]

原始说明 / 数据

物品衣服武器的扩展算法
功能: 物品和武器的扩展算法
格式: 无
说明: 增加Items1.wil DnItems1.wil StateItem1.wil 数据库Looks起始编号10000开始
例:
Weapon.wzl Shape 1~99
Weapon2.wzl Shape 100~149
Weapon3.wzl Shape 150~199
Weapon4.wzl Shape 200~249
Weapon5.wzl Shape 250~299
Weapon6.wzl Shape 300~349
Weapon7.wzl Shape 350~399
Weapon8.wzl Shape 400~449
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
Hum.wzl Shape 1~99
Hum2.wzl Shape 100~149
Hum3.wzl Shape 150~199
Hum4.wzl Shape 200~249
Hum5.wzl Shape 250~299
Hum6.wzl Shape 300~349
Hum7.wzl Shape 350~399
Hum8.wzl Shape 400~449
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。

界面的魔法球血球效果

播放界面的魔法球血球效果:

旧格式:

PLAYMAGICBALLEFFECT WIL文件序号 图片开始序号 播放张数 播放速度(毫秒) 有效时间(秒 -1时永久有效) 类型(0=HP 1=MP) 绘制高度(0=完整绘制 1=按照HP或者MP的高度绘制) 绘制模式(0=完整绘制 1=切割绘制(一张图包含HP和MP的效果,左边是HP右边是MP,会根据HP或MP只绘制一半图片)) 微调坐标X 微调坐标Y

新格式,兼容旧格式,新格式的第八个参数,也就是绘制模式那个参数不一样,新的以“|”分隔成两个参数,“|”左边的参数和旧格式一样,“|”右边的是0表示特效绘制,1表示普通绘制:

PLAYMAGICBALLEFFECT WIL文件序号 图片开始序号 播放张数 播放速度(毫秒) 有效时间(秒 -1时永久有效) 类型(0=HP 1=MP) 绘制高度(0=完整绘制 1=按照HP或者MP的高度绘制) 绘制模式|特效或普通绘制(0=完整绘制 1=切割绘制(一张图包含HP和MP的效果,左边是HP右边是MP,会根据HP或MP只绘制一半图片)) 微调坐标X 微调坐标Y

PLAYMAGICBALLEFFECT 0 0 10 100 -1 0 1 1|0 0 0

称号系统

说明

增加称号 :
第一步: 首先选择称号的图库。在M2里设置(选项-功能设置-其他控制-称号素材读取设置),素材的排列规则可以参考盛大的ui1.wzl里面的,从690~739都是称号的图片,每个称号需要5个图片,第一个图片是外观显示的,第二三是界面显示的,第四五是称号激活显示用的
第二步: 在物品数据库里增加称号
称号功能,增加减少称号物品DB时,请注意Shape的连续性
StdMode 无要求可以随意
Name 称号的名称,该名称外观是否显示,由Reserved字段控制
Shape 称号编号,触发用的
Color 颜色 0~255
Reserved 显示DB中的名字(显示规则:0=图标+名字、1=显示图标,2= 都不显示)
Anicount 大于0时,无需设置为当前称号,属性就可以叠加到人物。等于0时,需要设置为当前称号,该称号的属性才会叠加到人物
Looks 称号图片的开始位置
DuraMax 可使用时间,单位小时
其他就等同于装备属性
玩家改变使用称号或刚上线有使用到称号,触发:QFunction的
人物:[@TitleChanged_XX]
XX代表物品DB中的Shape
玩家取消使用称号时,触发:QFunction的
人物:[@Untitled_XX]
XX代表物品DB中的Shape
比如

完整脚本代码

[@TitleChanged_1]
#IF
#ACT
伟大的【沙巴克城主】上线了
第三步: 使用脚本命令增加人物称号
称号对应NPC命令:
检测人物是否有某个称号
CHECKTITLE 称号名称(也就是在物品数据库增加的那个称号物品名称)
增加人物称号
CONFERTITLE 称号名称(也就是在物品数据库增加的那个称号物品名称)
删除人物称号
DEPRIVETITLE 称号名称(也就是在物品数据库增加的那个称号物品名称)
[@增加称号]
#IF
CHECKFENGHAOCOUNT > 29
#ACT
SENDMSG 6 已经有了所有称号
BREAK
#IF
NOT CHECKTITLE 巅峰战神 //检测没有有这个称号
#ACT
CONFERTITLE 巅峰战神 //授予称号
#ELSEACT
SENDMSG 6 已经有了该称号
[@删除称号]
#IF
CHECKTITLE 巅峰战神
#ACT
DEPRIVETITLE 巅峰战神 //删除称号
;DEPRIVETITLE ALL //删除所有称号
功能:检查玩家所有称号的数量
格式:CHECKFENGHAOCOUNT 操作符(<,>,=) 数量(0-30)
称号改变属性及时刷新
称号物品DuraMax=0时,称号可以无限时间使用
赋予新称号,将标注为未使用状态,激活称号后才开始计时
称号最多支持30个
以下数据是按照盛大ui1.wzl里面的称号做的数据
573;称号一;70;0;20;0;0;0;690;0;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;251;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
574;称号二;70;0;20;0;0;0;695;0;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;252;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
575;称号三;70;0;20;0;0;0;700;48;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;253;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
576;称号四;70;0;20;0;0;0;705;0;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;251;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
577;称号五;70;0;20;0;0;0;710;0;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
578;称号六;70;0;20;0;0;0;715;0;4;5;2;3;0;1;0;0;0;0;1;40;35000;5;249;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
579;称号七;70;;0;20;0;0;720;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;250;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
580;称号八;70;;0;20;0;0;725;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;252;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
581;称号九;70;;0;20;0;0;730;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
582;称号十;70;;0;20;0;0;735;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
583;称号十一;70;;0;20;0;0;1240;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
584;称号十二;70;;0;20;0;0;1245;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
585;称号十三;70;;0;20;0;0;1250;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
586;称号十四;70;;0;20;0;0;1255;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
587;称号十五;70;;0;20;0;0;1260;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
588;称号十六;70;;0;20;0;1;1265;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
589;称号十七;70;;0;20;0;0;1270;0;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
590;称号十八;70;;0;20;0;1;1275;1;4;5;5;2;3;0;1;0;0;0;0;1;40;35000;5;255;0;0;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

简装

可以设置人物衣服武器统一的外观

M2-选项-客户端设置-内挂控制(二) 可以设置衣服武器的外观

绝对路径

(所有脚本命令,只要路径那个参数是绝对路径,就会自动检测到。例: CHECKNAMELIST E:\数据文件\100元卡号.txt

不要使用前面加点的方式(“..\..\..\..\QuestDiary\ 100元卡号.txt ”)去读写否则可能产生“I/O error”错误) 如果是通区数据,就使用绝对路径,不要使用前面加点的方式(“..\..\..\..\QuestDiary\ 100元卡号.txt ”)去读写 [@Main]

完整脚本代码

#If
#Act
GETRANDOMLINETEXT E:\通区数据\通区数据.txt S0
#Say
取回的文本是: <$STR(S 0)> [@Main]
#If
#Act
AddTextList E:\通区数据\通区数据.txt 您的名字 [@Main]
#If
#Act
AddTextList E:\通区数据\通区数据.txt 您的名字
[@main]
#IF
#ACT
GetStringPos E:\通区数据\通区数据.txt 管理员
SendMsg 5 字符串在列表中的位置:<$STR(N0)>

聊天框彩色字体设置[!]

{信息|F:B:M:U:H:D}

F=字体颜色 B=背景颜色 M=模式(0绘制背景色,1字体描边) U=0没有下划线 1有下划线 H=鼠标放上去的字体颜色 D=鼠标按下的字体颜色

例:

完整脚本代码

[@main]
#ACT
SENDMSG 5 {<$USERNAME>|254:253}996引擎官方网站: http://www. 996m2 .com
SENDMSG 5 {<$USERNAME>|250:0:1}996引擎官方网站:http://www. 996m2 .com
SENDTOPCHATBOARDMSG 0 149 235 30 {<$USERNAME>|250:0}996引擎官方网站: http://www. 996m2 .com
爆物品彩色字体设置
String.ini文件里
DropItemHint=物品[{%Item|52:253:0}]从[{%name|180:253:0}]身上掉落在地图{%Map(%x,%y)|5:253:0}处。
HumDropItemHint=物品[{%Item|52:253:0}]从玩家[{%name|180:253:0}]身上掉落在地图{%Map(%x,%y)|5:253:0}处。
ButchItemHintMsg=恭喜玩家[%s]从[%Name]身上挖到物品[%Item]在地图[%Map](%X,%Y)处
下面这个支持,聊天框里查看物品属性,查看装备属性,%ShowItem标志只能用在String.ini文件里DropItemHint=后面
DropItemHint={%ShowItem(点击查看属性)|252:255:0:1:0:249}从[%Name]身上掉落在地图%Map(%X,%Y)处
支持点击查看物品的属性,属性框支持鼠标拖动,需要点击属性框里的关闭按钮才能关闭,关闭按钮的素材在必备补丁(NewopUI.Pak)的1621 1622 1623 需要修改素材的替换这三个

脚本中使用图标功能[!]

说明

功能: 脚本中使用图标功能[!]
格式: 无
说明: 无
例: 格式: <Img:N:F:X:Y/@Label>
N表示显示文件中的第几个图片,F表示WIL文件序号,X是横向坐标,Y是纵向坐标.
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
X和Y这两个坐标可以使图片显示的坐标更加精准.
@Label是点击图片时需要触发的脚本标签.
2015-09-01新增加 格式: <ImgEx:F:U:H:D:X:Y/@Label>
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
U=默认显示的图片序号
H=鼠标放上去时显示的图片序号
D=鼠标点下去时显示的图片序号
X和Y这两个坐标可以使图片显示的坐标更加精准.
@Label是点击图片时需要触发的脚本标签.
NPC对话框里,播放动态图片
格式: <PlayImg:F:N:C:T:X:Y:M:L:R/@Label>
F表示WIL文件序号
N表示播放开始图片
C表示播放张数
T表示播放速度(毫秒)
X,Y表示微调坐标
M是绘制模式0普通绘制 1特效绘制
L表示播放次数,如果为空或为0时,表示无限次数。设置大于0时,表示播放的次数,次数到了就会自动消失
R:表示是否使用修复模式,(0或者空为普通模式,1为修复模式)
普通模式适用于图片大小一样坐标为0,0的特效素材,
修复模式适用于图片大小不一样,坐标有偏移的特效素材。
@Label是点击图片时需要触发的脚本标签.
例:
;显示图标

完整脚本代码

[@main]
显示图标<Img:10>
;设置坐标显示更加精确
[@main]
显示图标<Img:1185:1:1:-10>
;可执行脚本的图片
[@main]
显示图标<Img:1185:1:1:-10/@Hint>
[@Hint]
测试通过
;通过空格控制图片显示的位置.
;注意前面的空格,以及和X Y坐标的区别.
[@main]
<Img:1185:1:1:-10>显示图标
[@main]
播放图片<PlayImg:1:610:19:100/@播放图片>\
播放图片<PlayImg:1:130:7:300:-100:-100>\
文本悬浮TIPS功能及格式
<查看赞助称号功能|250#赠送:王者靴子,全属性2-2、暴击+1%,{2倍金币,经验,声望回收,|253}{七彩变色名字,|249}{可开启自动回收|254}^#250# ^#251#<纯净1.76独家复古小极品/FCOLOR=250> <回归经典 稍加创新/FCOLOR=253>>

脚本命令修改账号密码信息

脚本命令修改账号密码信息 [@修改账号密码信息]

完整脚本代码

#ACT
;ChangeAccountInfo 账号 密码 用户名 生日 提问1 回答2 提问2 回答2 邮箱(可以空) 手机(可以空)
ChangeAccountInfo qqqq 1234 1234 2019/01/01 1 2 3 4 1234@qq.com 1234567890
QF脚本相关触发
[@ChangeAccountInfoOK]
账号信息修改成功!
[@ChangeAccountInfo_Error_Account]
账号长度不正确或存在非法字符!
[@ChangeAccountInfoing]
正在修改中,请稍后!
[@ChangeAccountInfo_Error_Password]
密码长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_UserName]
用户名长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_BirthDay]
生日格式错误!
[@ChangeAccountInfo_Error_Quiz1]
提问1长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_Answer1]
回答1长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_Quiz2]
提问2长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_Answer2]
回答2长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_EMail]
邮件地址长度不正确或存在非法字符!
[@ChangeAccountInfo_Error_MobilePhone]
手机号长度不正确或存在非法字符!
[@ChangeAccountInfoError]
账号信息修改失败!
[@ChangeAccountInfoPasswordSame]
账号不能和密码相同!
[@ChangeAccountInfoUnSimplePassword]
不能使用简单的密码!
[@ChangeAccountInfoWriteError]
账号修改失败!
[@ChangeAccountInfoNotExists]
账号不存在!

自动登录离线挂机人物[!]

自动登录离线挂机人物

功能: 自动登录离线挂机人物

格式: 无

说明: 然后在M2操作-控制-加载脱机人物

例:

使用DBServer导出数据,导出的文件保存到X:\MirServer\Mir200\Envir\AutoLoadOffline.txt

自定义OK框[!]

说明

自定义OK框
<ITEMBOX:N:F:M:X:Y:W:H:S:T>\
N=编号(0~17)
F=OK框的背景的WIL序号,-1时不绘制背景
M=OK框的背景的图片序号
X Y = 微调坐标
W=宽度
H=高度
S=允许放入的物品类型。DB库的StdMode值,如果有多个使用“,”隔开,如果为“*”时,允许所有物品
T=未放入装备时,鼠标移动显示信息
;支持boxitem0-boxitem99代替-1关联对应OK框
<$BOXITEM[X].INDEX> DB里的IDX字段值加1,例如DB里的IDX值是1,这个变量获取到的值就是2
<$BOXITEM[X].NAME> 当前自定义OK框中的物品名称
<$BOXITEM[X].COUNT> 当前自定义OK框中的物品数量
<$BOXITEM[X].NAME_G> 当前自定义OK框中的物品改名名称
<$BOXITEM[X].DURA> 当前自定义OK框中的物品持久
<$BOXITEM[X].DURAMAX> 当前自定义OK框中的物品最大持久
<$BOXITEM[X].MAKEINDEX> 当前自定义OK框中的物品序列号(唯一ID)
<$BOXITEM[X].STDMODE> 当前自定义OK框中的物品StdMode字段值
<$BOXITEM[X].SHAPE> 当前自定义OK框中的物品Shape字段值
<$BOXITEM[X].LOOKS> 当前自定义OK框中的物品Looks字段值
<$BOXITEM[X].COLOR> 当前自定义OK框中的物品Color字段值
<$BOXITEM[X].UPGRADECOUNT> 当前自定义OK框中的物品星星数
<$BOXITEM[X].HP> 当前自定义OK框中的物品HP字段值
<$BOXITEM[X].MP> 当前自定义OK框中的物品MP字段值
<$BOXITEM[X].LAC> 当前自定义OK框中的物品的防御下限
<$BOXITEM[X].HAC> 当前自定义OK框中的物品的防御上限
<$BOXITEM[X].LMAC> 当前自定义OK框中的物品的魔防下限
<$BOXITEM[X].HMAC> 当前自定义OK框中的物品的魔防上限
<$BOXITEM[X].LDC> 当前自定义OK框中的物品的攻击下限
<$BOXITEM[X].HDC> 当前自定义OK框中的物品的攻击上限
<$BOXITEM[X].LMC> 当前自定义OK框中的物品的魔法下限
<$BOXITEM[X].HMC> 当前自定义OK框中的物品的魔法上限
<$BOXITEM[X].LSC> 当前自定义OK框中的物品的道术下限
<$BOXITEM[X].HSC> 当前自定义OK框中的物品的道术上限
<$BOXITEM[X].EFFECTINDEX> 当前自定义OK框中的物品的自定义特效编号
<$BOXITEM[X].DRILL1> 当前自定义OK框中的物品 镶嵌宝石的 第一个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL2> 当前自定义OK框中的物品 镶嵌宝石的 第二个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL3> 当前自定义OK框中的物品 镶嵌宝石的 第三个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL4> 当前自定义OK框中的物品 镶嵌宝石的 第四个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL5> 当前自定义OK框中的物品 镶嵌宝石的 第五个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL6> 当前自定义OK框中的物品 镶嵌宝石的 第六个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL7> 当前自定义OK框中的物品 镶嵌宝石的 第七个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL8> 当前自定义OK框中的物品 镶嵌宝石的 第八个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL9> 当前自定义OK框中的物品 镶嵌宝石的 第九个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].DRILL10> 当前自定义OK框中的物品 镶嵌宝石的 第十个孔是否已经打孔(0=没有打孔 1=已打孔)
<$BOXITEM[X].GINDEX1> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX2> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX3> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX4> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX5> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX6> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX7> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX8> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX9> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GINDEX10> 当前自定义OK框中的物品 镶嵌是哪种宝石,该宝石物品在StdItems.DB里IDX字段值加1,例如镶嵌宝石DB里的IDX值是1,这个变量获取到的值就是2(0=没有镶嵌)
<$BOXITEM[X].GNAME1> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME2> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME3> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME4> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME5> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME6> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME7> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME8> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME9> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].GNAME10> 当前自定义OK框中的物品 镶嵌宝石的名称
<$BOXITEM[X].VALUE1> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE2> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE3> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE4> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE5> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE6> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE7> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE8> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE9> 当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].VALUE10> 当前自定义OK框中的物品 元素属性值< br> <$BOXITEM[X].VALUE11>当前自定义OK框中的物品 元素属性值
<$BOXITEM[X].MAKEITEMTYPE> 当前自定义OK框中的物品 物品来源类型(0没有物品来源 1GM创建 2NPC创建 3购买的商铺的 4购买的NPC商店里的 5怪物爆的 6系统刷的 7挖矿 8挖的 9宝箱)
<$BOXITEM[X].MAKEITEMCUSTOMTYPE> 当前自定义OK框中的物品 自定义物品来源
<$BOXITEM[X].MAKEITEMDATETIME> 当前自定义OK框中的物品
<$BOXITEM[X].MAKEITEMMAPFILENAME> 当前自定义OK框中的物品 物品来源地图文件名称
<$BOXITEM[X].MAKEITEMMAPNAME> 当前自定义OK框中的物品 物品来源地图名称
<$BOXITEM[X].MAKEITEMCHRNAME> 当前自定义OK框中的物品 物品来源人物名称
<$BOXITEM[X].MAKEITEMMONNAME> 当前自定义OK框中的物品 物品来源怪物名称
<$BOXITEM[X].CUSTOMTEXT> 当前自定义OK框中的物品 自定义文本内容
<$BOXITEM[X].CUSTOMTEXTCOLOR> 当前自定义OK框中的物品 自定义文本显示的颜色
<$BOXITEM[X].CUSTOMVALUE.VALUE1> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE2> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE3> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE4> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE5> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE6> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE7> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE8> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE9> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.VALUE10> 当前自定义OK框中的物品 自定义属性值
<$BOXITEM[X].CUSTOMVALUE.COLOR1> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR2> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR3> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR4> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR5> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR6> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR7> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR8> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR9> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.COLOR10> 当前自定义OK框中的物品 自定义属性值显示的颜色
<$BOXITEM[X].CUSTOMVALUE.TYPE1> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE2> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE3> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE4> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE5> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE6> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE7> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE8> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE9> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.TYPE10> 当前自定义OK框中的物品 自定义属性类型
<$BOXITEM[X].CUSTOMVALUE.POS1> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS2> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS3> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS4> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS5> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS6> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS7> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS8> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS9> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.POS10> 当前自定义OK框中的物品 自定义属性显示位置
<$BOXITEM[X].CUSTOMVALUE.RATE1> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE2> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE3> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE4> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE5> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE6> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE7> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE8> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE9> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].CUSTOMVALUE.RATE10> 当前自定义OK框中的物品 自定义属性是否是百分比类型
<$BOXITEM[X].PROGRESSBAR1.OPEN> 当前自定义OK框中的物品 第一个进度条是否开启 0没有开启 1开启
<$BOXITEM[X].PROGRESSBAR1.NAME> 当前自定义OK框中的物品 第一个进度条的名称
<$BOXITEM[X].PROGRESSBAR1.COLOR> 当前自定义OK框中的物品 第一个进度条的名称颜色
<$BOXITEM[X].PROGRESSBAR1.POSITION> 当前自定义OK框中的物品 第一个进度条的当前进度值
<$BOXITEM[X].PROGRESSBAR1.MAX> 当前自定义OK框中的物品 第一个进度条的最大值
<$BOXITEM[X].PROGRESSBAR1.IMAGEINDEX> 当前自定义OK框中的物品 第一个进度条的图片序号
<$BOXITEM[X].PROGRESSBAR1.SHOWCAPTIONSTYLE> 当前自定义OK框中的物品 第一个进度条百分比显示样式
<$BOXITEM[X].PROGRESSBAR1.LEVEL> 当前自定义OK框中的物品 第一个进度条等级
<$BOXITEM[X].PROGRESSBAR2.OPEN> 当前自定义OK框中的物品 第二个进度条是否开启 0没有开启 1开启
<$BOXITEM[X].PROGRESSBAR2.NAME> 当前自定义OK框中的物品 第二个进度条的名称
<$BOXITEM[X].PROGRESSBAR2.COLOR> 当前自定义OK框中的物品 第二个进度条的名称颜色
<$BOXITEM[X].PROGRESSBAR2.POSITION> 当前自定义OK框中的物品 第二个进度条的当前进度值
<$BOXITEM[X].PROGRESSBAR2.MAX> 当前自定义OK框中的物品 第二个进度条的最大值
<$BOXITEM[X].PROGRESSBAR2.IMAGEINDEX> 当前自定义OK框中的物品 第二个进度条的图片序号
<$BOXITEM[X].PROGRESSBAR2.SHOWCAPTIONSTYLE> 当前自定义OK框中的物品 第二个进度条百分比显示样式
<$BOXITEM[X].PROGRESSBAR2.LEVEL> 当前自定义OK框中的物品 第二个进度条等级
新版自定义属性的自定义OK框常量(X是OK框0-17 Y是自定义属性1-30)
<$BOXITEM[X].NEWCUSTOMABILS[Y].INDEX>
<$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE1>
<$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE2>
<$BOXITEM[X].NEWCUSTOMABILS[Y].VALUE3>
X范围=0~17

完整脚本代码

[@main]
请放入需要升级的装备\
<ITEMBOX:0:2:117:20:10:76:76:10,11:254#只允许放入衣服^251#www.996m2.com>\ \ \
<ITEMBOX:1:2:117:96:10:76:76:*:254#所有物品都允许放入^251#www.996m2.com>\
BAGITEMINTOBOX 物品名称 OK框编号(0~17)
把包裹中的物品放入OK框中
//;把包裹中的唯一ID物品放入OK框中
BAGITEMMAKEINDEX 物品唯一ID OK框编号(0~99)
CHECKBAITEMCOUNTEX 物品名称 数量
检测包裹中物品的数量(排除已经放入自定义OK框的物品)
UNALLOWITEMINTOBOX
禁止放入命令,在OK框里放入物品时触发使用
CheckBoxItemCount OK框编号(0~17) 物品数量(该参数只有是叠加物品时才会有效)
检测OK框中是否有物品
ReturnBoxItem OK框编号(0~17)
OK框物品返回到包裹
DELBOXITEM OK框编号(0~17) 删除数量(该参数只有是叠加物品时才会有效,如果没有全部删除掉,需要使用UpDateBoxItem命令进行刷新,否则客户端不能立即显示删除掉的数量。如果该参数为空时,表示该OK框里的叠加物品不管有多少数量,都全部删除)
删除OK框物品
不要使用take命令删除O框物品,删除不了的
自定义OK框放入物品后在当前NPC脚本中触发,X值为0~17
[@ItemIntoBoxX]
#ACT
;禁止放入命令,可以检测是否可以升级的物品,可以使用此命令禁止放入
UNALLOWITEMINTOBOX
把自定义OK框中的物品放入包裹后,在当前NPC脚本中触发,X值为0~17
[@ItemOutBoxX]
;有用户在放OK框物品的触发里检测,这里检测不行的,在开始加属性之前必须也检测一下OK框的物品
[@ItemIntoBox5]
#if
EQUAL <$BOXITEM[5].NAME> 进击的巨人
#ACT
BREAK
#ELSEACT
ReturnBoxItem 5
MESSAGEBOX 只有进击的巨人可以吞噬!
[@开始加属性]
;在开始加属性之前必须检测一下OK框的物品是否合法
;在开始加属性之前必须检测一下OK框的物品是否合法
;在开始加属性之前必须检测一下OK框的物品是否合法
#if
NOT EQUAL <$BOXITEM[5].NAME> 进击的巨人
#ACT
ReturnBoxItem 5
MESSAGEBOX 只有进击的巨人可以吞噬!
BREAK
#IF
#ACT
;关联到OK框物品 所有操作或检测自定义OK框的脚本命令才能正常使用
SetUpgradeItem 5
;修改该OK框物品的名称颜色 -1表示是OK框
CHANGEITEMNAMECOLOR -1 253
;修改OK框物品星星数量 -1表示是OK框
CHANGEITEMUPGRADECOUNT -1 + 1
;刷新到客户端,刷新后,就会解除关联,如果下面还有修改OK框物品的命令,需要重新"SetUpgradeItem 5",最新引擎使用BREAK也会解除关联
UpDateBoxItem 5
;物品返回到包裹
ReturnBoxItem 5
例:
[@main]
请放入需要升级的装备\ \
<把包裹物品自动放OK框/@自动放物品>\ \
<ITEMBOX:0:2:117:20:10:76:76>\ \ \ \
<ITEMBOX:1:2:117:20:10:76:76>\ \ \ \
<开始升级/@开始升级>\
[@自动放物品]
#IF
CHECKBAITEMCOUNTEX 布衣(男)
#ACT
BAGITEMINTOBOX 布衣(男) 0
;放到0号OK框
#IF
CHECKBAITEMCOUNTEX 布衣(男)
#ACT
BAGITEMINTOBOX 布衣(男) 1
;放到1号OK框
[@开始升级]
#IF
#ACT
;关联到OK框物品 所有操作或检测自定义OK框的脚本命令才能正常使用
SetUpgradeItem 0
#IF
;检测OK框中是否有物品
CheckBoxItemCount 0 1
#ACT
;修改该OK框物品的名称颜色 -1表示是OK框
CHANGEITEMNAMECOLOR -1 253
;修改OK框物品星星数量 -1表示是OK框
CHANGEITEMUPGRADECOUNT -1 + 1
;刷新到客户端,使用后关联自动解除,如果下面还有修改这个OK框物品的脚本命令,需要再次使用SetUpgradeItem进行关联
UpDateBoxItem 0
;物品返回到包裹
ReturnBoxItem 0
SENDMSG 6 装备升级成功
#ELSEACT
SENDMSG 6 请放入需要升级的装备

自定义人物装备框按钮

使用方法: 可以查看自定义包裹按钮的使用方法,基本一样

首先启动登陆器配置器

点击界面UI编辑-界面编辑-OK

然后找到人物装备框的窗口,鼠标点一下人物装备框的窗口,右边的窗口会有名称,自定义(0~9)

这10个按钮点击会分别触发QF的[@StateWindowsButtonClickX],默认是隐藏的。

鼠标选择其中一个按钮,比如点击自定义(0),然后在右边的窗口,基本属性,就可以设置素材了

在右边的窗口基本属性里-游戏可见设置成勾选。

对方装备框的按钮也和上面的方法一样 , 对方装备框的按钮名称为:自定义(0~9)

自己的装备框按钮点击触发

完整脚本代码

[@StateWindowsButtonClick1]
[@StateWindowsButtonClick2]
[@StateWindowsButtonClick3]
查看对方的装备框按钮点击触发 对方的名称常量 <$USERSTATENAME>
[@UserStateButtonClick1]
[@UserStateButtonClick2]
[@UserStateButtonClick3]

自定义包裹按钮

包裹按钮自定义按钮触发

共5个按钮

在脚本QFunction-0.txt里触发

[@ItemBagButtonClickX] X范围在1-5

完整脚本代码

[@ItemBagButtonClick1]
[@ItemBagButtonClick2]
[@ItemBagButtonClick3]
[@ItemBagButtonClick4]
[@ItemBagButtonClick5]
可以使用脚本命令SETITEMBAGBUTTONINFO来动态调整按钮的位置,或是否显示某个按钮。
命令格式 SETITEMBAGBUTTONINFO 按钮编号(1~5) 是否可见(0不可见,1可见) 坐标X 坐标Y 提示信息
使用方法:
首先启动“996登录器生成器.exe”双击登录器参数列表
点击客户端GUI编辑-打开GUI主界面
然后找到背包场景,鼠标点一下背包窗口,背包窗口右边会出现自定义(0~9)10个 按钮 ,
这10个按钮点击会分别触发QF的[@ItemBagButtonClickX],默认是隐藏的,不显示的。
鼠标选择其中一个按钮,比如点击自定义(0),然后在右边的图片窗口置素材
在右边的窗口基本属性里-游戏可见勾选。就可以显示按钮,这一步可以省略。可以使用脚本命令SETITEMBAGBUTTONINFO设置。

自定义命令输入参数[!]

获取用户自定义命令输入参数<$PARAM(0)> <$PARAM(1)> <$PARAM(2)> <$PARAM(3)> <$PARAM(4)> <$PARAM(5)> <$PARAM(6)>

借用群里的范例 无测试 自己斟酌后在用

完整脚本代码

[@usercmd1]
#IF
checkGold 9999
#ACT
MOV N9 0
MOV S9
GOTO @字符过滤
#ELSEACT
SENDMSG SENDMSG 7 提示:您的金币不足1W。
BREAK
[@字符过滤]
#IF
checkcontainstext <$PARAM(1)> <$Str(S9)>
#ACT
SENDMSG 7 提示:该信息包含敏感字符
BREAK
#IF
LARGE N9 50
#ACT
TAKE 金币 10000
SendCenterMsg 180 251 <$USERNAME>:<$STR(S9)> 0 30
BREAK
#ELSEACT
getrandomtext ..\QuestDiary\WordFilter.txt S9 <$Str(N9)>
INC N9 1
SENDMSG 6 现在N $ 9=<$Str(N9)>, S9=<$Str(S9)>
GOTO @字符过滤

自定义怪物系统

先到怪物表DATA\cfg_monster.xls添加自定义怪物,Race=156 RaceImg=156,重启引擎后,自定义怪物栏就会出现你刚才添加的自定义怪物,编辑后保存即可。

M2-选项-怪物设置-自定义怪物

CustomSkill自定义技能系统

自定义技能系统

先到怪物表DATA\cfg_magic.xls添加自定义技能, 自定义技能ID范围140-255,重启引擎后,自定义技能栏就会出现你刚才添加的自定义技能,编辑后保存即可。

M2-查看-列表信息(二)-自定义技能

自定义物品特效

M2-查看-列表信息(二)-特效列表

自定义装备属性 自定义装备文本

自定义装备文本 该数据保存在人物数据库里

功能说明:可以给装备自定义一行文字,文字长度20个字符,也就是10个汉字。

修改自定义装备文字内容:

CHANGECUSTOMITEMTEXT 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 文字内容

修改自定义装备文字内容显示的颜色:

CHANGECUSTOMITEMTEXTCOLOR 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 文字颜色(0~255)

例:

完整脚本代码

[@main]
<设置衣服自定义文字(不超过10个汉字)/@@InputString1>\
<设置衣服自定义文字颜色(0~255)/@@InputInteger1>\
[@InputInteger1]
#ACT
CHANGECUSTOMITEMTEXTCOLOR 0 N1
[@InputString1]
#ACT
CHANGECUSTOMITEMTEXT 0 S1
获取自定义属性文字内容
GETCUSTOMITEMTEXT 装备位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 变量
获取自定义属性文字颜色
GETCUSTOMITEMTEXTCOLOR 装备位置(-1时是OK框中的装备, 0~28或30~47时是穿在身上的装备) 变量
例:
[@main]
\ \
<取名/@取名> <取颜色/@取颜色>
[@取名]
#ACT
GETCUSTOMITEMTEXT 1 S$名字
SENDMSG 6 <$STR(S$名字)>
[@取颜色]
#ACT
GETCUSTOMITEMTEXTCOLOR 1 S$名字颜色
SENDMSG 6 <$STR(S$名字颜色)>
自定义装备属性 该数据保存在人物Mir.DB里
功能说明:可以自定义装备的属性值, 支持20个属性
自定义装备属性的名称控制(M2-选项-客户端设置-自定义属性)
检测自定义装备属性值:
CHECKCUSTOMITEMVALUE (-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 属性位置(0~19 每个装备可以自定义20个属性) (检测符>,<,=) 值
检测自定义装备属性绑定类型:
CHECKCUSTOMITEMVALUETYPE (-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 属性位置(0~19 每个装备可以自定义20个属性) (检测符>,<,=) 值(0~17 0没有绑定 1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~17为10个无属性的)
修改自定义装备属性值:
CHANGECUSTOMITEMVALUE (-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 属性位置(0~19 每个装备可以自定义20个属性) (控制符+,-,=) 值
获取人物所穿装备的自定义属性值:
GETHUMCUSTOMITEMVALUE 属性位置(-1表示20个属性全部获取,0~19 装备自定义20个属性) 绑定的属性类型(0~17 0没有绑定 1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~17为10个无属性的) 变量1(保存属性值) 变量2(如果属性是百分比的,保存在这个变量)
修改自定义装备属性:
CHANGECUSTOMITEMABIL 参数1 参数2 参数3 参数4
参数1:
装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备)
参数2:
属性位置(0~19)每个装备可以自定义20个属性
参数3:
修改类型(0~4)
0表示修改该属性显示的颜色(等于1时,参数4的范围在 0~255)
1表示该属性绑定哪个属性,必须绑定,否则该属性无效,登陆器也不会显示(参数4的范围在0~17 0取消绑定 1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~17为10个无属性的 更多属性持续增加中)
2表示在属性框里的显示位置
3表示该属性是否是百分比属性(0,1) 0不是百分比 1是百分比
参数4:
参数3=0时 修改的值0~255
参数3=1时 修改的值0~17
参数3=2时 修改的值0~255
参数3=3时 修改的值0~1
获取自定义装备属性:
GetCustomItemAbil装备位置 属性位置(0~9) 属性类型(0~4) 变量名
0:获取该属性显示的颜色(0~255)
1:获取该属性绑定哪个属性(0~17)
2:获取在属性框里的显示位置值(0~255;显示位置值相同的显示在同一行)
3:获取该属性是否是百分比属性(0~1;0=非百分比;1=百分比)
获取装备的自定义属性值:
GetCustomItemValue 装备位置 属性位置(0~9) 变量1 变量2
变量1为保存属性值
变量2是否为百分比,是为1,否为0
例:
[@检测衣服的第一个自定义装备属性的绑定类型]
#IF
CHECKCUSTOMITEMVALUETYPE 0 0 = 1
#ACT
SENDMSG 6 你的衣服的第一个自定义属性绑定的是AC
[@修改衣服的自定义属性值]
#ACT
CHANGECUSTOMITEMVALUE 0 0 = 10
CHANGECUSTOMITEMVALUE 0 1 = 20
SENDMSG 6 衣服的第一个自定义属性的值修改成10,第二个自定义属性值修改成20
[@修改衣服的自定义属性值显示颜色]
#ACT
CHANGECUSTOMITEMABIL 0 0 0 249
CHANGECUSTOMITEMABIL 0 1 0 180
SENDMSG 6 衣服的第一个自定义属性显示颜色修改成红色,第二个自定义属性显示颜色修改成蓝色
[@修改衣服的自定义属性绑定类型]
#ACT
CHANGECUSTOMITEMABIL 0 0 1 1
CHANGECUSTOMITEMABIL 0 1 1 2
SENDMSG 6 衣服的第一个自定义属性绑定防御属性,可以增加人物防御,第二个自定义属性绑定魔防属性,可以增加人物魔防
[@修改衣服的自定义属性显示在同一行]
#ACT
CHANGECUSTOMITEMABIL 0 0 2 0
CHANGECUSTOMITEMABIL 0 1 2 0
;第四个参数相同的会显示在同一行
SENDMSG 6 衣服的第一个自定义属性和第二个自定义属性显示在同一行
[@修改衣服的自定义属性不显示在同一行]
#ACT
CHANGECUSTOMITEMABIL 0 0 2 0
CHANGECUSTOMITEMABIL 0 1 2 1
;第四个参数不相同的会分开显示,不会在同一行
SENDMSG 6 衣服的第一个自定义属性显示在第一行,第二个自定义属性显示在第二行
[@修改衣服的自定义属性值是否是百分比]
#ACT
CHANGECUSTOMITEMABIL 0 0 3 0
CHANGECUSTOMITEMABIL 0 1 3 1
SENDMSG 6 衣服的第一个自定义属性不是百分比属性,第二个自定义属性为百分比属性
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

自定义装备进度条 类似刀魂功能

功能说明:可以给装备自定义进度条,支持2个进度条。显示在装备名称的下面一行

必备补丁NewopUI.PAK 490 是第一个进度条的背景图片 491~499 为静态的进度条图 500~509 为动态的进度条图

必备补丁NewopUI.PAK 510 是第二个进度条的背景图片 511~519 为静态的进度条图 520~529 为动态的进度条图

检测进度条是否开启:

CHECKCUSTOMITEMPROGRESSBAR 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 进度条序号(0=表示第一个进度条,1表示第二个进度条)

完整脚本代码

[@检测衣服的第一个进度条是否开启]
#IF
CHECKCUSTOMITEMPROGRESSBAR 0 0
#ACT
SENDMSG 6 衣服的第一个进度条已经开启
#ELSEACT
SENDMSG 6 衣服的第一个进度条没有开启
检测进度条值:
CHECKCUSTOMITEMPROGRESSBARVALUE 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 进度条序号(0=表示第一个进度条,1表示第二个进度条) 检测类型(0当前进度值,1进度条最大值,2进度条等级(0~65535)) 检测符(<,>,=) 检测值
检测进度条百分比:
CHECKCUSTOMITEMPROGRESSBARPERCENT 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 进度条序号(0=表示第一个进度条,1表示第二个进度条) 检测符(<,>,=) 检测值(0~100)
修改自定义装备进度条属性:
CHANGECUSTOMITEMPROGRESSBAR 参数1 参数2 参数3 参数4
参数1:装备位置(-1时是OK框中的装备, 0-18时是穿在身上的装备)
参数2:进度条序号。参数范围(0,1)0=表示第一个进度条 1表示第二个进度条
参数3:修改类型,参数范围(0~4) 0显示或关闭进度条 1进度条名称(会显示在进度条左边) 2进度条名称颜色(0~255) 3进度条图片张数(1~9) 4显示进度的数值(0~2)
参数4:
参数3=0时,范围(0关闭进度条,1显示进度条)
参数3= 1时,进度条名称(15个字符)支持显示进度值、百分比、进度条等级 %p表示当前进度值 %m表进度条最大值 %l表示进度条等级 %r表示进度条百分比
参数3=2时,进度条名称颜色(0~255)
参数3=3时,进度条图片张数(1~191~9表示绘制单张的,如果是第一个进度条,如果参数4=1就会绘制491,如果参数4=2就会绘制492。如果参数4在10~19之间,表示循环绘制,如果参数4=10表示绘制500,如果参数4=11 表示在500~501之间循环绘制,如果参数4=12 表示在500~502之间循环绘制)
参数3=4时,显示进度的数值(0不显示,1百分比显示方式 2数值显示方式)
修改自定义装备进度条属性值:
CHANGECUSTOMITEMPROGRESSBARVALUE 装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 进度条序号(0=表示第一个进度条 1表示第二个进度条) 类型(0表示当前进度 1表示进度条最大值,2表示进度条等级(0~65535)) 操作符(+,-,=) 值
获取自定义装备进度条属性值:
GetCustomItemProgressbarValue 参数1 参数2 参数3 参数4
参数1:装备位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备)
参数2:进度条序号(0,1)
参数3:获取值类型(0,1,2,3) 0=进度当前值 1=进度条最大值 2=进度条等级 3=进度条当前百分比
参数4:保存到变量
获取自定义进度条各种属性
GetCustomItemProgressbar装备位置进度条序号(0,1)属性类型(0~4)变量
属性类型(4:参数3):
0:获取进度条是否开启进度条:0=关闭进度条,1=开启进度条
1:获取进度条显示名称
2:获取进度条名称颜色(0”255)
3:获取进度条图片播放数量(0:不显示进度条:19:单张绘制;10”19:循环绘制)
4:获取进度条数值显示方式【0=不显示;1=百分比显示(10%);2=数值显示(10/100)】
例:
[@检测衣服的第一个进度条是否开启]
#IF
CHECKCUSTOMITEMPROGRESSBAR 0 0
#ACT
SENDMSG 6 衣服的第一个进度条已经开启
#ELSEACT
SENDMSG 6 衣服的第一个进度条没有开启
[@检测衣服的第一个进度条最大值]
#IF
CHECKCUSTOMITEMPROGRESSBARVALUE 0 0 1 > 99
#ACT
SENDMSG 6 衣服的第一个进度条最大值大于99
#ELSEACT
SENDMSG 6 衣服的第一个进度条最大值不大于99
[@检测衣服的第一个进度条当前值]
#IF
CHECKCUSTOMITEMPROGRESSBARVALUE 0 0 0 > 99
#ACT
SENDMSG 6 衣服的第一个进度条当前值大于99
#ELSEACT
SENDMSG 6 衣服的第一个进度条当前值不大于99
[@检测衣服的第一个进度条等级]
#IF
CHECKCUSTOMITEMPROGRESSBARVALUE 0 0 2 > 99
#ACT
SENDMSG 6 衣服的第一个进度条等级大于99
#ELSEACT
SENDMSG 6 衣服的第一个进度条等级不大于99
[@检测衣服的第一个进度条百分比]
#IF
CHECKCUSTOMITEMPROGRESSBARPERCENT 0 0 > 99
#ACT
SENDMSG 6 衣服的第一个进度条百分比为100%
[@显示衣服的第一个进度条]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 0 1
[@显示衣服的第二个进度条]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 1 0 1
[@关闭衣服的第一个进度条]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 0 0
[@关闭衣服的第二个进度条]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 1 0 0
[@修改衣服的第一个进度条的名称]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 1 刀魂
;支持显示进度值、百分比、进度条等级 %p表示当前进度值 %m表进度条最大值 %l表示进度条等级 %r表示进度条百分比
;例如:
;CHANGECUSTOMITEMPROGRESSBAR 0 0 1 刀魂: %l
;CHANGECUSTOMITEMPROGRESSBAR 0 0 1 刀魂: %r
;CHANGECUSTOMITEMPROGRESSBAR 0 0 1 刀魂: %p-%m
[@修改衣服的第一个进度条的名称颜色]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 2 254
[@修改衣服的第一个进度条静态图片素材]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 3 1
SENDMSG 6 衣服的第一个进度条静态图片素材,使用NewopUI.PAK第491号
[@修改衣服的第一个进度条动态图片素材]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 3 19
SENDMSG 6 衣服的第一个进度条动态图片素材,使用NewopUI.PAK第500~509号之间循环播放
[@修改衣服的第一个进度条图片素材]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 3 1
[@修改衣服的第一个进度条百分比显示]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 4 1
[@修改衣服的第一个进度条数值显示]
#ACT
CHANGECUSTOMITEMPROGRESSBAR 0 0 4 2
[@修改衣服的第一个进度条的最大值]
#ACT
CHANGECUSTOMITEMPROGRESSBARVALUE 0 0 1 = 100
;当前进度值不能超过进度条最大值,一般先要修改进度条最大值,然后在修改当前进度值。这里最大值设置为100
[@修改衣服的第一个进度条的当前进度值]
#ACT
CHANGECUSTOMITEMPROGRESSBARVALUE 0 0 0 + 10
;当前进度值不能超过进度条最大值,一般先要修改进度条最大值,然后在修改当前进度值。
[@修改衣服的第一个进度条的等级]
#ACT
CHANGECUSTOMITEMPROGRESSBARVALUE 0 0 2 + 10
;当前进度值不能超过进度条最大值,一般先要修改进度条最大值,然后在修改当前进度值。
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

自定义输入

@@InPutString 用法 @InPutInteger 类似

22要和后面的变量一样<$STR(S22)>

输入框常量:<$npcparams(类型,变量)>

;类型:1=输入框,2=勾选框,3=滑动条,4=下拉框(菜单)

;变量:面板传递的变量

举例说明:

完整脚本代码

[@main]
<请输入充值卡卡号/@@InPutString22>\
[@InPutString22]
#if
#act
MOV S22 <$NPCPARAMS(1,S22)>
#if
EQUAL S22 996引擎
#act
sendmsg 6 常量值:<$NPCPARAMS(1,S22)>
[@main]
支持自定义对话框标题,弹出来的对话框上面显示的信息,括号里的信息就是对话框上显示的信息
<请输入充值卡卡号/@@InPutInteger22(请输入充值卡卡号:)>\
[@InPutInteger22]
#if
#act
MOV N22 <$NPCPARAMS(1,N22)>
#if
EQUAL N22 996
#act
sendmsg6 常量值:<$NPCPARAMS(1,N22)>

补丁读取规则[!]

补丁读取规则

功能: 补丁读取规则

格式: Resources目录

说明: 以读取Prguse.wzl为例, 先读取Resources\Data\Prguse.Jpk, 如果Resources\Data\Prguse.Jpk不存在,读取Data\Prguse.wzl, 如果Data\Prguse.wzl不存在,而你的Wzllist.txt也没有写这个文件的读取路径则会去官方CDN拉取Data\Prguse.wzl。

例:

优先读取Resources\Data\Hum.Jpk 如果这个文件不存在,则读取Data\Hum.wzl。

优先读取Resources\Map\0.map 如果这个文件不存在,则读取Map\0.map。

优先读取Resources\Wav\0.wav 如果这个文件不存在,则读取Wav\0.wav。

增加支持 M2–列表信息二–物品备注(物品备注)

增加支持 M2–列表信息二–套装系统(套装备注)

补充说明

详细说明

增加支持 Resources\Data\SkillDesc.Dat(技能备注)

增加支持 Resources\Data\MapDesc.Dat(外传的小地图备注)

增加支持 Resources\Data\MapDesc1.Dat(小地图备注)

增加Items1.wzl DnItems1.wzl StateItem1.wzl 数据库Looks起始编号10000开始

改进小地图扩展mmap10.wzl从10001开始

增加扩展Npc10.wzl Npc代码从1000

增加支持:

武器和衣服时可按照一件武器一个.Jpk文件的方式配置.

武器放在传奇目录的\Graphics\Weapon\

衣服放在\Graphics\Human\下.

物品数据库中单个武器和衣服的Shape值从1000开始算起.

单个武器和衣服素材的文件名必须和物品数据库中的Shape值一样,

例如:数据库中设置Shape=1000,那么单个武器或者素材的文件就是1000.Jpk,如果Shape= 1001那么文件名就是1001.Jpk

装备对比

装备对比开启

M2-选项-功能设置-客户端设置

装备技能冷却元素

每个装备只能设置一个技能

设置装备的技能冷却时间

SetItemSkillTime 装备位置 技能ID (+,-,=) 时间(秒)

获取装备的技能和冷却时间

GetItemSkillTime 装备位置 保存变量(技能ID) 保存变量(时间(秒))

获取全身装备的技能冷却时间

GetAllItemSkillTime 技能ID 保存变量

完整脚本代码

[@main]
#ACT
SetItemSkillTime 0 26 – 10
SENDMSG 6 设置衣服的烈火剑法的冷却时间-10秒
GetItemSkillTime 0 N1 N2
SENDMSG 6 获取衣服的冷却技能ID<$STR(N1)>,冷却时间<$STR(N2)>秒

装备投保功能

说明

装备投保功能:在人物死亡掉装备的时候,如果该装备做过投保,就不会掉落该装备,而是扣除投保时的元宝
需要在物品装备表cfg_item.xls 24列新增字段Insurance,参数 :货币ID#投保金额 如0#500,每投保一次扣500元宝
货币ID:0元宝 1金币 2泡点 3金刚石 4灵符 5声望 6荣誉值 7游戏点 8新游戏点
字段Insurance 设置了才会显示该装备是否已经投保
开启方式:M2-参数设置-人物死亡-装备保价
QF脚本触发,人物死亡掉装备触发 [@DropUseItemsX] X表示装备位置 0-18
字段Insurance 设置了人物死亡掉装备才会触发。投保次数,每次人物死亡掉装备自动减1
相关常量:
OK框的常量
保金类型:<$BOXITEM[X].INSURANCECURRENCY>
投保次数:<$BOXITEM[X].INSURANCECOUNT>
投保金额:<$BOXITEM[X].INSURANCEGOLD>
以下常量必须在 [@DropUseItemsX]触发里才会有效
当前掉落前装备的 剩余投保次数:<$INSURANCECOUNT>
当前掉落前装备的 保金类型:<$INSURANCECURRENCY>
当前掉落前装备的 投保金额:<$INSURANCEGOLD>
当前掉落前装备的 名称: <$INSURANCEITEMNAME>
GetInsureValue
参数1:位置
参数2:变量(获取投保次数)
参数3:变量(获取投保类型)
参数4:变量(获取投保金额)
相关脚本命令:
检测装备投保次数
CHECKINSURANCECOUNT 位置(-1表示OK框) 检测符(>,<,= ) 次数(0-65536)
调整装备投保次数
CHANGEINSURANCECOUNT 位置(-1表示OK框) 调整符(+,-,= ) 次数(0-65536)

完整脚本代码

[@main]
#if
CHECKGAMEGOLD > 99
#act
CHANGEINSURANCECOUNT 0 + 1
GAMEGOLD – 100
sendmsg 6 你的衣服投保增加一次,扣除100元宝!
#elseact
sendmsg 6 你的元宝不足100,投保失败!
break
QF脚本触发:
[@DropUseItems0]
#IF
#ACT
SENDMSG 6 你的衣服【<$INSURANCEITEMNAME>】有保险,没有掉。剩余投保次数(<$INSURANCECOUNT>)保金类型(<$INSURANCECURRENCY>)投保金额(<$INSURANCEGOLD>)
[@DropUseItems1]
#IF
#ACT
SENDMSG 6 你的武器【<$INSURANCEITEMNAME>】有保险,没有掉,剩余投保次数(<$INSURANCECOUNT>)保金类型(<$INSURANCECURRENCY>)投保金额(<$INSURANCEGOLD>)

装备框 悬浮框 背景特效

1.引擎-选项-客户端设置-装备悬浮框背景特效 添加好特效

2.然后使用脚本命令SETSHOWITEMWINDOWEFFECTINDEX 把编辑好的特效设置到装备上

SETSHOWITEMWINDOWEFFECTINDEX 装备位置(0~28或30~47,-1表示OK框物品) 特效编号(在引擎上装备悬浮框背景特效里面编辑好的编号,如果设置成0表示删除特效,设置后特效编号会保存到人物数据库里) 特效位置(0~2,每个装备可以设置3个特效)

不勾选平铺模式时,图片会按照设置的坐标固定显示

勾选平铺模式时,图片会自动缩放绘制在整个装备悬浮框上,

如果图片周围有空图片,需要设置空白的宽度对齐

设置NPC文字坐标

=====================================================设置NPC文字坐标===================================

<Text:文字内容:X:Y/@触发>

<Text:测试下这段文字的显示|253#提示信息^254#www.996m2.com:10:20{FCOLOR=250}>

<Text:测试下这段文字的显示|253#提示信息^254#www.996m2.com:10:20/@测试>

<Text:<$STR(S87)>|提示信息:10:20{FCOLOR=250}/@测试>

<Text:测试下这段文字的显示|提示信息:10:20{FCOLOR=254}/@测试>

<Text:测试下这段文字的显示|提示信息:10:20{AUTOCOLOR=250,251,252,253,254}/@测试>

提示信息说明: #颜色分隔符 ^换行符

镜像副本

说明

动态创建一个镜像地图
ADDMIRRORMAP
格式:AddMirrorMap A B C D E F
功能:动态创建一个镜像地图
说明:创建成功后,人物D99变量返回1,否则返回0
A,原地图编号,在地图配置文件中存在的地图!
B,新地图编号,临时使用的地图编号,就和镜像地图功能一样!
C,新地图名,这里指客户端显示的名字
D,该地图存在的有效时长(秒),时间到后,此地图将自动回收,并且将地图上的人传送至E参数设置的地图
E,人物退出时返回的地图编号 该地图不能是动态创建的地图,也就是不能是ADDMIRRORMAP命令创建的地图
F, 小地图编号
DelMirrorMap
格式:DelMirrorMap 地图名
功能:删除动态创建的镜像地图
MirrorMapTime
格式:MirrorMapTime 地图名 时间(单位:秒)
功能:设置/获取镜像地图的时间
说明:如果时间不写,则表示获取当前地图的剩余时间,时间返回在D99变量
如果获取地图失败或不是镜像地图,则D99返回-1
CheckMirrorMap
格式:CheckMirrorMap 地图名
功能:检测镜像地图是否已经创建
-下面是使用例子
;使用人物名称做为副本地图的名称创建副本

完整脚本代码

[@main]
#if
#act
MirrorMapTime <$USERNAME>
#SAY
剩余时间:<$STR(D99)>秒\ \
<创建副本/@创建副本>\
<进入副本/@进入副本>\
<删除副本/@删除副本>\
[@删除副本]
#ACT
DELMIRRORMAP <$USERNAME>
goto @main
[@进入副本]
#IF
LARGE D99 0
#ACT
give 回城卷 1
map <$USERNAME>
#ELSEACT
goto @main
SENDMSG 6 副本地图还没有创建
[@创建副本]
#if
CheckMirrorMap <$USERNAME>
#ACT
goto @main
SENDMSG 6 该副本地图已经创建
BREAK
#IF
#ACT
AddMirrorMap 0 <$USERNAME> 比奇副本 60 0159 101
;创建一个连接,地图3 坐标 X:333 Y:333 连接到新创建的副本地图坐标 X:333 Y:333
AddMapGate 连接 3 333 333 1 <$USERNAME> 333 333 60
#if
Equal D99 1
#ACT
goto @main
SENDMSG 6 创建成功
#ELSEACT
goto @main
SENDMSG 6 创建失败

镶嵌宝石

说明

================================镶嵌宝石=================================================
注意:
镶嵌有个地方要设置好,否则可能导致镶嵌成功了,但是客户端不显示
M2-查看-列表信息二-内挂捡取。最下面那个“物品数据库不发送到登陆器”这个选项,如果你勾选了
请配置登陆器的时候,点击集成特殊文件,把物品数据库集成。否则就不要勾选
在数据库增加宝石的DB,宝石DB如下:
数据库宝石配置 :类型StdMod=42
宝石的Shape值(0~4)显示出5个不同颜色的镶嵌宝石。在必备补丁NewopUI.PAK的301~305
宝石的Shape值如果设置为255,镶嵌后会显示宝石DB的Looks的。也就是DnItems里面的素材
宝石DB库的字段Reserved=0时 Ac2 Mac2 DC2 MC2 SC2 HP MP字段的值是增加的对应的7个基本属性的值
宝石DB库的字段Reserved>0时Ac2Mac2DC2MC2SC2HPMP字段的值除以100,为各属性的倍数,例如Ac2设置为110,人物的防御为200。人物实际防御=110/100*200=220
Value1~Value17 是增加的元素属性。
其他字段没有特别要求。
打孔脚本命令
DRILLHOLE 参数1(装备位置(0~16时身上装备,-1时为OK框里的物品) 参数2(孔位置(0~9) 参数3(状态(1= 打开 0关闭)
镶嵌宝石脚本命令,先要打孔后才能镶嵌成功
SOCKETABLEITEM 参数1(装备位置(0~16时身上装备,-1时为OK框里的物品) 参数2(宝石位置(0~9) 参数3(宝石DB库的IDX序号加1(如果设置0就是删除宝石))
检测玩家身上指定装备是否已经打孔
CHECKDRILLHOLE 装备位置(0~16时身上装备,-1时为OK框里的物品) 孔位置(0~9)
检测玩家身上指定装备是否已经镶嵌宝石
CHECKSOCKETABLEITEM 装备位置(0~16时身上装备,-1时为OK框里的物品) 宝石位置(0~9) 变量(如果已经镶嵌宝石,该宝石的IDX值会保存到该变量) 变量2(如果已经镶嵌宝石,该宝石的名称会保存到该变量)
检测玩家身上指定装备已经打孔的数量
CHECKDRILLHOLECOUNT 装备位置(0~16时身上装备,-1时为OK框里的物品) 检测符(<,>,=) 数量
检测玩家身上指定装备已经镶嵌宝石的数量
CHECKSOCKETABLEITEMCOUNT 装备位置(0~16时身上装备,-1时为OK框里的物品) 检测符(<,>,=) 数量
其他注意:
StdMode=19 20 21 23 24 5 6
这几种是没有防御和魔防的,最好不要镶嵌防御和魔防。 如果你镶嵌魔防和防御,那出现的属性是幸运、敏捷、准确等等这些属性
获取装备宝石数量
GetItemStoneCount 参数 装备位置 宝石名称(不分名称可用 * ) 变量
获取身上所有装备宝石数量
GetStoneCount 参数 宝石名称(不分名称可用 * ) 变量

完整脚本代码

[@例子]
#IF
CHECKSOCKETABLEITEM 0 0 N1 S1
#act
SENDMSG 6 衣服第一个位置镶嵌了宝石。宝石名称:<$STR(S1)>,宝石IDX字段:<$STR(N1)>
#elseact
SENDMSG 6 衣服第一个位置没有镶嵌宝石
[@镶嵌衣服的第一个宝石,宝石IDX为831]
#ACT
;先要打孔
DRILLHOLE 0 0 1
;然后镶嵌
SOCKETABLEITEM 0 0 832
[@获取装备宝石数量命令]
#if
#act
GetItemStoneCount 1 * N10
SENDMSG 6 你的【<$WEAPON>】上面共有宝石:<$STR(N10)>
GetItemStoneCount 1 攻击青宝石(初级) N10
SENDMSG 6 你的【<$WEAPON>】上面共有【攻击青宝石(初级)】:<$STR(N10)>
[@获取身上所有装备宝石数量]
#if
#act
GetStoneCount * N10
SENDMSG 6 你的身上所有宝石共有宝石:<$STR(N10)>
GetStoneCount 攻击青宝石(初级) N10
SENDMSG 6 你的身上【攻击青宝石(初级)】共有宝石:<$STR(N10)>
=================================在NPC对话框里显示物品图片,鼠标放上去可以显示物品的属性===================================================
M2-查看-列表信息二-内挂捡取。最下面那个“物品数据库不发送到登陆器”这个选项,如果你勾选了
请配置登陆器的时候,点击集成特殊文件,把物品数据库集成。否则就不要勾选
<ItemShow:D:F:X:Y:B>
d= 物品ID
F= 数量(如果为0 就不会显示数量)
X Y = 微调坐标 排版的
B=是否显示背景图片 在必备补丁的47号图片
鼠标放上去显示物品属性。类似<Img>图标的用法

顶戴花翎功能

说明

功能:顶戴花翎功能
格式:SetIcon 位置(0-9) WIL文件序号 图片序号(0-65535) X(为空时默认X=0) Y(为空时默认Y=0) 播放张数(为空时默认张数=1) 播放效果(0普通 1特效) 播放速度(毫秒,为空时速度为300毫秒) 是否只有自己看见(0=所有人都可以看见 1=仅仅自己可以看见) 播放次数(0或为空时表示无限次数)|播放顺序(0角色上面 1角色下面)
说明:参数10是两个参数使用“|”隔开
例:
NPC顶戴花翎:
MerChant.txt中的NPC
盟重土城/流浪汉 3 346 334 流浪汉 0 3 0
流浪汉的顶戴花翎会读取 Envir\NpcIcons\盟重土城\流浪汉-3.txt
Envir\NpcIcons\盟重土城\流浪汉-3.txt 格式如下:
;WIL文件序号 图片序号(0-65535) 播放张数 X Y 播放效果(0普通 1特效) 播放速度(毫秒,为空时速度为300毫秒) 播放次数(0或为空时表示无限次数) 播放顺序(0角色上面 1角色下面)
;最多不超过十行
3 1 5 0 -30
怪物顶戴花翎:
白野猪的顶戴花翎会读取 Envir\MonIcons\白野猪.txt
Envir\MonIcons\白野猪.txt 格式如下和NPC的顶戴花翎格式是一样的:
;WIL文件序号 图片序号(0-65535) 播放张数 X Y 播放效果(0普通 1特效) 播放速度(毫秒,为空时速度为300毫秒) 播放次数(0或为空时表示无限次数) 播放顺序(0角色上面 1角色下面)
;最多不超过十行
3 1 5 0 -30
人物顶戴花翎:

完整脚本代码

[@main]
#ACT
SETICON 0 3 1 30 -30
SETICON 1 3 2 -30 -30
SETICON 2 3 3 -60 -30 3
SETICON 3 3 7
;如果要清除,WIL文件序号设置为-1即可
[@main]
SETICON 0 -1
SETICON 1 -1
SETICON 2 -1

顶部备注 特殊备注功能

装备顶部备注功能,装备特殊备注功能,该备注显示在,装备名称和装备属性之间; 引擎-查看-列表信息二-物品备注-顶部备注 里面编辑

在Envir目录下创建个DZItemDescList.txt文本文件

文件格式,例:

;装备名称 备注颜色 备注信息

;“/”颜色分割符“ \”换行符“//”双斜杠显示为/

显示图片

格式: <IMG:N:F:X:Y:M:S>

N表示显示文件中的第几个图片,F表示WIL文件序号,X是横向坐标,Y是纵向坐标.

F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)

X和Y这两个坐标可以使图片显示的坐标更加精准.

补充说明

详细说明

M是绘制模式0普通绘制 1特效绘制

S=不占用字符位置(0占 1不占)

显示动态图片

格式: <PLAYIMG:F:N:C:T:X:Y:M:S>

F表示WIL文件序号

N表示播放开始图片

C表示播放张数

T表示播放速度(毫秒)

X,Y表示微调坐标

M是绘制模式0普通绘制 1特效绘制

S=不占用字符位置(0占 1不占)

;下面的例子要在(查看-列表信息二-WIL资源里添加“NewopUI.Pak”,并且放在第一位,图片可以正常显示)–

;DZItemDescList.txt 文件

木剑=251/史诗

铁剑=253/极品

金戒指=253/测试金戒指备注\243/测试金戒指换行备注

布衣(男)=243/测试图片左边边的备注<IMG:1600:0:0:0:0:0>243/测试图片右边的备注\<PLAYIMG:0:1610:10:100:0:0:0:0>243/测试动态图片备注

骨玉权杖=<IMG:1600:0:0:0:0:0><PLAYIMG:0:1610:10:100:0:0:0:0><IMG:1600:0:0:0:0:0><PLAYIMG:0:1610:10:100:0:0:0:0>

坚固手套=<PLAYIMG:0:1610:10:100:0:0:0:0>243/测试图片左边边的备注<IMG:1600:0:0:0:0:0><PLAYIMG:0:1610:10:100:0:0:0:0>243/测试图片右边的备注\<PLAYIMG:0:1610:10:100:0:0:0:0>243/测试动态图片备注

;

备注常量,可以显示该装备的附加属性点数<$ADDVALUEX>,X为附加属性ID

例如:

武器的0号属性为攻击

衣服的3号属性为魔法

裁决之杖=70/武器修炼<次数/FCOLOR=250><$ADDVALUE0>//7

首饰盒(6个物品的)

在“引擎-选项-功能设置-其他控制(3)” 里面开启

必备补丁“NewopUI.pak”236 237 238 是打开首饰盒的按钮图片,如果要更换这三个图片,只能替换 必备补丁“NewopUI.pak”里面的图片,不能使用UI编辑器修改

人物开启首饰盒:

QFunction-0.txt 加入如下脚本

完整脚本代码

[@OpenSndaItemBox2]
#act
;如果那个首饰盒按钮是灰色的,点击那个按钮就会触发这个,然后使用命令SetSndaItemBox开启后,按钮就会变彩色,然后点击按钮就可以打开首饰盒子
SetSndaItemBox 1 1
SENDMSG 6 人物首饰盒开启成功
英雄开启首饰盒:
[@HeroOpenSndaItemBox2]
#act
;如果那个首饰盒按钮是灰色的,点击那个按钮就会触发这个,然后使用命令SetSndaItemBox开启后,按钮就会变彩色,然后点击按钮就可以打开首饰盒子
H.SetSndaItemBox 1 1
H.SENDMSG 6 英雄首饰盒开启成功
DB设置
头盔:stdmode段为15
项链:stdmode段为19、20、21
手镯:stdmode段为24、26
戒指:stdmode段为22、23
;-
放入条件
物品允许装备的位置(只限于可以装备的物品)数据库字段:Overlap
0,1 只允许穿身上
2: 只允许首饰盒
3: 可以穿身上+首饰盒
4: 只允许神佑
5: 可以穿身上+神佑盒
6: 首饰盒+神佑盒
7: 身上+首饰盒+神佑盒
;-
首饰盒放入位置设置: Expand1: 1-6 对应6个位置;Expand1=0不能放入 Expand1=13所有位置可放
神佑盒放入位置设置: Expand1: 1-12 对应12个位置;Expand1=0不能放入 Expand1=13所有位置可放
需要自己在数据库里添加一个字段“Expand1” 创建字段的时候要选择数字型类型的 INTEGER 类型的
首饰盒装备位置:42-47
;-
变量:
<$JEWELRYITEM1> – <$JEWELRYITEM6> 人物首饰盒
<$H.JEWELRYITEM1> – <$H.JEWELRYITEM6> 英雄首饰盒
<$G_JEWELRYITEM1> – <$G_JEWELRYITEM6> 人物首饰盒改名名称,如果没有改名还是显示DB里的名称
<$H.G_JEWELRYITEM1> – <$H.G_JEWELRYITEM6> 英雄首饰盒改名名称,如果没有改名还是显示DB里的名称
<$JEWELRYITEM1ID> – <$JEWELRYITEM6ID> 人物首饰盒唯一ID
<$H.JEWELRYITEM1ID> – <$H.JEWELRYITEM6UD> 英雄首饰盒唯一ID

首饰盒 神佑

说明

================================首饰盒=========神佑====================================
DB设置
头盔:stdmode段为15
项链:stdmode段为19、20、21
手镯:stdmode段为24、26
戒指:stdmode段为22、23
;-
放入条件
物品允许装备的位置(只限于可以装备的物品)数据库字段:Overlap
0,1 只允许穿身上
2: 只允许首饰盒
3: 可以穿身上+首饰盒
4: 只允许神佑
5: 可以穿身上+神佑盒
6: 首饰盒+神佑盒
7: 身上+首饰盒+神佑盒
;-
首饰盒放入位置设置: Expand1: 1-6 对应6个位置;Expand1=0不能放入 Expand1=13所有位置可放
神佑盒放入位置设置: Expand1: 1-12 对应12个位置;Expand1=0不能放入 Expand1=13所有位置可放
需要自己在EXCEL表V列添加一个字段“Expand1”
M2-选项-功能设置-其他设置(1)里面把首饰盒功能开启才可以使用
必备补丁“NewopUI.pak”221 222 223 是打开首饰盒的按钮图片,如果要更换这三个图片,只能替换 必备补丁“NewopUI.pak”里面的图片,不能使用UI编辑器修改
首饰盒支持套装
SetSndaItemBox (0关闭,1开启)
人物开启首饰盒:
QFunction-0.txt 加入如下脚本

完整脚本代码

[@OpenSndaItemBox]
#act
;如果那个首饰盒按钮是灰色的,点击那个按钮就会触发这个,然后使用命令SetSndaItemBox开启后,按钮就会变彩色,然后点击按钮就可以打开首饰盒子
SetSndaItemBox 1
SENDMSG 6 人物首饰盒开启成功
英雄开启首饰盒:
[@HeroOpenSndaItemBox]
#act
;如果那个首饰盒按钮是灰色的,点击那个按钮就会触发这个,然后使用命令SetSndaItemBox开启后,按钮就会变彩色,然后点击按钮就可以打开首饰盒子
H.SetSndaItemBox 1
H.SENDMSG 6 英雄首饰盒开启成功
关闭人物首饰盒:
[@main]
#act
SetSndaItemBox 0
SENDMSG 6 已关闭
关闭英雄首饰盒:
[@main]
#if
CheckHeroOnline
#act
H.SetSndaItemBox 0
H.SENDMSG 6 已关闭
#elseact
SENDMSG 6 先要把英雄召唤出来
首饰盒12个装备,StdMode值 100~111
首饰盒装备的修理,在NPC文件头增加以下代码
(@buy @sell @repair @s_repair)
%100
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
首饰盒支持CheckItemW TakeW AutoTakeOnItem AutoTakeOffItem这4个脚本命令
AutoTakeOnItem 装备名称 装备位置(30~41 是首饰盒的位置代码)
AutoTakeOffItem 装备位置(30~41 是首饰盒的位置代码)
[@TakeOnX]
首饰盒穿装备触发 X值=30~41
[@TakeOffX]
首饰盒脱装备触发 X值=30~41
首饰盒装备,人物死亡掉落设置在(M2-选项-参数设置-人物死亡-首饰盒)
首饰盒装备是否掉持久设置(M2-选项-功能设置-其他控制(1))
相关变量
;――――――――――――――――――人物变量
<$GODBLESSITEM1> – <$GODBLESSITEM12>
<$G_GODBLESSITEM1> – <$G_GODBLESSITEM12>
;――――――――――――――――――英雄变量
<$H.GODBLESSITEM1> – <$H.GODBLESSITEM12>
<$H.G_GODBLESSITEM1> – <$H.G_GODBLESSITEM12>

英雄合击技能[!]

英雄合击技能

功能: 技能

格式: 无

说明: 技能数据库设置,请直接使用我们提供的数据库既可

例:

60;破魂斩;4;3;1;60;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

61;劈星斩;4;3;1;61;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

62;雷霆一击;4;3;1;62;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

63;噬魂沼泽;4;3;1;63;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

64;末日审判;4;3;1;64;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

补充说明

详细说明

65;火龙气焰;4;3;1;65;0;0;1144;43;0;0;0;0;0;0;0;0;0;0;0;0;1000;5;255;0;99;

新技能[!]

新技能

功能: 新技能

格式: 无

说明: 技能数据库设置,请直接使用我们提供的数据库既可

例:

81;纵横剑术;2;56;12;0;0;3;0;0;0;42;50;44;100;46;200;50;400;55;800;60;1600;66;3200;72;6400;79;12800;86;25600;94;51200;103;102400;113;204800;124;409600;136;819200;0;;3;

82;十步一杀;2;57;12;0;0;3;0;0;0;42;50;44;100;46;200;50;400;55;800;60;1600;66;3200;72;6400;79;12800;86;25600;94;51200;103;102400;113;204800;124;409600;136;819200;0;;3;

83;冰镰术;2;58;12;15;19;30;16;16;1;35;50;37;100;40;200;44;400;48;800;52;1600;57;3200;62;6400;68;12800;74;25600;81;51200;89;102400;97;204800;106;409600;116;819200;60;;3;

84;冰霜群雨;2;59;12;15;19;30;16;16;1;35;50;37;100;40;200;44;400;48;800;52;1600;57;3200;62;6400;68;12800;74;25600;81;51200;89;102400;97;204800;106;409600;116;819200;60;;3;

85;裂神符;8;70;5;30;40;10;20;20;2;18;50;21;100;24;200;26;400;28;800;30;1600;33;3200;36;6400;39;12800;42;25600;46;51200;50;102400;55;204800;60;409600;66;819200;60;;3;

补充说明

详细说明

86;死亡之眼;2;71;5;30;40;10;20;20;2;18;50;21;100;24;200;26;400;28;800;30;1600;33;3200;36;6400;39;12800;42;25600;46;51200;50;102400;55;204800;60;409600;66;819200;60;;3;

GOTOLABEL触发[!]

GOTOLABEL 0 @小组成员触发 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 1 @行会成员触发 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 2 @当前地图的人物触发 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 3 @指定范围人物触发 X Y 范围 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 4 @当前地图人物触发 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 5 @指定范围人物攻击模式不一样的触发 X Y 范围 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 6 @小组成员触发 X Y 范围 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 7 @行会成员触发 X Y 范围 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

GOTOLABEL 8 @当前地图的人物触发 X Y 范围 是否包含自己(0:包含,1:不包含) 传递变量1(允许为空) 传递变量2(允许为空) 传递变量3(允许为空) 传递变量4(允许为空)

完整脚本代码

[@main]
#IF
#ACT
mov n1 <$X>
mov n2 <$Y>
mov S1 <$USERNAME>
GOTOLABEL 0 @小组成员触发 1 n1 n2 S1
GOTOLABEL 1 @行会成员触发 1 n1 n2 S1
GOTOLABEL 2 @当前地图的人物触发 1 n1 n2 S1
GOTOLABEL 3 @指定范围人物触发 <$X> <$Y> 12 1 n1 n2 S1
[@小组成员触发]
#ACT
SENDMSG 6 传递的变量和接受的变量是同一个,对方名称<$STR(S1)>,坐标X:<$STR(N1)> Y:<$STR(N2)>
GOTOLABELEX 模式(0组队,1行会) X Y 范围 在什么脚本里触发(0:QF脚本,1:当前NPC脚本) 触发字段
[@main]
#IF
#ACT
GOTOLABELEX 0 <$X> <$Y> 10 0 @aaa

M2启动后触发

QManage.txt中增加一个新的脚本段[@Startup],此脚本段只在M2启动后执行一次.

个人商店和人物摆摊

该触发是引擎默认的个人商店摆摊触发,不是仿HeroM2摆摊触发。仿HeroM2摆摊相关触发完全兼容HeroM2,可以查看兼容HeroM2部分

点击开始摆摊或停止摆摊将触发 QFunction-0 [@ShopStall] 地图参数 ALLOWUSEMYSHOP 允许摆摊(必需先设置摆摊限制在指定地图才会生效)

(个人商店已删直接删掉脚本用拍卖行即可)

完整脚本代码

[@ShopStall]
#IF
INSAFEZONE
;检测在安全区
#ELSEACT
MESSAGEBOX 需要在安全区才能摆摊
BREAK
#IF
CHECKSHOPSTALLSTATUS
;检测是不是在摆摊
#ACT
MESSAGEBOX 你是否确认要停止摆摊 @停止摆摊
#ELSEACT
MESSAGEBOX 你是否确认要开始摆摊 @确定开始
[@确定开始]
#if
ISDUPMODE
#say
请找一个空位置,不能与别人站在一起。
#ACT
BREAK
#if
#ACT
SHOPSTALL
;使用SHOPSTALL命令,如果正在摆摊就会停止摆摊,如果没有摆摊就会开始摆摊
[@停止摆摊]
#if
#ACT
SHOPSTALL
;使用SHOPSTALL命令,如果正在摆摊就会停止摆摊,如果没有摆摊就会开始摆摊

个人商店购买物品触发

常量: (个人商店已删直接删掉脚本用拍卖行即可)

当前卖家名字 <$USERSHOPSELLER>

当前买家名字 <$USERSHOPBUYER>

当前购买或出售的物品常量和以前通用 <$CURRTEMNAME> <$G_CURRTEMNAME> <$CURRTEMINDEX> <$CURRTEMMAKEINDEX>

当前购买或出售的物品使用的货币类型名称 <$BUYITEMMONEYTYPENAME>

当前购买或出售的物品使用的货币类型值 <$BUYITEMMONEYTYPE>

当前购买或出售的物品的价格 <$BUYITEPRICE> ;购买触发 买家触发

完整脚本代码

[@BuyUserShopItem]
#IF
#ACT
sendmsg 6 你购买了<$USERSHOPSELLER>出售的摆摊物品<$G_CURRTEMNAME>,ID:<$CURRTEMINDEX>,货币名称:<$BUYITEMMONEYTYPENAME>,货币类型:<$BUYITEMMONEYTYPE>,物品价格:<$BUYITEPRICE>

人物升级触发

脚本文件位于: X:\996m2\Mir200\Envir\Market_Def\QFunction-0.txt

;此脚为功能脚本,用于实现各种与脚本有关的功能

;人物升级触发

[@PlayLevelUp]

#ACT

MessageBox 升级

人物小退触发

[@PlayReconnection] 人物小退触发

[@PlayOffLine] 人物大退触发

;

QF脚本

[@SoftClose] 人物小退前触发

[@SoftClose]

;配合禁止小退命令,可以禁止人物小退

;“DIABLESOFTCLOSE”该命令只能在[@SoftClose]下使用,其他地方无效

DIABLESOFTCLOSE

人物当前获得经验触发

@GetExp

例如:

完整脚本代码

[@GetExp]
#if
#act
SENDMSG 5 :人物本次获取经验为:<$GetExp>
break

人物死亡时触发[!]

功能: 人物死亡时触发

完整脚本代码

[@PlayDie]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】杀死了 255 249
BREAK
#IF
CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】杀死了 255 249
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】杀死了 255 249
BREAK

使用魔法触发

使用魔法触发QFunction脚本

QFunction-0脚本里[@MagicX] X表示魔法ID

[@Magic33]

#ACT

;MAGICDISABLED 该命令使用后,技能使用失败

MAGICDISABLED

sendmsg 6 禁止使用冰咆哮

切换地图触发

功能:

切换地图触发

;QFunction-0.txt触发

完整脚本代码

[@EnterMap]
#IF
#ACT
SENDMSG 5 你已更换地图….切换前地图为:<$oldmap>

初始化行会触发

只能用于行会自定义变量的申请

在登陆脚本QManage.txt里触发

[@LoadGuild]

#IF

#ACT

VAR Integer GUILD QQQQ

占领沙巴克触发

功能: 占领沙巴克触发

QFunction-0

[@GetCastleX] X表示城堡编号

完整脚本代码

[@GetCastle0]
#IF
#SAY
沙巴克 已经被 占领
脚本命令设置沙巴克归属
格式: SETCASTLEGUILD 行会名字 是否触发沙巴克触发
范例:
[@设置沙巴克]
#if
#act
SETCASTLEGUILD 比奇工会 1
SENDMSG 0 [比奇工会]变成沙巴克行会!

取下身上物品时触发[!]

功能: 取下身上物品时触发,位置0~28或30~47

[@TakeOff0] 0~28或30~47

完整脚本代码

[@TakeOff0]
#IF
CheckLevelEx > 0
#SAY
不穿衣服小心感冒!
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

地图事件触发

说明

地图事件配置详解 必须在M2-选项-功能设置-基本设置-启用地图事件触发勾上才有效
Mir200\Envir\MapEvent.txt 配置
;触发标识
; 格式:
; 标识:值
;
; 标识:(-1 – 800) -1 代表不检查标识
; 值: (0 – 1)
;
;
;触发条件
; 格式:
; 代码:物品:组队;
; 代码:
; 0:无效
; 1:扔物品
; 2:捡物品
; 3:挖矿
; 4:走路(不支持物品条件)
; 5:跑步(不支持物品条件)
; 6:爆物品(仅支持人物死亡)
; 7:骑马走动
; 8:骑马跑动
; 9:挖矿(命中一次触发一次,无需挖到矿,也不是每次挥锄头就触发,而是命中一次才触发)
; 物品:(物品名称 – *) * 代表不需要物品
; 组队:(0 – 1) 0为不需要组队,1为必须组队才触发(暂时不支持)
;触发机率
; 数字越大,机率越低
; 范围:(0 – 999999) 0 的机率为100%
;事件类型
; 格式
; 代码:内容
; 代码:(现在只支持脚本事件)
; 0:无效
; 1:调用脚本(调用QFunction-0.txt中的内容)
;注意事项
;
; 在相同地图座标,不支持相同触发标识及条件(触发条件中的物品名称除外),如果有相同的设置,只有最后一个设置有效
;地图号 座标X 座标Y 范围 触发标识 触发条件 触发机率 事件类型
;和翎风不同的我们这里增加一个范围,如果范围的值是0 那么必须在这个坐标上才能触发,否则只要进入这个坐标的范围就会触发
;坐标为-1时不检测坐标
3 333 333 0 -1:1 1:回城卷:0 2 1:@MapEventDropItem
3 333 333 0 -1:1 2:回城卷:0 2 1:@MapEventPickUpItem
3 338 331 0 -1:1 3:*:0 2 1:@MapEventMine
3 330 330 0 -1:1 4:*:0 2 1:@MapEventWalk
3 331 335 0 -1:1 5:*:0 2 1:@MapEventRun
3 -1 -1 0 -1:0 6:*:0 0 1:@爆物品
QFunction脚本

完整脚本代码

[@爆物品]
#ACT
;这里的%s表示的爆出的物品名称 %x爆出的物品X坐标 %y爆出的物品Y坐标.
SENDMSG 0 【地图:%m】【物品:%s】【坐标(%x:%y】 255 253
;也可以这样
SENDMSG 0 【地图:%m】【物品:<$SCATTERITEMNAME>】【坐标(<$SCATTERITEMX>:<$SCATTERITEMY>】 255 253

复活时触发[!]

功能: 复活时触发.

说明: QF脚本触发

完整脚本代码

[@Revival]
#IF
#ACT
SendMsg 5 你复活了继续折腾把!

套装触发

@GroupItemOn @GroupItemOff

例如:

完整脚本代码

[@GroupItemOn0]
#IF
#ACT
SENDMSG 0 圣战套装隐藏属性被激发:攻击上限增加5点!
[@GroupItemOn1]
#IF
#ACT
SENDMSG 0 法神套装隐藏属性被激发:魔法上限增加5点!
[@GroupItemOn2]
#IF
#ACT
SENDMSG 0 天尊套装隐藏属性被激发:道术上限增加5点!
套装生效触发[@GroupItemOnX],套装失效触发[@GroupItemOffX],英雄对应[@HeroGroupItemOnX],[@HeroGroupItemOffX] X表示套装编号
套装编号在M2-查看-列表信息二-套装系统-套装编号

定时触发[!]

定时触发 DelayCall 时间毫秒 触发字段

宝宝相关触发

;QFunction-0脚本触发

完整脚本代码

[@SlaveDie]
#IF
#ACT
SENDMSG 6 你的宝宝【<$CURRRSLAVENAME>】被杀死了
[@SlaveAttack]
#ACT
M.HumanHP – 10000
SendMsg 6 你的宝宝正在使用物理攻击,对怪物造成二次伤害10000点,宝宝名称:<$CURRRSLAVENAME>,技能ID:<$CURRRUSEMAGICID>
[@SlaveMagicAttack]
#ACT
M.HumanHP – 10000
SendMsg 6 你的宝宝正在使用魔法攻击,对怪物造成二次伤害10000点,宝宝名称:<$CURRRSLAVENAME>,技能ID:<$CURRRUSEMAGICID>
[@SlaveStruck]
#ACT
SENDMSG 6 你的宝宝被攻击了,宝宝名称:<$CURRRSLAVENAME>,技能ID:<$CURRRUSEMAGICID>
[@SlaveMagicStruck]
#ACT
SENDMSG 6 你的宝宝被魔法攻击了,宝宝名称:<$CURRRSLAVENAME>,技能ID:<$CURRRUSEMAGICID>

带上物品时触发[!]

功能: 带上物品时触发 装备位置

完整脚本代码

[@TakeOn0]
[@TakeOn0]
#IF
CheckLevelEx > 0
#SAY
穿上衣服真漂亮!!
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

扔物品触发[!]

功能: 扔物品触发 人物死亡掉落或怪物死亡掉落的物品不触发

@DropItemX X是物品数据库中对应的IDX

;注意:引擎默认的拾取触发IDX是ITEM表+1的,如果想要一一对应的话,必须勾选M2-参数设置-游戏选项(1)-IDX同步,并且清理掉客户端缓存才行即清空此目录X:\热血传奇\MirCache

;正式开区的区服不要修改此勾选,否则数据错乱后果自负。

[@DropItem0]

#IF

#SAY

某某某 扔 了一个<$CURRTEMNAME>

扔 物品的相关常量

原始表格

<$CURRTEMNAME>当前物品名称 指人物掉落、捡取、杀死怪物爆出来
<$G_CURRTEMNAME>当前物品改名名称 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMSTDMODE>当前物品DB字段StdMode值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMSHAPE>当前物品DB字段Shape值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMANICOUNT>当前物品DB字段AniCount值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMLOOKS>当前物品DB字段Looks值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMDURA>当前物品当前持久值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMDURAMAX>当前物品最大值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMINDEX>当前物品DB字段Idx值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMCOLOR>当前物品DB字段Color值 指人物掉落、捡取、杀死怪物爆出来

拣物品触发 捡取物品触发[!]

说明

功能:对物品进行关联 捡取物品触发
LINKPICKUPITEM 关联脚本命令可以对当前捡取物品进行关联后进行操作
下面触发中的XX=物品数据库中对应的IDX
;注意:引擎默认的拾取触发IDX是ITEM表+1的,如果想要一一对应的话,必须勾选M2-参数设置-游戏选项(1)-IDX同步,并且清理掉客户端缓存才行即清空此目录X:\热血传奇\MirCache
;正式开区的区服不要修改此勾选,否则数据错乱后果自负。
玩家 捡取物品 后 按 IDX触发: [@PickUpItemXX]
玩家捡取任意物品 后 触发: [@PickUpItemE X ]
玩家捡取物品 前 按IDX触发: [@PickUpItemfrontXX]
玩家捡取任意物品 前 触发: [@PickUpItemfrontE X ]
玩家仍掉物品 后 按IDX触发 : [@DropItemXX]
玩家仍掉任意物品 后 触发 : [@DropItemEX]
玩家仍掉物品 前 按IDX触发: [@DropItemfrontXX]
玩家仍掉任意物品 前 触发: [@DropItemfrontEX] 【<$param2>】 1-为人物掉落触发 0-扔掉触发
玩家 掉落背包任意物品前触发 [@PickUpDropItemEX]
;-
英雄仍掉物品 后 按IDX触发: [@HeroDropItemXX]
英雄仍掉任意物品 后 触发: [@HeroDropItemEX]
英雄仍掉物品 前 按IDX触发: [@HeroDropItemfrontXX]
英雄仍掉任意物品 前 触发: [@HeroDropItemfrontEX]
;-
怪物掉落指定IDX物品前触发:[@MonDropItemXX]
怪物掉落任意物品前触发: [@MonDropItemEX]
功能: 拣物品触发 捡取物品触发
@PickUpItemX X是物品数据库中对应的IDX

完整脚本代码

[@PickUpItem0]
#IF
#SAY
某某某捡到了一个<$CURRTEMNAME>
[@PickUpItemEx]
#IF
#SAY
某某某捡到了一个<$CURRTEMNAME>
捡取物品的相关常量

原始表格

<$CURRTEMNAME>当前物品名称 指人物掉落或捡取的
<$G_CURRTEMNAME>当前物品改名名称 指人物掉落或捡取的
<$CURRTEMSTDMODE>当前物品DB字段StdMode值 指人物掉落或捡取的
<$CURRTEMSHAPE>当前物品DB字段Shape值 指人物掉落或捡取的
<$CURRTEMANICOUNT>当前物品DB字段AniCount值 指人物掉落或捡取的
<$CURRTEMLOOKS>当前物品DB字段Looks值 指人物掉落或捡取的
<$CURRTEMDURA>当前物品当前持久值 指人物掉落或捡取的
<$CURRTEMDURAMAX>当前物品最大值 指人物掉落或捡取的
<$CURRTEMINDEX>当前物品DB字段Idx值 指人物掉落或捡取的
<$CURRTEMCOLOR>当前物品DB字段Color值 指人物掉落或捡取的
<$CURRTEMMAKEINDEX>当前物品MakeIndex序列号

指定人物触发字段

指定人物触发字段 HCALL 人物名称 触发字段

完整脚本代码

[@MAIN]
#IF
#ACT
MOV S1 刘德华
HCALL <$STR(S1)> @属性刷新
注:被触发玩家,执行QM下的 @属性刷新 字段的脚本

攻击触发

QFunction-0

当前对象的 所有私人的常量都可以使用在前面加“C.”的方式

当前对象的 所有私人的变量使用<$CSTR(S1)>和查看自己的变量<$STR(S1)>多一个“C”

比如在攻击触发,被攻击触发,死亡触发,还有查看出售角色的其他信息的触发时

当前对象的常量,例如:<$C.HP> <$C.PKPOINT> <$C.GOLDCOUNT> <$C.GAMEGOLD>

当前对象的变量,例如:<$CSTR(S1)> <$CSTR(A1)> <$CSTR(T1)> <$CSTR(U1)>

;所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾

;======================魔法攻击触发==========================

完整脚本代码

[@MagicStruck]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
SENDMSG6你被人物【<$C.USERNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>。对方HP=<$C.HP>对方PK值=<$C.PKPOINT>对方元宝=<$C.GAMEGOLD> 255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
BREAK
[@MagicAttack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>。魔法攻击的鼠标指向的坐标【<$STR(N98)>:<$STR(N99)>】 255 249
SENDMSG6你攻击了人物【<$C.USERNAME>】。使用魔法ID=<$CURRRUSEMAGICID>。对方HP=<$C.HP>对方PK值=<$C.PKPOINT>对方元宝=<$C.GAMEGOLD> 255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
BREAK
;======================物理攻击触发==========================
[@Struck]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
BREAK
[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
MOV N1 <$CSTR(N1)>
SENDMSG 6 把对方的的N1变量值传递给我的的N1变量里,使用“CSTR”代表当前对象的变量比自己的“STR”前面多一个“C”
SENDMSG 6 你攻击了人物【<$C.USERNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
BREAK
;======================下面变量获取怪物完整名字==========================
增加变量以显示完整名(不去数字): < $CURRRTARGETFULLNAME >
上面演示脚本中变量不获取怪物名字后面的数字: < $CURRRTARGETNAME >
提供 2种变量大家自己按需使用!

暴击触发

;QFunction-0脚本触发

;修改本次暴击伤害

Return 参数1

参数1:本次暴击伤害值

完整脚本代码

[@CritTrigger]
#IF
#ACT
MOV N$暴击 0
MOV N$暴击 10000
INC N$暴击 <$PARAM1>
Return <$STR(N$暴击)>
sendmsg 0 人物本身暴击伤害值:<$PARAM1>
sendmsg 0 人物使用技能ID:<$PARAM2>

杀死人物宝宝时触发[!]

功能: 杀死人物宝宝时触发

完整脚本代码

[@KillSlave]
#IF
CheckKillSlaveName 月灵
#ACT
SendMsg 5 你把<$darlingpet>的月灵宝宝杀死了.

杀死人物触发

@KillPlay

;杀人触发

完整脚本代码

[@KillPlay]
#ACT
MessageBox 你杀人了
任意地图杀死怪物触发
QF触发@KillMon
返回参数1:<$param1>0=凶手是宝宝,1=英雄,2=人物
返回参数2:<$param2>=对象唯一ID
返回参数3:<$param3>=怪物名字
返回参数4:<$param4>=当前地图编号
范例:
[@KillMon]
#IF
#ACT
SENDMSG 0 杀死怪物的类型是[<$param1>],凶手唯一ID是<$param2>
指定地图杀死怪物时触发
检测当前死亡怪物名称 CheckKillMonName
说明: 对应地图参数中需要加入ONKILLMON才可生效!
[@OnKillMob]
#IF
EQUAL <$param1> 2
CheckKillMonName 双头金刚
#act
SENDMSG 0 你杀死了怪物名称<$KILLMONNAME>
#IF
EQUAL <$param1> 1
CheckKillMonName 双头金刚
#act
SENDMSG 0 你英雄杀死了怪物名称<$KILLMONNAME>
break
;<$KILLMONNAME> 取怪物名字不带数字
;<$KILLMONNAMEEX> 取怪物名字带数字

杀死怪物时触发

功能: 杀死怪物时触发

说明: 对应地图参数中需要加入ONKILLMON才可生效!

完整脚本代码

[@OnKillMob]
#IF
CheckKillMonName 白野猪
#SAY
你杀死一头白野猪!

查看对方装备触发

;QFunction-0脚本触发

完整脚本代码

[@QueryUserState]
可以使用当前对象的变量来查看\
当前查看对象的常量,例如:<$C.USERNAME> <$C.HP> <$C.PKPOINT> <$C.GOLDCOUNT> <$C.GAMEGOLD> <$CURRRTARGETNAME>\
查看人物角色面板
查看自己面板 ID:101=装备 102=状态 103=属性 104=技能 105=生肖 106=称号 1011=时装
查看别人面板 ID:101=装备 106=称号 1011=时装
查看自己格式 :OPENWINDOWS 面板ID
查看别人面板 :VIEWPLAYER 角色UID
例子如下 :
[@查看别人面板]
#IF
#act
;因为人物ID比较长,不要写入到N变量
MOV S$角色ID <$USERID>
VIEWPLAYER <$STR(S$角色ID)> 101
SENDMSG 0 你打开了别人装备面板
例子如下 :
[@查看自己格式]
#IF
#ACT
OPENWINDOWS 101
SENDMSG 6 你打开了装备面板

爆物品触发

功能: 杀死怪物或人物时爆物品触发

说明: 需要在M2-查看-列表信息二-物品规则里添加允许爆物品触发

完整脚本代码

[@ScatterBagItems]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你杀人了:【<$CURRRTARGETNAME>】,这个人包裹里爆出物品【<$CURRTEMNAME>】
#ELSEACT
SENDMSG 6 你杀怪了:【<$CURRRTARGETNAME>】,这个怪物爆出物品【<$CURRTEMNAME>】
#IF
#ACT
LINKPICKUPITEM
;支持用命令链接命令,用脚本命令对当前爆出的物品操作或检测

原始表格

<$CURRTEMNAME>当前物品名称 指人物掉落、捡取、杀死怪物爆出来
<$G_CURRTEMNAME>当前物品改名名称 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMSTDMODE>当前物品DB字段StdMode值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMSHAPE>当前物品DB字段Shape值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMANICOUNT>当前物品DB字段AniCount值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMLOOKS>当前物品DB字段Looks值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMDURA>当前物品当前持久值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMDURAMAX>当前物品最大值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMINDEX>当前物品DB字段Idx值 指人物掉落、捡取、杀死怪物爆出来
<$CURRTEMCOLOR>当前物品DB字段Color值 指人物掉落、捡取、杀死怪物爆出来

物品触发脚本功能

功能:

双击物品可以自动触发指定脚本功能;

使用方法:

1、物品数据库设置1:STDMODE字段设置为:31

2、物品数据库设置2:AniCount字段设置为:X

X为指字数字触发脚本(1-999)

3、\Mir200\Envir\market_def\QFunction-0.txt下设置

完整脚本代码

[@StdModeFuncX]
#IF
#ACT
sendmsg 7 触发成功!!!
注:其中X为物品数据库设置2中的X

穿脱装备入包前触发

进背包前触发

QFunction-0.txt

;下面是穿戴自动转移星星的例子QFunction-0.txt

;人物任意装备从身上脱下来,进入背包前触发

完整脚本代码

[@TakeOffExchange]
#IF
#ACT
MOV N$脱下星星数量 0
LINKPICKUPITEM
#IF
CHECKUSEITEM 1
#act
GetItemWhereStars -1 N$脱下星星数量
MOV N$装备位置 <$CURRTAKETEMPOS>
MOV N$唯一ID <$CURRTEMMAKEINDEX>
;人物穿戴任意装备触发
[@TakeOnEx]
#IF
#ACT
MOV N$穿上星星数量 0
GetItemWhereStars <$STR(N$装备位置)> N$穿上星星数量
LINKITEMBYMAKEINDEX <$str(N$唯一ID)>
#IF
LARGE <$STR(N$脱下星星数量)> <$STR(N$穿上星星数量)>
#ACT
ChangeItemNameColor -1 250
ChangeItemUpgradeCount -1 = <$STR(N$穿上星星数量)>
ChangeItemUpgradeCount <$STR(N$装备位置)> = <$STR(N$脱下星星数量)>
UpDateBoxItem -1
BREAK
;英雄任意装备从身上脱下来,进入背包前触发
[@HeroTakeOffExchange]
#IF
#ACT
MOV N$脱下星星数量 0
H.LINKPICKUPITEM
#IF
#act
MOV N$装备位置 <$H.CURRTAKETEMPOS>
MOV N$唯一ID <$H.CURRTEMMAKEINDEX>
H.GetItemWhereStars -1 N$脱下星星数量
SENDMSG 7 进入背包触发星星数量为:<$STR(N$脱下星星数量)>
;英雄穿戴任意装备触发
[@HeroTakeOnEx]
#IF
#ACT
MOV N$穿上星星数量 0
H.GetItemWhereStars <$STR(N$装备位置)> N$穿上星星数量
H.LINKITEMBYMAKEINDEX <$str(N$唯一ID)>
SENDMSG 7 穿戴触发当前唯一ID:<$CURRTEMMAKEINDEX>的物品,位置:<$CURRTAKETEMPOS>,物品名称:<$CURRTEMNAME>
#IF
LARGE <$STR(N$脱下星星数量)> <$STR(N$穿上星星数量)>
#ACT
H.ChangeItemNameColor -1 250
H.ChangeItemUpgradeCount -1 = <$STR(N$穿上星星数量)>
H.ChangeItemUpgradeCount <$STR(N$装备位置)> = <$STR(N$脱下星星数量)>
H.UpDateBoxItem -1
BREAK

穿脱装备触发

完整脚本代码

[@TakeOnEx]
#ACT
SENDMSG 6 人物穿戴装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX> [@TakeOffEx]
#ACT
SENDMSG 6 人物脱装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
[@HeroTakeOnEx]
#ACT
SENDMSG 6 英雄穿装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
[@HeroTakeOffEx]
#ACT
SENDMSG 6 英雄脱装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
人物穿戴/脱下任意装备触发
;触发顺序为先 触发 脱,后 触发 穿
[@TakeOnEx]
#ACT
SENDMSG 6 人物穿装备,位置:<$CURRTAKETEMPOS>,物品 名称: <$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffEx]
#ACT
SENDMSG 0 人物脱装备,位置:<$CURRTAKETEMPOS>,物品 名称 : <$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
人物穿戴/脱下 前 触发
[@TakeOnBefore X ] [@TakeOffBefore X ]
说明: X 代表装备位置
注意:脱装备前的一系列触发不可关联操作装备属性,因为这时候装备不在身上也不在背包。
[@TakeOnBefore0 ]
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品 名称: <$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffBefore0 ]
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品 名称: <$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
人物穿戴/脱下任意 装备 前 触发
[@TakeOnBeforeEX] [@TakeOffBeforeEX]
[@TakeOnBeforeEX]
#IF
EQUAL <$CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffBeforeEX]
#IF
EQUAL <$CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>

组队时触发

功能: 创建小组时触发.

说明: 队员的名字放在队长S0变量中.

完整脚本代码

[@GroupCreate]
#IF
#ACT
SendMsg 5 <$STR(S0)>加入了组队.
<$STR(S$0)>.SendMsg 5 你加入了组队.
;在组队前触发
[@StartGroup]
#IF
CheckLevelEx < 25
#ACT
CreateGroupFail
SendMsg 5 25级之后才可以组队.
功能: 离开队伍时触发.
说明: 被删除的队员名字放在队长的S0变量中.
[@LeaveGroup]
#IF
#ACT
SendMsg 5 你退出了组队.
功能: 删除小组成员时触发.
说明: 被删除的队员名字放在队长的S0变量中.
[@GroupDelMember]
#IF
#ACT
<$STR(S0)>.SendMsg 5 你被队长踢出了组队!
功能: 添加小组成员时触发.
说明: 队员名字放在队长的S0变量中.
[@GroupAddMember]
#IF
#ACT
SendMsg 5 <$STR(S0)>加入了队伍.
<$STR(S0)>.SendMsg 5 你加入了队伍.
功能: 组队杀死怪物时触发.
[@GroupKillMon]
#IF
#ACT
SendMsg 5 组队杀怪.
功能: 添加小组成员退组时队长触发.
说明: 队员名字放在队长的S0变量中.
[@GroupMemberLeave]
#IF
#ACT
SendMsg 5 队员<$STR(S0)>离开了队伍.

被攻击掉血前触发

ChangeDamageValue 类型(0=值,1=百分比) 操作符(+,-,=) 值 [@StruckDamage]

完整脚本代码

#act
sendmsg 6 被攻击掉血前触发这个QF字段,掉血值:<$DAMAGEVALUE>
ChangeDamageValue 0 = 0
;修改掉血值为0,该命令只能在这个触发里使用,其他地方使用无效
sendmsg 6 修改攻击为0,当前攻击失效
[@AttackDamage]
#act
sendmsg 6 攻击目标掉血前触发这个QF字段,掉血值:<$DAMAGEVALUE>
ChangeDamageValue 0 = 0
;修改掉血值为0,该命令只能在这个触发里使用,其他地方使用无效
sendmsg 6 修改攻击为0,当前攻击失效
;这两个触发一个就可以了,

装备升级触发[!]

宝石升级功能

执行脚本功能.升级成功时执行@UpgradeOKX,升级失败时执行@UpgradeFailX,

属性被清除时执行@UpgradeClearX,其中X代表装备位置,例如:衣服=0,武器=1

装备持久消失时触发

功能: 装备持久消失时触发,位置0-18

完整脚本代码

[@ItemDamage1]
#IF
#ACT
SendMsg 5 你的武器已经损坏.

走路和跑步触发

QFunction-0

[@Run]

#SAT

你在跑步

[@Walk]

#SAT

你在走路

进入连接点前触发

[@beforeroute]

#act

SENDMSG 0 进入连接点触发了-进入的地图是:<$PARAM1>坐标[<$PARAM2>-<$PARAM3>]

检查登录帐号与IP是否匹配

功能:

可以检查登录帐号与IP是否匹配。

格式:

CHECKACCOUNTIPLIST AccountIPList.txt

;检查人物的等级是否等于指定级别

完整脚本代码

[@checklevel0]
#IF
CHECKACCOUNTIPLIST AccountIPList.txt
#SAY
您的登录帐号与指定IP匹配。
#ELSESAY
您的登录帐号与指定IP不匹配。
列表文件格式:
此文件们于目录:Mir200\Envir\
AccountIPList.txt
;登录帐号 IP
lintest 192.168.1.123
lintest1 192.168.1.124

新物品绑定检测[!]

CheckItemBind,检测物品是否已经绑定

格式:CheckItemBind 装备位置(-1~28或30~47,-1时为OK框中物品)

例子:

完整脚本代码

[@衣服绑定]
#IF
CheckItemBind 0
#ACT
SENDMSG 6 该装备已经绑定过了
#ELSEACT
SetItemBind 0 1
SENDMSG 6 绑定完成
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

检查一个地图内人数

功能:

可以检查一个地图内的人物数量。

格式:

CheckMapHumanCount地图号 ('<' '>' '='?)数量

完整脚本代码

[@Main]
#if
CheckMapHumanCount 3 < 100
#say
地图3内人数小于100人
#elsesay
地图3内人数多于100人

检查地图怪物数量

功能:

可以检查一个地图内的怪物数量。

格式:

CheckMonMap 地图号 数量

完整脚本代码

[@Main]
#IF
CheckMonMap 3 100
#SAY
地图3的内怪物多于100只
#ELSESAY
地图3的怪物少于100只
格式:
CheckMapMonCount 地图号 检测符号<、 =、 >、? 数量 是否检测宝宝(参数0或者留空宝宝算在里面 、1则宝宝不算到里面)
[@Main]
#IF
CheckMapMonCount 3 > 30
#SAY
地图3的内怪物大于30只
#ELSESAY
地图3的怪物小于30只

检查人物HP值

功能:

用来检查人物HP值的上限及下限值

命令格式:

CHECKHP 控制符(<、>、 =) 攻击下限 控制符(<、>、 = ) 攻击上限

完整脚本代码

#if
CHECKHP > 29 < 41
#say
你的HP值大于30-40

检查人物MP值

功能:

用来检查人物MP值的上限及下限值

命令格式:

CHECKMP 控制符(<、>、 =) 攻击下限 控制符(<、>、 = ) 攻击上限

完整脚本代码

#if
CHECKMP > 29 < 41
#say
你的MP值大于30-40

检查人物名称是否与IP匹配

功能:

可以检查登录帐号与IP是否匹配。

格式:

CHECKNAMEIPLIST NameIPList.txt

;检查人物的等级是否等于指定级别

完整脚本代码

[@checklevel0]
#IF
CHECKNAMEIPLIST NameIPList.txt
#SAY
您的登录帐号与指定IP匹配。
#ELSESAY
您的登录帐号与指定IP不匹配。
列表文件格式:
此文件们于目录:Mir200\Envir\
NameIPList.txt
;人物名称 IP
GM001 192.168.1.123
GM002 192.168.1.124

检查人物在列表中的位置

功能:

检查人物在列表中的位置。

格式:

CHECKNAMELISTPOSITION List.txt (> < = ) 10 P0

;

完整脚本代码

[@checkpostion0]
#IF
CHECKNAMELISTPOSITION AccountIPList.txt < 10 P0
#SAY
您在前10名,当前排名为<$STR(P0)>。
#ELSESAY
您不在前10名,当前排名为<$STR(P0)>。。

检查人物声望点

功能:

检查人物声望点

命令格式:

CHECKCREDITPOINT 控制符(= ,>,<,?) 声望点数(1 – 255)

;检查声望点是否等于指定点数

完整脚本代码

[@CHECKCREDITPOINT0]
#IF
CHECKCREDITPOINT = 50
#SAY
您声望点等于50级。
#ELSESAY
您声望点不等于50级。
;检查声望点是否大于指定点数
[@CHECKCREDITPOINT1]
#IF
CHECKCREDITPOINT > 50
#SAY
您声望点大于50级。
#ELSESAY
您声望点不大于50级。
;检查声望点是否小于指定点数
[@CHECKCREDITPOINT2]
#IF
CHECKCREDITPOINT < 50
#SAY
您声望点小于50级。
#ELSESAY
您声望点不小于50级。

检查人物攻击力

功能:

用来检查人物攻击力的上限及下限值

命令格式:

CHECKDC 控制符(<、>、 =) 攻击下限 控制符(<、>、 =) 攻击上限

完整脚本代码

#IF
CHECKDC > 29 < 41
#say
你的攻击力大于30-40

检查人物是否为管理员

功能:

检查人物是否为管理员

格式:

;检查人物是否为系统管理员

完整脚本代码

[@IsSysOp]
#IF
ISADMIN
#SAY
你是系统管理员。
#ELSESAY
你不是系统管理员。

检查人物是否在攻城区域[!]

功能: 检查人物是否在攻城区域

格式: CheckInWarArea

#IF

CheckInWarArea

#SAY

在攻城区域.

检查人物是否学习了某项魔法

#IF

CheckMagicName 烈火剑法

#SAY

你已经学会了烈火剑法.

检查人物登录IP

功能:

检查人物登录IP.

格式:

CHECKIPLIST 会员.txt

;按IP检查

完整脚本代码

[@checkiplist0]
#IF
CHECKIPLIST IP会员.txt
#SAY
你是会员
#ELSESAY
你不是会员

检查人物登录帐号

功能:

检查人物登录帐号.

格式:

CHECKACCOUNTLIST 帐号.txt

;按登录帐号检查

完整脚本代码

[@checkaccountlist0]
#IF
CHECKACCOUNTLIST 帐号.txt
#SAY
你是会员
#ELSESAY
你不是会员

检查人物的会员等级

功能:

可以检查人物的会员等级。

格式:

CHECKMEMBERLEVEL 类型(1-65535) 控制符(=,>,<) 等级数(1 – 65535)

;检查人物的会员等级是否为指定等级

完整脚本代码

[@checkmemberlevel0]
#IF
CHECKMEMBERLEVEL 2 = 5
#SAY
您的会员等级为5。
#ELSESAY
您的会员等级不为5。
;检查人物的会员等级是否大于指定等级
[@checkmemberlevel1]
#IF
CHECKMEMBERLEVEL 2 > 5
#SAY
您的会员等级大于5。
#ELSESAY
您的会员等级不大于5。
;检查人物的会员等级是否小于指定等级
[@checkmemberlevel1]
#IF
CHECKMEMBERLEVEL 2 < 5
#SAY
您的会员等级小于5。
#ELSESAY
您的会员等级不小于5。

检查人物的会员类型

功能:

可以检查人物的会员类型。

格式:

CHECKMEMBERTYPE 控制符(=,>,<) 类型数(1 – 65535)

;检查人物的会员类型是否为指定类型

完整脚本代码

[@checkmember0]
#IF
CHECKMEMBERTYPE = 5
#SAY
您的会员类型为5。
#ELSESAY
您的会员类型不为5。
;检查人物的会员类型是否大于指定类型
[@checkmember1]
#IF
CHECKMEMBERTYPE > 5
#SAY
您的会员类型大于5。
#ELSESAY
您的会员类型不大于5。
;检查人物的会员类型是否小于指定类型
[@checkmember1]
#IF
CHECKMEMBERTYPE < 5
#SAY
您的会员类型小于5。
#ELSESAY
您的会员类型不小于5。

检查人物的游戏点数

功能:

用于配合泡点功能,检查当前人物身上有多少点数。

格式:

CHECKGAMEPOINT 控制符(<、>、 =、?) 点数

完整脚本代码

#IF
CHECKGAMEPOINT > 50
#SAY
你的游戏点超过50点
#ELSESAY
你的游戏点少于50点
功能:
检查当前人物身上有多少游戏币。
格式:
CHECKGAMEGOLD 控制符(<、>、 =、?) 点数
#IF
CHECKGAMEGOLD > 50
#SAY
你的游戏币超过50点
#ELSESAY
你的游戏币少于50点

检查人物的转生等级

功能:

检查人物的转生等级

命令格式:

CHECKRENEWLEVEL 控制符(=,>,<,?) 转生等级数(1 – 255)

;检查人物的转生等级是否等于指定级别

完整脚本代码

[@checklevel0]
#IF
CHECKRENEWLEVEL = 5
#SAY
您的转生等级等于5级。
#ELSESAY
您的转生等级不等于5级。
;检查人物的转生等级是否大于指定级别
[@checklevel1]
#IF
CHECKRENEWLEVEL > 5
#SAY
您的转生等级大于5级。
#ELSESAY
您的转生等级不大于5级。
;检查人物的转生等级是否小于指定级别
[@checkposelevel2]
#IF
CHECKRENEWLEVEL < 5
#SAY
您的转生等级小于5级。
#ELSESAY
您的转生等级不小于5级。

检查人物称号的数量

功能:

检查人物称号的数量

格式:

CHECKFENGHAOCOUNT 操作符(<,>,=,?) 数量(0-30)

完整脚本代码

[@main]
#IF
CHECKFENGHAOCOUNT > 9
#SAY
你已经有了10个称号

检查人物背包空格数

功能:

检查人物背包空格数

命令:

CheckBagSize 数量

完整脚本代码

[@checkbagsize]
#if
CHECKBAGSIZE 5
#say
身上有5个空格
#elsesay
身上的空格不够。

检查人物身上装备类型

功能:

用来检查人物身上戴物品类型,因为不同类型物品的附加属性值位置不一样,在升级装备物品性时用来控制指定属性值。

命令格式:

CHECKITEMTYPE 物品位置 物品类型

物品位置:

0 盔甲

1 武器

2 照明物

3 项链

4 头盔

补充说明

详细说明

5 右手镯

6 左手镯

7 右戒指

8 右戒指

9 无(放护身符位置)

10 腰带

11 鞋子

12 宝石

13 斗笠

14 军鼓

15 马牌

16 盾牌

17 时装衣服

18 时装武器

30~41 首饰盒装备

物品类型:

5 武器

6 武器

10 衣服

11 衣服

15 头盔

19 项链

20 项链

21 项链

22 戒指

23 戒指

24 手镯

25 护身符

26 手镯

28 马牌

29 天使

30 照明物

52 鞋子

53 宝石

54 腰带

检查人物身上指定位置是否戴物品

说明

功能:
检查人物身上指定位置是否戴物品
命令:
CHECKUSEITEM 物品位置( 0~28或30~47 )
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

完整脚本代码

[@checkUseItem]
#if
CHECKUSEITEM 0
#say
你身上穿了衣服。
#elsesay
你还没穿衣服呢。

检查人物道术

功能:

用来检查人物道术的上限及下限值

命令格式:

CHECKSC 控制符(<、>、 =) 攻击下限 控制符(<、>、 = ) 攻击上限

完整脚本代码

#if
CHECKSC > 29 < 41
#say
你的道术大于30-40

检查人物附加属性点数

功能:

检查人物附加属性点数

格式:

CHECKBONUSPOINT 控制符(=,>,<,?) 点数

相关命令:

复位属性点数: RESTBONUSPOINT

调整属性点数: BONUSPOINT

检查人物魔法力

功能:

用来检查人物魔法力的上限及下限值

命令格式:

CHECKMC 控制符(<、>、 =) 攻击下限 控制符(<、>、 =) 攻击上限

完整脚本代码

#if
CHECKMC > 29 < 41
#say
你的魔法力大于30-40

检查会员时间

相关命令:

CHECKUSERDATE 会员.txt < 30 p0 p1

检查命令 会员名单 控制符 天数 使用天数 剩余天数(可用<$STR(p1)>在脚本中显示)

注:如果要检查忽略人物名字就在p1 后面加个参数 1

加入会员人物及时间: ADDUSERDATE 会员.txt

删除会员人物及时间: DELUSERDATE 会员.txt

检查国家人物总数

检查国家人物总数.

格式: CheckNationHumCount 操作符(< = > ?) 人数

#IF

CheckNationHumCount > 100

#SAY

当前国家大于100人.

检查城堡战争天数

功能:

可以检查上次攻城到现在的天数。必须在沙城NPC执行才有效

格式:

CASTLEWARAY 控制符(<=>?) 天数

完整脚本代码

[@Main]
#IF
CASTLEWARAY > 3
#SAY
上次攻城到现在超过三天
#ELSESAY
上次攻城到现在未够三天

字符串比较处理

功能:

字符串比较处理。

格式:

CheckContainsText 字符 字符串检查 //检查字符串是否包涵在另外一个字符串中.

CompareText 字符 字符 // 比较两个字符串是否一样

检查字符串是否包含在另外一个字符串中

完整脚本代码

[@Test]
#IF
CheckContainsText www.996m2.com 996m2.com
#Say
包含
#elsesay
不包含
比较两个字符串是否一样,不区分大小写
[@Test]
#IF
CompareText www.996m2.com www.996m2.com
#Say
一样
#elsesay
不一样

检查字符串是否在指定文件中 包含检测 [!]

检查字符串是否在指定文件中 包含检测 检测的字符串不需要完全相同,文件里的字符包含检测的字符,就会成功

完整脚本代码

[@CheckContainsTextList]
#IF
CheckContainsTextList ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#SAY
列表里的某一行字符包含<$STR(S2)>
#ELSESAY
列表里的某一行字符包含<$STR(S2)>
[@CheckContainsTextListEx]
#IF
CheckContainsTextListEx ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#SAY
<$STR(S2)>包含列表里某一行字符
#ELSESAY
<$STR(S2)>不包含列表里某一行字符
CheckContainsTextList 和 CheckContainsTextListEx 区别
CheckContainsTextList 列表文件里保存的是完整的字符。检测列表里的某一行字符是否包含检测的关键字
CheckContainsTextListEx 列表文件里保存的是关键字。检测字符是否包含列表里的某一行关键字

检查字符串是否在指定文件中[!]

检查字符串是否在指定文件中

完整脚本代码

[@旧格式_不区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)>
#SAY
<$STR(S$2)>在列表中
#ELSESAY
<$STR(S$2)>不在列表中
[@新格式_区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> <$STR(S$3)>
#SAY
卡号密码正确
#ELSESAY
卡号密码错误
S$2和S$3的值在“10元卡号.txt”文本中以空格分开

检查对面人物的性别

功能:

可以检查对面人物的性别(不要求面对面)。

格式:

CHECKPOSEGENDER 性别(MAN,男,WOMAN,女)

;检查对面人物是否为男的

完整脚本代码

[@checkposegender0]
#IF
CHECKPOSEGENDER MAN
#SAY
你对面的人物是男的。
#ELSESAY
你对面的人物不是男的。
;检查对面人物是否为女的
[@checkposegender1]
#IF
CHECKPOSEGENDER WOMAN
#SAY
你对面的人物是女的。
#ELSESAY
你对面的人物不是女的。

检查对面人物的等级

功能:

可以检查对面人物的等级(不要求面对面)。

格式:

CHECKPOSELEVEL 控制符(=,>,<,?) 等级数(1 – 65535)

;检查对面人物的等级是否等于指定级别

完整脚本代码

[@checkposelevel0]
#IF
CHECKPOSELEVEL = 50
#SAY
您对面人物的等级等于50级。
#ELSESAY
您对面人物的等级不等于50级。
;检查对面人物的等级是否大于指定级别
[@checkposelevel1]
#IF
CHECKPOSELEVEL > 50
#SAY
您对面人物的等级大于50级。
#ELSESAY
您对面人物的等级不大于50级。
;检查对面人物的等级是否小于指定级别
[@checkposelevel2]
#IF
CHECKPOSELEVEL < 50
#SAY
您对面人物的等级小于50级。
#ELSESAY
您对面人物的等级不小于50级。

检查对面人物站的位置

功能:

可以检查对面人物站的位置性别(要求面对面)。

格式:

CHECKPOSEDIR 控制符(1,2)

;检查对面人物是否面对面

完整脚本代码

[@checkposedir0]
#IF
CHECKPOSEDIR
#SAY
你二个站的位置正确。
#ELSESAY
你二个站的位置不正确。
;检查对面人物是否面对面,而且要求二个人相同性别
[@checkposelevel0]
#IF
CHECKPOSEDIR 1
#SAY
你二个站的位置及性别一样。
#ELSESAY
你二个站的位置不正确或性别不一样。
;检查对面人物是否面对面,而且要求二个人不同性别
[@checkposelevel0]
#IF
CHECKPOSEDIR 2
#SAY
你二个站的位置及性别不一样。
#ELSESAY
你二个站的位置不正确或性别一样。

检查人物的游戏点数

功能:

用于配合泡点功能,检查当前人物身上有多少点数。

格式:

CHECKGAMEPOINT 控制符(<、>、 =) 点数

完整脚本代码

#IF
CHECKGAMEPOINT > 50
#SAY
你的游戏点超过50点
#ELSESAY
你的游戏点少于50点
功能:
检查当前人物身上有多少游戏币。
格式:
CHECKGAMEGOLD 控制符(<、>、 =) 点数
#IF
CHECKGAMEGOLD > 50
#SAY
你的游戏币超过50点
#ELSESAY
你的游戏币少于50点

检查当前所在地图的名字

功能:

检查当前所在地图的名字

格式: CHECKMAPNAME 地图名称

完整脚本代码

#if
CHECKMAPNAME 3
#say
你当前在地图3上\ \
<退出/@exit>
#elsesay
你当前不在地图3上\ \
<退出/@exit>

检查是否为组长

功能:

检查人物是否为编组的组长

格式:

ISGROUPMASTER

完整脚本代码

[@checkgroup]
#if
ISGROUPMASTER
#say
你是组长
#elsesay
你不是组长
相关命令:
编组地图传送: GROUPMAPMOVE
编组地图随机传送: GROUPMOVE

检查是否在某地图

ISONMAP 地图名称

检查是否存在某个称号

功能:

检查是否存在某个称号

格式:

CHECKTITLE 称号名称

完整脚本代码

[@main]
#IF
CHECKTITLE 称号一
#SAY
你已经有了“称号一”的称号

检查城门状态

功能:

可以检查沙城门状态。

格式:

完整脚本代码

#if
CHECKCASTLEDOOR 损坏
#say
城门损坏
#if
CHECKCASTLEDOOR 开启
#say
城门开启
#if
CHECKCASTLEDOOR 关闭
#say
城门关闭

检查城堡占领天数

功能:

检查沙巴克占领天数,必须在沙城NPC执行才有效

格式:

CASTLECHANGEDAY 控制符(<=>?) 天数

#if

CASTLECHANGEDAY > 7

#say

你已经占领沙城7天以上.

检查人物当前经验值

功能:

检查玩家当前经验值。

格式:

CHECKEXP 控制符(= ,>,<,?) 经验值(1 – 4000000000)

;检查人物的经验值是否等于指定值

完整脚本代码

[@checkexp2]
#IF
CHECKEXP = 5000
#SAY
您的经验值等于5000。
#ELSESAY
您的经验值不等于5000。
;检查人物的经验值是否大于指定值
[@checkexp2]
#IF
CHECKEXP > 5000
#SAY
您的经验值大于5000级。
#ELSESAY
您的经验值不大于5000。
;检查人物的经验值是否小于指定值
[@checkexp2]
#IF
CHECKEXP < 5000
#SAY
您的经验值小于5000级。
#ELSESAY
您的经验值不小于5000。

检查人物是否为新人

功能:

可以检查玩家是否为新人(即刚注册进入游戏的人,退出后再进就不是新人了)。

格式:

#IF

ISNEWHUMAN

#SAY

你是新人!

#ELSESAY

你不是新人!

检查人物是否为沙城成员

功能:

可以检查玩家是否为沙城成员。

格式:

#IF

ISCASTLEGUILD

#SAY

你是沙城成员!

#ELSESAY

你不是沙城成员!

检查人物是否为沙城城主

功能:

可以检查玩家是否为沙城老大。

格式:

#IF

ISCASTLEMASTER

#SAY

你是沙城老大!

#ELSESAY

你不是沙城老大!

检查人物是否为行会掌门人

功能:

可以检查玩家是否为行会老大。

格式:

#IF

ISGUILDMASTER

#SAY

你是行会老大!

#ELSESAY

你不是行会老大!

检查人物是否加入行会

功能:

可以检查玩家是否加入行会。

格式:

#IF

HAVEGUILD

#SAY

你已经加入了行会!

#ELSESAY

你没加入行会!

检查人物等级(改进)

功能:

可以更为方便地检查玩家等级。

格式:

CHECKLEVELEX 控制符(=,>,<,?) 等级数(1 – 65535)

;检查人物的等级是否等于指定级别

完整脚本代码

[@checklevel0]
#IF
CHECKLEVELEX = 50
#SAY
您的等级等于50级。
#ELSESAY
您的等级不等于50级。
;检查人物的等级是否大于指定级别
[@checklevel1]
#IF
CHECKLEVELEX > 50
#SAY
您的等级大于50级。
#ELSESAY
您的等级不大于50级。
;检查人物的等级是否小于指定级别
[@checkposelevel2]
#IF
CHECKLEVELEX < 50
#SAY
您的等级小于50级。
#ELSESAY
您的等级不小于50级。

检查行会名称

功能:

检查行会名称

格式:

#if

CHECKOFGUILD 行会名称

#say

行会正确

检查行会是否在列表中

功能:

检查行会是否在列表中

格式:

完整脚本代码

[@checkGuild]
#IF
CHECKGUILDLIST GuildList.txt
#SAY
列表中有行会。
#ELSESAY
列表中没有行会。

检查装备绑定状态[!]

功能:检查装备绑定状态

格式:CheckItemState 装备位置( -1~28或30~47 ,-1时为OK框中物品) 项目(0-6)

项目: 0 禁止扔 1 禁止交易 2 禁止存 3 禁止修 4 禁止出售 5 禁止爆出 6 丢弃消失

完整脚本代码

[@衣服禁止扔]
#IF
CheckItemBind 0
#ACT
GOTO @禁止扔
#ELSEACT
SENDMSG 6 请先绑定
[@禁止扔]
#IF
CheckItemState 0 0
#ACT
SENDMSG 6 该装备已经设置过禁止扔
#ELSEACT
SetItemState 0 0 1
SENDMSG 6 该装备禁止扔
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

检测人物PK值

功能:

检测人物PK值。

格式:

CHECKPKPOINTEX 控制符(=,>,<,?) 数量

完整脚本代码

[@Main]
#IF
CHECKPKPOINTEX > 100
#SAY
PK值大于 100
#ELSESAY
PK值小于 100

检测人物元素属性

说明

格式: CHECKNEWITEMVALUE 位置(-1时是OK框中的装备, 0~28或30~47 时是穿在身上的装备) 属性(0-16) 检测符(>,<,=,?) 值(1-100)
(0)暴击几率增加 1~100%
(1)增加攻击伤害 1~65535%
(2)物理伤害减少 1~100%
(3)魔法伤害减少 1~100%
(4)忽视目标防御 1~100%
(5)所有伤害反弹 1~100%
(6)增加目标暴率 1~100%
(7)人物体力增加 1~65535%
(8)人物魔力增加 1~65535%
(9)怒气恢复增加 1~100%
(10)合击攻击增加 1~100%
(11)防止暴击几率1-100%
(12)防止麻痹几率1-100%
(13)防止复活几率1-100%
(14)防止全毒几率1-100%
(15)防止冰冻几率1-100%
(16)防止蛛网几率1-100%

完整脚本代码

[@main]
#IF
CHECKNEWITEMVALUE 0 0 > 10
#SAY
暴击几率大于10%
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置

检测人物包裹物品checkitem

checkitem 物品名称 数量 是否部分匹配(0=名称必须完全一样,1=名称部分一样) 是否检测改名名称(0=不检测 1=检测)

完整脚本代码

[@main]
#if
checkitem 木剑 1
#ACT
sendmsg 6 检测到木剑
[@main]
#if
checkitem 改名木剑 1 0 1
#ACT
sendmsg 6 检测到改名木剑
[@main]
#if
checkitem 改名木剑 1 1 1
#ACT
sendmsg 6 检测到改名木剑

检测人物在线时长[!]

功能:

可以检查人物在线时间长度。

格式:

ONLINELONGMIN (> < =?) 支持变量操作

#if

ONLINELONGMIN > 10

#say

在线时间大于 10分钟

检测人物宝宝名字[!]

功能:

检测人物宝宝名字

格式:

完整脚本代码

[@main]
#IF
CHECKSLAVENAME 996m2
#ACT
SENDMSG 5 提示:你的宝宝叫996m2
#ELSEACT
SENDMSG 5 提示:你的宝宝不叫996m2

检测人物是否佩带指定物品

功能:

检测当前人物是否佩带指定物品

格式:

CHECKITEMW 物品名 数量

完整脚本代码

[@TEST]
#IF
CHECKITEMW 力量戒指 1
#elsesay
你身上没有力量戒指\ \
#elseact
break
[@TEST1]
#IF
COMPARETEXT <$DRESS> 布衣(男)
#elsesay
你身上没有布衣(男)\ \
#elseact
break

检测人物是否在线

checkonline

例子:

完整脚本代码

[@main]
#IF
checkonline
#SAY
在线
[@main]
#IF
H.checkonline
#SAY
你的英雄在线
[@main]
#IF
996m2.checkonline
#SAY
996m2在线
[@main]
#IF
S1.checkonline
#SAY
<$STR(S1)>在线

检测人物是否挂机

功能:检测人物是否是离线挂机

格式:CheckOffline

检测人物是否重叠

格式: IsDupMode 模式(0检测所有对象(包括人物、怪物、NPC),1只检测是否有人物)

完整脚本代码

[@Main]
#IF
IsDupMode 1
#SAY
不要和其他人站在一起
[@Main]
#IF
IsDupMode 0
#SAY
不要和其他人或怪物站在一起

检测人物的伤害吸收

说明: 检测人物的伤害

格式: CheckSuckDamage 操作符(> = < ?) 数量(1-2000000000)

完整脚本代码

#IF
CheckSuckDamage > 1000
#SAY
SendMsg 5 你当前拥有的伤害吸收大于1000点.

检测人物荣誉

格式: CHECKGAMEGLORY (<,>,=,?) 值

完整脚本代码

[@Main]
#IF
CHECKGAMEGLORY = 100
#SAY
荣誉等于100
_________________________________________是两个命令自己测试把
检查人物的荣誉值
#IF
CheckNationCredit > 100
#SAY
你的荣誉值大于100点.

检测会员剩余时间

格式: 检测会员剩余时间 文件名称 过期是否删除(0不删除 1删除) 变量1(到期时间 字符变量) 变量2(剩余天数 数字变量) 变量3(剩余小时 数字变量) 变量4(剩余分钟 数字变量)

例子:?

完整脚本代码

#IF
CHECKNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 1 S$1 N$1 N$2 N$3
#ACT
SENDMSG6你的会员到期时间是<$STR(S1)>【剩余天数=<$STR(N$1)>】【剩余小时=<$STR(N$2)>】【剩余分钟=<$STR(N$3)>】 255 253
#ELSEACT
SENDMSG 6 你不是会员或已过期,请及时充值! 255 253
删除会员还是使用原来的老命令DELNAMEDATELIST

检测加入国家

格式: CheckNational (国家编号 0~100)

完整脚本代码

[@main]
#IF
CheckNational 0
#SAY
你还没有加入国家
BREAK
#IF
CheckNational 1
#SAY
你已经加入国家,国家编号1
BREAK

检测包含字符串取在列表中行数

格式:该命令是检测命令 在#IF下使用

GetStringPosEx 路径 包含的字符串 保存变量(该字符串在列表里的行数) 保存变量(列表中的完整字符串)

检查字符串是否包涵在另外一个字符串中

完整脚本代码

[@Test]
#IF
GetStringPosEx ..\QuestDiary\测试.txt www.996m2.com N111 S111
#ACT
SENDMSG 6 包含检测字符串所在行 :<$STR(N111)> ,该行文本里的字符串: <$STR(S111)>
#elsesay
不包含
注:CheckCacheGetStringPosEx写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

检测在安全区

INSAFEZONE

检测地图坐标是否可以到达

功能:

检测地图坐标是否可以到达

格式:

CHECKMAPMOVE 地图名 X坐标 Y坐标

完整脚本代码

[@测试]
#IF
CHECKMAPMOVE 3 333 333
#SAY
盟重省333 333能够到达
#ELSESAY
该坐标不能到达

检测地图相同怪物数量[!]

格式: CheckMapSameMonCount 地图名称 怪物名称 控制符(<,>,= ,?) 数量是否忽略怪物名称后面的数字(0=检测数字,1=不检测数字)

完整脚本代码

[@Main]
#IF
CheckMapSameMonCount 3 稻草人 > 10
#SAY
土城的稻草人大于10个

检测地图范围怪物数量[!]

格式: CHECKRANGEMONCOUNTEX 地图名称 怪物名称 X坐标 Y坐标 范围 控制符(=,>,<,?) 数量

完整脚本代码

[@main]
#IF
CHECKRANGEMONCOUNTEX 3 稻草人 333 333 10 > 100
#SAY
大于100个稻草人

检测当前目标类型

格式: CHECKCURRTARGETRACE 控制符(=,>,<) 数据库Race值

该命令只有在死亡触发和攻击触发中使用

完整脚本代码

[@MagicStruck]
#IF
CHECKCURRTARGETRACE = 0
#SAY
当前是人物
BREAK
#IF
CHECKCURRTARGETRACE = 1
#SAY
当前是英雄
BREAK
#IF
CHECKCURRTARGETRACE = 60
#SAY
当前是人形怪
BREAK

检测技能修炼点数[!]

功能:

检测技能修炼点数。

格式:

CHECKTRANPOINT 技能名称 检测符(>,<,=,?) 点数

完整脚本代码

[@CHECKTRANPOINT]
#IF
CHECKTRANPOINT 雷电术 = 100
#SAY
你的技能雷电术修炼点数等于100。

检测指定范围内的人物数量

CheckRangeHumCount 地图名称 X Y 范围 (<,>,=,?) 数量

检测文件是否存在

[@main]

#if

FileExists ..\QuestDiary\数据.txt

;检测“..\QuestDiary\数据.txt” 是否存在

#act

;删除“..\QuestDiary\数据.txt”

DeleteFile ..\QuestDiary\数据.txt

检测是不是在摆摊

格式: CHECKSHOPSTALLSTATUS

完整脚本代码

[@main]
#IF
CHECKSHOPSTALLSTATUS
#SAY
正在摆摊
#ELSE
没有摆摊

检测是否允许复活

检测是否到了复活的时间间隔 检测是否可以复活

格式: CheckRevival 变量(保存剩余时间,可选,允许为空)

例子:

完整脚本代码

#IF
CheckRevival N111
#ACT
SENDMSG 6 时间到了允许复活
#ELSEACT
SENDMSG 6 不允许可以复活,可能时间没有到或者没有复活的装备,还需要等待<$STR(N111)>秒,如果变量值在21亿以上,表示该人物没有复活的装备

检测是否正在攻城

格式: CHECKUNDERWAR 城堡名称

完整脚本代码

[@Main]
#IF
CHECKUNDERWAR 沙巴克
#SAY
沙巴克正在攻击战

检测是否进入攻城的范围

格式: CHECKCASTLEWARAREA 城堡名称

完整脚本代码

[@Main]
#IF
CHECKCASTLEWARAREA 沙巴克
#SAY
你已经进入进入攻城的范围

检测杀人者是人物还是怪物

功能:

人物是被怪物杀死还是玩家杀死 死亡触发

格式:

完整脚本代码

[@PlayDie]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】杀死了 255 249
BREAK
#IF
CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】杀死了 255 249
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】杀死了 255 249
BREAK

检测死亡不掉装备的次数

CheckNotDropItemCount (<,>,=,?) 次数

配套调整死亡不掉装备的次数NotDropItemCount

NotDropItemCount (+,-,=) 次数

检测物品的附加属性值

说明

功 能: 获取物品的附加属性值
格式: 格式: CHECKITEMADDVALUE 装备位置(-1时是OK框中的装备, 0~28或30~55 时是穿在身上的装备) 属性位置(0-14) (符号 < > =?) 值 保存变量
装备位置代码:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 护身符
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 时装衣服 时装12个
18 时装武器
19 时装项链
20 时装头盔
21 时装左手镯
22 时装右手镯
23 时装左戒指
24 时装右戒指
25 时装勋章
26 时装腰带
27 时装鞋子
28 时装宝石
30~41 十二个首饰盒装备
42-47 六个首饰盒装备位置
盔甲
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5-13 无效果
14 持久
武器
0 DC2
1 MC2
2 SC2
3 幸运
4 诅咒
5 准确
6 攻击速度
7 强度
8-9 暂不知道
10 需开封
11-13 暂不知道
14 持久
头盔
0 防御
1 魔御
2 攻击
3 魔法
4 道术
5 佩带需求
6 佩带级别
7-13 无效果
14 持久
项链
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8 reserved
9-13 暂不知道
14 持久
手镯
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
戒指
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩带需求
7 佩带级别
8-13 无效果
14 持久
例子:?

完整脚本代码

#IF
CheckItemAddValue 0 0 > 1
#ACT
GETITEMADDVALUE 0 0 N$极品点数
#SAY
你的盔甲附加了<$STR(N$极品点数)>点防御属性.

检测组队人数[!]

功能:

可以检查人物组队人数。

格式:

CHECKGROUPMEMBERCOUNT (<,>,=,?) 数量

完整脚本代码

#if
CHECKGROUPMEMBERCOUNT > 10
#say
组队人数大于10个人

检测血量,魔法百分比

功能:

检测血量,魔法百分比

格式:

CHECKHPPER 控制符(=,>,<,?)百分比(0-100) 比率模式(0:百分比,1:千分比)

CHECKMPPER 控制符(=,>,<,?)百分比(0-100) 比率模式(0:百分比,1:千分比)

例子:

完整脚本代码

#IF
CheckHpPer > 30
#ACT
#SAY
你的血量在总血量的30%以上
#IF
#ACT
AddhpPer + 30
GuildNoticeMsg 250 0 你的血增加了30% self
检测自身MP百分比
例子:
#IF
CheckMpPer > 30
#ACT
#SAY
你当前的MP在总mp量的30%以上

检测行会可以容纳多少成员

格式: CHECKGUILDMEMBERMAXLIMITCOUNT 行会名称(SELF表示检测自己所在的行会) 检测符(<,>,=,?) 数量

完整脚本代码

[@main]
#IF
CHECKGUILDMEMBERMAXLIMITCOUNT > 100
#SAY
你的行会可以容纳成员数大于100个

检测被自己杀死宝宝的名字

检测被自己杀死的宝宝的名字.

注意:此命令只检测直属宝宝,例如道士英雄召唤的神兽不属于直属宝宝.

#IF

CheckKillSlaveName 白野猪

#SAY

你把对方的宝宝<白野猪>杀死了.

检查金刚石数量

功能:

检查金刚石数量。

格式:

CHECKGAMEDIAMOND 控制符(<、>、 =、?) 点数

GAMEDIAMOND (+,-,=) 值

<$GAMEDIAMOND>

完整脚本代码

#IF
CHECKGAMEDIAMOND > 50
#SAY
你的金刚石超过50点
#ELSESAY
你的 金刚石 少于50点
功能:
检查灵符数量。
格式:
CHECKGAMEGIRD 控制符(<、>、 =、?) 点数
GAMEGIRD (+,-,=) 值
<$GAMEGIRD>
#IF
CHECKGAMEGIRD > 50
#SAY
你的灵符超过50点
#ELSESAY
你的灵符少于50点
功能:
检查荣誉数量。
格式:
CHECKGAMEGLORY 控制符(<、>、 =、?) 点数
GAMEGLORY (+,-,=) 值
<$GAMEGLORY>
#IF
CHECKGAMEGLORY > 50
#SAY
你的荣誉超过50点
#ELSESAY
你的荣誉少于50点

脚本检测命令取反 NOT [!]

脚本检测命令取反 NOT

格式:NOT 命令 > 50 //检测人物物品算不大于50

例子:

完整脚本代码

[@main]
#IF
NOT CHECKGAMEGOLD > 50 //检测人物元宝算不大于50
#ACT
SENDMSG 5 你身上的元宝不大于50
[@main_1]
#IF
NOT CHECKLEVELEX > 80 //检测人物等级不大于80级
#ACT
SENDMSG 5 你的等级不大于80级
[@main_2]
#IF
NOT EQUAL P0 5 //检测变量P0是否不等于5
#ACT
SENDMSG 5 <$STR(P0)>变量不等于5
[@main_3]
#IF
NOT H.CHECKLEVELEX > 80 //检测英雄等级不大于80级
#ACT
SENDMSG 5 你的英雄等级不大于80级

行会成员人数

功能: 检测行会成员人数

格式:

CheckGuildMemberCount 控制符 <.=.>.? 数量

完整脚本代码

#IF
CheckGuildMemberCount > 100
#SAY
行会成员大于100人.

随机检测RANDOMEX

RANDOMEX 随机数(子) 随机数(母)

随机数(子),数值越大几率越高,如果和随机数(母)数值一样大,就是百分百几率

完整脚本代码

[@main]
#IF
RANDOMEX 50 100
#ACT
SENDMSG 6 你触发了百分之五十的几率

自定义职业素材扩展规则

自定义职业素材读取规则

自定义职业素材扩展读取规则,第一个文件包含0-99(100)件,第二个文件包含100-149(50)件,第三个文件包含150-199(50)件,依此类推

以衣服为例:

Resources\Graphics\Human\humcj.Jpk,包含0-99(100)件,优先读取JPK,文件不存在则读取data\humcj.Wzl

Resources\Graphics\Human\humcj2.Jpk,包含100-149(50)件,优先读取JPK,文件不存在则读取data\humcj2.Wzl

Resources\Graphics\Human\humcj3.Jpk,包含150-199(50)件,优先读取JPK,文件不存在则读取data\humcj3.Wzl

*数字递增的时候不可在数字前面加0

自定义职业盾牌外观扩展支持Shape(外观)、Anicount(外观特效)算法,同样适用上面的扩展读取规则

自定义职业发型ID也支持上面的扩展读取规则,通用包里面填入了发型包名即按扩展读取规则读取,不填还是按老盛大顺序读取

自定义职业斗笠外观扩展支持Shape(外观)算法,通用包里面填入了斗笠包名即按扩展读取规则读取,不填还是按老盛大顺序读取

自定义职业设置

说明

自定义职业创建角色:
登录器生成器的UI编辑器里面设置创建角色界面的职业图标和职业展示模型
职业名:配置新职业的名称,如'藏剑'
职业名-缩写:显示血条上职业简称字母,如 藏剑的'CJ'
核心属性名:游戏内的装备属性TIPS显示名字
自定义职业的核心属性:
自定义职业5: 核心属性ID108-109 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业6: 核心属性ID110-111 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业7: 核心属性ID112-113 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业8: 核心属性ID114-115 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业9: 核心属性ID116-117 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业10:核心属性ID118-119 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业11:核心属性ID120-121 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业12:核心属性ID122-123 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业13:核心属性ID124-125 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业14:核心属性ID126-127 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业15:核心属性ID128-129 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业16:核心属性ID130-131 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业17:核心属性ID132-133 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业18:核心属性ID134-135 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业19:核心属性ID136-137 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业20:核心属性ID138-139 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业21:核心属性ID140-141 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业22:核心属性ID142-143 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业23:核心属性ID144-145 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业24:核心属性ID146-147 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业25:核心属性ID148-149 游戏内显示名字以UI创角界面的核心属性名为准
自定义职业的等级属性:
cfg_level.xls
exp 字段:角色经验,所有职业通用
attribute 字段:角色属性,职业(0战,1法,2道,5-25自定义职业,3=所有职业)
weight 字段:背包负重,战士#法师#道士#预留#自定义职业5#职业6#……#职业25
wearWeight字段:穿戴负重,战士#法师#道士#预留#自定义职业5#职业6#……#职业25
handWeight字段:腕力负重,战士#法师#道士#预留#自定义职业5#职业6#……#职业25
*有等级表的时候按等级表计算升级经验及各项属性,没有表的时候按默认属性和M2的升级经验计算
自定义职业自定义技能:
M2-查看-列表信息二-自定义技能-客户端效果-技能效果-基本设置
设置了攻击动作设置里面的职业ID和动作ID后,释放该技能所使用的动作就会读取(cfg_JobAction.xls)表的动作素材
自定义职业动作表(cfg_JobAction.xls)
职业ID(0-25)
0=战士、1=法师、2=道士、3预留、4预留、5-25为自定义职业
设置了自定义动作后该职业所有默认动作按动作表包名及素材读取,否则默认读取战士动作
默认动作:0-11,待机、走路、跑、战待、攻击、挖矿、逐日、施法、挖肉、受击、死亡、倚天辟地
*12以后都是自定义动作,最多支持100个。
[通用包名列]
格式解释:衣服#衣服特效#武器#武器特效#左手武器#左手特效#头发#斗笠#盾牌#盾牌特效#翅膀
例子:
hum_ck##wep_ck_r##wep_ck_l##hair_ck#hair_ck###
cbohum##cboweapon####cbohair#cbohair#shield##humeffect
*某一个部位不需要显示的情况下可空,例如某个职业没有左手武器,直接##空出来就行
*包名随意但同部件包名必须统一,第一个文件包含100件装备,第二个文件及以后都是50个装备
*包名必须数字递增,比如hum.JPK包含(0-99)hum2.JPK包含(100-149)hum3.JPK包含(150-199)依此类推。
动作ID
格式解释:0#4#4#1200
*起始帧#数量#空图数量#每组张数(包含男女)
*举例衣服算法:Shape=6的女衣服 6*1200+(1200/2)=7800
*每组总张数=0的情况下表示所有动作都使用这一组素材,即通用动作素材
*如果某个动作读取的包名跟通用包名不一样,可以在这个动作ID里面填入对应的完整包名并用"|"隔开即可。
例子:
cbohum##cboweapon####cbohair#cbohair###|128#6#2#1200
[威力计算]:
[技能威力计算]:选择指定的职业ID,则技能威力按该职业的核心属性计算。
*普攻攻击属性 M2-功能设置-其他设置-自定义职业配置,勾选之后普攻攻击按核心属性计算,不勾默认按攻击计算。
*技能攻击属性 自定义技能-服务端效果-技能威力计算选择对应职业ID,技能输出伤害即按核心属性计算
*战士类自定义技能的核心属性伤害,物理防御可抵抗,其他自定义技能核心属性伤害魔防可抵抗
*其他配置和常规自定义技能配置相同。
自定义职业配置技能书: cfg_item.xls表shape字段扩展
技能书stdmode=4
shape职业要求:0=战士,1=法师,2=道士,英雄战士,4=英雄法师,5=英雄道士,6=英雄合击技能,99=通用技能
职业扩展:9=自定义职业5,10=职业6 ……29=职业25
武器特殊显示: cfg_item.xls配置,武器stdmode=6,69时有效
Shape=右武器模型ID
Anicount=右武器外显特效ID
effectParam=左武器ID#左武器特效ID
*注意:左右不能颠倒,不会影响显示,但会影响显示层级!
*用途:刺客武器,一把武器显示左右手2个武器模型和弓箭手武器在左手上显示!
自定义职业配置装备穿戴: cfg_item.xls表Need字段扩展
Need字段:扩展110~143
具体查询' 物品所需条件设置'
检测职业和转职命令扩展
检测命令:CHECKJOB 参数一(0战,1法,2道,5-25自定义职业)
转职命令:CHANGEJOB 参数一(0战,1法,2道,5-25自定义职业)
*参数一战法道可使用0或Warrior,1或Wizard,2或Taoist,自定义职业使用5~25

完整脚本代码

[@检测职业]
#if
CHECKJOB 5
#say
你是自定义职业5
[@转职]
#act
CHANGEJOB 5
sendmsg 6 你的职业变成自定义职业5
常量扩展
<$JOB> 职业常量 (0战,1法,2道,5-25自定义职业)职业常量
<$CUSTJOBABIL[XXX]> 属性常量 XXX表示属性对照表属性id
其他说明
*自定义职业不支持英雄版本
*表格job字段非特殊情况 可按照 (0战,1法,2道,5-25自定义职业)-通用

cfg_magic(技能表)

原始说明 / 数据

序号 字段 说明
(1)MagID 技能序号
(2)MagName 技能名字
(3)EffectType 使用技能时角色的动作效果
(4)Effect 技能产生的动画效果
(5)Spell 每次使用技能使用的魔法值
(6)Power 技能的伤害值下限
(7)MaxPower 技能的伤害值上限
(8)DefSpell 每次技能升级后增加使用的魔法值
(9)DefPower 每次技能升级后增加的伤害值下限
(10)DefMaxPower 每次技能升级后增加的伤害值上限
(11)job 可以学习技能的职业(0-战士,1-法师,2-道士)
(12)NeedL1 技能升到1级 需要玩家达到的人物等级(默认数据到15级别)
(13)L1Train 技能升到1级 需要的熟练度(默认数据到15级别)
(14)Delay 使用完当前技能后再次使用其他任意技能之间的延时(单位:毫秒)
(15)descr 简单备注
(16)MaxTrainLv 可以修炼的最高等级
技能 相关 表 说明 :
cfg_item.xls 表 字段: StdMode =4为技能书
cfg_item.xls 表 字段:Shape=职业要求 0=战士 1=法师 2=道士 3=英雄战士 4=英雄法师 5=英雄道士 6=英雄合击技能 99=通用 技能
cfg_item.xls 表 字段:Anicount=合击技能 60=战战合击 (破魂斩) 61= 战道合击 (劈星斩) 62=战法合击 (雷霆一击) 63=道道合击 (噬魂沼泽) 64=法道合击 (末日审判) 65= 法法合击 (火龙气焰) 不是合击技能填0 或为空
cfg_item.xls 表 字段:DuraMax=等级要求
;-
cfg_magic.xls 表 字段: Job =职业 0=战士 1=法师 2=道士 99=通用 技能
cfg_magic.xls 表 字段: NeedL1 = 开始修炼等级
cfg_magic.xls 表 字段: SkillCD =技能CD 毫秒为单位
cfg_magic.xls 表 字段:AK(36)列 Descr =是否英雄使用 0或空=人物使用 1=英雄使用

创建主将英雄脚本

;@@BuHero 是创建和删除主将英雄的标志

(@@BuHero)

完整脚本代码

[@main]
创建英雄:<英雄取名/@@buHero>\ \
删除英雄:<删除英雄/@DelMyHero>\ \
<退出/@exit>
[@buHero]
//CREATEHERO 职业性别请创建英雄:\ \
<男战士/@CREATEHERO_WARR_MAN> <女战士/@CREATEHERO_WARR_WOM>\
<男法师/@CREATEHERO_WIZA_MAN> <女法师/@CREATEHERO_WIZA_WOM>\
<男道士/@CREATEHERO_TAOS_MAN> <女道士/@CREATEHERO_TAOS_WOM>\ \
<关闭/@exit>
[@CREATEHERO_WARR_MAN]
#ACT
CREATEHERO 0 0
[@CREATEHERO_WARR_WOM]
#ACT
CREATEHERO 0 1
[@CREATEHERO_WIZA_MAN]
#ACT
CREATEHERO 1 0
[@CREATEHERO_WIZA_WOM]
#ACT
CREATEHERO 1 1
[@CREATEHERO_TAOS_MAN]
#ACT
CREATEHERO 2 0
[@CREATEHERO_TAOS_WOM]
#ACT
CREATEHERO 2 1
//返回消息
[@CreateingHero]
系统正在接受申请,请稍候……\ \
<关闭/@exit>
[@HaveHero]
您已经有英雄了。\ \
<关闭/@exit>
[@HeroNameFilter]
英雄名字存在非法字符。\ \
<关闭/@exit>
[@SetHeroName]
请先给您的英雄取名字。\ \
<关闭/@exit>
;;–删除英雄触发
[@DelMyHero]
#ACT
DELETEHERO
//返回消息
[@NotHaveHero]
你没有英雄。\ \
<关闭/@exit>
[@LogOutHeroFirst]
请将英雄设置下线!\ \
<关闭/@exit>
[@DeleteHeroOK]
删除英雄成功。\ \
<关闭/@exit>
;QF脚本触发–
[@CreateHeroOK]
英雄创建成功。\ \
<关闭/@exit>
[@HeroNameExists]
英雄名称已经存在了,请重新换一个名称。\ \
<关闭/@exit>
[@HeroOverChrCount]
英雄的数量超出限制。\ \
<关闭/@exit>
[@CreateHeroFail]
英雄创建失败。\ \
<关闭/@exit>
[@CreateHeroFailEx]
英雄创建失败。\ \
<关闭/@exit>
[@HeroNameFilter]
英雄名字存在非法字符。\ \
<关闭/@exit>
[@DeleteHeroOK]
英雄删除成功。\ \
<关闭/@exit>
[@DeleteHeroFail]
英雄删除失败。\ \
<关闭/@exit>

召唤/收回英雄

自动召唤英雄

完整脚本代码

[@召唤英雄]
#IF
#ACT
RecallHero
SENDMSG 6 召唤成功
BREAK
[@收回英雄]
#IF
#ACT
RecallHero 1
SENDMSG 6 收回成功
BREAK

检查是否有英雄

检查人物是否有英雄

完整脚本代码

#IF
CheckHaveHero
#SAY
你已经有英雄了.
#ELSESAY
你还没有英雄.

检查英雄等级

检查/调整英雄当前等级.

格式: H.CHECKLEVEL 操作符(> = <) 级别(1-65535)

格式: H.CHANGELEVEL 操作符(> = <) 级别(1-65535)

#IF

H.CHECKLEVEL > 40

#SAY

你的英雄已经超过40级了

H.CHANGELEVEL + 10

调整英雄等级+10

检测和改变英雄模式

检测英雄模式: CheckHeroSta 模式 0= 攻击 1=跟随 2= 休息

改变英雄模式 : SetHeroSta 模式 0=攻击 1=跟随 2= 休息

英雄传送到主体身边: HeroFollow

例子;

完整脚本代码

[@检测英雄模式]
#IF
CheckHeroSta 0
#ACT
SENDMSG 5 你的英雄正在攻击。
#IF
CheckHeroSta 1
#ACT
SENDMSG 5 你的英雄正在跟随。
#IF
CheckHeroSta 2
#ACT
SENDMSG 5 你的英雄正在休息。
[@改变英雄模式]
#IF
#ACT
SetHeroSta 0
SENDMSG 5 你的英雄模式改变为攻击。
#IF
#ACT
SetHeroSta 1
SENDMSG 5 你的英雄模式改变为跟随。
#IF
#ACT
SetHeroSta 2
SENDMSG 5 你的英雄模式改变为休息。

检测英雄是否在线

完整脚本代码

[@main]
#IF
CHECKHEROONLINE
#ACT
SENDMSG 6 你的英雄在线

检测英雄登录器荣誉

格式: CheckHumCreditEx 操作符(> = <) 数值(1-65535)

#IF

CheckHumCreditEx < 10

#ACT

ChangeHumCreditEx = 10

检测英雄的PK值

#IF

CheckHeroPkPoint > 100

#SAY

英雄的PK值大于100点.

检测英雄的伤害吸收

说明: 检测英雄的伤害

格式: CheckHeroSuckDamage 操作符(> = < ?) 数量(1-2000000000)

完整脚本代码

#IF
CheckHeroSuckDamage > 1000
#SAY
SendMsg 5 你的英雄当前拥有的伤害吸收大于1000点.

检测英雄的忠诚度

说明

英雄忠诚度功能
//;检测忠诚度:CHECKHEROLUCK 检测符(> < = ?) 值
//;调整忠诚度:SETHEROLUCK 操作符 (+ – =) 值
//;忠诚度改变触发:[@HeroLuck]
//;例子
//;QFunction-0.txt

完整脚本代码

[@HeroLuck]
#IF
CHECKHEROLUCK > 100
#ACT
SENDMSG 6 你的英雄忠诚度大于1%
BREAK
[@改变英雄忠诚度]
#IF
#ACT
SETHEROLUCK = 1000
SENDMSG 6 你的英雄忠诚度改变成100%

检测英雄职业

检测英雄职业.

H.CHECKJOB warrior

H.CHECKJOB wizard

H.CHECKJOB taoist

完整脚本代码

[@main]
#IF
CheckHeroOnline
H.CHECKJOB taoist
#SAY
你英雄的职业是道士
#ELSESAY
你的英雄没有在线.
调整英雄职业
H.CHANGEJOB warrior
英雄职业调整为战士
H.CHANGEJOB wizard
英雄职业调整为法师
H.CHANGEJOB taoist
英雄职业调整为道士

清除英雄所有技能

注意:如果清除后英雄技能依然显示存在,那么请更新最新登录器.

#IF

#ACT

H.CLEARSKILL

物品进入英雄背包触发

完整脚本代码

[@AddHeroBag]
#IF
#ACT
SENDMSG 5 物品进入英雄背包!

英雄上线触发

英雄上线触发 @HeroLogin 注意这个触发是由主人执行的所以对英雄的操作请在前面加H

QF里的配置脚本

完整脚本代码

[@HeroLogin]
#if
H.CHECKNAMELIST ..\QuestDiary\数据文件\英雄名单.txt
#act
H.DELSKILL 破魂斩
H.DELSKILL 劈星斩
H.DELSKILL 雷霆一击
H.DELSKILL 噬魂沼泽
H.DELSKILL 末日审判
H.DELSKILL 火龙气焰
H.delnamelist ..\QuestDiary\数据文件\英雄名单.txt
#IF
H.ISNEWHUMAN
H.gender man
#ACT
H.give 恶魔长袍(男) 1
H.give 骨玉权杖 1
H.TakeOnitem 骨玉权杖 1
H.TakeOnitem 恶魔长袍(男) 0
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break
#IF
H.ISNEWHUMAN
H.gender WOMAN
#ACT
H.give 恶魔长袍(女) 1
H.give 骨玉权杖 1
H.TakeOnitem 骨玉权杖 1
H.TakeOnitem 恶魔长袍(女) 0
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break
#IF
H.ISNEWHUMAN
H.gender man
#ACT
H.give 战神盔甲(男) 1
H.give 裁决之杖 1
H.TakeOnitem 战神盔甲(男) 0
H.TakeOnitem 裁决之杖 1
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break
#IF
H.ISNEWHUMAN
H.gender WOMAN
#ACT
H.give 战神盔甲(女) 1
H.give 裁决之杖 1
H.TakeOnitem 战神盔甲(女) 0
H.TakeOnitem 裁决之杖 1
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break
#IF
H.ISNEWHUMAN
H.gender man
#ACT
H.give 幽灵战衣(男) 1
H.give 龙纹剑 1
H.TakeOnitem 幽灵战衣(男) 0
H.TakeOnitem 龙纹剑 1
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break
#IF
H.ISNEWHUMAN
H.gender WOMAN
#ACT
H.give 幽灵战衣(女) 1
H.give 龙纹剑 1
H.TakeOnitem 幽灵战衣(女) 0
H.TakeOnitem 龙纹剑 1
H.give 超级金创药 4
H.give 超级魔法药 3
SENDMSG 4 恭喜<$USERNAME>您的英雄领取了装备
break

英雄切换地图触发

功能:

切换地图触发

;QFunction-0.txt触发

完整脚本代码

[@HeroEnterMap]
#IF
#ACT
SENDMSG 5 英雄更换地图了….当前地图为<$MAP>

英雄升级触发

英雄升级触发 @HeroLevelUp 这个触发也是由主人执行的所以对英雄的操作请在前面加H

例如:

完整脚本代码

[@HeroLevelUp]
#IF
#ACT
H.give 金条 2
break

英雄在线改名

完整脚本代码

[@Main]
<我要改名/@@InputString2(请输入新的名称:)>\
[@InputString2]
#IF
Equal S2
#ACT
SENDMSG 6 请输入一个正确的名称
Break
#OR
CheckStringlength S2 > 20
CheckStringlength S2 < 4
#ACT
SENDMSG 6 输入名称长度不正确
Break
#IF
#ACT
CHANGEHERONAME <$str(S2)>
QFunction-0.txt脚本相关触发
[@QueryingHeroName]
正在查询请稍后。。。\ \
<关闭/@exit>\
[@QueryHeroNameOK]
查询成功,该名称可以使用\ \
<关闭/@exit>\
[@ChangeingHeroName]
正在修改请稍后。。。\ \
<关闭/@exit>\
[@ChangeHeroNameOK]
#ACT
#SAY
你的名字修改成功,旧名称:<$H.USERNAME> 新名称:<$H.USERNEWNAME>!\ \
<关闭/@exit>\
[@HeroNameLengthFail]
名字长度不允许超过30个字符!\ \
<关闭/@exit>\
[@HeroNameFilter]
该名字存在非法字符!\ \
<关闭/@exit>\
[@HeroNameExists]
该名字已经被其他玩家占用,请选择其他名字\ \
<关闭/@exit>\
[@ChangeHeroNameFail]
改名失败!\ \
<关闭 /@exit>\

英雄套装触发功能

完整脚本代码

[@HeroGroupItemOnX],[@HeroGroupItemOffX]
例如:
[@HeroGroupItemOn0]
#IF
#ACT
SENDMSG 0 英雄圣战套装隐藏属性被激发:攻击上限增加5点!
[@HeroGroupItemOn1]
#IF
#ACT
SENDMSG 0 英雄法神套装隐藏属性被激发:魔法上限增加5点!
[@HeroGroupItemOff0]
#IF
#ACT
SENDMSG 0 英雄圣战套装隐藏属性消失!
[@HeroGroupItemOff1]
#IF
#ACT
SENDMSG 0 英雄法神套装隐藏属性消失!

英雄宝宝叛变触发

完整脚本代码

[@HeroMobTreachery]
#IF
#ACT
SENDMSG 7 英雄叛变的宝宝名称<H.$MOBTREACHERYNAME>

英雄宝宝攻击前触发

// ;英雄宝宝攻击前触发

完整脚本代码

[@HeroAttackDamageBB]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
H.ChangeDamageValue 0 = 5000
SENDMSG 6 【<$USERNAME>】你的宝宝攻击了人物【<$H.CURRRTARGETNAME>】。掉血值:<$H.DAMAGEVALUE>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
H. ChangeDamageValue 0 = 1000
SENDMSG 6 【<$USERNAME>】你的宝宝攻击了怪物【<$H.CURRRTARGETNAME>】。掉血值:<$H.DAMAGEVALUE>
BREAK
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
H. ChangeDamageValue 0 = 1000
SENDMSG 6 【<$USERNAME>】你的宝宝攻击了英雄【<$H.CURRRTARGETNAME>】。掉血值:<$H.DAMAGEVALUE>
;// 英雄宝宝被攻击前触发
[@HeroStruckDamageBB]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
H.ChangeDamageValue 0 = 200
SENDMSG 6 【<$USERNAME>】你的宝宝被人物【<$H.CURRRTARGETNAME>】攻击了。掉血值:<$H.DAMAGEVALUE>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
H.ChangeDamageValue 0 = 200
SENDMSG 6 【<$USERNAME>】你的宝宝被怪物【<$H.CURRRTARGETNAME>】攻击了。掉血值:<$H.DAMAGEVALUE>
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
H.ChangeDamageValue 0 = 200
SENDMSG 6 【<$USERNAME>】你的宝宝被英雄【<$H.CURRRTARGETNAME>】攻击了。掉血值:<$H.DAMAGEVALUE>

英雄当前获得经验触发

@HeroGetExp

例如:

完整脚本代码

[@HeroGetExp]
#if
#act
SENDMSG 5 :英雄本次获取经验为:<$HeroGetExp>
break

英雄攻击前掉血触发

//;英雄攻击前触发

完整脚本代码

[@HeroAttackDamage]
#IF
H.CHECKCURRTARGETRACE = 0
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄攻击了人物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄攻击了怪物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>
#IF
H.CHECKCURRTARGETRACE = 2
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄攻击了英雄【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>
//;英雄被攻击前触发
[@HeroStruckDamage]
#IF
H.CHECKCURRTARGETRACE = 0
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄被人物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>
#IF
H.CHECKCURRTARGETRACE = 1
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄被怪物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>
#IF
H.CHECKCURRTARGETRACE = 2
#act
H.ChangeDamageValue 0 = 10
SENDMSG 6 【<$USERNAME>】你的英雄被英雄【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>–掉血值:<$H.DAMAGEVALUE>

英雄攻击触发

QFunction-0.txt

;所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾

//;====================== 物理攻击触发 ==========================

完整脚本代码

[@HeroAttack]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 人物 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 怪物 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 英雄 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
//;====================== 魔法攻击触发 ==========================
[@HeroMagicAttack]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 人物 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 怪物 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 255 249【<$USERNAME>】你的英雄攻击了 英雄 【 <$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
//;====================== 被物理攻击触发 ==========================
[@HeroStruck]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 人物 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 怪物 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 英雄 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
//;====================== 被魔法攻击触发 ==========================
[@HeroMagicStruck]
#IF
H.CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 人物 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 1
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 怪物 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
#IF
H.CHECKCURRTARGETRACE = 2
#ACT
SENDMSG 6 255 253【<$USERNAME>】你的英雄被 英雄 【 <$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID>
BREAK
;======================下面变量获取怪物完整名字==========================
增加变量以显示完整名(不去数字): <$H.CURRRTARGETFULLNAME>
上面演示脚本中变量不获取怪物名字后面的数字: <$H.CURRRTARGETNAME>
提供 2种变量大家自己按需使用!

英雄死亡触发

功能:

新增英雄死亡后,触发脚本功能脚本的[@HeroDie]

//;例子

完整脚本代码

[@HeroDie]
#IF
#ACT
SENDMSG 5 你的英雄挂了。

英雄穿戴装备/脱下时触发

人物穿戴装备触发[@HeroTakeOnX] 人物脱下装备触发[@HeroTakeOffX]

功能: 人物带上物品时触发 X= 装备位置

完整脚本代码

[@HeroTakeOn0]
#IF
CHECKLEVELEX > 0
#SAY
穿上衣服真漂亮!!
[@HeroTakeOff0]
#IF
CHECKLEVELEX > 0
#SAY
不穿衣服小心感冒!
英雄穿戴/脱下任意装备触发
;触发顺序为先 触发 脱,后 触发 穿
[@HeroTakeOnEx]
#ACT
SENDMSG 6 英雄穿装备,位置:<$H.CURRTAKETEMPOS>,物品 名称: <$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>
[@HeroTakeOffEx]
#ACT
SENDMSG 0 英雄脱装备,位置:<$H.CURRTAKETEMPOS>,物品 名称 : <$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>
英雄穿戴/脱下 前 触发
[@HeroTakeOnBefore X ] [@HeroTakeOffBefore X ]
说明: X 代表装备位置
[@HeroTakeOnBefore0 ]
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品 名称: <$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>
[@HeroTakeOffBefore0 ]
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品 名称: <$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>
英雄穿戴/脱下任意装备 前 触发
[@HeroTakeOnBeforeEX] [@HeroTakeOffBeforeEX]
[@HeroTakeOnBeforeEX]
#IF
EQUAL <$H.CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品名称:<$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>
[@HeroTakeOffBeforeEX]
#IF
EQUAL <$H.CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品名称:<$H.CURRTEMNAME>,唯一ID:<$H.CURRTEMMAKEINDEX>

获取指定玩家名称英雄职业

格式:GetPlayHeroJob 玩家名称 存入变量

//;例子

完整脚本代码

[@获取指定玩家英雄职业]
#IF
#ACT
GetPlayHeroJob 张三 N1
SENDMSG 6 张三的英雄职业为:<$STR(N1)>

获取指定英雄的主人名字

//;格式:GetHeroMasterName 英雄名称 存入变量

//;例子

完整脚本代码

[@获取英雄主人名称]
#IF
#ACT
GetHeroMasterName 李四 S1
SendMsg 6 英雄李四的主人名称为:<$STR(S1)>

设置英雄伤害吸收

说明:设置英雄可吸收收到的攻击伤害.

格式: SetHeroSuckDamage 操作符(+ – =) 总吸收直(1-2000000) 吸收比例(1-1000) 成功率(1-100)

吸收比例 1=0.1% 500=50% 1000=100%

例子: 设置总共吸收1000点伤害,每次吸收20%伤害,成功率95%

完整脚本代码

#IF
CheckGold 10000
#ACT
SetHeroSuckDamage + 1000 200 95
Take 金币 10000
特别说明:查看SetSuckDamage

调整英雄的PK值[!]

调整英雄PK值

完整脚本代码

#IF
CheckHeroOnline
#ACT
ChangeHeroPkPoint + 100
#SAY
你英雄的PK值增加100点.

国家系统

说明

国家常量:
国家名称:<$NATIONNAME>
国家人数:<$NATIONPEOPLE>
国家ID常量:<$NATIONID>
国家职位名称常量:<$nationjob1> – <$nationjob10>
玩家职位ID常量:<$NATIONJOBID>
脚本命令:(Nidx为国家ID)
创建国家格式:CREATENATION nIdx 国家名称 限制人数
删除国家格式:DELNATION nIdx
检查国家是否创建:CHECKATION nIdx
设置当前人物在国家的职位格式:SETNATIONKING 职位编号
修改国家职位名称:SETNATIONRANK 国家编号 职位编号 职位名称(需小退才更新)
加入国家 格式: JoinNational 参数1:国家编号 (1~100) 参数2:职位编号(1-10 不填 默认为10)
退出国家 格式: JoinNational 0
检测加入国家 格式: CheckNational (国家编号 0~100 0代表没有加入国家)
检查国家人物总数. 格式: CheckNationHumCount 操作符(< = >) 人数
国家自定义变量: (申明放置QM中)
自定义变量:<$NATION(国家变量)>
申明 VAR String NATION 字符国家变量
申明 VAR Integer NATION 数字国家变量
修改 CALCVAR NATION 数字国家变量 = 888
保存 SAVEVAR NATION 数字国家变量

完整脚本代码

[@LoadNatIon]
#ACT
;操作支持加减乘除等于(+ – * / =)
CALCVAR NATION 数字国家变量 = 888
SAVEVAR NATION 数字国家变量
清理自定义国家变量格式:ClearNATIONCustVar 参数1 参数2
排序格式:SortHumVar 参数1 参数2 参数3 参数4 参数5 参数6
参数4: 3=国家变量
相关命令脚本:
脚本刷怪:MonGenEx 地图文件名称 X Y 怪物名称 范围 数量 是否内功怪物(0否,1是) 名称颜色(0~255) 国家名称(属于哪个国家的怪物,没有可以为空) 同一个国家玩家是否可攻击怪怪物(0不可以,1可以)
MonGenEx 3 330 330 白野猪 1 10 0 249 神都帝国 0
发送自定义颜色的文字信息. 格式: GuildNoticeMsg 255 233 发送自定义颜色的文字信息. NATIONAL
参数4:'National'时发送给自己国家的人(使用于 国战 )
发送屏幕中间大字体信息 格式: SendCenterMsg 前景色 背景色 消息文字 模式 显示时间 倒计时标签
参数4:3=发送国家
改变人物攻击模式:ChangeAttatckMode (0~7) 和强制攻击 国家=7
//国家合区说明:
合区后只保留主服的国家人员和ID其他国家不会合并在一起
从区的国家ID及人员全部清空
刷怪命令扩展
MonGenEx 地图文件名称 X Y 怪物名称 范围 数量 0 名称颜色(0~255) 怪物自定义名称 是否过滤数字(0不过滤,1过滤) 国家名称(属于哪个国家的怪物) 是否可攻击同国家的玩家(0,1) 不同国家怪物是否可PK(0,1) 怪物是否禁止被同国家的人攻击(0,1)
是否可攻击同国家的玩家(0,1) 0=怪物不会攻击同国家的人 1=非国家模式下会攻击同国家的人
不同国家怪物是否可PK(0,1) 0=不能PK 1=不同国家的怪物可以互相PK
怪物是否禁止被同国家的人攻击(0,1) 0=不禁止,人物可攻击同国家怪物。1=禁止,人物不能攻击同国家怪物
国家脚本刷怪设定
此命令支持怪物巡逻坐标攻击,设置多个指定坐标后,怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
格式:
MISSION 地图 x1;x2;x3…xn y1;y2;y3…yn (x和y的数量要一致)
PARAM1 刷新怪物座标X
PARAM2 刷新怪物座标Y
PARAM3 数量
PARAM4 范围
PARAM5 国家名称
PARAM6 是否攻击本国玩家(0,1)
PARAM7 不同国家怪物是否PK(0,1)
PARAM8 怪物名字颜色
PARAM9 是否禁止本国玩家攻击(0,1)
MOBPLACE 怪物名称 目标名称
;;;;;;;;参数二 目标名称–这个参数,为空表示可攻击所有可攻击的对象,指定名字表示只攻击指定名称的可攻击对象
示范:
[@国家刷怪]
#act
MISSION 3 319;319 320;340
PARAM1 333
PARAM2 333
PARAM3 10
PARAM4 0
PARAM5 神都帝国
PARAM6 0
PARAM7 1
PARAM8 242
PARAM9 0
MOBPLACE 国家士兵
国家战争功能
国家宣战脚本命令: NationsWar 国家名称 时间(0=立即关闭) X小时 测试版本单位分钟
监测国家战争状态:ISNATIONSWAR
国家战争地图参数:FIGHT6 默认不掉落 (FIGHT6(0),不掉落,FIGHT6(1) 掉落)国家战争地图 进入该地图人物颜色会变色 杀人不加PK值
修改地图参数FIGHT6脚本命令 :SetMapMode 地图号 模式(FIGHT6(0) 0,表示不掉落,1,表示掉落)
国家战争剩余时间常量(分钟):<$NATIONSWARTIME>
[@国家宣战]
#act
NationsWar 傲来国 1
sendmsg 9 本国与傲来国开启了战争,持续时间为1小时。
[修改战争地图掉落]
#act
SETMPAMODE g008 FIGHT6(1)
sendmsg 6 国战 地图已修改为掉落装备状态!!!
[@战争状态]
#IF
ISNATIONSWAR
#SAY
国家正在战争
#ELSESAY
国家没有战争

跨服与本服之间数据传递

本服通知触发跨服QF

BFBACKCALL 参数1 参数2 参数3 参数4

参数1:IDX(QF触发标签编号)

参数2:UID(某玩家UID,0 = 全部触发)

参数3:传递的字符串1(字符串)

参数4:传递的字符串2(字符串)

注:(进入跨服NPC是在本服,执行了也是本服,QF与QM才是跨服执行)

;//QFunction-0.txt触发

完整脚本代码

[@BFSYSCALLX]
#IF
#ACT
;传递的字符串1:<$ PARAM1>,传递的字符串2:<$PARAM2>
SendMsg 6 <$PARAM1>–<$PARAM2>
跨服通知触发本服QF
KFBACKCALL 参数1 参数2 参数3 参数4
参数1:IDX(QF触发标签编号)
参数2:UID(某玩家UID,0 = 全部触发)
参数3:传递的字符串1(字符串)
参数4:传递的字符串2(字符串)
;//QFunction-0.txt触发
[@KFSYSCALLX]
#IF
#ACT
;传递的字符串1:<$ PARAM1>,传递的字符串2:<$PARAM2>
SendMsg 6 <$PARAM1>–<$PARAM2>
;//跨服至本服传递示例:
[@只能跨服QF/Qm触发]
#ACT
KFBACKCALL 22 0 测试字符串1 测试字符串2
;本服读取QFunction-0.txt触发@KFSYSCALL
[@KFSYSCALL22]
#ACT
SendMsg 6 <$PARAM1>=测试字符串1– <$PARAM2>=测试字符串2
;//本服至跨服传递示例:
[@支持NPC、QF、QM触发]
#ACT
BFBACKCALL 33 0 测试字符串1 测试字符串2
;跨服读取QFunction-0.txt触发@BFSYSCALL
[@BFSYSCALL33]
#ACT
SendMsg 6 <$PARAM1>=测试字符串1– <$PARAM2>=测试字符串2

跨服变量传递

格式:Synzvar 参数1 参数2 参数3 参数4

参数1:变量类型 1=全局G变量 2=全局A变量 3=全局自定义变量 4=行会变量(行会名称/行会变量)

参数2:跨服全局变量

参数3:存入本服全局变量

参数4:触发QF回调ID ID随意

同步成功触发本服QFunction-0.txt [@KFSYNVARX] X=回调ID

设置跨服G15=996

注:(别用NPC去执行跨服的G15=996.因为NPC都是在本服的,执行了也是本服)

完整脚本代码

[@KFLOGIN]
#IF
#ACT
MOV G15 996
SENDMSG 6 当前跨服G15变量为:<$STR(G15)>
;然后在本服NPC同步跨服G15变量到G16上例子
[@同步跨服G15变量]
#IF
#ACT
Synzvar 1 G15 G16 999
SENDMSG 6 同步全局变量成功
;同步成功触发本服QFunction-0.txt
[@KFSYNVAR999]
#IF
#ACT
SENDMSG 0 同步跨服G15到本服G16变量为:<$STR(G16)>
;如果同步跨服行会变量到本服,只能同步到本服的全局变量上
[@同步行会变量到本服A10]
#IF
#ACT
Synzvar 4 天下会/变量 A10 888
SENDMSG 6 同步行会变量成功
;同步成功触发本服QFunction-0.txt
[@KFSYNVAR888]
#IF
#ACT
SENDMSG 0 同步跨服:天下会的变量到本服A10上:<$STR(A10)>

跨服沙巴克

一、跨服沙巴克需要在跨服服务端配置一套沙巴克地图+配置文件

二、跨服沙巴克注意事项:

1、沙巴克成员死亡后会在本服复活,不会在跨服沙巴克复活点

2、跨服M2重启之后,跨服沙城归属将被重置,攻城时M2重启的话需要重新拿沙。

3、攻城开始前,需要攻城的行会至少有一个人在跨服服务器否则将不会添加到攻城列表。

4、强制加入攻城列表在跨服沙巴克也是有效的。

三、跨服沙巴克配置

跨服添加删除物品

完整脚本代码

[@跨服删除物品]
#IF
#Act
takeW 圣战戒指 1
take 圣战手镯 1
[@跨服给物品]
#IF
#Act
GiveStateItem 圣战手镯 1 1 0 0 0 0 0 0 1
give 圣战戒指
GiveOnItem 屠龙

跨服配置

说明

跨服设置步骤
最多支持 5个服务器一起跨服
复制一份完整服务端用于做跨服服务端
设置跨服步骤:
第一步:将所有跨服与通区设置里面的跨服区服ID分别设置数字ID 不可重复
第二步:将用于承载跨服玩家的服务端选择 跨服
第三步:跨服地址、端口–如果所有跨服服务端都在同一台服务器那么填127.0.0.1,如果不是请填写服务器的外网地址及端口
第四步:根据版本需要,自行设置 跨服变量、跨服怪物、跨服地图、跨服 NPC
跨服需要的文件
cfg_kuafuval.xls(私人变量同步文件,U变量全部支持 标识全部支持 自定义 HUMAN 类型变量 字符串 (String) 整型(Integer) 各50个 )
MonGen.txt (跨服刷怪根据地图参数带:Kuafu参数的自动会刷到跨服服务器,本服就不会刷新了)
Mapinfo.txt (跨服地图根据地图参数带:Kuafu参数跨服服务器自动加载)
MerChant.txt 跨服NPC根据地图参数带:Kuafu跨服服务器自动加载,最后一个参数为跨服NPCID,多个跨服NPCID不可重复
例子( kuafu 跨服地图名 20 25 跨服NPC 0 23 0 0 0 0 0 1 100)
跨服重要说明:
01:进入跨服服务器,部分GM命令不支持
02:加载跨服脚本,必须同步到本服后再加载,重读跨服NPC脚本或主服NPC脚本 都使用主服引擎重读
03:退出跨服服务器,读取的是本服 Mir200\Market_Def\QFunction-0.txt [@KUAFUEND] 跨服结束触发
04:进入跨服服务器,读取的是跨服 Mir200\Market_Def\QFunction-0.txt [@KFLOGIN] 跨服成功触发
05:进入跨服服务器, 读取的是跨服 Mir200\Envir\MonGen.txt
06:进入跨服服务器,读取的是本地 Mir200\MapInfo.txt 地图参数:Kuafu
07:进入跨服服务器,使用跨服定时器(见跨服相关接口)
08:进入跨服服务器,使用机器人脚本(见跨服相关接口)
09:跨服地图里面的NPC执行是脚本是返回到本服的,所以如果想在跨服执行NPC功能,建议做到跨服QFunction-0.txt [@KFLOGIN]跨服成功触发里面 比如拾取小精灵 个人定时器等等
10:跨服服务器,不支持 1:人物背包掉落物品
11:跨服服务器,支持 1:捡取物品到背包 2:掉落身上装备
12:跨服服务器,不保存 自定义全局变量
13:跨服不支持修改装备属性、镶嵌打孔、进度条等功能,请返回本服操作,再进跨服即可。
14:跨服不支持对称号进行操作
15:跨服不支持拍卖行、交易、邮件
16:跨服不支持国家、英雄
17:跨服不支持等级属性刷新,请返回本服操作升级,再进跨服
跨服相关接口:
CHECKKUAFU //检测当前人物是否在跨服的地图
CHECKKUAFUSERVER //检测当前服务器是否为跨服服务器
CHECKKUAFUCONNECT //检查跨服连接是否正常连接
KUAFUUSERGOHOME //所有跨服玩家回本服 根据执行区服自行处理
OPENKUAFU 1 //开启跨服(开启跨服是有延迟的,M2提示有跨服连接了或者检测跨服连接正常了,才可以执行跨服相关操作)
SETONTIMER 定时器索引(0-255) 定时间隔(单位为秒) 执行次数(0=无限制) 跨服是否执行(1=玩家进跨服继续执行)

完整脚本代码

#AutoRun 参数1 参数2 参数3 参数4
参数1:NPC
参数2:执行方式(SEC、MIN、HOUR、DAY、RunOnDay、RUNONWEEK)
参数3:跳转标签 如:@SendRedMsg
参数4:默认为空=本服执行 1= 跨服执行 2= 本服和跨服一起执行
例如:
#AutoRun NPC SEC 3 @跨服执行 1
#AutoRun NPC SEC 5 @跨服本服一起执行 2

LineNotice.txt彩色滚动公告[!]

LineNotice.txt彩色滚动公告

例:

[253,0]自定义字体颜色公告!

<252,255>窗口顶部滚动公告!

格式1:[253,0]聊天框公告 0为背景色 253前景色

格式2:<252,255> 窗口顶部滚动公告,255为背景色 252前景色

人物转生[!]

功能:

人物转生控制

格式:

RENEWLEVEL 转次数 转后等级 分配点数

转次数 代表一次转多少级(数值范围为 1 – 255)

转后等级 代表转生后人物的等级,0为不改变人物当前等级。

分配点数 代表转生后可以得到的点数,此点数可能按比例换成人物属性点(数值范围 1 – 20000)。

;将人物转生一次,后等级设为 28级,分配100点属性

完整脚本代码

[@RenewLevel]
#IF
#ACT
RENEWLEVEL 1 28 100
#SAY
转生成功。
功能:
检测转生等级
格式:
控制符(=,>,<)
[@ViewRenLevel]
#IF
checkrenewlevel = 0
#act
break
#say
你还没转生!!!\ \
〖<返回 /@ReNewLevel >〗 〖<关闭 /@exit >〗
#IF
checkrenewlevel = 1
#act
break
#say
你的转生等级为第一重转生!!!\ \
〖<返回 /@ReNewLevel >〗 〖<关闭 /@exit >〗
功能:
清除人物转生数据(即人物转生后恢复到未转生状态)
格式:
[@ClearRenewLevel]
#IF
#ACT
RestRenewLevel
功能:
设置及更改转生人物显示的名称
格式:
配置文件:String.ini
以下为相关配置内容:
WarrReNewName =%chrname\*<圣>*
WizardReNewName =%chrname\*<神>*
TaosReNewName =%chrname\*<尊>*
WarrReNewName 武士转生后名称显示
WizardReNewName 法师转生后名称显示
TaosReNewName 道士转生后名称显示

人物颜色发型

完整脚本代码

[@HumFace]
请选择美容项目….\ \
『<名称颜色 /@changcolor >』\
『<换 发 型 /@ChangHair >』\ \
〖<返回 /@main >〗
[@ChangColor]
是不是觉得自己名称的颜色太单调了,换换试试!\ \
『<复原 /@Color255 >』\
『<蓝色 /@Color0 >』 『<绿色 /@Color1 >』 『<黄色 /@Color2 >』 『<橙色 /@Color3 >』\
『<土黄 /@Color4 >』 『<红色 /@Color5 >』 『<淡兰 /@Color6 >』 『<淡绿 /@Color7 >』\ \
〖<返回 /@MemberFace >〗 〖<关闭 /@exit >〗
[@Color255]
#ACT
CHANGENAMECOLOR 255
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗 〖<关闭 /@exit >〗
[@Color0]
#ACT
CHANGENAMECOLOR 252
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗 〖<关闭 /@exit >〗
[@Color1]
#ACT
CHANGENAMECOLOR 217
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗 〖<关闭 /@exit >〗
[@Color2]
#ACT
CHANGENAMECOLOR 251
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗 〖<关闭 /@exit >〗
[@Color3]
#ACT
CHANGENAMECOLOR 253
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗 〖<关闭 /@exit >〗
[@Color4]
#ACT
CHANGENAMECOLOR 125
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗
[@Color5]
#ACT
CHANGENAMECOLOR 249
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗
[@Color6]
#ACT
CHANGENAMECOLOR 254
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗
[@Color7]
#ACT
CHANGENAMECOLOR 250
#SAY
呵呵,你的颜色已经改变。\ \
〖<返回 /@ChangColor >〗
[@ChangHair]
#IF
gender man
#ACT
goto @ChangHairMan
#ELSEACT
goto @ChangHairWoman
[@ChangHairMan]
想不想来个光头呀,酷呆了!!!\ \
『<光头 /@hairman0 >』\
『<长头发 /@hairman1 >』\ \
〖<返回 /@MemberFace >〗 〖<关闭 /@exit >〗
[@hairman0]
#ACT
HAIRSTYLE 0
#SAY
呵呵,光头是不是很酷呀!!! \ \
〖<返回 /@ChangHairMan >〗
[@hairman1]
#ACT
HAIRSTYLE 1
#SAY
呵呵,你的发型已经改变了… \ \
〖<返回 /@ChangHairMan >〗
[@ChangHairWoman]
『<短发型 /@hairWoman0 >』\
『<长发型 /@hairWoman1 >』\ \
〖<返回 /@MemberFace >〗 〖<关闭 /@exit >〗
[@hairWoman0]
#ACT
HAIRSTYLE 0
#SAY
呵呵,你的发型已经改变了… \ \
〖<返回 /@ChangHairWoman >〗 〖<关闭 /@Exit >〗
[@hairWoman1]
#ACT
HAIRSTYLE 1
#SAY
呵呵,你的发型已经改变了… \ \
〖<返回 /@ChangHairWoman >〗 〖<关闭 /@Exit >〗

任务脚本

;QMission-0.txt 此脚为任务脚本放在Market_Def目录,人物每次登录时都会执行[@Login]

首先到M2-工具-任务NPC配置-增加任务NPC页面。例如:增加“主线任务”他对应的脚本字段就是[@主线任务]

完整脚本代码

[@Login]
[@主线任务]
传奇归来任务\
<传奇归来任务/@生存的诀窍>\
主线任务\
<生存的诀窍/@生存的诀窍>\
[@支线任务]
支线任务\
<等级2 寻找炼金师/@寻找炼金师>\
<等级3 王师弟子/@王师弟子>\
<等级4 新手大礼包/@新手大礼包>\
<等级5 进入庄园/@进入庄园>\
<等级5 天关寻宝/@天关寻宝>\
[@日常活动]
日常活动\
<玛法巡游(每日一次)/@玛法巡游>\
<地下夺宝/@地下夺宝>\
<除魔任务(每日一轮)/@除魔任务>\
<历练任务(每日一次)/@历练任务>\
<每日巡游任务/@每日巡游任务>\
<生存战(每日13:50,16:50开放)/@生存战>\
<每日探索任务(每日一次)/@每日探索任务>\
<闯关夺宝(每日18:30-19:00)/@闯关夺宝>\
[@生存的诀窍]
半兽人的贪婪和凶残打破了我们宁静的生活。\
战火蔓延到玛法大陆的每个角落。\
我们渴望驱除侵入者,我们期待重建家园。\
勇士,在这生死存亡的危机时刻,我们要团结\
在一起。为了帮助你成长,快去找你旁边\
的任务使者<比奇(333.262)/@比奇任务使者>或<边界村(287.614)/@边界村任务使者>或\
<银杏山谷(647.623)/@银杏山谷任务使者>吧!\
[@寻找炼金师]
在比奇(325,262),盟重(326,330),苍月岛\
庄园(65,72)处可以找到炼金师,在炼金师处使\
元宝可以获得大量经验、金刚石和组队卷轴。\
金刚石是锻造高级武器的必备物品。\
组队卷轴是去地下宫殿解救天工神剪的必须道具。\
<任务/FCOLOR=249>:到炼金师处查询元宝锻造的规则\
<完成任务NPC/FCOLOR=249>:比奇、盟重、苍月岛、庄园的炼金师\
[@王师弟子]
恭喜你已经达到了<$LEVEL>级,你可以到比奇(327,260)\
盟重(331,328)金牌尊者处领取一份王师弟子奖\
<任务/FCOLOR=249>:在武馆教头处了解“师傅如何收徒”\
<完成任务NPC/FCOLOR=249>:比奇、盟重的武馆教头\
[@新手大礼包]
比奇的书店老板(325,250)是个热心肠的人。\
尤其是对待新人的帮助。\
<任务/FCOLOR=249>:查看“5元宝换取新手大礼包”\
<完成任务NPC/FCOLOR=249>:比奇书店老板\
[@玛法巡游]
你每天可以在<盟重活动使者(339,335)/FCOLOR=249>处\
领取玛法巡游任务。\
只要在玛法大陆巡查两个小时后,\
就可以带<比奇国王/FCOLOR=249>那里领取大量的经验回馈。\
每日22点后,不可以接受巡查任务。\
[@地下夺宝]
你每天可以在<宫殿长廊送宝人偶(108,96)/FCOLOR=249>处\
参加地下夺宝活动。\ \
活动时间为:\
10:30-11:00\
13:30-14:00\
15:30-16:00\
20:30-21:00\
23:00-23:30\ \
活动细则:\
以上活动时间段内,通过<盟重镇魔首将(322,342)/FCOLOR=249>处\
携带地下组队卷轴选择单人或组队进入地下宫殿后\
点击送宝人偶,进入夺宝地图,\
活动时间结束前的5分钟宝物会出现在夺宝地图中,\
宝物出现后2分钟即可获得。\ \
有几率爆出以下宝物:\
<40级重装等高级装备/FCOLOR=249>\
<白金积分,热血积分/FCOLOR=249>\
<全系列藏宝图/FCOLOR=249>\
<47级新技能书,道士驯兽术/FCOLOR=249>\
[@除魔任务]
你每天可以在<盟重活动使者(339,335)/FCOLOR=249>处\
领取每日除魔任务。\
在一轮除魔任务(完成5次任务)中。\
每次完成任务后的奖励会越来越好。\
每天只能完成一轮的除魔任务。\ \
任务包括:\
前往石墓杀死<10只红野猪/FCOLOR=249>\
前往骨魔洞杀死<20只骷髅长枪兵/FCOLOR=249>\
前往霸者大厅杀死<3只白野猪/FCOLOR=249>\
前往兽人古墓杀死<15只骷髅/FCOLOR=249>\
前往赤月峡谷杀死<10只月魔蜘蛛/FCOLOR=249>\
前往比奇杀死<15只鸡/FCOLOR=249>\
前往毒蛇山谷杀死<5只虎蛇/FCOLOR=249>\
前往比奇杀死<8只食人花/FCOLOR=249>\
前往雷炎洞穴杀死<2只金杖蜘蛛/FCOLOR=249>\
前往死亡棺材杀死<2只邪恶钳虫/FCOLOR=249>\
前往魔龙西郊杀死<3只魔龙刀兵/FCOLOR=249>\ \
如果你觉得领取的任务太难,\
也可花费<50000金币/FCOLOR=249>在<盟重活动使者(339,335)/FCOLOR=249>处\
重新领取任务。\
[@历练任务]
你每天可以在盟重活动使者(339,335)处\
领取每日历练任务。\
按照指示前往各地找到恶魔看守人,支付一定的金币\
杀死指定的怪物即可完成历练任务领取奖励。\
每天只能只能完成一次历练任务。\ \
任务包括:\
25-29级:前往香石墓穴,杀四10只恶魔野猪\
香石墓穴恶魔看守人(37,30),(84,47)\
任务奖励:500000经验\ \
30-34级:前往沃玛寺庙三层,杀死<10只恶魔沃玛/FCOLOR=249>\
沃玛寺庙恶魔看守人(46,46),(62,62)\
任务奖励:600000经验\ \
35-39级:前往地牢一层东,杀死<10只恶魔蜈蚣/FCOLOR=249>\
地牢一层恶魔看守人(75,108),(161,52)\
任务奖励:800000经验\ \
40-44级:前往石墓七层,杀死<10只恶魔楔蛾/FCOLOR=249>\
石墓恶魔看守人(30,72),(62,42)\
任务奖励:1000000经验\ \
45-49级:前往祖玛七层大厅,杀死<10只恶魔祖玛/FCOLOR=249>\
祖玛神殿恶魔看守人(11,13)\
任务奖励:1200000经验\ \
50-54级:前往牛魔寺庙大厅,杀死<10只恶魔牛魔/FCOLOR=249>\
牛魔寺庙恶魔看守人(15,16),(67,67)\
任务奖励:1200000经验\ \
55-59级:前往魔龙岭,杀死<10只恶魔魔龙/FCOLOR=249>\
魔龙岭恶魔看守人(213,117),(84,353)\
任务奖励:1500000经验\ \
60-70级:前往地下长廊,杀死<10只地下长廊恶魔/FCOLOR=249>\
地下长廊恶魔看守人(160,172)\
任务奖励:1500000经验\ \

会员系统详解

会员系统主要用来对一些加盟玩家的特殊控制。可以用IP地址,登录帐号,角色名,之类的为标志控制。

相关脚本命令

设置会员类型: SETMEMBERTYPE

设置会员等级: SETMEMBERLEVEL

检查会员类型: CHECKMEMBERTYPE

检查会员等级: CHECKMEMBERLEVEL

相关脚本会员物品

物品使用条件: 8、81、82

增加会员时间 文件名称 天 时 分

完整脚本代码

[@main]
#ACT
ADDNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 30 2 3
#ACT
SENDMSG 6 增加30天2小时3分 255 253
检测会员剩余时间 文件名称 过期是否删除(0不删除 1删除) 变量1(到期时间 字符变量) 变量2(剩余天数 数字变量) 变量3(剩余小时 数字变量) 变量4(剩余分钟 数字变量)
[@main]
#IF
CHECKNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 1 S $ 1 N $ 1 N $ 2 N $ 3
#ACT
SENDMSG 6 你的会员到期时间是<$STR(S1)>【剩余天数=<$STR(N $ 1)>】【剩余小时=<$STR(N $ 2)>】【剩余分钟=<$STR(N $ 3)>】 255 253
#ELSEACT
SENDMSG 6 你不是会员或已过期,请及时充值! 255 253
删除会员还是使用原来的老命令DELNAMEDATELIST
[@main]
<输入需要充值的人物名称/@@InputString1>\ \ \
<关闭/@EXIT>\
[@InputString1]
#IF
S $ 1.CHECKONLINE
#ACT
ADDNAMEDATETIMELIST ..\QuestDiary\会员名单.txt 30 2 3
SENDMSG 6 <$STR(S $ 1)>充值成功,增加30天2小时3分! 255 253
#ELSEACT
SENDMSG 6 <$STR(S $ 1)>不在线! 255 253

假人自动摆摊

假人摆摊 写点大点省的看不到了

完整脚本代码

[@假人上线自动摆摊]
#IF
ISDUMMY
#ELSEACT
BREAK
;检测是否已经创建过个人商店
#IF
#ACT
;停止挂机
DUMMYSTOP
;开始摆摊
SHOPSTALL
#ELSEACT
;停止挂机
DUMMYSTOP
;开始摆摊
SHOPSTALL

动态地图连接[!]

动态地图连接

增加动态地图连接命令

ADDMAPGATE 连接名称(为了区别其他连接) 地图号 X(小于0时随机坐标) Y(小于0时随机坐标) 范围 到达地图号 到达地图坐标X(小于0时随机坐标) 到达地图坐标Y(小于0时随机坐标) 有效时间秒(时间到了自动删除该连接,该参数为空时不限时间)

删除动态地图连接命令

DELMAPGATE 连接名称 地图号

获取动态地图连接坐标

GETMAPGATE 连接名称 地图号 变量1(保存X坐标) 变量2(保存Y坐标) 变量3(保存到达地图号) 变量4(保存到达地X坐标) 变量5((保存到达地Y坐标))

完整脚本代码

[@AddMapGate]
#ACT
AddMapGate 连接 3 335 330 1 0 335 268 30
GetMapGate 连接 3 G10 G11 S $ 10 G12 G13
SENDMSG 6 增加地图新连接30秒后删除:[<$STR(G10)>:<$STR(G11)>]到达地图:<$STR(S $ 10)>到达坐标[<$STR(G12)>:<$STR(G13)>]
[@DelMapGate]
#ACT
DelMapGate 连接 3

历史更新日志

说明

996官方网站(www.996m2.com)
//更新日志 引擎版本号:2024.03.15.0 配套登录器(24.03.15)
1、修复内挂走位刺杀无效问题
2、修复聊天栏在输入状态时按快捷键无效问题
3、修复火龙神攻击效果不对问题
4、修复召唤分身后分身施法异常问题
5、修复攻击无法释放烈火开天等技能问题
6、切换地图后上一个地图的地砖不清除问题
7、修复大地图没有TIPS问题
8、修复playmusic播放无效问题
9、修复ClearNameList清理绝对路径文件无效问题
10、修复SETRANKLEVELNAME设置文字称号长度超长不显示问题
11、修复流星火雨导致消息堆积问题
12、修复攻击中手动无法释放烈火开天问题。
13、修复角色界面进游戏慢问题。
//更新日志 引擎版本号:2024.02.29.0 配套登录器(24.02.29)
1、优化内挂-锁定目标特效显示切换问题
2、修复THROWITEM命令可以秒拾取问题
3、修复申请行会费用修改货币ID无效问题
4、修复行会宣战修改货币ID无效问题
5、修复国王申请行会战提示行会不存在问题
6、修复系统属性转移窗口点击2次属性消失问题
7、修复UI勾选根据宽高缩放游戏内无效果问题
8、修复人物小退慢问题
新增内容
1、UI新增自定义飘血设置。
2、新增通过装备对比自动穿戴提示界面,倒计时结束自动穿戴到身上功能。
//更新日志 引擎版本号:2024.01.26.0 配套登录器(24.01.26)
1、修复PLAYEFFECT播放的特效切换地图后别人视野看会消失问题
2、修复奇珍阁不显示问题
3、修复及时雨内挂-保护取消的时候还会吃药问题
4、修复及时雨内挂-挂机功能取消后还可以用快捷键挂机问题
5、修复自定义OK框不显示底图问题
6、修复TimeMap(3|5|1|@计时地图返回)地图参数问题
7、修复文字称号过长时显示不完整问题
8、修复勋章位置装备对比不正确问题
9、修复马牌3、4号马外观重复问题
10、修复DELNAMELIST删除绝对路径文本无效问题
11、修复升级武器勾选失败不破碎后 (*)标志不消失问题
新增内容
1、新增 NPC窗口面板触发
2、新增 自定义按钮 写法支持
//更新日志 引擎版本号:2023.12.21.0 配套登录器(23.12.21)
1、修复人形怪佩戴复活戒指复活后不掉持久问题
2、修复TAKEW拿走装备后属性不刷新问题
3、修复PLAYEFFECT播放特效次数设置无效问题
4、修复UI查看别人装备时上下翻页异常问题
5、修复内挂保护使用随机回城等卷轴无效问题
6、修复怪物死亡后血条消失有点滞后问题
7、修复英雄吃药使用的是主人吃药CD导致吃药失败问题
8、修复勾选魔法锁定后使用魔法锁定目标就高亮显示问题
新增内容
1、内挂-职业-道士 新增手动控制飓风破选项
2、 假人命令 改为了新的写法 (用老版本假人的必须修改为新的写法否则会报错)
3、M2-客户端控制-页面显示 新增 新NPC写法支持 。
注意:新NPC写法跟老NPC写法不可兼容,勾选之后老NPC写法的面板将不可显示。
4、新增 OPENHYPERLINK 打开系统面板功能
//更新日志 引擎版本号:2023.11.30.0 配套登录器(23.11.30)
1、修复英雄从麻痹状态解除后,身体颜色还是灰色问题
2、修复内挂怪物显名取消后英雄名字也被隐藏问题
3、修复内挂极品提示不勾选也提示极品问题
4、修复英雄不在视野时血量变化不刷新问题
5、修复连续切换地图回导致客户端异常崩溃问题
6、修复行会聊天记录不显示人名问题
7、修复空消息密人不显示问题
8、修复查看人物称号界面的空框会导致UI消失问题
9、修复挂机时人物会把分身当怪物打BUG
10、修复从英雄背包丢出来的装备也会触发掉落提示问题
11、修复自定义怪物被定身之后无法解除问题
12、修复吃聚灵珠不扣元宝问题
13、修复无极真气可以给其他玩家加道术问题
14、修复英雄套装装备脱下来直接放人物背包时,套装属性不消失问题
15、修复0、2类物品设置物品规则无效问题
16、修复武器升级过的武器脱下后还可以砍怪检测成败问题
17、修复控制台配置保存的时候不修改游戏网关初始值问题
18、修复UI人物状态栏不显示属性值问题
19、开区助手修复合区时间超时导致助手异常关闭问题
新增内容
1、控制台数据备份栏新增数据库运行内存设置和日志大小限制
注:数据库运行内存设置规则
如果你1区设置了2G,开2区的时候又设置了8G那么这时候运行内存就被调整到了8G
这时候再开3区又设置成了4G那么运行内存就按4G做限制。
运行内存也不是越小越好,一切以自己的服务器内存及在线人数为准。
//更新日志 引擎版本号:2023.11.10.0 配套登录器(23.11.10)
1、修复英雄和平模式也会反击问题
2、修复英雄和主人不在同一个地图时,主号大退英雄不会消失问题
3、修复英雄召唤月灵技能熟练度不增加问题
4、修复自己英雄死亡后无法查看其它玩家英雄装备问题
5、修复英雄名字上也显示行会名问题
6、修复内挂上的血量简化开关无效问题
7、修复皇宫内有玩家死亡不下线无法占领沙巴克问题
8、修复被人形怪击杀也会判断为被人物击杀问题
9、修复商城货币关联无效问题
10、修复自定义怪物魔法播放选项无效问题
11、修复英雄召唤分身后,本身关闭的技能英雄分身没有同步问题
12、修复英雄套装触发无效问题
13、修复英雄中了负面BUFF主人没有提示问题
14、修复英雄被追击躲避时,经常超出主人视野之外问题
15、修复分身血量没有复制主号装备属性血量问题
16、修复分身和英雄无限使用无极真气问题
17、修复私聊界面文字超界问题
18、修复被禁言后发送消息没有提示问题
19、修复英雄装备持久不足没有提示问题
20、修复极品绿光展示导致显示异常图标问题
21、装备TIPS没有隐藏佩戴等级为0的条件展示
22、修复查看英雄装备时,套装件数激活情况无效问题
23、修复英雄守护状态被击杀后,再次召唤英雄,英雄不受控制问题
24、英雄跟随状态下连续多次守护,再次锁定攻击目标无效问题
25、修复执行免毒符功能后仍然扣毒符点数问题
26、修复英雄背包无法刷新问题
27、修复主人死亡后,道士英雄会一直使用治愈术问题
28、修复CheckMine检测纯度命令无效
新增内容
1、内挂新增英雄状态数字显示功能
2、优化道士人形怪、道士英雄攻击防全毒目标时,不再使用施毒术
3、优化快捷键操作,取消S键呼出称号、W键呼出关系界面
4、新增M2-功能设置-宝宝升级-宝宝紫色血条选项
//更新日志 引擎版本号:2023.10.19.1 配套登录器(23.10.19)
1、修复英雄角色显示行会名问题
2、修复英雄和平模式也会反击问题
3、修复离线挂机时英雄不会自动飞到主人身边问题
4、修复英雄召唤月灵技能不加熟练度问题
5、修复自己的英雄死亡后,查看别人英雄装备无法显示TIPS问题
6、修复门点切换会导致人物掉线问题
新增内容
1、新增 MONEY 操作所有货币功能
2、新增 多货币关联使用功能
//更新日志 引擎版本号:2023.10.19.0 配套登录器(23.10.19)
1、修复聊天栏使用CTRL+↑↓组合键无法查询历史发送信息问题
2、修复登录界面点击输入框以外的地方焦点会消失问题
3、修复商城不显示物品内观特效问题
4、修复限时装备查看他人装备是显示的时间错误问题
5、修复怪物喊话M%不替换问题
6、修复定身对怪物无效问题
7、修复快速吃叠加药品时有几率导致物品消失问题
8、修复怪物打人不破防的情况下也会强制掉1滴血问题
9、修复获取宝宝属性命令获取14、15号属性错误问题
10、修复主人死亡后英雄也立即死亡问题
11、修复装备技能威力无法设置合击技能问题
12、修复人形怪佩戴复活戒指无效问题
13、修复人形怪会被法师诱惑之光定住问题
14、修复技能-道士技能-召唤神兽数量设置保存无效问题
新增内容
1、获取当前地图怪物状态命令 mapBossinfo
//更新日志 引擎版本号:2023.09.27.0 配套登录器(23.09.27)
1、修复修改物品规则后必须重启才能生效问题,修改为立即生效
2、修复分身可以被诱惑之光诱惑问题
3、修复3级无极真气的时长波动太大问题
4、修复强化施毒术威力无效问题
5、修复英雄小范围切换守护模式之后不会后撤到新的守护点问题
6、修复神圣属性无效问题
7、修复PLAYEFFECT不带ID组的播放特效CLEARPLAYEFFECT无法清理问题
8、修复内挂法师不躲避无法勾选问题
9、修复宝宝升级触发<$SLAVEUPGRADENAME>常量获取不问题
10、修复技能防御无效问题
11、扩展背包金币上限为:21亿
新增内容
1、M2-客户端控制-内挂控制(二)新增一个滑步控制选项,默认开启
2、新增人物身上装备掉落前触发 [@CheckDropUseItems]
//更新日志 引擎版本号:2023.09.05.0 配套登录器(23.08.11)
1、修复@InPutString发起的输入框系统会默认输入1的问题
2、修复召唤多个赤月恶魔类怪物做宝宝时造成的卡顿问题
3、修复英雄守护状态,主人离开20格后再次切换守护,英雄不会飞到守护点问题
4、修复天气效果关闭无效问题
5、修复地图参数NODROPITEMFILENAME无效问题
6、修复MapQuest.txt触发无效问题
7、修复镖车死亡不触发@SelfKillSlave问题
8、修复人形怪默认视野太大,且视野不读取表格参数问题,修复默认值为:8格
9、修复道士英雄不会同步主人召唤数量问题
10、修复人形怪技能设置不会随职业变化显示对应职业问题
11、修复英雄死亡后掉落的装备无法拾取问题
12、修复宝宝被攻击后人物不进入战斗问题
13、修复合区工具已知问题,合区请使用最新版工具
新增内容
1、M2-物品装备-极品几率增加一个特效设置的勾选项,可用于极品装备设置光柱
//更新日志 引擎版本号:2023.08.18.0 配套登录器(23.08.11)
1、修复掉落提示不支持点击查看装备属性问题
2、修复人形怪不能挖多次问题
3、修复系统NPC界面购买界面不能翻页问题
4、修复英雄背包的药品放入人物快捷栏后无法使用问题
5、修复人物施法间隔会受到英雄施法间隔参数影响导致施法失败问题
6、修复学习影响技能时不加英雄前缀也可以学习问题
7、修复人物挂机非穿人模式下一直往英雄身上撞的问题
8、修复英雄守护状态下主人走出20格就飞到主人身后的问题
9、修复英雄无目标情况下,主人面对英雄时英雄不会走开问题
10、修复暴击触发无效,修改暴击伤害无效问题
11、修复@联盟和@取消联盟无效问题
12、修复战士分身追击目标卡顿问题
新增内容
1、新增 MOVESLAVE 命令将自己宝宝移动至指定坐标
2、新增 获取宝宝坐标 <$SlaveX>, <$SlaveY>常量
3、心灵召唤新增宝宝自动排序,使用之后宝宝立即锁定鼠标指向的敌对目标功能
4、新增CTRL+鼠标左键发送装备信息到聊天栏功能,支持自定义频道,频道格式跟聊天一样加前缀即可
//更新日志 引擎版本号:2023.08.11.0 配套登录器(23.08.11)
1、修复人形怪学习武力盾、道力盾不开盾的问题
2、修复法师分身不放流星火雨问题
3、修复修改宝宝当前血量属性后使用神圣战甲术会重复刷新宝宝血量问题
4、修复道士挂机的时候宝宝血量偏低的情况下一直给宝宝治愈术问题
5、修复UI-悬浮框里面的元素属性默认色不对问题
6、修复 MoveMapPlay 命令部分玩家失效不执行传送问题,增加一个参数用于延时操作即可
7、修复英雄召唤出来后有几率出现无限瞬移的问题
新增内容
1、施毒术新增运9最大伤害功能。M2技能里面设置
2、新增 KillMapMon 清掉地图某范围的怪物命令
//更新日志 引擎版本号:2023.07.27.0 配套登录器(23.07.27)
1、修复野蛮冲撞偶尔出现脱节的问题
2、修复内挂隐藏物品光柱无效问题
3、修复M2-在线人物默认显示假人信息问题,增加按钮刷新假人显示
4、修复UPGRADEITEMEX命令装备升级参数5=2升级失败时不恢复默认值问题
5、修复开启宝箱报错问题
6、修复开天斩修改攻击力倍数无效问题
7、修复药品不解包BUG
新增内容
1、M2-参数设置-人物死亡增加允许死亡拾取装备选项,默认不开启
//更新日志 引擎版本号:2023.07.14.0 配套登录器(23.07.14)
1、修复M2修改人物PK值,游戏里面人物名字不变色问题。
2、修复MESSAGEBOX换行多出一个口问题
3、修复骑马状态切换到禁止骑马地图人物无法移动问题
4、修复面巾打孔镶嵌无效问题
5、修复人形怪不显示翅膀特效问题
6、修复金币入包没有声音问题
7、修复M2在线播报人数无效问题
8、修复大刀不攻击104类怪物问题
9、修复使用隐身术后人物小退上线虚化状态不消失问题
10、修复SENDDELAYMSG倒计时消息小退后不消失
新增内容
1、M2新增复古176物品TIPS显示在人物状态栏底下、以及背包格子下面的功能
2、支持 SENDVERTICALMOVEMSG 命令,在屏幕上显示向上滚动信息功能
3、新增 使用技能前触发 通过<$mouseX>,<$mouseY>常量获取当前鼠标所在地图坐标
4、自定义怪物-客户端效果设置-怪物动作特效新增了素材绘制模式选项,默认特效播放
//更新日志 引擎版本号:2023.06.30.0 配套登录器(23.06.30)
1、修复自定义怪物被攻击设置保存无效问题
2、修复OPENUPGRADEDLG系统OK框收回物品背包不刷新问题
3、修复火焰戒指、防御戒指附带技能小退上线再脱下戒指技能不消失问题
4、修复M2-参数设置-信息控制里面的发言间隔设置无效问题
5、修复自定义OK框修改装备名字之后再用<$BOXITEM[1].NAME_G>获取的还是之前的装备名问题
6、修复RECALLMOB 神兽 7 1 1 设置为一分钟的时候宝宝不叛变问题
7、修复宝宝叛变之后属性不重置问题
8、修复怪物原地转向前端播放走动作问题
9、修复M2加载怪物数据时,自定义怪物会多出来一份的BUG
10、突破新版自定义属性文本255条限制
11、修复采集怪无法杀死、范围无效问题
12、修复护身戒指勾选护身蓝血时,刷新不及时问题
13、修复SHOPSTALL脚本摆摊命令无效问题
14、修复法师英雄技能无法升级问题
15、修复人物技能面板不按学习顺序排版问题
16、修复挂机会攻击自己英雄问题
17、修复挂机会攻击采集怪问题
18、修复英雄法师跟随状态不自动开盾问题
19、修复内挂自动修理无效问题
20、修复CHECKQUEST地图参数触发会造成地图门点失效问题
21、GUI修复选择服务器按钮不居中问题,修改为拖到哪里就显示在哪里
22、修复登录器修改UI密码后进入游戏会有弹窗问题
23、修复UI技能栏隐藏一个之后,排版会隐藏掉一个技能问题。
新增内容
1、神圣战甲术、幽灵盾新增小退消失选项
2、 MonItems 鞭尸命令扩展一个参数,参数1=1时,按怪物爆出物品完整复制一份,=0时重走一遍爆率
3、 PLAYEFFECT 扩展一个ID组参数,CLEARPLAYEFFECT也可以删除对应的ID组
4、护体神盾新增消息屏蔽开关
5、内挂挂机新增法师不躲避选项,支持法师砍怪挂机
6、新增防劫持登录器配置及防劫持列表服务器
//更新日志 引擎版本号:2023.06.01.0 配套登录器(23.06.01)
1、修复日出和傍晚无效果问题
2、修复系统商店显示异常、不显示极品属性问题
3、修复CTRL+右键查看玩家装备栏操作不顺畅问题
4、修复人物身上变色后,高亮会还原问题、翅膀斗笠等不变色问题
5、修复排行榜人物模型不显示问题,默认是不显示,需要显示的到UI里面开启
6、修复SetSkillPower修改技能威力百分比参数为0时,威力无效问题
7、修复攻击前触发取不到野蛮冲撞技能ID问题
8、修复GM命令调整人物职业无效问题
9、修复毒素武器切换之后毒素属性不消失问题
10、修复英雄名字会显示行会名问题
11、修复隐身模式不刷新,需要跑出视野问题
12、修复46类宝石添加的属性不及时生效问题
新增内容
1、马牌新增马上人物衣服随SHAPE值显示功能,参数5=2即可
2、新增获取地图怪物数量命令 FindMapMonster
注意:本次更新之后采用新版登录器皮肤配置器,多出来的四个选项为盒子登录功能,非盒子登录器不要勾选
//更新日志 引擎版本号:2023.05.12.0 配套登录器(23.05.12)
1、修复头盔斗笠发型偏移问题
2、修复GIVE给叠加物品,超过叠加数量后不自动拆分问题
3、修复英雄等级检测命令CHECKLEVELEX无效问题
4、修复假人行走不受控制、假人顺序登录错误问题
5、修复可视化爆率、开区多久可爆出物品设置无效问题
6、自定义怪物排列方式修改为按怪物表顺序排列
7、修复装备TIPS,物品名底图和小标题居中无效问题
8、修复控制台在网关未完全关闭时就可以关闭问题
9、修复人物升级不播放特效声音问题
10、修复聊天栏鼠标滚轮不相应问题
11、修复天气效果无效问题
12、修复极小几率出现的装备无法脱下问题
13、修复疾光电影魔法ID常量错误问题
14、修复沙城大门和905、906显示错误问题
15、修复套装属性异常BUG
16、修复自定义技能飞行技能爆炸效果声音不播放问题
17、修复行会聊天记录,没有显示发送者问题
18、修复神兽休息后再次用技能拉走,原地会出现空气墙问题
19、修复CHANGEMAXTAMMINGSLAVECOUNT命令修改诱惑数量无效问题
20、修复光柱默认值错误问题
新增内容
1、M2新增时装默认显示勾选项
2、新增坐骑上马时间控制命令。
3、嗜血术新增吸血和威力倍数设置
4、自定义怪物新增整套声音的自由设置
//更新日志 引擎版本号:2023.04.27.0 配套登录器(23.04.27)
1、修复战士英雄刀刀刺杀无效问题
2、修复英雄飞到怪堆时不攻击问题
3、修复道士英雄上毒延迟问题
4、修复群攻合击技能会打到英雄自己问题
5、修复假人检测数量命令无效问题
6、修复背包满时购买拍卖行装备极品属性消失问题
7、修复人形怪不掉背包装备问题
8、修复英雄升级没有播放特效问题
9、修复跨服功能失效问题
9、修复加星数字显示被特效掩盖问题。
10、修复自定义怪物作为宝宝时不主动攻击和跟随问题,锁定目标时不主动出击问题
11、修复系统OK框关联无效问题
12、修复ScatterBagItems报错问题
13、修复采集进度条被打断提示错误问题
14、修复称号无素材时会造成UI界面消失问题
15、修复合区工具卡死问题
新增内容
1、复古内挂保护里面的主号保护新增喝药时间设置
2、新增 键值对排序 功能
3、新增装备内观特效和背包特效新增层级选择功能
4、新增 采集怪 支持。
//更新日志 引擎版本号:2023.04.13.0 配套登录器(23.04.13)
1、修复检测英雄背包空格数无效问题
2、修复ChangeSP参数3=0或者空时无效
3、修复修复神水没有屏蔽千里传音问题
4、修复帐号服务器不显示注册总数在线人数问题
5、修复<$KILLMONBURSTRATE>爆率倍数和时长常量获取无效问题
6、修复系统装备回收功能偶尔无效问题
7、修复时装武器设置成毒素武器无效问题
8、修复changespeed修改到+10时使用群雷出现的消息堆积问题
9、修复登录网关异常重启问题
新增内容
1、优化智能刷怪为 地图参数 ,NOMANNOMON(60)表示地图内60秒无人则清空地图内(除了cfg_monster.xls表标记为BOSS)的怪物
2、M2装备回收系统支持鼠标滑动多选增加
//更新日志 引擎版本号:2023.04.04.0 配套登录器(23.04.03)
1、修复自定义按钮小退之后消失问题
2、修复魔法盾重复开启问题
3、修复[@Slavebb]获得宝宝触发的<$SLAVEBBNAME>常量无效问题
4、修复人形怪和分身施法无音效问题
5、修复英雄神兽不受赤月恶魔伤害问题
6、修复M2-在线人物-背包物品的叠加数量显示错误问题
7、修复M2-在线人物-U、T变量查看不到99以后的变量问题
8、修复OpenDragonBox开启宝箱无效问题
9、修复物品规则-死亡必爆,被怪物杀死的时候放背包的物品不爆问题
10、修复MAPEFFECTFUNCALL播放倒计时,小退上线显示的倒计时会重新计时问题。
11、修复[@MagMonFuncX]技能触发不支持多级M.问题
12、修复怪物被多个目标攻击时不切换目标问题。
13、修复野蛮冲撞只能撞1个问题
14、修复英雄忠诚度显示错误问题
15、修复英雄背包互通无效问题,勾选之后可以直接右键互通。
16、修复SENDDELAYMSG倒计时不显示问题
17、修复UI人物装备栏无法单独微调坐标问题
18、修复UI-TIPS-新版自定义属性显示超框问题
19、修复护体神盾被击破不播放特效问题
20、修复OPENUPGRADEDLG打开OK框无效问题
21、修复骑马状态点击小地图不能自动寻路问题
22、修复Tips多行备注显示不全、颜色解析无效问题
23、修复英雄穿戴特效剑甲,不显示外观特效问题
24、修复新沙巴克城门904、905、906不显示形象问题
25、修复马牌改名后取不到<$G_HORSE>、<$H.G_HORSE>常量值问题
26、修复自定义怪物、自定义怪物宝宝扩展怪物属性无效问题
27、修复英雄背包无法使用修复神水问题
28、修复英雄背包吃聚灵珠不给经验也不扣货币问题
29、修复英雄升级不回蓝回血问题
30、修复合区工具已知BUG
新增内容
1、新增雷炎洞、火龙洞、古代遗迹、兽人洞穴怪物支持
2、新增套装属性支持改名功能
3、新增叠加物品丢地上显示叠加数量显示
4、新增 商铺购买前触发 [@BeginBuyShopItem],支持STOP中断本次购买
5、新增 假人功能
//更新日志 引擎版本号:2023.03.21.0 配套登录器(23.03.20)
1、修复ITEMSHOW显示一个不存在的物品是导致崩溃的BUG
2、修复自动解包偶尔失败问题
3、修复自定义技能辅助技能的MAXHP MAXMP信息保存无效
4、修复自定义技能辅助技能加的MAXHP无法用HUMANHP加血问题
5、修复斗笠Anicount=1时,不显示头盔内观功能无效问题
6、修复NPC面板点击标签没有点击效果问题
7、修复新自定义属性显示不支持换行以及间距异常问题。
8、修复M2升级经验勾选限制CHANGEEXP无效问题
9、修复十步一杀飞空地也会偏移一格问题
10、修复CHANGEJOB转职会触发升级触发问题
11、修复自定义行会变量操作无效问题,REVGuildVAR SAVEGuildVAR
12、修复自定义怪物攻速时快时慢问题
13、修复释放群体雷电术后人物会卡住问题
14、修复拍卖行可以多次取回BUG
15、修复重载技能后部分技能会错乱问题
16、修复上马后无法跑步问题
17、优化宝宝笨拙来回跑动问题
18、修复英雄战士法师,召唤出来后会提示缺少毒符问题
19、CTRL+A宝宝休息后,人形怪宝宝和分身还会跟随问题
20、修复分身使用CTRL+R锁定怪物无效问题,心灵召唤无法召回分身问题
21、修复马牌无属性时,UI设置的特效不显示问题
22、修复M2-物品特效列表可重复添加BUG
23、护体神盾被击破不涨技能经验问题
24、优化日志服务器以及日志查询工具的效率
25、修复合区工具合区时主区数据库名和合区后的数据库名重名时也可以合区的BUG
26、修复任务栏双窗口问题
27、修复客户端多开控制无效问题(取消M2客户端控制多开功能,转移到游戏网关控制)
28、修复逐日、开天声音错误、界面按钮点击无声音问题
29、控制台-配置向导的最大在线人数,M2是按这个人数来做内存的分配,如果你的服准备上500人那么设定600就够了,分配人数越多启动M2占用的内存就越大
新增内容
1、内挂新增百分比喝药
2、ADDBUTTON的标题支持颜色,格式为:
ADDBUTTON 3 1 283 284 285 10 200 1 这是第一行{文字|250}\{这是第二行|249}\这是第3行 253/自定义按钮1\254/测试增加按钮
3、装备备注自动适配改名后备注功能。
4、新增 打开仓库命令 支持自由调整坐标。
5、新增任务系统支持,在M2-任务管理添加相关任务标签即可
6、新增 获取身上所有装备宝石数量
7、新增 获取装备宝石数量命令
8、新增 修改键值对主键
9、新增传送戒指 传送前触发
10、新增设置 下次攻击 伤害命令
11、新增师徒常量命令
12、新增 主屏幕弹出公告 命令
13、护体神盾新增技能递增设置,击破百分比设定。原有护体神盾实际效果太差,已重做。
14、扩展英雄军鼓马牌位置。
15、新增设置删除临时安全区命令(重启M2消失)
16、M2-游戏参数新增IDX控制开关,勾选之后所有IDX的操作就一一对应了,所有IDX的操作都不需要再+1了, 已开区GM一定不要勾选,否则会造成数据混乱 。
17、游戏网关新增客户端多开控制,禁止登陆黑名单控制
18、装备 日志记录开启方法
//更新日志 引擎版本号:2023.03.03.1 配套登录器(23.03.03)
1、修复英雄传送到主人身边没有播放传送效果问题
2、修复内挂自动开启半月会把自己的英雄也计算在目标之内的问题
3、修复清理尸体会把英雄尸体也清理掉的问题
4、修复查看英雄装备时英雄被召回导致整个UI全部消失的BUG
5、修复CTRL+A执行宝宝休息之后英雄也不打怪的问题
6、修复道法英雄被怪围住后一直释放抗拒火环、气功波的问题
7、修复英雄攻击人物或者怪物时,对方不还手的情况下会自动停手问题
8、修复英雄锁定带数字的怪物时,锁定提示信息没有屏蔽数字的问题
9、修复英雄背包内的技能书满足要求的情况下也显示红色BUG
10、修复CTRL+右键查看英雄装备时,出现2个英雄装备栏界面BUG
11、修复英雄死亡后没有立即进入召唤倒计时,倒计时结束尸体也不消散问题
12、修复[@HeroEnterMap][@HeroGetExp]触发无效问题
13、修复合击技能释放不顺畅问题
14、修复系统商店买卖叠加物品异常问题
15、M2封禁IP无效问题
16、远程怪物施法会被打断,导致后续特效不播放问题
17、修复无限刀攻速过快连续低于100毫秒时也会被惩罚问题
18、修复等级进度条、经验进度条、负重进度条的悬浮TIPS不刷新问题
19、修复SENDMSG 9 不带格式的时候会提示富文本错误问题
20、修复施法速度异常导致的卡顿问题
21、修复武器幸运问题、祝福油不减诅咒问题,修复后的武器表现为祝福跟诅咒互抵,武器不可同时出现诅咒、幸运属性
22、修复诅咒+10无法稳定底线伤害问题
23、修复M2勾选可以穿怪的时候,人物往怪身上走,会出现假动作问题
24、修复四级技能特效表现不对问题
25、修复战士自定义技能会出现2次伤害BUG
26、修复42类宝石,shape等于255时没有显示对应的图片问题
27、修复击退类怪物有几率把人物打进墙里的BUG
28、修复可视化仓库打不开问题,打开命令openStorage
29、修复小地图标签不会跟随分辨率调整坐标问题
30、修复内挂保护不支持大数值问题
31、修复以下命令不支持绝对路径问题
CheckContainsTextList
CheckContainsTextListEx
CHECKTEXTLIST
CreateFile
DeleteFile
CopyFile
AddTextListEx
GetListString
DelText
GetListStringEx
32、修复小地图不显示问题
33、修复挂机卡死问题
34、修复戴马牌就读条问题
35、修复解包偶尔失败问题
36、修复自定义技能辅助技能的MAXHP/MP保存无效问题
37、修复ITEMSHOW显示物品错误问题
新增内容
1、召唤神兽、召唤骷髅技能新增再次使用技能是否召回到身边的控制按钮
2、新增人物战斗状态常量<$ISFIGHTING>
3、新增M2显示聊天消息功能,M2-游戏参数-信息控制内开启
4、内挂新增自定义快捷键栏目
5、M2回收系统新增一个 单次回收 命令,支持一次回收多个序列组
6、新增 坐骑系统 功能
7、内挂新增百分比喝药
8、 ChangeModeEx 新增流血功能
注意:登录器生成器优化了生成机制,登录器内核不再打包到引擎包,通过从服务器拉取的方式来生成登录器,只需要选择好版本号即可。
//更新日志 引擎版本号:2023.02.15.0
1、修复分身施法比主号快的BUG
2、修复自定义技能超过21个以后,技能特效错乱问题
3、修复日志服务器部分日志不写或写不完整问题
4、修复内挂吃药不屏蔽0触发号,导致内挂自动匹配31类物品无限解包问题。
5、修复刀魂动态素材异常,导致主界面UI全部消失问题。
6、修复提前按合击再锁定怪物,合击不释放问题
7、修复自定义怪物声音播放错误问题
8、修复UI修改字体颜色无效问题。
9、修复打开称号界面后主界面无法点击问题
新增内容
1、新增日志查询工具
2、新增 颜色常量和16位色 支持
3、新增颜色常量和16位色 面板解析写法 。
特别注意事项
本次更新把游戏网关的攻击补偿、施法补偿、移动补偿3项功能转移到M2-参数设置-游戏速度里面了,
已开区GM务必将原游戏网关的参数填入到M2里面。
//更新日志 引擎版本号:2023.02.10.0
1、修复英雄合击技能起手特效错乱问题
2、修复英雄合击技能不流畅问题
3、修复英雄调级之后背包不能正常开启格子问题
4、修复放完合击后怒气条底图不切换问题
5、修复叠加物品叠加失败后物品消失,必须重新刷新问题
6、修复自定义技能及自定义怪物没有对应的文件夹时,保存无效问题
7、修复登录器皮肤编辑器打不开的问题
8、修复日志服务器修改端口无效导致端口冲突问题
新增内容
1、内挂保护-英雄保护 新增自动合击、合击不打怪选项。
2、优化刷怪机制,减少刷怪不均导致怪物打堆问题
3、新增 GiveStateItemex 命令,项目8为禁止摆摊和上架拍卖行
//更新日志 引擎版本号:2023.02.08.0
1、优化英雄空蓝处理机制
2、修复英雄无极真气无限叠加问题
3、修复挂机功能的自动反击无效问题
4、修复道士法师挂机失效问题
5、修复SETCLIPBOARDTEXT复制到剪切板命令,不能解析常量和变量问题
6、修复拍卖行主页不显示叠加物品数量问题
7、修复<$UPGRADECOUNT>取全身星星数无效问题
8、修复ChangeHumAbility参数4为0或空时给属性无效问题
9、修复CTRL+R锁定人物无效问题
10、修复消息过滤会把M2的GM公告过滤掉的问题
11、修复火焰戒指、防御戒指佩戴后技能异常问题
12、修复附加属性诅咒检测无效问题
13、修复AddMapRoute地图添加链接点命令无效问题
14、修复合击系列已知问题
新增内容
1、沙巴克武器升级,新增跳点总控拉条,用于控制跳点触发几率。
2、M2-在线人物新增剔除离线玩家功能
3、新增BOSS大血条功能及对应的自定义UI编辑功能
4、新增宝箱UI编辑功能
5、新增ItemShow和装备Tips显示背包特效功能
6、新增日志服务器
//更新日志 引擎版本号:2023.01.18.0
1、修复掉落物品重叠后上层物品为不拾取装备时导致下层物品不能自动拾取问题
2、优化RecallSelf分身数量限制与时间限制,参数1为时间,扩展参数2控制时间单位,0为小时、1为分钟
3、优化自动回收列表取消排序
4、修复RecallSelf分身数量限制不受技能设置限制问题.
5、修复技能点数超过升级点数时,技能不升级也不加点的问题
6、修复仓库取出物品过快会提示包裹已满弹窗文字修正
7、修复ChangeDressEffect修改翅膀效果无效问题
8、修复GM模式下PK不掉血问题
9、修复M2按快捷键 CTRL+S,服务器掉线问题
10、修复列表信息二文字过滤无效问题
11、修复CHANGEEXP等于时,修改为调整当前经验。
12、修复Inputinteger限制只允许输入数字
13、修复商城开启非叠加物品批量购买后,导致购买叠加物品数量错误无法购买问题
14、修复复古内挂保护体力、魔法药快捷栏吃药不解包问题
15、Ui编辑器传奇目录选择框,选择响应卡顿。
16、修复光柱资源不存在时,导致显示异常或微端模式闪烁。
17、修复UI装备TIPS不支持特效播放问题
18、修复 NotDropItemCount 死亡不掉装备命令无效问题
19、修复42类宝石镶嵌时,首饰武器对应属性不对问题
20、修复装备回收命令总经验超过21亿时会造成数据溢出问题,超过21亿也只加21亿
21、修复挂机不攻击人形怪问题
22、修复系统属性转移功能提示信息的货币类型错误问题
23、修复道士分身召唤的宝宝杀死怪物掉落的装备主号无法拾取问题
24、修复自定义技能配置声音无效问题
新增内容
1、增加顶部绿字显示2种模式,受内挂开关控制
2、穿脱装备触发增加LINKPICKUPITEM关联
3、CTRL+R宝宝锁定怪物成功之后,增加一个提示,例如:宝宝锁定目标(稻草人)
4、新增 stdmode46 镶嵌宝石和拆卸道具,支持宝石镶嵌功能支持右键操作,支持穿戴在装备栏的装备镶嵌和拆卸
5、M2新增小地图强制黑底选项。
6、内挂英雄界面保护药品列表增加,并添加自动召唤选项
7、新增地图播放怪物形象倒计时功能
8、登录器生成器新增免杀登录器生成模式,勾选免杀模式生成登录器即可享受免杀服务。
9、新增英雄合击功能
10、UI编辑器增加英雄相关UI编辑功能。
//更新日志 引擎版本号:2023.01.04.0
1、修复叠加类药品,内挂吃完之后不自动放药到快捷栏问题。
2、修复套装备注没有颜色配置时,最后一件装备不显示套装备注问题
3、修复AddHpPer、AddMpPer命令,满HPMP时屏蔽飘血显示。
4、修复内挂解包时,没有屏蔽Stdmode49,导致聚灵珠shape100时会一直解包问题。
5、修复人形怪、分身衣服翅膀特效不显示问题
6、修复NPC代码209、272、264、271、265显示错误问题
7、修复人物上线佩戴了攻速武器时,视野内玩家看到的攻速不同步问题。
8、修复合区重复帐号为字母结尾时字母替换异常问题。
9、修复stdmode=25不显示限时时间问题
10、修复刀魂只显示一条问题。
11、修复开宝箱转动声音不停止循环播放问题
12、修复物品备注和顶部备注、套装备注Img、playImg,不占用字符位置显示异常问题
13、优化地图标识MapDesc1.dat支持优先读取自定义目录
14、修复商店物品数量太大导致M2卡死问题,上限设为1000.
15、修复战士开天逐日内挂自动施法偶尔会漏放的问题。
新增内容
1、扩展斗笠支持8~31号斗笠,需要Hair3.wzl、Hair4.wzl补丁文件。
2、新增左下角UI支持大血值显示
3、新增剑甲外观内观及发光效果支持到450,详情请按 说明书配置 。
4、列表信息三新增装备回收,并增加 装备回收 显示,具体参考说明书。
5、UI新增装备TIPS可视化编辑。
6、UI新增人物装备栏上下翻页编辑功能。
7、M2新增飘血模式选项,默认使用模式1匀速飘血。
//更新日志 引擎版本号:2022.12.17.0
1、优化装备对比,主属性没有的情况下比对体力、防御、魔防
2、优化stdmode31,做为解包物品时,屏蔽anicount触发。
3、优化SetAttachAttack\SetAttackTargetEffect使用一次后,自动清理赋值。
4、优化StartAttack扩充参数2,为空或0正常模式,1允许伤害为0时使用。
5、调整元素属性,防止全毒复活冰冻麻痹蛛网为百分比。
6、优化复活计算按当前最大血量,不再按照基础血量计算。
7、优化ChangeItemUpgradeCount加星屏蔽掉stdmode0、1、2、3、4、31、41、42、43、49类物品
8、优化SCREENEFFECT绘制屏幕特效,允许多个同时显示。
9、优化首饰生肖盒切换到装备时装以外的页面时不显示首饰盒装备问题。
10、M2开放人物视野设置,建议设置为4的倍数12或者16,尽量别超20,视野刷新范围太大会对服务器造成压力。
1、修复无极真气到时间后不恢复问题
2、修复安全区内,野蛮技能会触发@Attack问题
3、修复魔法盾类死亡后不小退再次开盾没有实际减伤效果,并且复活后魔法盾效果不消失问题。
4、修复武器升级失败不破碎勾选保存无效
5、修复SetStringBlank不支持变量嵌套问题
6、修复攻击模式有未勾选时,鼠标点击循环到未勾选模式时会中断问题。
7、修复背包特效会遮挡背包叠加物品数量和强化星级数字问题
8、修复CheckitemW不能检测时装左右手多件问题
9、修复时装手镯戒指左右手穿戴时给的位置数据相反,导致触发位置相反问题。
10、修复UI左右手位置错误问题,UI默认值已互换,不影响已编辑好的UI。
11、修复视野内刷怪颜色与配置不符
12、修复技能释放丢失特效问题
13、修复SetNewItemValue使用后,0号OK框假物品不清除问题。
14、修复变量为空时NPC面板显示异常
15、修复BMP素材SETICON特效模式绘制显示黑边问题
16、修复物品进入背包后,名字颜色都是白色问题。
17、修复GuildNoticeMsg 内容不支持空格问题
18、修复KILLSLAVE无法杀死分身问题
19、修复合区工具已知问题。
20、修复登录器摇骰子卡顿问题
21、修复THROWITEM放置的物品不在角色视野内,物品不显示问题
22、修复十步一杀勾选禁止穿越人物时,鼠标放在人物身上会导致失败的问题
23、修复吃31类叠加物品时,立即执行give造成的bug
24、修复MonSpAbilList多空格引起属性错位问题
25、修复物品规则允许爆物品触发开启后,角色身上该物品不会掉落问题
26、修复GUILDNOTICEMSG解析地图名常量和地图常量时会被屏蔽的问题
27、修复锁定的时候人物还会响应鼠标右键往前冲的BUG
28、修复信息提示框确定取消按钮不跟随UI设置位置问题
29、修复穿人穿怪安全区不受限制无效问题
30、修复安全区禁止穿过离线人物,走路可穿过问题
31、修复MESSAGEBOX只有一个确定按钮时,按esc关闭也执行确定触发的问题
新增内容
1、新增 四则运算 增加%取余
2、新增攻击被躲避时,显示miss
3、新增 MAPEFFECT 扩展特效类型ID,DELMAPEFFECT删除对应ID组特效。
4、新增 UNIXTOSTR 时间戳转换月日年时分秒
5、新增货币(不包括金币)超出21亿触发 @ChangeMoneyOut
6、新增支持31类物品EatItem批量使用,使用触发里可用<$CURREATEITEMCOUNT>取本次批量使用的总数量
7、新增行会建设相关
8、新增NPC代码支持226-273
9、UI头盔斗笠增加跟随裸模选项,支持头盔斗笠分离设置。
//更新日志 引擎版本号:2022.12.08.0
1、修复UI聊天框位置移动后,聊天框消息不跟随移动问题
2、修复NPC面板控件的悬浮框内容为空值时显示异常问题
3、修复Gui默认称号三个状态图标不显示问题
4、修复CHECKNAMEDATETIMELIST、ADDNAMEDATETIMELIST不支持绝对路径问题
5、修复元素tips与属性不显示扩展后的属性问题
6、修复AddHpPer、AddMpPer,值设置大于100时出现的异常问题,超过100按100算。
7、修复HUMANHP加血时,血满了也会飘血的问题
8、修复playEffect多级脚本执行无效问题
9、修复登录脚本执行多个DelayGoto与DelayCall时,只有最后一个生效,增加队列时间会有50ms左右差异。
10、修复拾取金币与拾取物品的提示重叠问题
11、修复吃苹果或其它道具增加道术后无极真气技能释放无效问题
12、修复SendMessage/ClearMessage透明消息不清理,倒计时结束不消失,小退不清理问题
13、修复光柱勾选修复模式无效、正常模式未读取素材偏移值问题。
14、修复修改M2其它设置页面后,大背包格子自动变回46格问题。
15、修复学习自定义技能不能获取正确的CD时间,必须小退问题
16、修复装备和套装技能威力列表无法设置问题,需要删除静之和怒之技能,英雄技能需设置36列值为1
17、修复物品改名之后丢地上不显示名字,也不自动拾取问题
18、修复角色上线技能CD清零,未从头开始计算问题。
19、M2-功能设置-称号素材读取设置的列表内,增加空白选项,允许称号不读取素材
20、修复自定义OK框取装备获取HPMP值无效问题
21、修复拖拽技能CD图标的层级遮挡问题
22、修复NPC名字使用变量时,设置的数字被屏蔽不显示问题。
23、修复SETBODYCOLOR改变身体颜色无效问题
24、修复绑定物品-1时,调用CHANGEITEMUPGRADECOUNT、CHANGEITEMNAMECOLOR会导致假物品进入ID0的OK框内问题
25、修复装备首饰作为生肖盒、首饰盒双击无法佩戴和装备对比的支持
26、修复部分技能施法会引起人物卡帧问题
27、修复状态栏声望显示错误问题
28、修复脱机人物挂几分钟就被踢下线的问题
29、修复离线挂机玩家重新登录时经常黑屏问题
新增内容
1、新增刷新包裹小退大退时,记忆快捷栏的6个物品位置。
2、 TakeBagItem 一件回收装备增加参数9,为空或0全部回收;1不回收有极品的装备;2只回收极品装备
3、新增 国家系统
4、切割数值支持大数值飘血。
//更新日志 引擎版本号:2022.11.30.0
1、修复悬浮标签多行颜色解析错误问题
2、修复人形怪出生装备外观不显示问题
3、修复复古内挂不增加物品列表时,点击物品故障
4、调整点击触发的 参数回调 写法, 新老参数回调方法不可混用 。
例子:
<传参测试/@传参测试#装备名=布衣(男)#参数2=2#参数3=300#参数4=400>
5、修复设置wil序号为0时,人形怪显示该文件第1个图片。
6、修复离线挂机玩家登录时黑屏问题
7、修复mapeffect播放的特效层级问题
8、修复战士免SHIFT且有攻击目标的情况下,右键持续按下时,人物会不受控制回去攻击的问题
9、修复<Text>空值没有文本时,会把后面坐标当做文本显示BUG
10、修复NPC面板部分繁体字乱码
11、持久提示屏蔽掉护身符、毒、祝福罐、千里传音
12、修复排行榜模型UI隐藏无效
13、修复角色网关关键字过滤无效问题
14、修复UI已知BUG
新增内容
1、新增切割增加大数值显示
2、M2内挂控制二增加 (装备信息显示->显示分割线)选项
3、新增圣兽怪物支持,增加召唤圣兽技能
4、新增大数值显示中英文选项
5、UI新增快捷键“F2”自适应选中控件的宽高
6、UI右侧的标签输入框新增鼠标滚轮修改当前值
//更新日志 引擎版本号:2022.11.21.0
1、修复StartPickUp设置范围无效问题
2、修复M2禁止免蜡功能无效问题,线上调整此功能,需要小退才能生效
3、修复GETVALIDSTRSUPER分割时获取数量会默认+1问题。
4、修复徒弟改名出师后,师傅上线会提示徒弟不在线问题。
5、修复MagicAttack野蛮冲撞不触发BUG
6、修复消息过多时,聊天框拉条移动以后,消息不会向下滚动以及超框问题
7、修复拍卖行始终显示当前竞价最高问题。
8、修复内挂保护不保存问题
9、修复神兽行为代码55更换APPR后喷火不跟随更改问题
10、修复飞随机时怪物进视野会移动2步回位重新走BUG
11、修复黑夜模式下人物死亡后,黑夜效果消失BUG
12、修复使用治愈术给宝宝加血时会切换锁定目标的BUG
13、修复自定义进度条不显示进度值,负重和经验值不显示TIPS问题
14、修复物品备注同一排显示多个图片时只显示一个的BUG
15、修复humanhp扣自己血时不飘血BUG
16、修复已知自定义UI问题。
17、调整光柱特效ID为50000-65535,M2光柱设置和版本转换工具同步更新。
18、修复十步一杀施法失败卡位问题
19、修复飓风破不锁定问题
20、修复获得物品、经验、升级提示会显示在按钮下面的BUG
21、修复禁锢范围内圈外的人可以走进去的BUG
22、修复文本、按钮、IMG的悬浮标签TIPS不支持横杠和空行的问题
23、修复M2调整人物游戏点实际上给的是声望的BUG
24、修复掉落提示执行重载物品之后不提示问题
25、修复changeSP 10复活几率问题导致复活功能失效
26、修复MonGenEx刷怪颜色不变。重新回视野恢复问题
27、修复CHANGESPEED减速度无效问题
新增内容
1、新增半月2个选项,非主目标无视防御和非主目标无视魔法盾,
2、新增 键值对 取主键对应的值为常量功能
3、 新读取指定CSV的2列内容以键值对的方式写入到变量
3、新增NPC脚本点击触发带参数、 参数回调 ,扩展新的传参方式,可传递的参数不限制。
4、新增 GETSTRLENGTH 取字符串长度
5、新增大数值缩写功能
6、新增人物血条和名字坐标微调功能
//更新日志 引擎版本号:2022.11.14.0
1、修复修复神水无效问题。
2、修复神佑盒关闭后,查看对方装备异常问题
3、修复多个BUFF增删几次导致不显示图标问题
4、修复背包物品与tips重叠区域双击无法穿戴问题
5、调整SetClientBuff受其它控件影响自动调整坐标
6、修复M2列表信息内怪物爆物品不显示,已爆数量不保存。
7、MonDropLimitList.txt增加已爆数量保存,引擎关闭时保存已爆数量。
8、M2重载QF,QM,NPC新增快捷键CTRL+F、CTRL+M、CTRL+N
9、修复UPGRADEITEMEX斗笠、腰牌(毒符)升级无效问题
10、修复CheckHumBag星号代表自己无效问题
11、修复时装装备拖出去后右键点击不会回到装备栏
12、修复带尖括号的装备,tips上不显示装备名字
13、修复CHANGECUSTOMITEMTEXTCOLOR有换行时显示异常
14、修复PlayImg参数8,播放次数设置无效
19、修复矿石纯度大于10时,卖出价格算法错误
20、修复mmap10 超过1000以后的小地图不显示
21、修复密码包含大写字母,提示密码错误无法登录问题
22、修复挖矿土堆不会增加,特效不显示问题
23、修复群体施毒术不会自动佩戴毒粉BUG
24、修复群体施毒术选择毒粉使用背包情况下,释放技能无效问题
25、修复MAPEFFECT地面播放魔法,特效不播放,再次回该地图M2崩溃BUG
26、修复角色杀怪爆出的物品人物下线,再上来的时候无法捡取.
27、修复SetItemSkillTime减CD无效问题
28、修复首次进入游戏网络玩家攻击动作动画时间设置不起作用问题
29、修复聚灵珠经验满了之后不显示TIPS问题
30、修复自定义UI已知BUG。
31、修复装备佩戴需求显示颜色错误问题
32、修复拍卖行物品图标、搜索及翻页异常问题
33、修复登录器分辨率记忆功能无效问题
34、修复攻击切换走不顺畅问题。
新增内容
1、增加面巾支持,添加面巾装备位。
2、新增 CHECKGUILDISWAR 检测本行会是否正在进行行会战
3、背包UI增加游戏点显示
4、列表三增加装备回收功能
5、新增changemodeex 26 失明特效
6、新增 跨服沙巴克 功能
7、新增跨服支持死亡掉落身上装备功能
8、登录器生成器增加推广标识功能,支持中文,最多22个汉字,游戏内取常量<$GAMEPROMOTIONFLAG>即可。
//更新日志 引擎版本号:2022.11.02.0
1、修复StopAutoPlayGame无法停止挂机问题
2、修复自动拾取造成挂机中断问题
3、修复过门点人物会卡几秒无法操作问题
4、修复十步一杀释放距离过远时卡位问题
5、修复23类戒指极品爆率属性出现防御魔防问题
6、调整修复油只修复武器以及修复的点数错误问题
7、内挂保护增加卷轴、油类物品过滤
8、修复take命令拿走背包物品,背包负重不刷新问题
9、修复召唤分身命令无效
10、修复套装属性会引起攻速异常问题
11、修复分身因无毒符造成的技能释放失败
12、checkitemw、takew支持祝福罐
13、修复称号增加删除造成的错乱问题
14、修复翅膀显示异常问题。
15、修复追击人物时追击者偶尔出现的卡顿问题
16、调整套装备注支持OR写法
17、修复投保货币ID为0时,投保功能无效
18、修复皇宫城门第一次进入视野显示动画错乱
19、修复ItemShow坐标微调Y轴无效
20、修复装备基础属性顺序错乱问题
21、修复自定义UI细节问题。
22、修复新增自定义NPC重载之后列表不显示问题
23、修复资源编辑器覆盖和插入会导致素材丢失问题
24、修复M2刷新自定义怪物内存占用偏大问题
新增内容
1、自定义UI新增角色选择界面的各职业动画编辑功能
2、新增大数值突破功能
3、新增跨服功能
4、新增调整人物所有属性命令ChangeHumNewValueEx
5、扩展 MonGenEx 支持自定义怪物体型大小、自定义怪物属性、自定义怪物爆率
//更新日志 引擎版本号:2022.10.22.0
1、修复顶部备注显示异常,支持IMG、PLAYIMG
2、修复M2自定义属性文本修改无法保存问题
3、修复MoveMonsters全屏吸怪因落点坐标异常导致怪物消失问题
4、修复stdmode20、21、24,极品多给防御魔御属性问题
5、修复stdmode22缺少属性几率,缺少防御魔御选项问题
6、修复称号元素属性显示异常
7、修复蜡烛持久为0消失后,原照明范围没有清理。
8、修复道具基础属性,佩戴条件为0时被屏蔽问题。
9、修复怪物等级显示问题
10、修复分配属性点部分值显示错误
11、修复麻痹戒指几率异常问题。
12、修复服务器最高常量信息显示
13、修复OPENMERCHANTBIGDLG大窗口二级触发无效问题
14、修复练功师破坏力不发布最终结算消息,总伤害不重置问题。
15、修复checkismaster检查是不是师傅,判断错误
16、修复checkitem部分匹配检查无效问题
17、修复道士技能死亡之眼,紫毒效果无效问题
18、毒符消耗品取消装备对比
19、修复UPGRADEITEMEX勋章升级无效
20、修复怪物等级显示bug,增加选项强制显示等级(需勾选显示怪物等级有效)。
21、修复自定义战士技能,目标坐标选择鼠标指向的时候,攻击无伤害问题。
22、修复NPC部分面板文字解析
21、修复120格UI显示2个金刚石标题问题。
22、修复已知挂机卡点问题。
23、修复攻速武器切换之后人物攻速无变化问题。
24、修复控制台清理数据库无效问题。
25、修复M2重载技能无效问题
26、Boss提示箭头适当放大
新增内容
1、自定义UI资源包名增加ChrSel.wzl选项
2、自定义UI增加天气控件。
3、新增 祝福罐 、魔族指令填充物道具功能
4、增加快捷键 Ctrl+F 添加鼠标指向名字到BOSS提示列表并给予箭头标识。
5、M2增加蜡烛持久改变降低亮度,调整照明范围。
6、增加使用技能前触发(战士技能无效).Q-Function.txt中 [@BeginMagic]
7、自定义UI新增状态栏、属性栏文字编辑。
8、新增6套高清登录器皮肤。
//更新日志 引擎版本号:2022.10.15.0
1、修复韩版map读取错误问题
2、修复套装属性添加和删除异常问题
3、修复沙巴克城门加载之后刷新点错位问题
4、修复沙巴克归属删除之后加载无效问题
5、修复沙巴克大门无法攻击,关闭异常问题
6、修复装备附加属性的顺序错误
7、修复货币改名无效问题,只需要改ITEM表的货币名字即可。
8、修复人物顶戴会被遮挡问题
9、修复拍卖行连续上架要等等几秒的问题
10、修复加载所有NPC不加载Npcs.txt问题
11、修复UI部分已知问题
12、修复内挂挂机偶尔卡位人物一直打转问题
13、修复M2默认速度值错误问题
14、修复施法时偶尔出现的施法失败问题
15、调整游戏网关的默认值为复古速度。
新增内容
1、新增雪域、弧月洞怪物支持
2、新增邮件、拍卖行、仓库等UI支持。
3、角色网关新增特殊字符限制开关
4、游戏网关新增还原默认按钮。
//更新日志 引擎版本号:2022.10.10.0
1、修复五毒魔推人设定1步,1/3概率推动2步
2、修复行会战时长不能叠加问题
3、取消STDMODE25、7装备对比功能
4、修复自定义无属性,图片素材上下占位异常
5、修复祖玛卫士等怪物攻击异常
6、修复登录器生成读取资源时不读取Wzl、Map、Wav问题
7、修复他人顶戴进视野时有时无问题
8、修复DBServer已知连接问题
9、修复背包特效不显示问题
新增内容
1、衣服、时装衣服W列增加是否显示武器,默认0显示,顺序为头发-斗笠-武器-裸模(需UI启用)。
//更新日志 引擎版本号:2022.09.29.0
1、修复灭天火不锁定问题
2、修复噬血术不切换毒符问题
3、修复项链极品出现其他极品属性问题
4、修复城门与皇宫门打破以后不显示门洞问题。
5、修复脚本释放技能目标死亡的情况下会施法失败问题
6、修复CloseClientBuff关闭BUFF图标后,位置没有被清掉,导致后来创建的位置下移,倒计时结束时未触发问题。
7、修复叠加物品重量显示错误
8、调整复古内挂默认配置同步登录器配置器设置
9、修复商铺购买叠加物品不支持批量购买问题
10、修复怪物血量值被地面物品名遮挡问题
11、修复月灵外观黑边无攻击效果问题
12、修复分身术召唤的分身攻击施法异常
13、修复DBServer运行建立新角色无效问题
14、修复中毒怪物死亡后还会显示飘血问题
15、修复NPC面板部分字符解释异常显示红色方框问题
16、修复脚本命令THROUGHHUM给的穿人穿怪功能无效问题
17、游戏网关还原施法间隔和封挂的配置,即施法总间隔=M2施法间隔+游戏网关的施法动画补偿,跟其他引擎一样。
18、修复怪物移动速度异常问题
19、修复FILTERGLOBALMSG过滤消息异常问题
1、增加支持 ChangeSP ,给予角色状态
2、 铭文系统 功能支持
3、城堡管理界面增加开始关闭攻城
4、M2管理新增角色及账号封禁系统功能
5、角色网关新增特殊字符角色名控制
6、ITEM表新增W列单独控制人物发型、斗笠外观及裸模,只关联衣服和时装衣服,设置其他装备W列无效
W列共三个参数,为空或0显示,为1隐藏,1:是否显示头发、2:是否显示斗笠、3:是否显示裸模。例如隐藏头发斗笠裸模(1#1#1)
7、控制台增加端口单步配置选项、新增批量修改端口选项、新增跨服与通区配置选项(相关功能会在后续引擎版本详细列出)
8、新增合区工具及相关教程,合区支持N个区一次合完。
9、资源编辑器增加内观偏移调整功能
10、 控制台将区服ID配置移动到跨服及通区选项,正常开区已取消区服ID配置,列表也同步取消该选项。
更新引擎后一定要把列表的区服ID选项删除,否则会导致微端读取异常。
//更新日志 引擎版本号:2022.09.23.0
1、修复RepairAll无效及ACTREPAIRALL特修不带文件头无效问题
2、修复技能CD动画开关设置无效问题
3、修复RECALLMOB召唤的宝宝无伤害问题
4、修复物品tips信息框30/50秒闪烁问题
5、修复套装属性值设置过大异常问题
6、修复沙城金币存取之后不保存问题
7、修复M2无关错误提示
8、调整REALIVE复活后不再重置复活CD
9、调整攻防下限高于上限时,攻防属性按下限处理。
10、修复M2在线人物属性当前经验值超过21亿显示错误问题
11、修复M变量切换地图不清空问题
12、修复AddButton、AddButtonEx绘制时,因素材过大导致层级无序问题。
13、调整自定义按钮ADDBUTTON,参数10为-1时,屏蔽显示悬浮。
14、修复麻痹时,部分技能还可以释放问题。
15、修复魔法盾在视野外开启时,进视野不刷新问题
16、修复爆物品触发[@ScatterBagItems]关联无效问题
17、修复摆摊购买触发[@BuyUserShopItem]无效问题
18、修复升级经验保存异常问题
19、修复角色名字使用特殊字符时进服提示满员问题。
20、修复改变用户模式,冰冻、蛛网、麻痹远程技能无法使用问题
21、修复资源编辑器导入部分PNG有白边的问题
22、调整技能锁定机制,修复目标超出施法范围施法失败问题
23、修复组队无效问题
24、修复地洞类怪物进视野动作播放异常问题
25、修复自动练功释放魔法时,人物不转向问题。
1、新增技能图标拖拽到主界面,单击可以使用技能。
2、M2新增镶嵌宝石功能文字显示开关
//更新日志 引擎版本号:2022.09.17.0
1、修复心灵启示没有时间限制问题
2、修复新建同名角色内挂设置默认使用上次登录角色 问题
3、修复拍卖行流拍后,不能直接再上架,提示超出最大上架数量问题
4、修复火墙技能施法时地面火苗出现太快问题
5、修复自定义技能列表排序
6、修复召唤月灵技能的宝宝设置成其他宝宝名字时,数量限制无效问题
7、修复releasemagic脚本释放技能参数5无效问题
8、修复挂机时自动捡物没有屏蔽物品列表取消拾取选项问题。
9、修复宝石镶嵌图标问题
10、修复时装武器对比主属性和等级问题
11、修复TakeBagItem命令参数3和参数4给予货币错误
12、修复MessageBox英文空格显示异常问题
13、修复ID73道力盾、ID87武力盾无法开启问题
14、修复复古内挂HP/MP检查吃药错误
15、修复内挂喝快捷栏的药,不会自动放药问题
16、修复升级消息与获取物品消息重叠问题
17、修复自定义无属性文字超出tips框问题
18、修复新版无属性没有设置SetNewCustomItemValue,或者设置错误,tips打不开问题
19、修复购买商城物品间隔保存无效问题
20、修复清空配置缓存后(或新建角色),NPC显示血值问题。
21、修复黄字地图喊话时点击私聊会带(!),导致无法直接进行私聊。
22、CheckAccountList与ADDACCOUNTLIST、DelAccountList读取还原为账号
23、修复新建带特殊符号角色点击进入游戏时,提示出错问题
24、修复人物小退后再其他玩家视野内不消失问题
25、修复人物顶戴进出视野刷新异常问题
26、修复宝宝血量计算异常问题
27、修复登录器状态颜色显示异常问题
28、修复登录器记录上次登陆区服记录无效问题
29、修复登录器读取不到列表弹窗报错问题
1、新增可视化爆率功能
2、新增复古内挂
3、新增自定义透明消息框 SendMessage
4、新增系统商铺赠送功能
5、增加stdmode30蜡烛掉持久方式,Source0按时间掉持久,Source1受攻击掉持久
6、增加显示技能CD时间,带动画显示, ShowScreenMagicTime 命令可放置技能图标到主界面。
7、兼容CheckNationCredit检查荣誉值
8、增加 GetPlayCountInMap 获取指定地图玩家数量
9、增加 FindMapMonsterHealth 获取指定地图、指定怪物当前血量和最大血量
10、新增 地图参数限制角色在地图内时间 ,M2内挂控制二页面,增加地图剩余时间位置颜色设置。
11、进图增加1秒无敌
12、新增 支持CSV表格 读取
13、新增杀怪爆率时长常量<$KILLMONBURSTRATETIME>
14、新增天气效果功能支持
15、优化客户端刷新机制
16、优化M2消息机制,大幅提升服务器承载。
17、登录器生成器新增盒子登录器打包功能
18、新增一种 无敌锁血 功能,只免疫伤害,不回血。
//更新日志 引擎版本号:2022.09.01.0
1、修复stdmode2,shape3使用次数显示问题
2、修复stdmode3,shape9修复油功能无效问题
3、调整叠加物品重量最大上限为255
4、调整stdmode2按持久计算使用物品,屏蔽叠加物品计算。
5、调整stdmode3卷轴类物品,为单次使用物品。
6、修复心灵启示技能无效问题
7、修复M2设置升级经验超过21亿显示负数问题,升级经验已支持42亿
8、修复自定义怪物数量太多时,点击保存M2卡死问题
9、修复ITEM表新增物品,M2加载物品表不显示物品问题
10、修复自定义怪物移速攻速消息堆积导致的怪物漂移
11、修复M2血条保护导致人物自己血条不刷新问题
12、修复人物名字层级会被魔法技能挡住问题
13、修复黑夜模式下人物出视野不刷新问题
14、修复自定义NPC特效模式下仍然有黑边问题
15、还原宝宝召唤机制,离开视野之后不再自动召唤回身边。
16、修复登录器热更进度条会显示负数的问题
1、新增装备投保功能
2、新增M2装备技能威力功能
3、新增怪物体型放大、缩小功能,支持怪物表配置和脚本刷怪命令
4、新增黑夜白天功能
5、优化M2启动速度
6、优化进入游戏速度
7、优化微端服务器加载速度
8、登录器新增打包集成补丁功能,默认打包登录器生成器–补丁文件夹里面的内容
//更新日志 引擎版本号:2022.08.27.0
1、修复行会设置招募职业修改无效问题
2、修复中绿毒掉血不飘血问题
3、修复小地图光标不一致问题
4、修复退出行会后,行会聊天记录不清理问题
5、修复申请入会玩家无法看到招募信息问题
6、修复行会界面-招募界面点击全选和无,无效问题
7、修复杀怪升级特效消失问题,脚本设置血量时,血条多余绘制问题
8、修复因野蛮冲撞播放速度太慢,没有附加人物移动速度加速问题
9、修复快捷栏自动放药时间过长,漏放、吃药不顺畅问题
10、修复OK框跳转或GOTO时,框内物品返回背包问题
11、修复道士召唤骷髅、召唤月灵、召唤神兽的间隔时间不能保存问题
12、修复有行会时角色改名成功,会弹出行会界面问题
13、修复记路标石小退后第一次使用,不显示上次记忆问题
14、修复SetAttackRange和DELMONHPEX范围切割怪物死亡没有归属经验值问题
15、修复<$JEWELRYITEM1>-<$JEWELRYITEM6> 人物首饰盒取不到装备名字问题
16、修复物品取消自动拾取无效问题
17、修复因可视化爆率判断没有屏蔽丢弃物品、人物死亡掉落引起的丢弃物品失败
18、修复攻击模式切换到取消的模式时无法继续问题
19、修复人物面板行会信息不显示封号问题
20、修复技能界面设置不支持快捷键问题
21、修复内挂持久提示无效,增加自动修理选项
22、修复OpenWebSite打开有背景音乐的网站关闭后不停止播放
23、修复私聊无法发送空消息问题
24、修复私聊千里传音支持英文逗号、空格,正常所有可见符号都支持
25、修复点击行会成员人名,自动添加到聊天框私聊
26、修复治愈术取消魔法锁定
27、调整交易判断格子时,去除已经放置交易框内物品背包格子的占用,修复因此导致的交易失败
28、修复ScatterBagItems触发,需在物品规则里添加允许爆物品触发
29、修复CHECKITEMW和TAKEW,支持12格和6格首饰
30、修复首次上线手动刺杀无效问题
31、修复部分怪物死亡卡屏问题
32、修复微端加载按钮素材不实时显示需要小退问题
33、修复中毒恢复、魔法躲避机制,还原到经典几率算法
34、修复GM命令输入错误无提示问题
35、修复道士宝宝有目标的情况下距离主人太远会自动回到身边的问题
36、修复自定义怪物血量条件未满足的情况下也会放技能
37、修复自定义怪物列表没有排序,按首字母排序
38、修复走位躲避功能,默认值改成0%,已读取过的版本请删除自定义怪物配置,重新读取
39、突破人物、怪物血量最大值到64亿,请配套更新DBServer、网关和M2
40、修复游戏内注册无效问题,必须使用最新DAT生成新的登录器
1、新增 AddToCastleWarListEx 强制加入攻城列表
2、新增 FORMULATION 四则运算命令
3、新增键值对获取全部主键命令 GETSTRKEY 命令
4、新增摆摊添加支持7种货币,根据M2个人商店设置显示,UI暂时无法设置,待后续支持
5、新增支持摆摊限价控制
6、新增大退延迟增加打断功能
7、新增M2暂停刷怪命令 StopM2MakeMon
8、新增内挂控制二页面内怪物和角色显血控制
9、新增 限时物品触发 以及101、102、103、104计时算法,ItemExpired过期触发
10、新增区域判断常量<$CurAreaType>0=安全区域,1=危险区域,2=攻城区域
11、新增 NPC面板倒计时 及触发功能,触发在本脚本内
12、新增内挂支持免负重功能
13、新增调整背包负重 AddMaxWeight 命令
14、新增M2物品时装和生肖盒马牌盾牌军鼓斗笠分类
15、新增切换攻击模式触发 ChangeAttackMode ,新模式<$PARAM1>,老模式<$PARAM2>
16、新增经验倍数 KillMonExpRateRecover 、攻击倍数结束触发PowerRateRecover
17、新增精准爆率控制
18、新增 OpenUrl 一个打开外部浏览器的功能,链接后加参数1
19、新增聊天输入框支持HOME、END 键输入框跳转顶和尾,ctrl+↑聊天框记录翻页
//更新日志 引擎版本号:2022.08.19.0
1、修改登录器标题,区服名-角色名-版本号
2、调整SENDMOVEMSG屏幕滚动消息文字为黑体16号字体
3、修复绘制屏幕特效层级,造成的NPC名字穿透屏幕特效显示问题。
4、修复M2控制隐藏称号和时装界面时,查看玩家装备时称号和时装界面仍然可以打开的问题
5、修复未解锁的背包格子,可以拿出物品问题。
6、叠加物品重量计算方式还原,修复因重量异常无法从仓库取出和交易失败问题。
7、修复SENDMOVEMSG内容为空时,屏蔽FCOLOR显示,尖括号内颜色默认设置为249,取消描边。
8、增加PLAYMAGICBALLEFFECT血球特效,支持类型(0=HP 1=MP 2=血条 3=蓝条)
9、修复ITEMSHOW第八个参数不设置时,不显示问题
10、修复自定义OK框自动放入物品时,不显示物品图片,关闭NPC窗口时,物品不返回问题。
11、修复数据转换工具对OverLap字段转换异常问题
12、修复新刷怪模式,叛变死亡后不再刷新问题
13、修复M2部分重载无效,数据列表、地图安全区(只重载范围,不做绘制处理,不建议开区使用)、参数设置
14、新增触发,杀人加诅咒前触发 @NoAddUnLuck ,支持stop不增加诅咒操作,支持常量<$CURRRTARGETNAME>被杀者名字
15、修复流星火雨有目标时,释放地面特效位置不居中问题
16、修复自动行走AUTOGOTOXY无效问题
17、修复武器诅咒属性不显示问题
18、修复练功师报伤害信息头顶不输出白字问题
19、修复GetRandomText指定行不存在时会随机读取问题
20、修复GiveStateItem只有参数1为必须,其它都可以省略
21、取消快捷键Ctrl+S称号面板
22、修复内挂智能半月没有屏蔽NPC和宝宝问题
23、修复毒物躲避表现形式和几率问题,增加防全毒属性
24、修复ChangeHumNewValue人物增加临时元素属性无效问题
25、修复套装属性,套装脱下一件装备,套装属性不消失问题
26、新增 TextAtlas 艺术字效果
27、新增NPC对话框Text文字带坐标和输入框INPUTTEXT、INPUTNUM
28、修复复古内挂添加药品无法删除问题
29、修复内挂大小退打断设置不保存
30、复古内挂页面内,自动使用药品恢复到M2客户端控制内添加。
31、修复M2客户端控制,取消勾选允许呼出内挂界面无效问题
32、新增人物状态检测功能 checkHumanState
33、修复M2物品规则修改保存不能及时生效问题
34、修复M2升级经验修改之后保存无效问题。
35、修复吃药间隔控制无效,频繁出现假药问题。
36、取消系统店铺修理物品脚本必须带@sell @buy的限制
37、修复人物跑步碰撞回弹机制。
38、修复 封速网关 设定机制,允许网关速度少于M2间隔速度时,人物攻击还原战待动作。
39、开放 邮件系统
//更新日志 引擎版本号:2022.08.13.0
1、修复Race=104的怪物,祖玛弓箭手走位迟钝问题
2、快捷栏文字位置调整为右下角
3、队员离开队伍时增加组队队长@GroupMemberLeave触发,离队队员名字保存在队长S0变量。
4、修复极品绿光规则问题,支持基础属性和元素属性为极品时显示绿光。
5、修复setontimer、机器人脚本、delaygoto等命令时间不准确问题
6、修复6格首饰盒没有开启时,stdmode100-111神佑盒物品无法佩戴问题
7、修复内挂自动练功间隔时间设置无效问题
8、新增NPC面板显示功能,EquipShow获取身上物品显示到格子里面,DBItemShow按物品的唯一ID显示到格子里面(只能显示已拥有的物品)
<EquipShow:D:X:Y:B:G/@脚本命令>
d:物品位置(0-55)
X Y : 微调坐标 排版的
B:是否显示背景图片 在必备补丁的47号图片
G:灰化显示(0=正常,1=灰化)
鼠标放上去显示物品属性。类似<Img>图标的用法
/@脚本命令 没有触发的时候一样可以显示
DBItemShow 按物品的唯一ID显示到格子里面
<DBItemShow:D:X:Y:B:G/@脚本命令>
d:唯一ID
X Y : 微调坐标 排版的
B:是否显示背景图片 在必备补丁的47号图片
G:灰化显示(0=正常,1=灰化)
鼠标放上去显示物品属性。类似<Img>图标的用法
/@脚本命令 没有触发的时候一样可以显示
9、扩展ITEM表W列单独控制某件装备的发型斗笠外显,只有衣服和时装有效
10、修复sendmsg 9 消息文字颜色错误问题
11、修复肉的出售价格异常问题
12、修复M2宝箱列表无法添加问题
13、修复千里传音修改命令名字之后无法使用问题
14、修复自定义NPC会播放未勾选方向的素材问题
15、新增 网关控制 移速、攻速、施法速度,优化移速不畅、施法超时等问题。游戏网关-安全过滤 里面调整控制值
16、修复挖肉距离无限制问题
17、新增GuildNoticeMsg颜色解析
18、修复人物面板名字和行会点击宽度异常问题
19、修复人物进入无小地图素材的地图时不显示地图名字
20、修复M2内挂拾取编辑错误问题
21、取消系统NPC商店不加@SELL @BUY头无法修理物品的关联
//更新日志 引擎版本号:2022.08.08.0
1、修复ITEMSHOW内物品不显示持久问题及数量显示固定右下角,不再跟随物品图片大小变化
2、增加时装装备怪物掉落也可以设置极品属性
3、修复编组传送不触发的问题
4、MonGen.txt增加刷怪模式
MonGen.txt 格式:地图 坐标X 坐标Y 怪物名字 范围 数量(G变量) 间隔 集中刷新坐标机率#刷新模式 名字颜色(0~255) 刷出来时触发的QF脚本字段
刷新模式=0时,刷怪模式不变,和以前一样,可能boss刚被杀死,未到间隔时间会重新刷一只。 //不添“刷新模式”参数,默认为0
刷新模式=1时,假设怪物刷新间隔时间是1小时,杀死怪物后,经过1小时才会再次刷出该怪物,被诱惑走的怪物不算死亡。
例:
3 333 333 鸡 1 1 1 100#1 249
注:刷新模式不可与G变量数量控制同时使用。
5、修复SENDTOPCHATBOARDMSG固定消息,角色名重复
6、修复RepairWall修理城墙命令报错
7、修复在NPC出售改名物品后,无法买出问题。
8、修复NPC出售叠加物品,购买时需要全部购买问题。
9、数据库转换工具扩展21列Expand1字段(支持6格首饰盒的佩戴)
10、修复GetListString只使用一个接收变量,无法获取完整行的情况
11、套装备注增加支持Img和PlayImg、Looks、横断条
12、首饰盒扩展,支持6格首饰盒,目前已有神佑盒(12格)与首饰盒(6格)
13、修改购买NPC物品、超负重和超格子时的提示
14、修复checkluckypoint检查幸运值结果错误(原本指令为checkluckpoint,GOM说明书错误导致遗留问题,现做兼容保留2个指令)
15、行会名字常量<$GUILDNAME>,没有行会时修改为无。
16、修复加载自定义NPC时,其它自定义NPC都会受影响改变外观问题。
17、修复ScatterBagItems触发获取不到物品信息问题,每件物品触发一次。
18、增加极品装备地面闪光显示绿光功能
19、提升人物移动及PK流畅度。
20、新增变量嵌套写法,支持多层嵌套、拼接嵌套

完整脚本代码

[@mian]
#IF
#ACT
MOV S$测试 装备属性
MOV N$装备属性 8
SENDMSG 7 <$STR(S$测试)>–<$STR(N$装备属性)>
#IF
EQUAL N$<$STR(S$测试)> 8
#ACT
INC N$<$STR(S$测试)> 2
SENDMSG 6 装备属性:<$STR(N$<$STR(S$测试)>)>
[@mian]
#IF
#ACT
MOV N$序号 1
MOV S$按钮 激活按钮
#IF
EQUAL N$序号 1
#ACT
MOV S$显示按钮_<$STR(N$序号)>_1 默认按钮
SENDMSG 6 显示按钮:<$STR(S$显示按钮_<$STR(N$序号)>_1)>
#IF
EQUAL S$按钮 激活按钮
#ACT
MOV S$显示按钮<$str(N$序号)> <$STR(S$显示按钮_<$str(S$序号)>_1)>
SENDMSG 6 显示按钮1:<$STR(S$显示按钮<$str(N$序号)>)>
注:良好的代码书写规范还请各位GM遵循,以便更灵活的支持变量嵌套写法
例如以下书写方式将不再支持:
MOV N1 N2 – 正确写法: MOV N1 <$STR(N2)>
INC <$STR(S1)> <$STR(S2)> 正确写法: INC S1 <$STR(S2)>
MUL N1 N2 N3 – 正确写法:MUL N1 <$STR(N2)> <$STR(N3)>
DIV N1 N2 N3 – 正确写法:DIV N1 <$STR(N2)> <$STR(N3)>
21、修复内挂隔位刺杀时不自动放开天逐日问题
22、修复界面UI编辑器已知问题。
23、M2新增大小退延迟控制。
24、M2新增强化等级数字显示及坐标调节功能
25、修复微端声音文件无法加载问题。
26、新增 新版自定义变量 写法、全服清理、自定义变量排序,新版自定义变量数据保存在数据库中,
不受合区影响,合区会自动带入主服。 推荐使用新版写法。
27、修复自动开盾和被攻击开盾无效问题,开盾不再判断职业
28、修复M2刷新CreateNpc创建的NPC时NPC消失问题。
29、修复M2护身显示蓝血功能关闭无效问题
30、修复装备修理调用的是卖出UI的问题
31、修复恢复角色失败问题
32、修复隔位刺杀时不放开天逐日问题
33、 PlayImg 扩展一个修复模式,适用于图片大小不一样,素材坐标有偏移的特效素材。修复动态播放抖动问题。
34、修复自动寻路触发无效问题
35、增加数值串排序方法 SortString
36、新增 宝宝常量
37、新增人物当前幸运值常量<$LUCK>
38、新增装备强化等级页游方式显示,M2可自由调整显示坐标
39、修复沙巴克城主无法存取资金问题
40、M2读取道士召唤技能,!setup.txt参数字段还原
41、修复105、104怪物视野默认值异常问题
42、背包格子已满,给物品到背包还原到掉地上的机制,不再发送邮件。
43、修复强制小退弹窗认证失败问题
44、修复PK追人机制,还原经典玩法。
45、限制对象变量的 CSTR 写法,只支持取值,不再支持直接写入对象变量的操作。
46、修复放大人物虚影无效问题
47、修复宝宝“CTRL+R”锁定目标功能无效问题
48、修复播放网络MP3无效问题
49、修复内挂魔法锁定会锁定尸体问题
50、修复自定义UI已知细节问题
51、修复DX错误导致的登陆界面黑屏问题,重新生成登录器删除d3dx9_43.dll替换成d3dx9_33.dll生成即可。
//更新日志 引擎版本号:2022.07.30.0
1、修复KILL命令杀死自己时会中断自定义采集问题
2、修复PlayDice摇骰子不触发问题
3、修复SendCenterMsg内的%s解析错误问题
4、内挂保护药品列表规则修改,增加未指定类型时自动归类
5、修复部分物品备注功能解析错误问题
6、顶部备注修改为读取DZItemDescList.txt文件
7、用户命令读写文本修改为UserCmds.txt
8、修复WriteConfigFileItem和ReadConfigFileItem参数四变量解析问题
9、修复人物正在攻击目标时不能拾取地面物品的BUG
10、自定义怪物,新增行走躲避几率,设置为0时为不走位模式
11、修复自动移动到指定坐标GotoNow无效问题
12、修复角色退出自定义采集不中断问题
13、修复NPC顶戴花翎显示问题,解除与内挂NPC血条选项的关联
14、修复顶戴花翎和摊位名字的显示层级
15、修复自定义怪物使用人物魔法没有绘制技能特效问题
16、修复在线人物修改U、T变量无效问题
17、修复地面金币不显示名字问题
18、修复内挂挂机寻路出错导致的内存溢出问题
19、取消内挂部分无用功能
20、取消行会界面全服所有行会显示面板
21、修复绑定物品不显示已绑定问题
22、修复PAK一键转JPK工具已知问题、新增导出PNG散图功能
23、新增资源编辑器图片优化功能,超大单图建议优化处理,提升微端加载速度和客户端速度。
24、修复登录器因音频硬件损坏无法登陆游戏问题。
25、修复套装备注部分解析不正确问题
26、M2新增货币缩写控制、血量缩写控制,支持小数点后2位数,修改后小退上线生效。
27、修复自定义怪物没有配置攻击参数时攻击异常问题
28、修复NPC页面内文字显示的层级问题,文本显示在所有控件上层。
29、修复GETLISTSTRING参数解析问题
30、修复背包满时,拍卖行取回物品消失问题,会以邮件方式发送给玩家。
31、调整CheckItemAddValueEx检查身上装备属性总和(排除持久、诅咒等数据)
32、修复CHANGEITEMADDVALUE修改物品附加属性扩展装备位置支持0-47
33、修复时装装备对比功能失效问题
34、修复stdmode=53宝石显示防御魔防攻魔道属性和正常的HPMP
35、修复机器人脚本无法运行SENDMOVEMSG滚屏消息问题(此处无法使用个人常量和变量及%m,%s,%d)
36、修复NPC文本标签、ADDBUTTONEX、ADDBUTTON、img、playimg等包含控件tips框横断条显示问题
37、修复因MonSpAbilList.txt内参数不足时导致M2启动失败
38、修复Race105尸体不能被多次挖取问题
39、修复随机跳转触发RandomGoto不执行问题
40、[@GuildAddMember]修改为加入行会成功后触发,增加行会人数常量<$GUILDMEMBERCNT>
41、[@ConfirmGuildAddMember]加入行会前触发,新增返回值<$PARAM1>=加入行会名、<$PARAM2>=成员人数
42、修复CHANGEITEMADDVALUE修改物品附加属性后,诅咒和Need和NeedLevel不生效问题
43、调整技能等级上线提升到15级
44、修复隔位刺杀无视防御和魔法盾无效问题
45、修复AddButton、AddButtonEx素材为空时,文字坐标错误问题
46、修复SENDMOVEMSG的%S和%ServerName两个占位符冲突问题
47、修复物品、套装、顶部备注,因名称内有英文空格导致备注功能不生效问题
48、修复PAK一键转JPK工具转换空PAK文件导致的报错问题
49、新增掌门接受申请时逐一触发功能[@CanAddJoinMember]
50、修复M2修改在线人物数据会一直触发[@PlayLevelUp]问题
51、新增自定义UI面板编辑,商城、行会、组队、交易等等。
52、修复逐日剑法不随人物攻速加速问题
53、修复人物移动偏慢不流畅问题
//更新日志 引擎版本号:2022.07.15.0
1、修复人物被麻痹后不能飞随机问题
2、新增ChangeItemLooks修改物品的Looks字段
3、修复ReadConfigFileItem和WriteConfigFileItem支持绝对路径和变量解析
4、修复部分命令不解析<STR()>问题
5、新版自定义无属性文本添加选中行数显示
6、调整隐身术角色虚化状态
7、修复SCREENEFFECT绘制屏幕特效问题
8、新增 GetRandomNumbers 、 GetRandomTexts 功能命令
9、修复NPC名字使用A变量时,重载NPC后显示异常
10、新增 MoveMonsters 全屏吸怪功能
11、取消NPC文本带颜色的内容鼠标悬停颜色变白色的问题
12、修复角色选择界面等级显示最大只支持255的BUG
13、扩展怪物appr最大值支持65535
14、修复叠加物品再次获得时没有提示信息问题
15、修复没有尸体,空挖时消息被抛弃,角色转向不刷新问题
16、修复交易状态不允许走跑攻击施法的BUG
17、修复强化技能升级SKILLLEVEL不支持+-问题
18、修复自定义怪物攻击力小于目标防御时,不会攻击,只会跟随问题
19、修复自定义怪物攻击1、2、3都没启用的时候,怪物移动异常问题
20、修复绘制禁锢特效的坐标点不能点击问题
21、修复千里传音不带名字和不能点击私聊问题
22、新增 GOTOLABEL 支持变量传递
23、修复斗笠与翅膀的层级关系问题
24、修复PAK转JPK工具光晕问题以及部分素材解密错误问题
25、修复资源编辑工具单张导出时只能导出BMP的问题
26、修复一键捡取不捡其他玩家丢弃装备和无主装备问题
27、新增排行榜系列功能,暂时只开放职业等级榜,并显示榜单玩家模型功能,需要替换最新必备补丁
28、修复自定义怪物勾选怪物简装时显示异常问题
29、修复部分怪物点击之后人物不去攻击BUG
30、新增背包界面货币缩写功能,1000万以上开始缩写,鼠标悬停会显示实际货币值。
31、修复版本转换工具在转换光柱时第一个特效编号错误问题
32、修复开天技能特效偶尔出现跟随人物移动不消失的问题
33、新增获取自定义属性标题和颜色功能。
34、修复徒弟出师时师傅得不到声望的问题
35、修复自定义技能触发获取ID不正确问题
36、扩展泡点功能参数6控制泡点时长,参数7控制最高可泡点等级 setautogetexp
37、修复GiveStateItem命令给物品不支持改名问题
38、修复SetSuckDamage设置吸收伤害无效问题,新增常量获取剩余伤害吸收值<$SUCKDAMAGEPOINT>
39、修复TAKE命令不支持改名检测问题
//更新日志 引擎版本号:2022.07.08.0
1、修复首饰盒按钮再次点击不能关闭首饰盒界面的BUG
2、新增聊天栏组队按钮支持右键点击切换允许和关闭组队功能
3、修复字符颜色解析不对的BUG
4、修复技能栏页数显示不正常的BUG
5、修复神佑袋、盾牌不支持装备对比的问题
6、修复可视化仓库开启第四页导致存取异常的BUG
7、修复施毒术命中偏低问题
8、新增30种新版自定义属性功能(无属性) 新版自定义属性
9、修复首饰盒套装备注显示异常问题
10、修复毒符切换不顺畅BUG
11、新增RecalcMonAbility范围调整怪物属性 支持参数4:*号(所有怪物),参数6:-1(不限数量) 范围调整怪物属性
12、修复人物死亡后尸体不显示人物名字问题
13、修复内挂清理尸体清掉了人物尸体的BUG
14、新增字符型变量支持键值对功能。键值对功能存入和删除操作快捷,耗时极低,推荐使用 键值对
15、新增SENDMSG 9 屏幕中间聊天框上方的透明信息提示功能 消息提示
16、修复PAK一键转JPK工具部分素材转换后颜色差异问题
17、修复数据库转换42类镶嵌宝石属性不正确问题
18、修复老版本自定义属性不显示问题。
19、修复货币显示异常问题
20、修复 @PickUpItemEx捡取触发的先后顺序问题,改为入包后触发
//更新日志 引擎版本号:2022.07.01.0
1、修复系统NPC买卖物品发起的OK框可以拖动的BUG
2、修复邮件内容文字不支持颜色、换行及物品内容TIPS不显示问题。
3、修复M2无法重载技能、怪物数据问题
4、修复顶部备注绘制方向错误
5、新增releasemagic脚本释放技能功能
6、去除物品TIPS悬浮框默认绘制分割线
7、修复文字悬浮提示不带^换行解析出错问题
8、修复ITEMBOX、PlayImg、Img、ImgEx内参数不支持变量问题
9、修复Img,PlayImg 没有触发时也有点击动作问题
10、修复NPC标签备注功能,文本没有触发时,颜色和换行代码不解析
11、新增物品悬浮框背景特效功能
12、修复自定义技能系列已知BUG
13、修复MESSAGEBOX不支持空格字符串的问题
14、新增拍卖行界面打开前触发以及STOP禁止打开功能
15、修复自动拾取StartPickUp命令失效问题
16、修复文字颜色解析,当文字为变量且值为空时解析出错问题
17、修复playimg图片排版位置偏移问题
18、修复NPC、怪物、人物高亮显示有光晕的问题
19、修复自定义内观特效修复模式无效问题
20、修复文字悬浮框排版长度计算问题
21、新增掉落身上指定部位装备功能 HumanDropUseItem
22、新增修改宝宝外观功能 ChangeSlaveAppr
23、新增范围调整怪物属性功能 ChangeMonsterAbility
24、新增清空字符串内的空格功能 Trim
25、新增终止当前释放技能功能 StopMagic
26、新增数据库编辑工具、变量查询工具、爆率修改工具。
//更新日志 引擎版本号:2022.06.24.0
1、修复GetListString第二个参数不支持整数变量
2、修复范围切割不使用SetAttackTargetEffect技能特效时,仍然会使用上次特效的问题。
3、修复AddMirrorMap创建镜像地图时地图本身的连接通道和NPC也会创建的问题
4、修复点击NPC距离限制,最大可点击NPC距离为10步。
5、修复战士强化技能特效,攻杀、刺杀、半月、烈火强化特效异常问题
6、修复NPC购买物品二级列表价格错误问题
7、修复ADDMAPGATE动态地图连接点范围无效
8、修复因物品图标过大,物品悬浮框显示异常
9、修复Give背包满时,脚本报错不继续执行问题,背包满了会掉在地上
10、修复套装备注显示不支持区分男女显示问题
11、修复NPC处可以买卖持久为0的装备
12、修复M2-客户端控制-NPC对话框文字坐标为负数时保存不生效问题
13、修复系统OK框显示和框体可拖动问题
14、修复创会掌门人也触发[@ConfirmGuildAddMember]的问题
15、修复CHECKCUSTOMITEMVALUE检测无效问题
16、修复NPC购买物品,二级列表选中不显示物品信息问题
17、修复NPC名使用A变量,当变量为空时显示变量名本身问题
18、修复CHANGECUSTOMITEMPROGRESSBAR刀魂文字符号显示问题,增加默认进度条素材显示设置
19、新增自定义技能系列功能
20、修复客户端显示素材特效有光晕问题
21、修复地图地砖错位问题
22、修复一键PAK转JPK已知问题
23、修复资源编辑器处理老版本素材时失真问题
24、修复自定义UI已知问题
25、自定义UI新增模型原点、时装原点设置,改变原点时所有剑甲、盾牌、头盔斗笠及他们的特效都会跟随改变。
某些版本转成996时整体偏移的情况可以调整原点解决此问题。
26、修复进游戏偶尔黑屏问题
27、修复死亡画面色调偏白问题。
28、修复自定义怪物素材读取问题
29、修复登录器生成器读取素材跟游戏内不一致问题
30、新增M2网关在线人数显示及运行状态显示
31、修复集成版本转换工具将触发号+10000的问题,触发号不需要+10000
//更新日志 引擎版本号:2022.06.17.0
1、修复拍卖行部分UI显示问题
2、修复怪物简装无效问题
3、修复首饰盒神佑持久显示问题
4、修复内挂NPC血条隐藏怪物血条也跟着隐藏问题
5、修复超负重、低血量后右键不切换走路问题
6、修复技能施法后人物走跑不流畅问题
7、修复自动寻路路线显示丢失问题
8、修复倚天辟地技能BUG
9、修复复活戒指保存复活间隔逻辑问题
10、修复人形怪调整攻速、移速、施法速度无效问题,这3个间隔如果少于200时默认按M2人物间隔为准。
11、修复弯腰设置异常问题
12、修复发型显示错误问题
13、修复GetDBItemFieldValue取出来的IDX错误问题
14、修复隔位刺杀、开天斩、逐日剑法暴击触发伤害问题
15、新增死亡不掉装备次数功能
16、新增支持J/Z变量,每天0点自动清空
17、新增CheckRevival检测是否到了复活的时间间隔 检测是否可以复活
18、新增10个人物装备栏自定义按钮及按钮事件触发
19、新增10个人物背包自定义按钮及按钮事件触发
20、新增装备框的自定义文字显示和特效素材显示
21、新增RandomText随机取字符串命令
22、新增控制台窗口嵌入问题,不建议开区端使用,轻微影响M2效率
23、新增范围切割攻击
24、修复自定义UI血池特效不随血量剪切问题
25、修复微端黑块问题
26、新增PAK一键自动转JPK工具,无需导出PNG
27、新增集成版本转换工具。
28、修复登录器生成的UI素材读取问题
29、修复OpenSndaShopDlg打开商铺命令无效问题
//更新日志 引擎版本号:2022.06.02.0
1、修复技能栏显示异常、强化等级、图标偏移问题
2、修复自定义OK框放物品位置偏移问题
3、修复内挂勾选剑甲外观特效隐藏无效问题
4、修复免SHIFT开关问题
5、修复装备名字超长,显示超框问题
6、修复装备栏背包栏与小地图的层级关系问题
7、修复人形怪系列问题
8、新增货币外显控制,M2-功能设置-个人商店配置
9、修复特效备注边框留空问题
10、修复套装备注显示问题
11、修复自定义UI无法设置聊天框和角色选择特效播放问题
12、修复大背包未开启也显示126格问题
13、修复其他已知BUG
14、修复登录器生成器资源读取问题

魔王岭脚本

天下第一脚本

修改MerChant.txt 配置文件

NPC名称支持变量显示(只能使用全局变量A和T两种字符串类型,其它类型无效,请参照天下第一设置)

直接给变量写值NPC就会自动更名

例如:

天下第一战士 3 321 340 A14 0 35 0 0 0

天下第一战士 3 324 340 A15 0 36 0 0 0

天下第一法师 3 327 340 A16 0 37 0 0 0

天下第一法师 3 330 340 A17 0 38 0 0 0

天下第一道士 3 333 340 A18 0 39 0 0 0

补充说明

详细说明

天下第一道士 3 336 340 A19 0 40 0 0 0

脚本

完整脚本代码

[@main]
#if
#act
MOV A14 <$USERALLNAME>\天下第一战士

脚本控制怪物攻城

功能:

实现由脚本控制怪物攻城。

格式:

;怪物集中位置,怪物会自动向此位置集中

MISSION 地图名 座标X 座标Y

;刷新怪物座标X

PARAM1 X

;刷新怪物座标Y

PARAM2 Y

;刷新怪物数量

补充说明

详细说明

PARAM3 数量

;刷新怪物范围

PARAM4 范围

;刷新怪物颜色

PARAM8 怪物名字颜色

;刷新怪物名称

MobPlace 怪物名称

完整脚本代码

[@MobMission]
#if
#act
MISSION 3 330 330
PARAM1 360
PARAM2 340
PARAM3 10
PARAM4 5
MOBPLACE 半兽勇士

挑战功能

说明:没有等级限制,只在双方面对面,即可挑战,挑战时间5分钟,在挑战时间内没有分出胜负的,直接随机传送.

增加地图参数 FIGHT4 (挑战地图),此参数禁止召唤英雄,死亡不掉落物品,不增加PK值.

M2\查看\列表信息 中可设置禁止挑战的物品.

挑战时双方都不可以使用英雄,所有药品

挑战胜,所有之前押的物品归胜方所有

相关脚本命令:

功能:移动到挑战地图

格式:CHALLENGMAPMOVE 地图名 X Y

功能:没有挑战地图可移动,则退回抵押的物品

格式:GETCHALLENGEBAKITEM

补充说明

详细说明

//-

QFunction-0.txt 文件

完整脚本代码

[@Challenge]
#IF
CHECKMAPHUMANCOUNT EM029A = 0
#ACT
CHALLENGMAPMOVE EM029A 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029B = 0
#ACT
CHALLENGMAPMOVE EM029B 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029C = 0
#ACT
CHALLENGMAPMOVE EM029C 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029D = 0
#ACT
CHALLENGMAPMOVE EM029D 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029E = 0
#ACT
CHALLENGMAPMOVE EM029E 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029F = 0
#ACT
CHALLENGMAPMOVE EM029F 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029G = 0
#ACT
BREAK
CHALLENGMAPMOVE EM029G 14 15
#IF
CHECKMAPHUMANCOUNT EM029H = 0
#ACT
CHALLENGMAPMOVE EM029H 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029I = 0
#ACT
CHALLENGMAPMOVE EM029I 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029J = 0
#ACT
CHALLENGMAPMOVE EM029J 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029K = 0
#ACT
CHALLENGMAPMOVE EM029K 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029L = 0
#ACT
CHALLENGMAPMOVE EM029L 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029M = 0
#ACT
CHALLENGMAPMOVE EM029M 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029N = 0
#ACT
CHALLENGMAPMOVE EM029N 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029O = 0
#ACT
CHALLENGMAPMOVE EM029O 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029P = 0
#ACT
CHALLENGMAPMOVE EM029P 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029Q = 0
#ACT
CHALLENGMAPMOVE EM029Q 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029R = 0
#ACT
CHALLENGMAPMOVE EM029R 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029S = 0
#ACT
CHALLENGMAPMOVE EM029S 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029T = 0
#ACT
CHALLENGMAPMOVE EM029T 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029U = 0
#ACT
CHALLENGMAPMOVE EM029U 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029V = 0
#ACT
CHALLENGMAPMOVE EM029V 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029W = 0
#ACT
CHALLENGMAPMOVE EM029W 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029X = 0
#ACT
CHALLENGMAPMOVE EM029X 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029Y = 0
#ACT
CHALLENGMAPMOVE EM029Y 14 15
BREAK
#IF
CHECKMAPHUMANCOUNT EM029Z = 0
#ACT
CHALLENGMAPMOVE EM029Z 14 15
BREAK
#IF
#ACT
goto @Challenge_Fail
[@Challenge_Fail]
#IF
#ACT
GETCHALLENGEBAKITEM
#SAY
当前地图人数已经满员!请稍后再试,谢谢!\
;挑战胜利者执行..
[@Challenge_Win]
#IF
#ACT
SendMsg 5 挑战胜利..
MapInfo.txt文件
[EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029A|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029B|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029C|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029D|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029E|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029F|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029G|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029H|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG
[EM029I|EM029 挑战] NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NORANDOMMOVE RUNHUMAN NORECONNECT(0159) FIGHT4 NODRUG

收徒脚本

完整脚本代码

[@main]
<我想拜师/@master>\
<我想出师/@unmaster>\ \
<离开/@exit>
[@master]
想拜师呀,你要拜的师父来了没有?\
与你师父面对面站好,开始拜师。\ \
<准备好了/@agree>\
<我知道了/@exit>\ \
<返回/@main>
[@agree]
;检查是不是已经是别人的师父
#if
checkismaster
#act
break
#say
没事别来这玩!!!\ \
<返回/@main>
;检查是不是已经拜师了
#if
checkmaster
#act
break
#say
你都都已经拜了别人为师,怎么还拜师!!! \ \
<返回/@main>
;检查对面的人物是不是别人的徒弟
#if
checkposemaster
#say
你找了个什么人做师父,怎么现在还是别人的徒弟?\ \
<返回/@main>
#act
break
;检查二个有没站好位置
#if
checkposedir
#elsesay
你们二个面对面站好呀,不要乱动。\ \
<返回/@main>
#elseact
break
#if
checklevel 40
#say
你都40多级了还要找师父?\ \
<返回/@main>
#act
break
;检查对方等级
#if
checkposelevel > 50
#elsesay
你找个什么师父呀,等级这么低?\ \
<返回/@main>
#elseact
break
#act
master
[@StartGetMaster]
拜师仪式正式开始。\ \
你是否确认拜师?\ \
<确认/@RequestMaster>
[@StartMaster]
拜师仪式正式开始。\ \
对方已经向你提出拜师请求。\ \
[@RequestMaster]
;检查所需物品
#if
checkitemw 力量戒指 1
#elsesay
你都没信物,怎么拜呀!!!\ \
<返回/@main>
#elseact
break
#if
#act
takew 力量戒指 1
master requestmaster
[@WateMaster]
你已向对方请求拜师,请耐心等待对方的答复。
[@RevMaster]
对方想拜你为师,你是否想收此人为徒? \ \
<同意/@ResposeMaster> \
<不同意/@ResposeMasterFail>
[@ResposeMaster]
#if
#act
master responsemaster ok
[@ResposeMasterFail]
#if
#act
master responsemaster fail
[@EndMaster]
你们二个已经是师徒关系了。\ \
<关闭/@exit>
[@EndMasterFail]
拜师失败!\ \
<关闭/@exit>
[@MasterDirErr]
对方没站好位置
[@MasterCheckDir]
请站好位置\\
[@HumanTypeErr]
此人不可以做你的师父。
开始
[@unmaster]
#if
havemaster
#act
unmaster
#elsesay
你都没师父,跑来做什么??\ \
<返回/@main>
[@UnMasterCheckDir]
按正常出师步骤,必须二个人对面对站好位置,\
如果人来不了你只能选择强行出师了。\ \
<我要强行出师/@fUnMaster>\
<返回/@main>
;对面位置不是人物时显示的信息
[@UnMasterTypeErr]
你对面站了个什么东西,怎么不太象人来的。\ \
<返回/@main>
[@UnIsMaster]
必须由徒弟发出请求!!!\ \
<返回/@main>
[@UnMasterError]
不要来捣乱!!!\ \
<返回/@main>
;开始程序后,双方显示的信息
[@StartUnMaster]
出师仪式现在开始!!!\ \
是否确定真的要脱离师徒关系?\ \
<确定/@RequestUnMaster>
[@WateUnMaster]
出师仪式现在开始!!!\ \
;发出请求
[@RequestUnMaster]
#if
havemaster
#act
unmaster requestunmaster
;回应请求
[@ResposeUnMaster]
#if
havemaster
#act
unmaster responseunmaster
;请求后显示的信息
[@WateUnMaster]
你已向对方发出请求,请耐心等待对方的答复。
;请求后对方显示的信息
[@RevUnMaster]
对方向你请求,你是否答应? \ \
<我愿意/@RequestUnMaster>
<返回/@main>
[@ExeMasterFail]
你都没师父,跑来做什么? \ \
[返回/@main]
;强行
[@fUnMaster]
#if
checkitem 金条 1
havemaster
#act
take 金条 1
unmaster requestunmaster force
#elsesay
要收一根金条的手续费,你没有金条,\
<确定/@exit>
;完成后的提示信息
[@UnMasterEnd]
呵呵,你已经脱

新转职业变性脚本

最新转职业脚本变性(含英雄转职和清理合击技能)

完整脚本代码

[@变性转职]
{
欢迎你光临:<$SERVERNAME>\ \
你是否对自己的英雄职业不满意?是的,我想<变更英雄职业/@变更英雄职业>\ \
你是否对现在的职业已经厌烦? 是的,我想<变更职业/@职业变更>\ \
你是否想尝试做异性的滋味? 是的,我想<变更性别/@性别变更>\ \
<版权所有/@1>:D3dm2引擎\
[@性别变更]
#IF
gender man
#SAY
是不是做猛男没什么意思呀,想不想尝尝做淑女的滋味呀!!!\ \
『<尝尝/@towoman>』\ \
〖<返回/@main>〗 〖<关闭/@exit>〗
#ELSESAY
是不是做淑女挺累的,想不想尝尝做猛男的滋味呀!!!\ \
『<尝尝/@toman>』\ \
〖<返回/@main>〗 〖<关闭/@exit>〗
[@toman]
#IF
CHECKGAMEGOLD > 19
#ACT
GAMEGOLD – 20
CHANGEGENDER 0
#SAY
呵呵,你已经变成一位猛男了。\ \
<返回/@main>
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足20颗。
[@towoman]
#IF
CHECKGAMEGOLD > 19
#ACT
GAMEGOLD – 20
CHANGEGENDER 1
#SAY
呵呵,你已经变成一位淑女了。\ \
〖<返回/@main>〗 〖<关闭/@exit>〗
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足20颗。
[@职业变更]
#IF
CHECKJOB warrior
#SAY
是不是战士不好玩呀,换换别的职业试试吧!\ \
『<玩玩法师/@法师>』\
『<玩玩道士/@道士>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
#IF
CHECKJOB wizard
#SAY
是不是法师不好玩呀,换换别的职业试试吧!\ \
『<玩玩战士/@战士>』\
『<玩玩道士/@道士>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
#IF
CHECKJOB taoist
#SAY
是不是道士不好玩呀,换换别的职业试试吧!\ \
『<玩玩战士/@战士>』\
『<玩玩法师/@法师>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
[@战士]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
CLEARSKILL
CHANGEJOB warrior
ADDSKILL 基本剑术
ADDSKILL 攻杀剑术
ADDSKILL 刺杀剑术
ADDSKILL 半月弯刀
ADDSKILL 野蛮冲撞
ADDSKILL 烈火剑法
ADDSKILL 狮子吼
SKILLLEVEL 基本剑术 + 3
SKILLLEVEL 攻杀剑术 + 3
SKILLLEVEL 刺杀剑术 + 3
SKILLLEVEL 半月弯刀 + 3
SKILLLEVEL 野蛮冲撞 + 3
SKILLLEVEL 烈火剑法 + 3
SKILLLEVEL 狮子吼 + 3
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
[@法师]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
CLEARSKILL
CHANGEJOB WIZARD
ADDSKILL 火球术
ADDSKILL 大火球
ADDSKILL 抗拒火环
ADDSKILL 地狱火
ADDSKILL 雷电术
ADDSKILL 疾光电影
ADDSKILL 诱惑之光
ADDSKILL 瞬息移动
ADDSKILL 火墙
ADDSKILL 爆裂火焰
ADDSKILL 地狱雷光
ADDSKILL 魔法盾
ADDSKILL 圣言术
ADDSKILL 冰咆哮
ADDSKILL 寒冰掌
ADDSKILL 灭天火
SKILLLEVEL 火球术 + 3
SKILLLEVEL 大火球 + 3
SKILLLEVEL 抗拒火环 + 3
SKILLLEVEL 地狱火 + 3
SKILLLEVEL 雷电术 + 3
SKILLLEVEL 疾光电影 + 3
SKILLLEVEL 诱惑之光 + 3
SKILLLEVEL 瞬息移动 + 3
SKILLLEVEL 火墙 + 3
SKILLLEVEL 爆裂火焰 + 3
SKILLLEVEL 地狱雷光 + 3
SKILLLEVEL 魔法盾 + 3
SKILLLEVEL 圣言术 + 3
SKILLLEVEL 冰咆哮 + 3
SKILLLEVEL 寒冰掌 + 3
SKILLLEVEL 灭天火 + 3
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
[@道士]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
CLEARSKILL
CHANGEJOB taoist
ADDSKILL 治愈术
ADDSKILL 精神力战法
ADDSKILL 施毒术
ADDSKILL 灵魂火符
ADDSKILL 幽灵盾
ADDSKILL 神圣战甲术
ADDSKILL 困魔咒
ADDSKILL 召唤骷髅
ADDSKILL 隐身术
ADDSKILL 集体隐身术
ADDSKILL 心灵启示
ADDSKILL 群体治疗术
ADDSKILL 召唤神兽
ADDSKILL 气功波
ADDSKILL 无极真气
SKILLLEVEL 治愈术 + 3
SKILLLEVEL 精神力战法 + 3
SKILLLEVEL 施毒术 + 3
SKILLLEVEL 灵魂火符 + 3
SKILLLEVEL 幽灵盾 + 3
SKILLLEVEL 神圣战甲术 + 3
SKILLLEVEL 困魔咒 + 3
SKILLLEVEL 召唤骷髅 + 3
SKILLLEVEL 隐身术 + 3
SKILLLEVEL 集体隐身术 + 3
SKILLLEVEL 心灵启示 + 3
SKILLLEVEL 群体治疗术 + 3
SKILLLEVEL 召唤神兽 + 3
SKILLLEVEL 气功波 + 3
SKILLLEVEL 无极真气 + 3
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
[@变更英雄职业]
想把你的英雄变更为其它职业的英雄?\
只要你交纳50颗元宝,我即可将你的英雄成功转职。\
但是合击技能将会被删除,只给予新职业的部分技能、\
是否同意将英雄转职呢?\
<我同意将英雄转职业/@同意英雄转职>\
[@同意英雄转职]
#IF
HAVEHERO
#ELSEACT
MESSAGEBOX 对不起,您没有英雄!
BREAK
#IF
H.CHECKONLINE
#ELSEACT
MESSAGEBOX 对不起,您的英雄不在线!
BREAK
#IF
CHECKGAMEGOLD > 49
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
#IF
H.CHECKJOB warrior
#SAY
是不是战士英雄不好玩呀,换换别的英雄试试吧!\ \
『<玩玩法师英雄/@法师英雄>』\
『<玩玩道士英雄/@道士英雄>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
#IF
H.CHECKJOB wizard
#SAY
是不是法师英雄不好玩呀,换换别的英雄试试吧!\ \
『<玩玩战士英雄/@战士英雄>』\
『<玩玩道士英雄/@道士英雄>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
#IF
H.CHECKJOB taoist
#SAY
是不是道士英雄不好玩呀,换换别的英雄试试吧!\ \
『<玩玩战士英雄/@战士英雄>』\
『<玩玩法师英雄/@法师英雄>』\ \
〖<返回/@changjob>〗〖<关闭/@exit>〗
#ACT
break
[@战士英雄]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
H.CLEARSKILL
H.CHANGEJOB warrior
H.ADDSKILL 英雄基本剑术 1
H.ADDSKILL 英雄攻杀剑术 1
H.ADDSKILL 英雄刺杀剑术 1
H.ADDSKILL 英雄半月弯刀 1
H.ADDSKILL 英雄野蛮冲撞 1
H.ADDSKILL 英雄烈火剑法 1
H.ADDSKILL 英雄狮子吼 1
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功将英雄转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
[@法师英雄]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
H.CLEARSKILL
H.CHANGEJOB WIZARD
H.ADDSKILL 英雄火球术 1
H.ADDSKILL 英雄大火球 1
H.ADDSKILL 英雄抗拒火环 1
H.ADDSKILL 英雄地狱火 1
H.ADDSKILL 英雄疾光电影 1
H.ADDSKILL 英雄雷电术 1
H.ADDSKILL 英雄诱惑之光 1
H.ADDSKILL 英雄瞬息移动 1
H.ADDSKILL 英雄火墙 1
H.ADDSKILL 英雄爆裂火焰 1
H.ADDSKILL 英雄地狱雷光 1
H.ADDSKILL 英雄魔法盾 1
H.ADDSKILL 英雄圣言术 1
H.ADDSKILL 英雄冰咆哮 1
H.ADDSKILL 英雄灭天火 1
H.ADDSKILL 英雄寒冰掌 1
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功将英雄转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
[@道士英雄]
#IF
CHECKGAMEGOLD > 49
#ACT
GAMEGOLD – 50
H.CLEARSKILL
H.CHANGEJOB taoist
H.ADDSKILL 英雄神圣战术 1
H.ADDSKILL 英雄群疗术 1
H.ADDSKILL 英雄集体隐身 1
H.ADDSKILL 英雄精神战法 1
H.ADDSKILL 英雄施毒术 1
H.ADDSKILL 英雄召唤骷髅 1
H.ADDSKILL 英雄召唤神兽 1
H.ADDSKILL 英雄灵魂火符 1
H.ADDSKILL 英雄隐身术 1
H.ADDSKILL 英雄幽灵盾 1
H.ADDSKILL 英雄治愈术 1
H.ADDSKILL 英雄困魔咒 1
H.ADDSKILL 英雄心灵启示 1
H.ADDSKILL 英雄气功波 1
H.ADDSKILL 英雄无极真气 1
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功将英雄转职。
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足50颗。
BREAK
}

机器人脚本

功能:

系统机器人,可以定时做一些指定操作

相关配置目录:

\Envir\Robot_def\

相关文件:

\Envir\Robot.txt 机器人配置文件

\Envir\Robot_def\RobotManage.txt 机器人运行脚本文件

机器人配置文件格式:

;Robot.txt

;机器人名称 脚本名称

补充说明

详细说明

系统控制 AutoRunRobot

脚本格式:

;AutoRunRobot.txt

完整脚本代码

#AutoRun NPC SEC 10 @SendRedMsg
SEC:按秒运行
MIN:按分运行
HOUR:按小时运行
DAY:按天运行
RUNONWEEK:按星期几及时间运行
#AutoRun NPC RUNONWEEK 5:15:55 @SendRedMsg
星期五15点55分运行
实例:
Robot.txt内容:该文件在\Envir\下
Test Test
Test.txt内容:(每8秒钟运行脚本一次)该文件在\Envir\Robot_def\下
#AutoRun NPC SEC 8 @DHB
RobotManage.txt内容(内容即普通脚本内容)该文件在\Envir\Robot_def\下
[@DHB]
#if
#act
SENDMSG 0 双头金刚怪物攻城了……
MISSION 3 330 330
PARAM1 360
PARAM2 340
PARAM3 10
PARAM4 1
MOBPLACE 双头金刚

沙城主公告

将下面的放到沙皇宫的NPC脚本里就行了

(@@sendmsg)

完整脚本代码

[@main]
沙巴克当前归<$OWNERGUILD>所有,由<$LORD>统治管理。\
现在金库中所存的金币数量为:<$CASTLEGOLD>,今天的收入为: <$TODAYINCOME>\ \
『<修改城名 /@@castlename >』 『<城主公告 /@@sendMsg >』\\
『<取回资金 /@@withdrawal >』 『<存入资金 /@@receipts >』\
『<控制城门 /@treatdoor >』 『<修理城门和城墙 /@repaircastle >』\
『<雇用弓箭手 /@hirearchers >』\ \
〖<取消 /@exit >〗\
[@@sendMsg]
#if
checkcastlegold ? 100000
#act
takecastlegold 100000
SETSENDMSGFLAG
#elsesay
城内资金不足,不要乱用钱。\ \
『<返回 /@main >』
[@treatdoor]
城门当前状态为:『<$CASTLEDOORSTATE>』\ \
『<关城门 /@closemaindoor >』\
『<开城门 /@openmaindoor >』\ \
〖<返回 /@main >〗\
[@openmaindoor]
城门已经打开。\ \
〖<返回 /@treatdoor >〗\
[@closemaindoor]
城门已经关闭。\ \
〖<返回 /@treatdoor >〗\
;荐府 包访
[@repaircastle]
请选择要修理的位置?\ \
『<修理城门 /@repairdoor >』\
『<修理城墙 /@repairwalls >』\ \
〖<返回 /@main >』\
[@repairdoor]
修理城门所需费用为:『<$REPAIRDOORGOLD>』金币。\ \
『<修理城门 /@repairdoornow >』\
『<返回 /@repaircastle >』\
[@repairwalls]
修理城墙所需费用为:『<$REPAIRWALLGOLD>』金币。\ \
『<修理城墙 /@repairwallnow1 >』\
『<修理城墙 /@repairwallnow2 >』\
『<修理城墙 /@repairwallnow3 >』\ \
〖<返回 /@repaircastle >』\
[@hirearchers]
雇用弓箭手可保护城堡的安全,并维护城堡的治安。\
每个弓箭手的雇用费用为『<$ARCHERFEE>』金币。\
请选择要雇用弓箭手放置位置: \ \
『<城墙左弓箭手三 /@hirearchernow1 >』, 『<城墙左弓箭手二 /@hirearchernow2 >』, 『<城墙左弓箭手一 /@hirearchernow3 >』\
『<城墙右弓箭手一 /@hirearchernow4 >』, 『<城墙右弓箭手二 /@hirearchernow5 >』, 『<城墙右弓箭手三 /@hirearchernow6 >』\
『<城门左弓箭手 /@hirearchernow9 >』, 『<城门左弓箭手 /@hirearchernow10 >』, 『<城门右弓箭手 /@hirearchernow11 >』, 『<城门右弓箭手 /@hirearchernow12 >』\
『<皇宫左弓箭手 /@hirearchernow7 >』, 『<皇宫右弓箭手 /@hirearchernow8 >』\
『<返回 /@main >』\

烟花脚本实例[!]

烟花脚本实例

数据库设置

一心一意;2;1;1;79;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

心心相印;2;1;1;80;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

飞火流星;2;1;1;81;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

浪漫星雨;2;1;1;82;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

绮梦幻想;2;1;1;83;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

如梦似雾;2;1;1;84;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

长空火舞;2;1;1;85;0;0;1016;10000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

庆典蛋糕;2;1;1;86;0;0;1001;5000;0;0;0;0;0;0;0;0;0;0;0;0;50000;5;255;0;99;

补充说明

详细说明

SHOWEFFECT 类型(79~86)

这个范例支持持久就是次数10次。不想支持次数把类型2修改为31即可。

QFunction-0 下增加如下:

完整脚本代码

[@StdModeFunc79]
#IF
#ACT
Gmexecute showeffect 79
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc80]
#IF
#ACT
Gmexecute showeffect 80
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc81]
#IF
#ACT
Gmexecute showeffect 81
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc82]
#IF
#ACT
Gmexecute showeffect 82
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc83]
#IF
#ACT
Gmexecute showeffect 83
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc84]
#IF
#ACT
Gmexecute showeffect 84
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc85]
#IF
#ACT
Gmexecute showeffect 85
SENDMSG 0 <$USERNAME>在:%m%x:%y处放烟花咯、大家快去欣赏哦。
[@StdModeFunc86]
#IF
#ACT
Gmexecute showeffect 86
SENDMSG 0 <$USERNAME>在:%m%x:%y处放庆典蛋糕了!大家快去看拉

人物登录脚本

功能:

即在人物进入游戏时自动执行的脚本,通过此脚本可对人物进行大量的功能控制。

格式:

在目录 Envir\MapQuest_def\ 中建立文件名为QManage.txt的脚本,按以下格式编写脚本:

;脚本例子

完整脚本代码

[@Login]
#IF
IsAdmin
#ACT
CHANGEMODE 2 1
CHANGEMODE 3 1
SENDMSG 5 %s,欢迎进入游戏,当前模式为GM管理模式。========================================================================
注: 如该脚本更改后,不须重启M2使其生效,可用 @ReloadManage 命令重新加载该脚本。

祝福语脚本

完整脚本代码

[@@SendMsg]
#if
checkgold 10000
#act
take 金币 10000
SETSENDMSGFLAG
#elsesay
穷鬼,一边站着。\ \
<返回/@main>
注:只能在普通NPC上发祝福语,国王系管理NPC将不能使用

离线挂机[!]

离线挂机

(@@offlinemsg)

完整脚本代码

[@main]
欢迎使用我提供的挂机功能,使用此功能可以让你不必开电脑,\
就可以进行泡点。\
点击开始挂机后,可输入一段留言信息给你的朋友。\
<开始挂机 /@@offlinemsg >
[@@offlinemsg]
#if
ISDUPMODE
#say
请找一个空位置,不能与别人站在一起。\ \
<返回 /@main >
#act
break
#if
INSAFEZONE
#elseact
break
#elsesay
请在安全区找一个位置站好,不能会被人杀的。\ \
<返回 /@main >
#IF
checklevelex > 0
#act
OFFLINEPLAY 100 ;这100是说100分钟被踢下线! 第一种离线命令
OFFLINEPLAY 12 5000 ;说明1分钟可以获得5000经验。可以获得12分钟时间

结婚脚本

完整脚本代码

[@main]
<我想结婚 /@marry>\
<我想离婚 /@unmarry>\ \
<离开 /@exit >
[@marry]
求婚者必须是男性且拥有求婚戒指,\
你准备好求婚了吗?\ \
<准备好了 /@agree>\
<下次再来 /@exit>\ \ \
<返回 /@main >
[@agree]
#if
checkmarry
#act
break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#if
checkposemarry
#say
对方已经结过婚了,是不是想犯重婚罪呀!!!\ \
<返回 /@main >
#act
break
#if
gender man
#elsesay
只有男的向女的求婚,还没见过大姑娘向小伙子求婚的。\ \
<返回 /@main >
#elseact
break
#if
checkposegender 男
#say
你变态呀!!!想搞同性恋!!! \ \
<返回 /@main >
#act
break
#if
checkposedir 2
#elsesay
你们二个面对面站好呀,不要乱动。\ \
<返回 /@main >
#elseact
break
#if
checklevel 40
#elsesay
结婚要求你的等级必须40级或以上,小伙子努力练好级再来找我。\ \
<返回 /@main >
#elseact
break
#if
checkposelevel > 34
#elsesay
你的对象还没成年,等她长大点再来吧!小伙子不要心急嘛!\ \
<返回 /@main >
#elseact
break
#if
checkitemw 求婚戒指 1
#elsesay
你没求婚戒指,弄到求婚戒指再来找我吧!!!\ \
<返回 /@main >
#elseact
break
#if
#act
takew 求婚戒指 1
marry
[@StartMarry]
#if
checkmarry
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#act
break
#if
gender man
#act
break
#say
婚礼现在正式开始。\ \
你愿意娶对方为妻,并照顾她一生一世吗?\ \
<我愿意 /@RequestMarry >
#if
gender
#act
break
#say
婚礼现在正式开始。\ \
请耐心等待你心爱的人向你求婚\ \
[@RequestMarry]
#if
checkmarry
#act
break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#if
#act
marry requestmarry
[@WateMarry]
你已向对方求婚,请耐心等待对方的答复。
[@RevMarry]
#if
checkmarry
#act
break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#if
#say
对方向你求婚,你是否答应嫁给他? \ \
<我愿意 /@ResposeMarry > \
<我不愿意 /@ResposeMarryFail >
[@ResposeMarry]
#if
checkmarry
#act
break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#if
#act
marry responsemarry ok
[@ResposeMarryFail]
#if
checkmarry
#act
break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回 /@main >
#if
#act
marry responsemarry fail
[@EndMarry]
你们二个已经成为了一对全法夫妻了。\ \
<关闭 /@exit >
[@EndMarryFail]
结婚失败!\ \
<关闭 /@exit >
[@MarryDirErr]
对方没站好位置
[@MarryCheckDir]
请站好位置\\
[@HumanTypeErr]
你变态呀,既然选择一个非人类作为结婚对象。
[@MarrySexErr]
你变态呀,既然同性恋。
离婚开始
[@unmarry]
#if
checkmarry
#act
unmarry
#elsesay
你都没结婚离什么婚??\ \
<返回 /@main >
;双方离婚时没面对面站好显示的信息
[@UnMarryCheckDir]
要离婚是吧?离婚是二个人的事,必须二个人对面对站好位置,\
如果人来不了你只能选择强行离婚姻了。\ \
<我要强行离婚 /@fUnMarry>\
<返回 /@main >
;对面位置不是人物时显示的信息
[@UnMarryTypeErr]
你对面站了个什么东西,怎么不太象人来的。\ \
<返回 /@main >
;开始离婚程序后,双方显示的信息
[@StartUnMarry]
#if
gender man
#act
BREAK
#say
是否确定真的要与你共事多年的妻子离婚吗?\ \
<确定 /@RequestUnMarry >
#if
gender
#say
你的老公现在向我请求离婚,是不是愿意协议离婚? \ \
<确定 /@RequestUnMarry >
#act
break
;发出离婚请求
[@RequestUnMarry]
#if
checkmarry
#act
unmarry requestunmarry
;回应离婚请求
[@ResposeUnMarry]
#if
checkmarry
#act
unmarry responseunmarry
;请求离婚后显示的信息
[@WateUnMarry]
你已向对方发出离婚请求,请耐心等待对方的答复。
;请求离婚后对方显示的信息
[@RevUnMarry]
对方向你离婚请求,你是否答应离婚? \ \
<我愿意 /@RequestUnMarry >
<返回 /@main >
;没结过婚的人点离婚后出的提示信息
[@ExeMarryFail]
你都没结过婚,跑来做什么? \ \
[返回 /@main ]
;强行离婚
[@fUnMarry]
#if
checkitem 金条 1
checkmarry
#act
take 金条 1
unmarry requestunmarry force
#elsesay
要收一根金条的手续费,你没有金条,\
我不能让你离婚。\
<确定 /@exit >
;离婚完成后的提示信息
[@UnMarryEnd]
呵呵,你已经脱离苦海了!!! \ \
<退出 /@exit >
[@asktime]
你调查结婚时间的请求已发出,\
请稍后。\
<确定 /@exit >

记忆石设置方法[!]

功能演示:

物品分类号:31

SHAPE 值:1

AN字段是触发.这个根据自己版本设置.我们以设置为99为例子

QFunction-0.txt脚本下面

完整脚本代码

[@StdModeFunc99]
一: <记录当前坐标/@TAGMAPINFO1> <移动到/@PMOVE1> -> <$TAGMAPNAME1> <$TAGX1> <$TAGY1>\
二: <记录当前坐标/@TAGMAPINFO2> <移动到/@PMOVE2> -> <$TAGMAPNAME2> <$TAGX2> <$TAGY2>\
三: <记录当前坐标/@TAGMAPINFO3> <移动到/@PMOVE3> -> <$TAGMAPNAME3> <$TAGX3> <$TAGY3>\
四: <记录当前坐标/@TAGMAPINFO4> <移动到/@PMOVE4> -> <$TAGMAPNAME4> <$TAGX4> <$TAGY4>\
五: <记录当前坐标/@TAGMAPINFO5> <移动到/@PMOVE5> -> <$TAGMAPNAME5> <$TAGX5> <$TAGY5>\
六: <记录当前坐标/@TAGMAPINFO6> <移动到/@PMOVE6> -> <$TAGMAPNAME6> <$TAGX6> <$TAGY6>\ \
<成功传送后才会消失一点.安全无毒.放心使用>\
[@PMOVE1]
#ACT
TAGMAPMOVE 1
[@PMOVE2]
#ACT
TAGMAPMOVE 2
[@PMOVE3]
#ACT
TAGMAPMOVE 3
[@PMOVE4]
#ACT
TAGMAPMOVE 4
[@PMOVE5]
#ACT
TAGMAPMOVE 5
[@PMOVE6]
#ACT
TAGMAPMOVE 6
[@TAGMAPINFO1]
#ACT
TAGMAPINFO 1
GOTO @StdModeFunc99
[@TAGMAPINFO2]
#ACT
TAGMAPINFO 2
GOTO @StdModeFunc99
[@TAGMAPINFO3]
#ACT
TAGMAPINFO 3
GOTO @StdModeFunc99
[@TAGMAPINFO4]
#ACT
TAGMAPINFO 4
GOTO @StdModeFunc99
[@TAGMAPINFO5]
#ACT
TAGMAPINFO 5
GOTO @StdModeFunc99
[@TAGMAPINFO6]
#ACT
TAGMAPINFO 6
GOTO @StdModeFunc99

跳转,延迟

DELAYGOTO 时间(毫秒) 触发字段 换地图是否删除此延时(0或为空时=不删除 1=删除)

DELAYGOTO 20 @火龙珠 表示20毫秒

实例:

完整脚本代码

[@main]
<延迟跳转 /@DelayGoto > <清除延迟 /@ClearDelayGoto > \ \
<返回 /@main >
[@DelayGoto]
#if
#act
DELAYGOTO 3000 @DelayLabel
#say
<清除延迟 /@ClearDelayGoto >
[@DelayLabel]
#say
延迟跳转测试成功!\ \
<返回 /@next >
[@ClearDelayGoto]
#if
#act
CLEARDELAYGOTO
#say
延迟跳转已清除.\ \
<返回 /@next >
;

转职业变性脚本

完整脚本代码

[@SexJob]
请选择转换项目….\ \
『<转换性别 /@ChangSex >』\
『<转换职业 /@ChangJob >』\ \
〖<返回 /@Main >〗 〖<关闭 /@exit >〗
[@ChangSex]
如何你想换性别,这里提供转性别服务\
『<换性别 /@ChangGender >』\ \
〖<返回 /@MemberSexJob >〗 〖<关闭 /@exit >〗
[@ChangGender]
#IF
gender man
#SAY
是不是做猛男没什么意思呀,想不想尝尝做淑女的滋味呀!!!\ \
『<尝尝 /@towoman >』\ \
〖<返回 /@ChangSex >〗 〖<关闭 /@exit >〗
#ELSESAY
是不是做淑女挺累的,想不想尝尝做猛男的滋味呀!!!\ \
『<尝尝 /@toman >』\ \
〖<返回 /@ChangSex >〗 〖<关闭 /@exit >〗
[@toman]
#IF
;CHECKLEVEL 50
#ACT
CHANGEGENDER 0
#SAY
呵呵,你已经变成一位猛男了。\ \
<返回 /@MemberSexJob >
#ELSESAY
你未到50级不能转性别!!!
[@towoman]
#IF
;CHECKLEVEL 50
#ACT
CHANGEGENDER 1
#SAY
呵呵,你已经变成一位淑女了。\ \
〖<返回 /@MemberSexJob >〗 〖<关闭 /@exit >〗
#ELSESAY
你未到50级不能转性别!!!
[@changjob]
如何你想换一换职业,这里提供转职业服务,\
<注:>会员才能具有转职业的功能!!!\ \
『<换职业 /@Chang >』\ \
〖<返回 /@main >〗
[@Chang]
#IF
checkjob warrior
#SAY
是不是做武士不好玩呀,换换别的试试吧!\ \
『<玩玩法师 /@ToWizard >』\
『<玩玩道士 /@Totaos >』\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
#ACT
break
#IF
checkjob wizard
#SAY
是不是做魔法师不好玩呀,换换别的试试吧!\ \
『<玩玩武士 /@Towarr >』\
『<玩玩道士 /@Totaos >』\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
#ACT
break
#IF
checkjob taoist
#SAY
是不是做道士不好玩呀,换换别的试试吧!\ \
『<玩玩武士 /@Towarr >』\
『<玩玩法师 /@ToWizard >』\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
#ACT
break
[@Towarr]
#if
#ACT
CHANGEJOB Warrior
#SAY
呵呵,你已经变成一位武士了。\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
#elsesay
你不是会员!!!\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
[@ToWizard]
#if
#ACT
CHANGEJOB Wizard
#SAY
呵呵,你已经变成一位魔法师了。\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
#elsesay
你不是会员!!!\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗
[@Totaos]
#if
#ACT
CHANGEJOB Taoist
#SAY
呵呵,你已经变成一位道士了。\ \
〖<返回 /@changjob >〗〖<关闭 /@exit >〗

达到多少人在线不允许离线挂机脚本[!]

达到多少人在线不允许离线挂机脚本

完整脚本代码

[@离线挂机]
{
#IF
checklevelex < 35
#act
MessageBox 等级35级以上才能使用离线挂机功能!
break
#if
ISONMAP 0
#act
goto @HumanCount0
break
#if
ISONMAP 3
#act
goto @HumanCount3
break
#if
ISONMAP 5
#act
goto @HumanCount5
break
#elseact
MessageBox 此地图无法使用离线挂机功能!
break
[@HumanCount0]
#IF
checkhum 0 300
#act
MessageBox 此地图挂机人数已满,请选择其他地图挂机!
break
#elseact
goto @开始离线挂机
[@HumanCount3]
#IF
checkhum 3 300
#act
MessageBox 此地图挂机人数已满,请选择其他地图挂机!
break
#elseact
goto @开始离线挂机
[@HumanCount5]
#IF
checkhum 5 300
#act
MessageBox 此地图挂机人数已满,请选择其他地图挂机!
break
#elseact
goto @开始离线挂机
[@开始离线挂机]
目前您只需要花费30万金币即可享受挂机涨经验,泡点的服务\
点击下面的挂机功能后即可回家睡觉了,人物自动挂在安全区泡\
经验.能量及泡红名,还可设置自动回复信息,给好友留言! \
<注意:>在游戏中输入指令[@挂机].同样可以享受挂机服务!\
原则上本区不发展挂机,不希望活死人现象,开区一定成形后\
将逐渐销减离线挂机成分,努力做到让大家聊天有个伴,PK有对象!\
<我要挂机/@@offlinemsg> <–点击后输入留言给好友留言.>\ \
<关闭/@exit>
[@@offlinemsg]
#if
checkgold 300000
#act
take 金币 300000
OFFLINE 60 2000 ;60 2000 说说60秒钟可以获得2000经验
#elseACT
MessageBox 对不起您的金币不够30万,无法启用离线挂机功能!
break
}

酒神弟子完整脚本[!]

以下为酒神弟子完整脚本:

完整脚本代码

[@Main]
我是玛法酒神的嫡传大弟子,也是这家酒馆的老板.\
这次回来正式受了师父的托付,将玛法的古老武学内功,在玛法大陆\
传播开来.当你学习内功并通过修炼,使内功等级逐渐升高后,你的\
战斗力会获得极大的提升.怎么样?有没有兴趣来学习内功?\
<我要学习内功/@学习内功> <兑换玛法珍酿>\
<内功是什么?/@内功说明> <兑换精元丹>\
[@学习内功]
哦?有心思学习这心法了?\
算你有眼光,学习了内功,实力大增,到时候莫说,\
击败肆虐玛法的邪恶生物,就是翻越过雪山,\
找到回家之路也不是不可能.\
那你是想自己学习还是你的英雄学习呢?\
请注意,只有你自己学会内功后,我才会教你的英雄内功.\
<我自己学习/@自己学习> <让我的英雄学吧/@英雄学习>\
<不,我是想将玛法内功心法还给你>\
<返回/@EXit>
[@自己学习]
#if
CHECKREADSKILLNG
#ACT
MESSAGEBOX 你还想再学习?
#ELSEACT
goto @自己学习1
[@自己学习1]
#IF
;检查所需物品
checkitem 玛法内功心法 1
#ACT
take 玛法内功心法 1
READSKILLNG
#ELSEACT
MESSAGEBOX 没有玛法内功心法,你还想学习?
[@英雄学习]
#if
H.CHECKREADSKILLNG
#ACT
MESSAGEBOX 英雄还想再学习?
#ELSEACT
goto @英雄学习1
[@英雄学习1]
#IF
;检查所需物品
H.checkitem 玛法内功心法 1
#ACT
H.take 玛法内功心法 1
H.READSKILLNG
#ELSEACT
MESSAGEBOX 没有玛法内功心法,你还想学习?
[@ReadNGOK]
你学会内功!
[@ReadNGHeroOK]
你的英雄学会内功!
[@ReadNGFail]
你的已经学会内功了呀!
[@ReadNGHeroFail]
你尚未招出你的英雄,或者你的英雄已经学会内功了呀!
[@内功说明]
三龙卫的神威早已铭记在了每个玛法人的心头,他们当年所使用的\
绚丽招式多已经流传于当今的玛法大陆,在不久前几种三龙卫的几乎\
失传的绝技也从藏经阁出世,再度扬威江湖.不过人们所不知道的是\
昔年三龙卫之所以能够扬威玛法,不仅仅靠他们精妙的招式,更是\
因为他们雄厚的内功.随着三龙卫的失踪,这些内功的秘密,也随之\
失传.但只有一种人,他们中间还依旧流传着三龙卫内功的秘密,\
他们,便是三龙卫的后裔!\\
<莫非你就是三龙卫的后裔?/@三龙卫的后裔>
[@三龙卫的后裔]
不,不,我当然不是那些英雄的后裔,我的师父才是!我师父的名号\
相信你一定听过,他就是玛法大陆上酒的传播者,三十年前的第一\
勇士玛法酒神.当年师父正是凭借着他内外双修的高深功力,\
在玛法大陆上横行无阻.这些年来,师父他一直在遵循着他的祖先\
三龙卫的遗志,试图翻越雪山,寻找回家的路.然而,自然之力并非\
人力可敌,师父花了三十年,也不过探索了大雪山一隅,\
为此,他决定从他这代开始,打破三龙卫家族的族规.\ \
<三龙卫的禁密武学从此可以外传了?/@禁密武学外传>
[@禁密武学外传]
不错,师父他相信人定胜天,只要敢于打破常规,必可以找出一条\
回家的道路.因此,师父派我,他的嫡传大弟子,来到盟重酒馆\
这个人来人往的地方,寻找有缘人,将内功的奥妙传播开来.\
一个人找不到回家的路,但相信一万人百万人,一定可以在绵延的\
雪山中,寻找到一条路,通向我们玛法文化的根源!\ \
<我相信我们会找到回家的路的> <返回>
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容