首先说明下盛大离火封魔阵系统,就是一个防守地图,进入任务地图
后,用封元印召唤守卫,守卫帮你杀怪,防止怪物逃跑然后完成任务
获得奖励。
-----------------------------------------------------
物品数据库需要增加以下物品:
215;封元印1;49;55;1;0;0;0;5050;1;0;0;0;0;0;0;0;0;0;0;0;0;5000;5;;
216;封元印2;49;55;1;0;0;0;5046;1;0;0;0;0;0;0;0;0;0;0;0;0;5000;5;;
217;五行令旗;3;57;1;0;0;0;5040;5;0;0;0;0;0;0;0;0;0;0;0;0;5000;0;5;;
脚本命令UpgradeUserItemEx支持调整封元印中所封印的怪物类型:
UpgradeUserItemEx 封元印ID 1 = X
X取值1-10,一般用5和6即可
示范1:
#ACT
Give 封元印1 1
UpgradeUserItemEx $PARAM(0) 1 = 5
SENDMSG 5 你获得一张地火兽弓箭手封印!
break
示范2:
#ACT
Give 封元印2 1
UpgradeUserItemEx $PARAM(0) 1 = 6
SENDMSG 5 你获得一张猛魔统领封印!
break
-----------------------------------------------------
织梦好,好织梦 地图MapInfo.txt中添加以下代码:
[wxxg001 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE
[<wxxg001>lhfmz1 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE MAPFUNC(288)
[<wxxg001>lhfmz2 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE MAPFUNC(288)
[<wxxg001>lhfmz3 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE MAPFUNC(288)
[<wxxg001>lhfmz4 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE MAPFUNC(288)
[<wxxg001>lhfmz5 离火封魔阵] NORECONNECT(MH001) NORECALL NOGUILDRECALL NODEARRECALL NOMasterRECALL NOFRIENDRECALL NOPOSITIONMOVE NORANDOMMOVE MAPFUNC(288)
copyright dedecms
lhfmz1 25 28 -> lhfmz1 18 35
lhfmz1 19 34 -> lhfmz1 26 27
lhfmz2 25 28 -> lhfmz2 18 35
lhfmz2 19 34 -> lhfmz2 26 27
lhfmz3 25 28 -> lhfmz3 18 35
lhfmz3 19 34 -> lhfmz3 26 27
lhfmz4 25 28 -> lhfmz4 18 35
copyright dedecms lhfmz4 19 34 -> lhfmz4 26 27
lhfmz5 25 28 -> lhfmz5 18 35
lhfmz5 19 34 -> lhfmz5 26 27
从客户端MAP文件夹中找到lhfmz.nmp地图文件,改名成wxxg001.nmp后,复制到
中的MAP文件夹中,因为封魔阵的功能发包必须要在wxxg001地图号上才能
进行,所以需要这样设置。
-----------------------------------------------------
打开D:\Cmirserver\mir200\Envir\Merchant.txt文件,在最后面添加以下NPC信息
镜像 <lhfmz1>lhfmz5 15 37 封元守卫 0 48 0 0 0
镜像 <lhfmz1>lhfmz4 15 37 封元守卫 0 48 0 0 0
dedecms.com
镜像 <lhfmz1>lhfmz3 15 37 封元守卫 0 48 0 0 0
镜像 <lhfmz1>lhfmz2 15 37 封元守卫 0 48 0 0 0
封元守卫 lhfmz1 15 37 封元守卫 0 48 0 0 0
封元守卫 MH001 109 81 封元守卫 0 48 0 0 0
然后将压缩包内的“灭魔守卫-MH001.txt”和“封元守卫-lhfmz1.txt”两个NPC
文本复制到D:\Cmirserver\mir200\Envir\market_def\目录下
其中“灭魔守卫-MH001.txt”为特殊NPC,脚本已经全部做好,大家可以参照修改!
-----------------------------------------------------
A、增加进入封魔阵后的倒计时数字和烧香动画命令 STARTLHFM 参数1
参数1:时间,单位秒,前20秒为固定的倒计时数字,后面的为烧香动画。
copyright dedecms 示范:(需要在封魔阵地图中使用才有效果)
#ACT
STARTLHFM 620
break
-----------------------------------------------------
B、增加脚本命令:LHZEXIT 参数1 参数2 参数3
参数1为类型,1为逃跑怪物数量,2为封元神力数
参数2为数值
参数3只有在参数1为2时,设置为1表示不闪光,设置为0为闪光
示范1:(需要在封魔阵地图中使用才有效果)
#ACT
MOV P0 $LHZEXIT.1
INC P0 1
LHZEXIT 1 $STR(P0)
SENDMSG 5 你当前的逃跑怪物数量为:<$LHZEXIT.1>个
break
示范2:(需要在封魔阵地图中使用才有效果)
#ACT
MOV P1 $LHZEXIT.2
INC P1 1
LHZEXIT 2 $STR(P1) 0
SENDMSG 5 你当前的封元神力数量为:<$LHZEXIT.2>点,带闪光效果!
break
#ACT
MOV P1 $LHZEXIT.2
INC P1 1
LHZEXIT 2 $STR(P1) 1
SENDMSG 5 你当前的封元神力数量为:<$LHZEXIT.2>点,不带闪光效果!
break
-----------------------------------------------------
copyright dedecms C、增加脚本命令:ENDLHFM 参数1 参数2 参数3 //设置怪物轮次的显示
作用:是在进行防守的时候,一共有6轮,每过一轮就用这个命令来显示!
参数1:所过轮次
参数2:防守类型(0:防守失败、1:勉强防守、2:优异防守、3:完美防守)
参数3:每轮防守所得经验,最小单位10000
示范1:(需要在封魔阵地图中使用才有效果)
#ACT
MOV P3 $LHZEXIT.0
INC P3 1
ENDLHFM $STR(P3) 1 30000
SENDMSG 5 你当前为勉强过关,获得3万经验!
break
-----------------------------------------------------
D、增加脚本变量:<$LHZEXIT.X> X取值0、1、2
提取脚本显示当前个人以上3种类型变量的值
<$LHZEXIT.0> //表示显示个人的当前当前轮次数量
<$LHZEXIT.1> //表示显示个人的当前逃跑怪物数量
<$LHZEXIT.2> //表示显示个人的当前封元神力数量
-----------------------------------------------------
dedecms.com
E、增加防守结束时的效果弹窗命令:
INFOLHZ 参数1 参数2 参数3 参数4
参数1:防守所用时间,单位秒
参数2:防守类型(0:防守失败、1:勉强防守、2:优异防守、3:完美防守)
参数3:逃跑怪物数量,可用变量<$LHZEXIT.1>
参数4:最终奖励说明,字符串类的文字,用/可以换行显示
示范1:(需要在封魔阵地图中使用才有效果)
#ACT
INFOLHZ 128 2 $LHZEXIT.1 18000经验/冰封工作室设计
break
在弹出最终奖励窗口后会有3个按钮,点击它们会触发功能脚本中[@防守结束]标签,
在该脚本段下会保存以下信息:
$PARAM(0)=0,离开
$PARAM(0)=1,领取酬劳
$PARAM(0)=2,再来一次
很遗憾,你未能获得酬劳。
-----------------------------------------------------
F、增加一种新的怪物类型:
怪物类型 Race = 12;此类怪物被攻击都不反击,只顾自己走路,主要用于
织梦内容管理系统 制作封魔阵中逃跑类的怪物使用!
-----------------------------------------------------
G、地图特殊事件触发:MapEvent.txt 增加触发条件类型8,
lhfmz1 34 36 0 -1:1 8:*:0 0 1:@机器人清理1
lhfmz2 34 36 0 -1:1 8:*:0 0 1:@机器人清理2
lhfmz3 34 36 0 -1:1 8:*:0 0 1:@机器人清理3
lhfmz4 34 36 0 -1:1 8:*:0 0 1:@机器人清理4
lhfmz5 34 36 0 -1:1 8:*:0 0 1:@机器人清理5
功能作用:
在指定地图中,任何怪物移动到坐标34:36上,就会被自动清理删除,在删
除的公式,会让机器人触发一次机器人脚本RobotManage.txt中的执行触发
标签[@机器人清理1],并在该标签下用$PARAM(0)保存当前被清理的怪物名字
此功能不清理玩家宝宝,只作用于怪物类!
该功能主要用于封魔阵怪物逃跑清理,已经增加玩家的怪物逃跑数量,机器
人触发脚本后,就用广播命令,让目标地图里的玩家的怪物逃跑数量增加!
本文来自织梦 示范:机器人脚本RobotManage.txt中添加以下信息:
[@机器人清理1]
#ACT
GMEXECUTE 在线提问 @封魔阵地图1
break
[@机器人清理2]
#ACT
GMEXECUTE 在线提问 @封魔阵地图2
break
[@机器人清理3]
#ACT
GMEXECUTE 在线提问 @封魔阵地图3
break
[@机器人清理4]
#ACT
GMEXECUTE 在线提问 @封魔阵地图4
break
[@机器人清理5]
#ACT
GMEXECUTE 在线提问 @封魔阵地图5
break
-------------------------
在登陆脚本QManage.txt中添加以下信息:
[@封魔阵地图1]
#IF
ISSHADOW
#ACT
break
#IF
CHECKMAPNAME lhfmz1
#ACT
MOV P7 $LHZEXIT.1
INC P7 1
LHZEXIT 1 $STR(P7)
break
[@封魔阵地图2]
#IF
ISSHADOW
#ACT
break
#IF
CHECKMAPNAME lhfmz2
#ACT
MOV P7 $LHZEXIT.1
INC P7 1
LHZEXIT 1 $STR(P7)
break
[@封魔阵地图3]
#IF
ISSHADOW
#ACT
break
#IF
CHECKMAPNAME lhfmz3
dedecms.com #ACT
MOV P7 $LHZEXIT.1
INC P7 1
LHZEXIT 1 $STR(P7)
break
[@封魔阵地图4]
#IF
ISSHADOW
#ACT
break
#IF
CHECKMAPNAME lhfmz4
#ACT
MOV P7 $LHZEXIT.1
INC P7 1
LHZEXIT 1 $STR(P7)
break
[@封魔阵地图5]
#IF
ISSHADOW
#ACT
break
#IF
CHECKMAPNAME lhfmz5
#ACT
MOV P7 $LHZEXIT.1
INC P7 1
LHZEXIT 1 $STR(P7)
break
//用于怪物逃跑数量增加设计
★此功能不仅仅适用于离火阵地图,还可以在任意地图中使用,可以发挥
★不同的功能,比如制作怪物围攻中州,玩家可以防守,怪物从中州4个城
★门处向指定坐标进攻,全体玩家参与防守,如果怪物达到指定坐标被清理
★了指定数量,就防守失败等等,可以灵活发挥!
-----------------------------------------------------
H、增加一个新的脚本命令,可设置让怪物按设置路线行走,并达到指定坐标,
该命令不仅作用于封魔阵,让怪物可转弯行走路线,可以用于设计各种怪物
内容来自dedecms 攻城活动,特别是让怪物按照你设定好的路线进行行走!
--------------------------------
MISS1 $M //怪物刷新地图
MISS2 6 P51 //有多少个X坐标点,起始坐标点保存的变量
MISS3 6 P61 //有多少个Y坐标点,起始坐标点保存的变量
MISS4 0 //怪物刷新范围
MOBPLACEKZ 僵尸30 僵尸 //怪物名字,怪物新名字
break
//第一个坐标为中点坐标,最后一个是刷怪坐标。
--------------------------------
示范1使用:(通过MOV来赋值坐标点,就和连直线一样)
#ACT
MOV P51 34
MOV P52 43
MOV P53 31
MOV P54 19
MOV P55 32
MOV P56 18
MOV P61 36
MOV P62 27
MOV P63 15
MOV P64 27
MOV P65 40
MOV P66 54
MISS1 $M
MISS2 6 P51
MISS3 6 P61
MISS4 0
MOBPLACEKZ 僵尸30 僵尸
break
//以上这个是封魔阵中的刷怪和怪物行走路线设置,当怪物达到
MapEvent.txt里设置的清理坐标后,会被清理,并让机器人触
dedecms.com
发指定脚本。
★你可以使用此功能来让指定心魔在各个城市里转圈都可以!
-----------------------------------------------------
I、增加一个新的召唤宝宝的脚本命令:
RECALLMOBS 参数1 参数2 参数3 参数4 参数5 参数6
参数1:怪物名字(为SELF表示克隆一个自己的心魔来作为宝宝,可用于设计影子功能)
参数2:刷新地图
参数3:刷新坐标X
参数4:刷新坐标Y
参数5:是否可移动(0为固定在刷新坐标上,不能移动,主人换地图也不移动,1为可移动和常规宝宝一样)
参数6:宝宝新名字
该命令主要用于封魔阵中召唤守卫使用,当然也可以在其它地方
使用,巧妙的使用改命令可以获得意想不到的设计!
示范1:
#ACT
RECALLMOBS 地火兽弓箭手 $M $PARAM(2) $PARAM(3) 0 地火兽弓箭手
break
#ACT
RECALLMOBS 猛魔统领 $M $PARAM(2) $PARAM(3) 0 猛魔统领
内容来自dedecms
break
#ACT
MOV S1 $USERNAME
INC S1 /(
INC S1 $USERNAME
INC S1 的影子)
RECALLMOBS SELF $M $X $Y 1 猛魔统领 $STR(S1)
break
-----------------------------------------------------
J、增加在封魔阵地图中将“封元印”拖动到各个召唤点上,将触发
功能脚本中[@封魔召怪]脚本标签,并在该触发段下保存以下信息:
$PARAM(0) //用于拖动的物品“封元印”的ID序号
$PARAM(1) //用于拖动的物品“封元印”的物品名字,带数字
$PARAM(2) //目标点的坐标X
$PARAM(3) //目标点的坐标Y
$PARAM(4) //目标点上是否有怪物,0为没有,1为有怪物
脚本示范1:在功能脚本QFunction-0.txt中任意位置增加以下脚本:
[@封魔召怪]
#IF
EQUAL $PARAM(4) 0
#ACT
#ELSEACT
break
#IF
SMALL $LHZEXIT.2 2
#ACT
SENDMSG 5 封元神力不足2点,无法再次召唤守卫!
break
#IF
EQUAL $ItemEx.$PARAM(0).1 5
#ACT
MOV P8 $LHZEXIT.2
织梦好,好织梦 DEC P8 2
LHZEXIT 2 $STR(P8) 1
takeid $PARAM(0)
RECALLMOBS 地火兽弓箭手 $M $PARAM(2) $PARAM(3) 0 地火兽弓箭手
break
#IF
EQUAL $ItemEx.$PARAM(0).1 6
#ACT
MOV P8 $LHZEXIT.2
DEC P8 2
LHZEXIT 2 $STR(P8) 1
takeid $PARAM(0)
RECALLMOBS 猛魔统领 $M $PARAM(2) $PARAM(3) 0 猛魔统领
break
#ELSEACT
MOV P8 $LHZEXIT.2
DEC P8 2
LHZEXIT 2 $STR(P8) 1
takeid $PARAM(0)
RECALLMOBS 地火兽弓箭手 $M $PARAM(2) $PARAM(3) 0 地火兽弓箭手
break
★说明下盛大官方的封元印召唤守卫,刚进封魔阵默认是有5点封元神力,
每召唤一只守卫封元神力减少2点,不足2点无法召唤,然后,守卫每杀
死一只逃跑怪物,封元神力加获得+1
参照最上面的地图参数中有杀怪触发 MAPFUNC(288) 参数,守卫帮你杀
怪,你将触发登陆脚本QManage.txt中[@mapfunc288]段,脚本照以下写
[@mapfunc288]
#ACT
MOV P9 $LHZEXIT.2
INC P9 1
LHZEXIT 2 $STR(P9) 0
本文来自织梦
break
//杀死一个怪物,你的封元神力加获得+1
-----------------------------------------------------
最终的关于封魔阵中各种奖励的设计就自行开发了!