好久没写脚本了,主要是没有什么创意。今天跟大家讲解一下引擎的帮助文件中没有的功能。
1、NPC配置解析
脚本名称 地图名称 X坐标 Y坐标 NPC在游戏里的名称 标志(方向) 形象 是否属于沙 是否移动 移动间隔 变色模式 变色间隔(毫秒) 固定颜色
传送员/封魔 4 237 207 传送使者 0 8 0 0 0 3 2000 0
脚本名称 : 这个写的是脚本存在的目录 是在Mirserver\Mir200\Envir\Market_Def\传送员\封魔-4.txt
地图名称 : 4 这个是NPC所在的地图编号
X坐标 : 237 X坐标与Y坐标就是传奇里NPC的坐标
Y坐标 : 207 X坐标与Y坐标就是传奇里NPC的坐标
NPC在游戏里的名称 : 传送使者 NPC在游戏里该叫什么名字 你设置成什么他就叫什么
标志(方向) : 0 对应的方向(方向大家可以自己调试)
形象 : 8 NPC在游戏里的样子
是否属于沙 : 0 是否是沙城属性的NPC
是否移动 : 0 是否可以自动移动 [MPC可以设置成自己飞行的]
移动间隔 : 0 如果设置成可以移动 多久移动一次
变色模式:1=名字+身体,2=身体变色,3=名字变色.
变色间隔(毫秒)
是否固定颜色:0=不固定,1-7=固定颜色.
说明:在M2的功能设置\其他控制中打开NPC名字变色后有效.
最后一个参数1-7固定颜色时的效果请自己测试.
2、杀怪触发
此触发需要用到MapQuest.txt的文件,在ENVIR下
具体格式:3 [999] 0 某BOSS * 增加攻击力
地图 人物标志 标志状态 怪物名 * 触发脚本
意思是,在盟重地图中,如果人物[999]标志为0,杀掉某BOSS,就触发MapQuest_def文件夹下的脚本文件 增加攻击力.txt
脚本文件例:
[@main]
#if
#act
USEBONUSPOINT 1 + 1
sendmsg 7 你永久增加了1点攻击力
然后杀掉这只怪,就永久增加攻击力,也可以弄成触发爆装备.
如果按下面的脚本写,就三种装备都有机率出,但只出一件,如果想有机率三件都出,只需要把break去掉即可
例:
[@main]
#if
random 10 (代表有1/10的概率)
#act
give XXX装备 1
break
[@main]
#if
random 9 (代表有1/9的概率)
#act
give XX装备 1
break
[@main]
#if
random 1 (代表有1/1的概率)
#act
give X装备 1
break 无忧网络,无忧传奇
3、GMEXECUTE功能
介绍,此功能是为了让NPC能够使用GM的命令
比如大家熟知结义脚本,里面的开始提问,就是用的这个。
GMEXECUTE 开始提问 @XXX(这里用到的就是Qmanage.txt下的@XXX脚本)
具体大家可以参照论坛中的结义脚本及纳妾脚本。
其实这两个脚本有更简单的思路,大家很少用,但这个很有用,就是messagebox命令
例:
[@互动]
#IF
checkmarry
#act
MOV S0 <$FQNAME>
S0.messagebox 【<$USERNAME>】:我要去XXX ,,你愿意去吗。\ <愿意/@愿意> <不愿意/@不愿意>
(messagebox不光是用来弹窗,还可有选择脚本,脚本是在QFunction-0.txt 下面)
QFunction-0.txt 下面 copyright 5uwl
[@愿意]
#IF
checkmarry
#ACT
MOV S0 <$FQNAME>
S0.messagebox 【<$USERNAME>】:愿意跟随你的脚步.
GMexecute 跟踪 <$FQNAME>
(这里也用到了GMexecute功能,其中跟踪就是GM命令,这里的意思就是自己直接飞到老公那里。追杀脚本也是用的这个)
[@不愿意]
#IF
checkmarry
#ACT
MOV S0 <$FQNAME>
S0.messagebox 【<$USERNAME>】:等会有其他事情要办,你先去吧.
4、TestStatus
这也是一个GM命令,大家对此命令并不熟悉,我也只是一知半解
此命令配合Gmexecute 使用
Gmexecute TestStatus 0 0
第一个参数为类型
第二个参数为时间
类型有(不全):
0 为清空所有颜色,还原人物本身颜色
1 红色
2 蓝色
3 黄色
4 紫色
5 麻痹
8 隐身
11 盾
这里特别要为大家讲解下11这个类型,
科普:HERO引擎中,有一个BUG,就是法师套上盾,然后找玩家或者大刀,把自己杀了,如果这时候盾不破,那么下线再上线,就会一直顶着盾不会消失,除非自己上了盾或者挂自
动上盾,才会恢复正常,这时候的盾特别厉害,基本不会破。
这个脚本就比较简单,法师只要上线,系统开盾1秒,然后会自动消失,这样卡的盾就失效了
登陆脚本下面
[@login]
#IF
CHECKLEVELEX > 21
checkjob wizard
#ACT
Gmexecute TestStatus 11 1
;破卡盾脚本
5、地图按时开放
相信大家肯定玩过有些服,特别是复古的,地图都是按时间开放的,那是怎么做到的呢,例:
[3 盟重省] STALL NEEDSET_ON(100)
这个指的是,盟重需要人物标志100为打开状态才能进入
脚本:
登陆脚本
#IF
CHECK [100] 0
equal G65 1
#ACT
SET [100] 1
机器人脚本 公告用的
[@检测地图]
#IF
equal G65 0
#ACT
mov G65 1
SET [100] 1
SendMSG 1 ----------------------------------------------------
SendMSG 1 盟重地图开放,各位玩家即可进入。
SendMSG 1 盟重地图开放,各位玩家即可进入。
SendMSG 1 盟重地图开放,各位玩家即可进入。
SendMSG 1 盟重地图开放,各位玩家即可进入。
SendMSG 1 盟重地图开放,各位玩家即可进入。
SendMSG 1 ----------------------------------------------------
|
|