战神引擎手游传奇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.
- 上一篇:战神引擎定时怪物攻城脚本
- 下一篇:战神引擎传奇手游私服设置开区补偿脚本