最新最全最权威的各类手游,端游,页游游戏信息开服信息,尽在游民之家. 订阅微信

战神引擎手游传奇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.