战神引擎手游传奇SF里怪物攻城加强版
发表时间:2020-01-08 11:02点击人气:责任编辑:admin
内容:10分钟一波怪,共5波,5波后过10分钟 清理所有攻城召唤出来的怪
跨小时也一样实时生效,本脚本不会照成跨小时不刷BOSS,没有任何时间限制
优点:此脚本 GM在线点击NPC设置生效,方便快捷:
注意:修改任何脚本之前,请先备份,测试无误后再使用
用到的全局变量是56,如有冲突请自行修改
添加方法:
1:在任何NPC里加入 脚本内容 procedure Execute 这一段(即395行- 555行) ,然后控制后台随便放都行,融入方法自己决定。
2:直接添加npc ( 在PsNpcScript.txt 文本里添加这一行
怪物攻城 3 333 333 怪物攻城 0 12 0 61
然后把 怪物攻城-3.pas 这个脚本放入NPC目录即可。
对脚本不太熟悉的 建议直接使用第2种方法
注意事项:
脚本npc必须放在刷怪的所在地图,比如刷怪在盟重,NPC就要放在盟重,不然会照成怪物呆滞不走。
脚本内容如下:
PROGRAM Mir2;
var zhou,xs,fz : Integer; //全局变量
Procedure _doexit;
begin
This_Npc.CloseDialog(This_Player);
end;
procedure _Exit;
begin
This_Npc.CloseDialog(This_Player);
end;
//------------------怪物攻城时间-------------
procedure _gongcheng;
begin
zhou := GetG(56,1);
xs := GetG(56,6);
fz := GetG(56,7);
This_NPC.NpcDialog(This_Player,
'|当前怪物攻城时间:星期'+inttostr(zhou)+' '+inttostr(xs)+'时 '+inttostr(fz)+'分\'
+'|请设置怪物攻城时间\ '
+'|\'
+'|{cmd}<星期/@zhou>^<小时/@xs> ^<分钟/@fz>\'
+'|\'
+'|{cmd}<返回/@main> \'
);
end;
procedure _zhou;
begin
This_NPC.NpcDialog(This_Player,
'|当前怪物攻城时间:星期'+inttostr(zhou)+' '+inttostr(xs)+'时 '+inttostr(fz)+'分\'
+'|请设置怪物攻城时间\ '
+'|\'
+'|{cmd}<周1/@zhou1> ^<周2/@zhou2> ^<周3/@zhou3> ^<周4/@zhou4>^<周5/@zhou5>^<周6/@zhou6>^<周7/@zhou7>\'
+'|\'
+'|{cmd}<返回/@gongcheng> \'
);
end;
procedure _xs;
begin
This_NPC.NpcDialog(This_Player,
'|当前怪物攻城时间:星期'+inttostr(zhou)+' '+inttostr(xs)+'时 '+inttostr(fz)+'分\'
+'|请设置怪物攻城时间\ '
+'|{cmd}<1点/@hour01>^<2点/@hour02> ^<3点/@hour03> ^<4点/@hour04> ^<5点/@hour05> ^<6点/@hour06>\'
+'|{cmd}<7点/@hour07>^<8点/@hour08> ^<9点/@hour09> ^<10点/@hour010> ^<11点/@hour011> ^<12点/@hour012>\'
+'|{cmd}<13点/@hour013>^<14点/@hour014> ^<15点/@hour015> ^<16点/@hour016> ^<17点/@hour017> ^<18点/@hour018>\'
+'|{cmd}<19点/@hour019>^<20点/@hour020> ^<21点/@hour021> ^<22点/@hour022> ^<23点/@hour023> ^<0点/@hour00>\'
+'|{cmd}<返回/@gongcheng> \'
);
end;
procedure _fz;
begin
This_NPC.NpcDialog(This_Player,
'|当前怪物攻城时间:星期'+inttostr(zhou)+' '+inttostr(xs)+'时 '+inttostr(fz)+'分\'
+'|请设置怪物攻城时间\ '
+'|{cmd}<5分/@mi05>^<10分/@mi010> ^<15分/@mi015> ^<20分/@mi020> ^<25分/@mi025> ^<30分/@mi030>\'
+'|{cmd}<35分/@mi035>^<40分/@mi040> ^<45分/@mi045> ^<50分/@mi050> ^<55分/@mi055> ^<0分/@mi00>\'
+'|{cmd}<返回/@gongcheng> \'
);
end;
//=============怪物攻城--周----------------
procedure _zhou1;
begin
SetG(56,1,1);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou2;
begin
SetG(56,1,2);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou3;
begin
SetG(56,1,3);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou4;
begin
SetG(56,1,4);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou5;
begin
SetG(56,1,5);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou6;
begin
SetG(56,1,6);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _zhou7;
begin
SetG(56,1,7);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
//=============怪物攻城--小时----------------
procedure _hour01;
begin
SetG(56,6,1);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour02;
begin
SetG(56,6,2);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour03;
begin
SetG(56,6,3);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour04;
begin
SetG(56,6,4);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour05;
begin
SetG(56,6,5);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour06;
begin
SetG(56,6,6);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour07;
begin
SetG(56,6,7);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour08;
begin
SetG(56,6,8);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour09;
begin
SetG(56,6,9);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour010;
begin
SetG(56,6,10);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour011;
begin
SetG(56,6,11);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour012;
begin
SetG(56,6,12);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour013;
begin
SetG(56,6,13);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour014;
begin
SetG(56,6,14);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour015;
begin
SetG(56,6,15);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour016;
begin
SetG(56,6,16);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour017;
begin
SetG(56,6,17);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour018;
begin
SetG(56,6,18);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour019;
begin
SetG(56,6,19);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour020;
begin
SetG(56,6,20);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour021;
begin
SetG(56,6,21);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour022;
begin
SetG(56,6,22);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour023;
begin
SetG(56,6,23);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _hour00;
begin
SetG(56,6,0);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi00;
begin
SetG(56,7,0);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi05;
begin
SetG(56,7,5);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi010;
begin
SetG(56,7,10);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi015;
begin
SetG(56,7,15);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi020;
begin
SetG(56,7,20);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi025;
begin
SetG(56,7,25);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi030;
begin
SetG(56,7,30);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi035;
begin
SetG(56,7,35);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi040;
begin
SetG(56,7,40);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi045;
begin
SetG(56,7,45);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi050;
begin
SetG(56,7,50);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure _mi055;
begin
SetG(56,7,55);
This_NPC.NpcDialog(This_Player,
'设置成功!\|'
+'{cmd}<返回/@gongcheng>');
end;
procedure Execute;
var
gmin,ghour : integer;
zhou , xs , fz : Integer; //全局变量
begin
zhou := GetG(56,1);
xs := GetG(56,6);
fz := GetG(56,7);
gmin := GetMin;
ghour := GetHour;
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz-3) then //定时刷怪时间点
begin
This_NPC.NpcNotice('【BOSS来袭】盟重大量BOSS于3分钟后来袭,请做好迎战准备!');
end;
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz-1) then //定时刷怪时间点
begin
This_NPC.NpcNotice('【BOSS来袭】盟重大量BOSS于1分钟后来袭,请做好迎战准备!');
end;
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',364,343,2,'邪恶毒蛇',3);
This_NPC.CreateMon('3',364,343,2,'白野猪',3);
This_NPC.CreateMon('3',364,343,2,'虹魔蝎卫',1);
This_NPC.CreateMon('3',364,343,2,'虹魔猪卫',1);
This_NPC.CreateMon('3',364,343,2,'虹魔教主',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【虹魔军团来袭】:当前第 1 波,每隔10分钟一波,共5波');
end;
if (ghour > xs) and (gmin < fz) then
begin
if (GetDayOfWeek = zhou) and (GetHour = xs+1) and (GetMin = (fz+10)-60) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',309,350,3,'牛魔祭司',5);
This_NPC.CreateMon('3',309,351,3,'牛魔将军',5);
This_NPC.CreateMon('3',308,349,3,'黄泉教主',1);
This_NPC.CreateMon('3',308,350,3,'地藏魔王',1);
This_NPC.CreateMon('3',308,351,3,'牛魔王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【牛魔军团来袭】:当前第 2 波,每隔10分钟一波,共5波');
end;
end
else
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz+10) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',309,350,3,'牛魔祭司',5);
This_NPC.CreateMon('3',309,351,3,'牛魔将军',5);
This_NPC.CreateMon('3',308,349,3,'黄泉教主',1);
This_NPC.CreateMon('3',308,350,3,'地藏魔王',1);
This_NPC.CreateMon('3',308,351,3,'牛魔王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【牛魔军团来袭】:当前第 2 波,每隔10分钟一波,共5波');
end;
//end;
if (ghour > xs) and (gmin < fz) then
begin
if (GetDayOfWeek = zhou) and (GetHour = xs+1) and (GetMin = (fz+20)-60) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',330,332,5,'祖玛雕像3',5);
This_NPC.CreateMon('3',330,331,5,'祖玛弓箭手3',5);
This_NPC.CreateMon('3',328,324,5,'祖玛卫士3',5);
This_NPC.CreateMon('3',332,330,5,'祖玛教主',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【祖玛军团来袭】:当前第 3 波,每隔10分钟一波,共5波');
end;
end
else
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz+20) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',330,332,5,'祖玛雕像3',5);
This_NPC.CreateMon('3',330,331,5,'祖玛弓箭手3',5);
This_NPC.CreateMon('3',328,324,5,'祖玛卫士3',5);
This_NPC.CreateMon('3',332,330,5,'祖玛教主',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【祖玛军团来袭】:当前第 3 波,每隔10分钟一波,共5波');
end;
if (ghour > xs) and (gmin < fz) then
begin
if (GetDayOfWeek = zhou) and (GetHour = xs+1) and (GetMin = (fz+30)-60) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',309,350,5,'冰异狼蛛',5);
This_NPC.CreateMon('3',309,350,5,'绿魔蜘蛛',5);
This_NPC.CreateMon('3',309,350,5,'狂热火蜥蜴',1);
This_NPC.CreateMon('3',309,350,5,'火焰蛇王',1);
This_NPC.CreateMon('3',309,350,5,'金杖蜘蛛',1);
This_NPC.CreateMon('3',309,350,5,'雷炎蛛王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【雷炎军团来袭】:当前第 4 波,每隔10分钟一波,共5波');
end;
end
else
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz+30) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',309,350,5,'冰异狼蛛',5);
This_NPC.CreateMon('3',309,350,5,'绿魔蜘蛛',5);
This_NPC.CreateMon('3',309,350,5,'狂热火蜥蜴',1);
This_NPC.CreateMon('3',309,350,5,'火焰蛇王',1);
This_NPC.CreateMon('3',309,350,5,'金杖蜘蛛',1);
This_NPC.CreateMon('3',309,350,5,'雷炎蛛王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【雷炎军团来袭】:当前第 4 波,每隔10分钟一波,共5波');
end;
if (ghour > xs) and (gmin < fz) then
begin
if (GetDayOfWeek = zhou) and (GetHour = xs+1) and (GetMin = (fz+40)-60) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',379,322,5,'雪域战将',2);
This_NPC.CreateMon('3',379,322,5,'雪域侍卫',2);
This_NPC.CreateMon('3',379,322,5,'雪域卫士',2);
This_NPC.CreateMon('3',379,322,5,'雪域五毒魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域寒冰魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域灭天魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域天将',1);
This_NPC.CreateMon('3',379,322,5,'雪域魔王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【雪域军团来袭】:当前第 5 波,每隔10分钟一波,共5波');
ServerSay('【BOSS来袭】:十分钟后,所有BOSS将被系统清理。',2); //0红色,1绿色,2蓝色,3粉色
end;
end
else
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz+40) then //定时刷怪时间点
begin
This_NPC.CreateMon('3',379,322,5,'雪域战将',2);
This_NPC.CreateMon('3',379,322,5,'雪域侍卫',2);
This_NPC.CreateMon('3',379,322,5,'雪域卫士',2);
This_NPC.CreateMon('3',379,322,5,'雪域五毒魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域寒冰魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域灭天魔',2);
This_NPC.CreateMon('3',379,322,5,'雪域天将',1);
This_NPC.CreateMon('3',379,322,5,'雪域魔王',1);
This_NPC.SetMonTargetXY(333,333);
This_NPC.NpcNotice('【雪域军团来袭】:当前第 5 波,每隔10分钟一波,共5波');
ServerSay('【BOSS来袭】:十分钟后,所有BOSS将被系统清理。',2); //0红色,1绿色,2蓝色,3粉色
end;
if (ghour > xs) and (gmin < fz) then
begin
if (GetDayOfWeek = zhou) and (GetHour = xs+1) and (GetMin = (fz+50)-60) then //定时刷怪时间点
begin
This_NPC.ClearMon('3');
ServerSay('【BOSS来袭】:本次BOSS来袭活动结束!',2); //0红色,1绿色,2蓝色,3粉色
end;
end
else
if (GetDayOfWeek = zhou) and (GetHour = xs) and (GetMin = fz+50) then
begin
This_NPC.ClearMon('3');
ServerSay('【BOSS来袭】:本次BOSS来袭活动结束!',2); //0红色,1绿色,2蓝色,3粉色
end;
end;
Begin
//怪物攻城时间 格式:星期几 几点 几分 怪物攻城
zhou := GetG(56,1); //星期几
xs := GetG(56,6); //小时
fz := GetG(56,7); //分钟
if This_Player.GMLevel > 0 then
begin
This_Npc.NpcDialog(This_Player,
'尊敬的GM你好:\ \'
+ '|{cmd}<怪物攻城时间设置/@gongcheng> \'
);
end else begin
This_Npc.NpcDialog(This_Player,
'你不是管理员,无法为你服务\ \'
);
end;
end.
- 上一篇:战神引擎定时怪物攻城脚本
- 下一篇:战神引擎传奇手游私服设置开区补偿脚本