传奇灌篮高手草原五班活动明文脚本配置教程含NPC进入条件五班分层刷怪领奖与机器人定

来源: 作者: 点击:
草原五班活动按明文NPC来做,核心是把“进入资格、分班层数、刷怪坐标、击杀计数、班次奖励、定时开启”六件事写进服务端文本。下面按Hero类写法给通版,GOM、Legend、Blue只改条件命令和变量名即可直接用。

一、活动地图与怪物准备

先确定草原活动地图,假设地图名为Caoyuan,地图号用1000,安全聚拢点设在10005050。五班怪物在MonDB里建五组,名称按一班到五班区分:

一班小兵草原一班卒
二班小兵草原二班卒
三班小兵草原三班卫
四班小兵草原四班将
五班BOSS草原五班教头

怪物名称必须和MonDB的Name完全一致,带空格括号都一致。若走Mongen固定刷怪,Mir200\Envir\MonGen.txt加:

10005050草原一班卒510100249
10008080草原二班卒510100249
1000120120草原三班卫58100249
1000160160草原四班将56100249
1000200200草原五班教头01300249

格式按“地图XY怪物名范围数量间隔分钟集中机率颜色”理解,间隔10表示死后10分钟重刷,BOSS写30分钟更稳。若只做活动期间临时刷,不写MonGen,改由NPC或机器人用MonGen/MonGenEx命令刷。

二、NPC文件与对话入口

NPC放Mir200\Envir\Market_Def,文件名为草原五班使者-1000.txt,对应在MerChant.txt加一行:

草原五班使者1000454510005

字段顺序按“名称地图XY方向所属城堡自动移动刷新间隔”理解,不同引擎MerChant列数会有差异,按本服示例补齐。脚本主体写:

[@main]
\\
草原五班活动\
投入五班令可开启对应班次,击杀全班怪物找我领奖\
当前已开班:一班<G1>二班<G2>三班<G3>四班<G4>五班<$G5>\
\\
开一班@Open1\
开二班@Open2\
开三班@Open3\
开四班@Open4\
开五班@Open5\
班次领奖@GetPrize\
活动规则@Rule\

<G1>到<G5>是全局班次状态,Hero用G1-G5裸变量输出,其他引擎换成自己的全局变量显示方式。若对话不支持直接输出,就在@main先用SendMsg弹当前状态,菜单只保留开班和领奖。

三、分班开启与刷怪

每班用独立全局变量标记是否已开,避免重复刷。以一班为例:

[@Open1]
IFCheckItem五班令1

EqualG10
ACTTake五班令1

SetG11
MonGen草原一班卒100050500100000
SendMsg1草原一班已开启,坐标10005050,击杀全部一班卒后回来领奖!
Goto@main
ELSEACT

IFEqualG11

ACTSendMsg1一班已经开启,无需重复开!

ELSEACT

SendMsg1需要五班令1个才能开启对应班次!

二班到五班复制同样结构,把G1改G2-G5,怪物名改二班到五班,坐标按地图分散。MonGen参数按本引擎调整;Hero可用MonGenEx做范围和颜色,GOM常用MONGENEX,Legend按自身刷怪命令写。若希望点NPC一次性开全部五班,写[@OpenAll]顺序刷五组怪并置G1-G5为1。

四、击杀计数与全班完成

明文做法用个人变量记每班击杀数,怪物死亡在QFunction或MapQuest触发。假设一班要求击杀10个草原一班卒,用个人D变量D1记一班,D2记二班,以此类推。QFunction.txt加:

[@KillMon]
IFEqualG11

CheckKillMonName草原一班卒
ACTIncD11

IFEqualD110

ACTSetG12

SendMsg1你已完成草原一班全部击杀,可找使者领一班奖!
ELSEACT

IFEqualG21

CheckKillMonName草原二班卒
ACTIncD21

IFEqualD210

ACTSetG22

SendMsg1二班完成,可领奖!
IFEqualG31

CheckKillMonName草原三班卫
ACTIncD31

IFEqualD38

ACTSetG32

SendMsg1三班完成,可领奖!
IFEqualG41

CheckKillMonName草原四班将
ACTIncD41

IFEqualD46

ACTSetG42

SendMsg1四班完成,可领奖!
IFEqualG51

CheckKillMonName草原五班教头
ACTIncD51

IFEqualD51

ACTSetG52

SendMsg1五班BOSS完成,可领终极大奖!

G1等全局变量含义改成0未开、1进行中、2已完成;领奖NPC只判断等于2才发东西。若引擎不支持[@KillMon]统一死亡标签,按MonDeath或OnKillMonster标签改;个人变量不用D而用H/U时,登录段先声明。

五、班次领奖脚本

回到NPC领奖分支,按班发不同奖励:

[@GetPrize]
IFEqualG12

ACTGive一班勋章1

GameGold+500
SetG13
SendMsg1领取草原一班奖励:一班勋章1个、元宝500!
Goto@main
ELSEACT

IFEqualG22

ACTGive二班勋章1

GameGold+1000
SetG23
SendMsg1领取草原二班奖励:二班勋章1个、元宝1000!
Goto@main
ELSEACT

IFEqualG32

ACTGive三班勋章1

GameGold+2000
SetG33
SendMsg1领取草原三班奖励:三班勋章1个、元宝2000!
Goto@main
ELSEACT

IFEqualG42

ACTGive四班勋章1

GameGold+4000
SetG43
SendMsg1领取草原四班奖励:四班勋章1个、元宝4000!
Goto@main
ELSEACT

IFEqualG52

ACTGive五班教头令1

Give终极宝箱1
GameGold+10000
SetG53
SendMsg1领取草原五班大奖:教头令1个、终极宝箱1个、元宝10000!
Goto@main
ELSEACT

SendMsg1当前没有已完成的班次,先开对应班并击杀全班怪物!

发元宝命令按本服改,GameGold、GAMEGOLD、YUBI、Point都看M2经济设置;发物品用Give/GAIVE/GIVE统一按DB名称。勋章、宝箱、教头令先在StdItems.DB建好,否则发出来是未知物品。

六、规则菜单与防重复

[@Rule]
IF

ACT

SendMsg1规则:持五班令找使者开对应班;每班刷怪后击杀达标自动标记完成;回NPC领奖后该班置3,不可重复领;五班全开建议按一至五顺序打。
Close

防重复靠两个状态:全局G1-G5控制开班与完成,领奖后改成3彻底锁住。若要做每日重置,登录段或机器人零点把G1-G5写0、个人D1-D5写0;个人变量用H并落盘可跨重启保留,用D临时变量重启会清,按活动周期选。

七、机器人定时整点开班

不想手动点NPC,可用Robot自动开。AutoRunRobot.txt加:

AutoRunNPCMIN30@AutoWuBan

每30分钟检测一次。RobotManage.txt写:

[@AutoWuBan]
IFEqualG10

ACTSetG11

MonGen草原一班卒100050500100000
SendMsg0系统自动开启草原一班,30分钟后自动开二班!
IFEqualG11

EqualG20
ACTSetG21

MonGen草原二班卒100080800100000
SendMsg0草原二班自动开启!
IFEqualG21

EqualG30
ACTSetG31

MonGen草原三班卫1000120120080000
SendMsg0草原三班自动开启!
IFEqualG31

EqualG40
ACTSetG41

MonGen草原四班将1000160160060000
SendMsg0草原四班自动开启!
IFEqualG41

EqualG50
ACTSetG51

MonGen草原五班教头1000200200010000
SendMsg0草原五班BOSS自动开启,击杀后找使者领终极大奖!

机器人命令名各引擎不同,Hero用Robot_def/AutoRunRobot+RobotManage,GOM用Robot_def同类文件,Legend按自身Robot目录改;变量Equal/Small/Large按引擎替换。

八、GOM/GEE改写要点

GOM不用SetG1裸写,用MOVG11、EQUALG10、LARGE/SMALL比较。对话输出写<$G1>。刷怪用MONGENEX或MonGen,死亡触发在QFunction用@MonKill或引擎死亡标签,个人计数用H变量或U变量。领奖段把GameGold换成本服元宝命令,Give保持不变。机器人AutoRun格式若要求#AutoRunNPCRUNONDAY时:分@标签,就改成整点触发而不是每30分钟MIN。

九、Legend改写要点

Legend标签用[@MAIN]大写,条件用CHECKVARGLOBAL一班0这类全局变量命令,不用G1裸变量。刷怪用MonGen或版本专用刷怪函数;死亡计数在OnKillMonster或MapQuest写CheckMonName。领奖用GIVE、GAMEGOLD,变量声明放登录或功能脚本头部。MerChant.txt格式与Hero接近,但脚本段对大小写和括号敏感,复制后逐行核对。

十、Blue改写要点

Blue可用Market脚本做NPC,全局班次放全局变量文件或数据库字段,避免只用临时变量。机器人走Blue定时模块,刷怪用MonGenEx;死亡触发在QFunction对应MonDie标签。个人计数用H变量并在登录初始化,防止新号进活动地图不计数。Blue对路径和变量作用域严格,NPC改完重读脚本,机器人改完重读Robot。

十一、物品与数据库配套

五班令:活动材料,可由草原小怪低概率掉,也可商城兑换,名称必须和NPCCheckItem一致。
一班勋章、二班勋章、三班勋章、四班勋章、五班教头令:头饰或任务物,按Stdmode填,奖励宝箱单独建掉落表。
终极宝箱:开装、元宝、材料均可,爆率写进物品掉落配置,不直接在五班脚本硬发过多防通胀。

十二、排错顺序

1.NPC不显示:查MerChant.txt是否加行,Market_Def文件名是否“草原五班使者-1000.txt”,1000地图必须已加载。
2.点开班没怪:查MonGen命令参数,查地图号1000是否和NPC同图,查怪物名和MonDB一致;Mongen文本改完重启M2,NPCMonGen改完重读脚本。
3.杀怪不计数:查死亡标签名是否本引擎,查CheckKillMonName/CheckMonName名称,查G1是否先置1再进班;个人D变量未在登录声明会不记录。
4.领奖没反应:查G1等是否等于2,若击杀脚本置2但领奖脚本判断条件写错变量就不会发;查Give物品名是否在DB存在;查元宝命令是否本服有效。
5.重复领奖:领奖后没把G1改3,或只改全局没拦第二次;菜单直接判断等于2才发,发完立即置3。
6.机器人不自动开:查AutoRunRobot格式、RobotManage标签名、M2机器人总开关;用M2日志看是否加载Robot文件。
7.重启丢班次:G变量若仅内存、未落盘会清;重要开班状态用QuestDiary变量文件SaveVar/LoadVar,个人进度用H持久变量。
8.五班同开卡图:1000地图同时几百怪会卡,按分班顺序开,每班数量按地图面积缩减;BOSS单独低点范围。

十三、最小可运行明文版

Market_Def\草原五班使者-1000.txt:

[@main]
\\
草原五班\
五班令开对应班,杀完全班找我领奖\
\\
开一班@Open1\
开二班@Open2\
开三班@Open3\
开四班@Open4\
开五班@Open5\
领奖@GetPrize\

[@Open1]
IFCheckItem五班令1

EqualG10
ACTTake五班令1

SetG11
MonGen草原一班卒100050500100000
SendMsg1一班开启!
Goto@main
ELSEACT

SendMsg1需要五班令且一班未开!

[@Open2]
IFCheckItem五班令1

EqualG20
ACTTake五班令1

SetG21
MonGen草原二班卒100080800100000
SendMsg1二班开启!
Goto@main
ELSEACT

SendMsg1需要五班令且二班未开!

[@Open3]
IFCheckItem五班令1

EqualG30
ACTTake五班令1

SetG31
MonGen草原三班卫1000120120080000
SendMsg1三班开启!
Goto@main
ELSEACT

SendMsg1需要五班令且三班未开!

[@Open4]
IFCheckItem五班令1

EqualG40
ACTTake五班令1

SetG41
MonGen草原四班将1000160160060000
SendMsg1四班开启!
Goto@main
ELSEACT

SendMsg1需要五班令且四班未开!

[@Open5]
IFCheckItem五班令1

EqualG50
ACTTake五班令1

SetG51
MonGen草原五班教头1000200200010000
SendMsg1五班BOSS开启!
Goto@main
ELSEACT

SendMsg1需要五班令且五班未开!

[@GetPrize]
IFEqualG12

ACTGive一班勋章1

GameGold+500
SetG13
SendMsg1领一班奖!
Goto@main
IFEqualG22

ACTGive二班勋章1

GameGold+1000
SetG23
SendMsg1领二班奖!
Goto@main
IFEqualG32

ACTGive三班勋章1

GameGold+2000
SetG33
SendMsg1领三班奖!
Goto@main
IFEqualG42

ACTGive四班勋章1

GameGold+4000
SetG43
SendMsg1领四班奖!
Goto@main
IFEqualG52

ACTGive五班教头令1

Give终极宝箱1
GameGold+10000
SetG53
SendMsg1领五班大奖!
Goto@main
ELSEACT

SendMsg1没有已完成班次,先开对应班并杀完全班!

QFunction死亡计数按上面KillMon示例接上,机器人按AutoWuBan示例接上。改地图号、怪物名、数量、元宝数、勋章名后重读NPC和机器人,进1000地图实测一班到五班依次开、击杀计数、领奖锁定即可。
[顶部]