战神引擎 精彩活动 NPC代码
program Mir2;
var
i,j,x,temp : integer;
showName, showPoint, temp_str : string;
rankName : Array [1..100] of String; rankInt : Array [1..100] of integer;
procedure _exit;
begin
This_NPC.CloseDialog(This_Player);
end;
procedure domain;
begin
This_NPC.NpcDialog(This_Player,
+'|< 欢迎来到复古传奇/fcolor=249>'
+'|< 8点到22点活动不停止/fcolor=249>'
+'|< /c=red>'
+'| '
+'|1: <激情泡点/@ji>^<活动规则/@rule~1>'
+'|2: <真假尸王/@zh>^<活动规则/@rule~2>'
// +'|3: <屠宰大赛/@tu>^<活动规则/@rule~3>'
+'|4: <野外BOSS/@ye>^<活动规则/@rule~4>'
+'|5: <马拉松赛/@ma>^<活动规则/@rule~5>'
+'|6: <天降财宝/@ti>^<活动规则/@rule~6>'
+'|7: <比武大会/@bi>^<活动规则/@rule~7>'
+'|8: <怪物攻城/@gu>^<活动规则/@rule~8>'
+'|9: <行会争霸/@ha>^<活动规则/@rule~9>'
+'|< /c=red>'
);
end;
// 362 354 362 360 369 360 369 354
procedure _ji;
begin
if GetMin < 11 then
begin
This_Player.Flyto('3',356+random(3),356+random(3));
This_Player.CallOut(This_NPC,1,'mei');
end else This_Player.PlayerNotice('活动未开启,每个小时的前10分钟开启活动',0);
end;
procedure mei;
var px,py : integer;
begin
px := This_Player.My_X;
py := This_Player.My_Y;
if GetMin < 11 then
begin
if ((px >361)and(px <370)) and((py>353)and(py<361)) then
begin
// if (This_Player.GetV(77,1) <> px) or (This_Player.GetV(77,2) <> py )then
// begin
This_Player.setV(77,1,px);
This_Player.setV(77,2,py) ;
This_Player.Give('经验',100000);
This_Player.CallOut(This_NPC,1,'mei');
// end else
// begin
// This_Player.PlayerNotice('走动起来才能获得经验',0);
// This_Player.CallOut(This_NPC,1,'mei');
// end;
end else
begin
// This_Player.PlayerNotice('超出指定范围,无法获得经验',0);
This_Player.CallOut(This_NPC,1,'mei');
end;
end else
begin
This_Player.Flyto('3',333+random(3),333+random(3));
This_Player.PlayerNotice('活动已结束,请等下次活动开启',0);
end;
end;
procedure _zh;
begin
if (GetHour = 8) and (GetMin < 30) then
begin
if This_Player.Level >= 40 then
begin
if This_Player.GetV(77,3) < 1 then
begin
This_Player.RandomFlyTo('D717~1');
This_Player.SetV(77,3,1);
end else This_Player.PlayerNotice('今天已经参加过一次活动了,请明天再来!!!',0);
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end else This_Player.PlayerNotice('活动未开启,活动开启时间在8:00-8:30之间~~',0);
end;
procedure _tu;
begin
for i:=1 to 100 do
begin
if ReadIniSectionStr('杀怪计数.txt','杀怪角色',inttostr(i)) = '' then
break;
showName:=ReadIniSectionStr('杀怪计数.txt','杀怪角色',inttostr(i));
showPoint:=ReadIniSectionStr('杀怪计数.txt','杀怪计数',showName);
rankName[i]:=showName;
rankInt[i]:=strtoint(showPoint);
end
if showName <> '' then
begin
for i:=1 to 100 do
begin
if rankInt[i] <= 0 then
break;
for j:=1 to 100 do
begin
x:=j+1;
if (rankInt[j] <= 0) or (rankInt[x] <= 0) then
break;
if (rankInt[j] < rankInt[x]) and (rankInt[x] > 0) then
begin
temp := rankInt[j];
rankInt[j] := rankInt[x];
rankInt[x] := temp;
temp_str:=rankName[j];
rankName[j] := rankName[x];
rankName[x] := temp_str;
end
end
end
end
temp_str:='';
for i:=1 to 3 Do
begin
if rankName[i] <> '' then
begin
temp_str:=temp_str+'第'+inttostr(i)+'名 :'+rankName[i]+ '击杀数量:' + inttostr(rankInt[i])+'|'
setg(33,10,i);
end
else
temp_str:=temp_str+'第'+inttostr(i)+'名 : <空缺>|'
end
if (GetHour = 10) and (GetMin < 30) then
begin
if This_Player.Level >= 40 then
begin
if This_Player.GetV(77,4) < 1 then
begin
This_Player.RandomFlyTo('R001~07');
This_Player.SetV(77,4,1);
end else This_Player.PlayerNotice('今天已经参加过一次活动了,请明天再来!!!',0);
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end else
begin
This_NPC.NpcDialog(This_Player,
+'|<屠宰大赛排行榜(仅显示前三名)/fcolor=254>'
+'| '
+temp_str
+'| '
+'|{cmd}<领取奖励/@ling>^<返回上页/@main>'
);
end;
end;
procedure _ling;
begin
if ((GetHour = 10) and (GetMin > 32)) or (GetHour >10) then
begin
if This_Player.GetV(33,11) <> 1 then
begin
if rankName[i] <> '' then
begin
if getg(33,10) = 1 then
begin
This_Player.ScriptRequestAddYBNum(5000);
This_Player.Give('金刚石',100);
This_Player.Give('书页',100);
This_Player.SetV(33,11,1);
This_Player.PlayerNotice('领取第一名奖励成功,获得5000元宝,100金刚石,100书页',2);
ServerSay('屠宰大佬【'+ This_Player.Name +'】领取了屠宰大赛第一名,获得5000元宝,100金刚石,100书页奖励,请其他玩家继续努力,争取获得第一名',5);
end else
if getg(33,10) = 2 then
begin
This_Player.ScriptRequestAddYBNum(2000);
This_Player.Give('金刚石',50);
This_Player.Give('书页',50);
This_Player.SetV(33,11,1);
This_Player.PlayerNotice('领取第二名奖励成功,获得2000元宝,50金刚石,50书页',2);
ServerSay('屠宰大佬【'+ This_Player.Name +'】领取了屠宰大赛第二名,获得2000元宝,50金刚石,50书页奖励,请其他玩家继续努力',5);
end else
if getg(33,10) = 3 then
begin
This_Player.ScriptRequestAddYBNum(1000);
This_Player.Give('金刚石',20);
This_Player.Give('书页',20);
This_Player.SetV(33,11,1);
This_Player.PlayerNotice('领取第三名奖励成功,获得1000元宝,20金刚石,20书页',2);
ServerSay('屠宰大佬【'+ This_Player.Name +'】领取了屠宰大赛第三名,获得1000元宝,20金刚石,20书页奖励,请其他玩家继续努力',5);
end else
begin
This_Player.ScriptRequestAddYBNum(200);
This_Player.Give('金刚石',5);
This_Player.Give('书页',5);
This_Player.SetV(33,11,1);
This_Player.PlayerNotice('领取参与奖成功,获得200元宝,5金刚石,5书页',2);
end;
end else This_Player.PlayerNotice('未参与活动,无法领取奖励,请继续努力',0);
end else This_Player.PlayerNotice('你已领取过奖励,请明天再来',0);
end else This_Player.PlayerNotice('请在活动结束10:32之后再来领取奖励',0);
end;
procedure _ye;
begin
if (GetHour > 11) and (GetHour < 14) then
begin
This_NPC.NpcDialog(This_Player,
+'|听说有些城外在遭遇<野外BOOS/fcolor=249>入侵'
+'|勇士,你有信心去击杀牠们吗???'
+'| '
+'|{cmd}<前往土城城外/@gotomap~1>^<前往白日门城外/@gotomap~2>'
+'|{cmd}<前往比奇城外/@gotomap~3>^<返回上页/@main>'
);
end else This_Player.PlayerNotice('活动未开启,活动开启时间在12:00之后~~',0);
end;
procedure _gotomap(p : string);
begin
if This_Player.Level >= 40 then
begin
case strtoint(P) of
1:
begin
This_Player.Flyto('3',760+random(5),520+random(5));
ServerSay('勇士【'+ This_Player.Name +'】前往土城城外击杀野外BOSS了,让我们祝他大胜而归',5);
end;
2:
begin
This_Player.Flyto('11',360+random(5),90+random(5));
ServerSay('勇士【'+ This_Player.Name +'】前往白日门城外击杀野外BOSS了,让我们祝他大胜而归',5);
end;
3:
begin
This_Player.Flyto('0',620+random(5),500+random(5));
ServerSay('勇士【'+ This_Player.Name +'】前往比奇城外击杀野外BOSS了,让我们祝他大胜而归',5);
end;
end;
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end;
procedure _ma;
begin
if GetG(98,1) > 1 then
begin
if GetMin < 5 then
begin
This_Player.SetV(56,15,0);
This_Player.CallOut(This_Npc, 1, 'Qmmlasong');
This_Player.Flyto('M100', 286, 279);
This_Player.PlayerNotice('活动5分钟正式开始 请做好准备!',2);
This_Player.PlayerNotice('活动5分钟正式开始 请做好准备!',2);
This_Player.PlayerNotice('活动5分钟正式开始 请做好准备!',2);
end else This_Player.PlayerNotice('比赛已开启,你不能进去!',0);
if GetMin >= 10 then
begin
This_Player.PlayerNotice('活动已结束,你不能进去',0);
end;
end else This_Player.PlayerNotice('活动未开启,活动开启时间在14:00-14:05之间',0);
end;
procedure Qmmlasong;
var px, py, rank, temp_exp : integer;
begin
if This_Player.MapName = 'M100' then
This_Player.CallOut(This_NPC,3 ,'Qmmlasong');
if GetMin >= 10 then
begin
This_Player.Flyto('3',330+random(5), 330 +random(5));
This_Player.PlayerNotice('活动已结束,请关注下一次开放时间!',2);exit;
end;
if GetMin >= 5 then
begin
if This_Player.GetV(56,15) = 0 then
begin
This_Player.SetV(56,15,200);
This_Player.PlayerNotice('活动已开始,快向前冲刺吧!',2);
This_Player.PlayerNotice('活动已开始,快向前冲刺吧!',2);
This_Player.PlayerNotice('活动已开始,快向前冲刺吧!',2);
end
px:=This_Player.GetV(56,16);
if This_Player.My_x < 35 then
begin
rank := rank + 1;
if rank <= 3 then
begin
case rank of
1:temp_exp:=50000000;
2:temp_exp:=20000000;
3:temp_exp:=5000000;
end;
This_Player.Flyto('3',330+random(5),330+random(5));
serverSay('恭喜玩家'+This_Player.Name+'在马拉松大赛中获得第'+inttostr(rank)+'名,奖励'+inttostr(temp_exp/10000)+'万经验,奖励'+inttostr(temp_exp/10000)+'元宝',5);
This_Player.Give('经验',temp_exp);
This_Player.ScriptRequestAddYBNum(temp_exp/10000);
This_Player.PlayerNotice('你在本场比赛中获得第'+inttostr(rank)+'名,奖励'+inttostr(temp_exp/10000)+'万经验,奖励'+inttostr(temp_exp/10000)+'元宝',2);
end
else
begin
This_Player.Flyto('3',330+random(5),330+random(5));
This_Player.Give('经验',888888);
This_Player.PlayerNotice('你在本场比赛中未获得名次,获得参与奖励',2);
end
exit;
end;
if This_Player.My_x < px then
begin
This_Player.SetV(56,16,This_Player.My_x);
//This_Player.PlayerNotice('你正在向前冲刺',2);
case random(15) of
10:This_Player.Give('经验',66666);
9:This_Player.Give('经验',28888);
8:This_Player.Give('经验',18888);
7:This_Player.Give('经验',8888);
else
begin
if random(2) > 0 then
This_Player.Give('经验',888);
end
end
end
else
begin
This_Player.SetV(56,16,This_Player.My_x);
This_Player.PlayerNotice('快点向前冲吧',0);
end
end
else
begin
if This_Player.My_x < 283 then
begin
This_Player.Flyto('M100', 286, 279);
This_Player.PlayerNotice('活动还未开始,请回到起跑线',0);
end
end
end;
procedure _ti;
begin
if (GetHour = 16) and (GetMin < 31) then
begin
if This_Player.Level >= 40 then
begin
if This_Player.GetV(77,5) <> 1 then
begin
This_Player.RandomFlyTo('M101~01');
This_Player.SetV(77,5,1);
end else This_Player.PlayerNotice('今天已经参加过一次活动了,请明天再来!!!',0);
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end else This_Player.PlayerNotice('活动未开启,活动开启时间在16:00-16:30之间',0);
end;
procedure _bi;
begin
if (GetHour = 18) and (GetMin < 21) then
begin
if This_Player.Level >= 40 then
begin
if This_Player.GetV(77,6) <> 1 then
begin
This_Player.RandomFlyTo('D5071~30');
This_Player.SetV(77,6,1);
This_Player.CallOut(This_NPC,10,'biwu');
end else This_Player.PlayerNotice('今天已经参加过一次活动了,请明天再来!!!',0);
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end else This_Player.PlayerNotice('活动通道未开启,活动开启时间在18:00-18:20之间',0);
end;
procedure biwu;
begin
if CompareText(This_Player.MapName,'D5071~30') = 0 then
begin
if (GetHour = 18) and (GetMin > 20)and (GetMin < 41) then
begin
if CheckOtherMapHum('D5071~30') = 1 then
begin
This_Player.ScriptRequestAddYBNum(6000);
This_Player.Flyto('3',333+random(5),333+random(5));
ServerSay('大佬【'+ This_Player.Name +'】获得本次比武大会的第一名,奖励6000元宝,本次活动圆满结束',5);
exit;
end;
This_Player.CallOut(This_NPC,10,'biwu');
end;
This_Player.CallOut(This_NPC,10,'biwu');
end;
exit;
end;
procedure _gu;
begin
if GetHour = 20 then
begin
This_Player.PlayerNotice('活动已开启',2);
end else This_Player.PlayerNotice('活动未开启,活动开启时间在20:00-21:00之间',0);
end;
procedure _ha;
begin
if GetHour = 22 then
begin
if This_Player.Level >= 40 then
begin
if This_Player.GuildName <> '' then
begin
if This_Player.GetV(77,7) <> 1 then
begin
This_Player.RandomFlyTo('D5071~30');
This_Player.SetV(77,7,1);
end else This_Player.PlayerNotice('今天已经参加过一次活动了,请明天再来!!!',0);
end else This_Player.PlayerNotice('需要加入行会才能参加活动!!!',0);
end else This_Player.PlayerNotice('需要40级以上才能参加活动!!!',0);
end else This_Player.PlayerNotice('活动未开启,活动开启时间在22:00-23:00之间',0);
end;
procedure _rule(str : string);
begin
case strtoint(str) of
1:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<每个小时的前10分钟开启活动/fcolor=254>'
+'|<点击【激情泡点】参加活动/fcolor=254>'
+'|<在雕像附近可获得经验/fcolor=254>'
+'|<每秒可获得10万经验/fcolor=254>'
+'|<活动结束自动传回土城/fcolor=254>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
2:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<早上8:00开启活动/fcolor=254>'
+'|<点击【真假尸王】参加活动/fcolor=254>'
+'|<传送到真假暗殿/fcolor=254>'
+'|<击杀真尸王可获得大量奖励/fcolor=254>'
+'|<8:30活动结束,玩家自动传回土城/fcolor=254>'
+'|<注:当前活动每天只能参加一次/fcolor=249>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
3:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<上午10:00开启活动/fcolor=254>'
+'|<点击【屠宰大赛】参加活动/fcolor=254>'
+'|<传送到屠宰场/fcolor=254>'
+'|<累计击杀怪物数量/fcolor=254>'
+'|<前三名可获得大量材料奖励/fcolor=254>'
+'|<10:30活动结束,玩家自动传回土城/fcolor=254>'
+'|<注:当前活动每天只能参加一次/fcolor=249>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
4:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<中午12:00开启活动/fcolor=254>'
+'|<点击【野外BOSS】参加活动/fcolor=254>'
+'|<可传送到野外BOSS附近/fcolor=254>'
+'|<击杀野外BOSS可获得额外装备元宝奖励/fcolor=254>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
5:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<下午14:00开启活动/fcolor=254>'
+'|<点击【马拉松赛】参加活动/fcolor=254>'
+'|<传送到马拉松赛道/fcolor=254>'
+'|<前三名可获得大量经验元宝奖励/fcolor=254>'
+'|<14:10活动结束,玩家自动传回土城/fcolor=254>'
+'|<注: 5分后比赛正式开始/fcolor=249>'+
+'|<注: 比赛期间玩家不能进入场地/fcolor=249>'+
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
6:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<下午16:00开启活动/fcolor=254>'
+'|<点击【天降财宝】参加活动/fcolor=254>'
+'|<传送到财神宝库地图/fcolor=254>'
+'|<地图内每分钟刷新一只幸运怪/fcolor=254>'
+'|<击杀怪物必掉幸运珠一颗/fcolor=254>'
+'|<活动结束可在NPC兑换元宝,材料,经验/fcolor=254>'
+'|<每5分钟刷新中量元宝,锁定解除之后可拾取/fcolor=254>'
+'|<16:30活动结束,玩家自动传回土城/fcolor=254>'
+'|<注:玩家死亡,幸运珠消失/fcolor=249>'
+'|<注:当前活动每天只能参加一次/fcolor=249>'
+'|< /c=red>'
+'|{cmd}<兑换/@exchange>^<返回/@main> ^<关闭/@exit>'
);
end;
7:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<下午18:00开启活动/fcolor=254>'
+'|<点击【比武大会】参加活动/fcolor=254>'
+'|<传送到比武赛场/fcolor=254>'
+'|<在活动时间内清空地图所有玩家/fcolor=254>'
+'|<活动结束后即可自动获得高额元宝奖励/fcolor=254>'
+'|<前20分钟可参与活动/fcolor=254>'
+'|<18:40活动结束,玩家自动传回土城/fcolor=254>'
+'|<注:当前活动每天只能参加一次/fcolor=249>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
8:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<需要10位玩家等级大于50级开启/fcolor=254>'
+'|<当前等级大于50级的玩家数量:/fcolor=254>'+ inttostr(GetG(10,8)) +'<个/fcolor=254>'
+'|<晚上午20:00开启活动/fcolor=254>'
+'|<每10分钟刷新一波怪物/fcolor=254>'
+'|<共五波攻城怪,最后一波刷新BOSS/fcolor=254>'
+'|<21:00活动结束,清空盟重城所有怪物/fcolor=254>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
9:
begin
This_NPC.NpcDialog(This_Player,
+'|< /c=red>'
+'| '
+'|<晚上午22:00开启活动/fcolor=254>'
+'|<点击【行会争霸】参加活动/fcolor=254>'
+'|<22:05刷新行会BOSS/fcolor=254>'
+'|<可爆高额元宝奖励/fcolor=254>'
+'|<23:00活动结束,清空地图行会BOSS/fcolor=254>'
+'|<注:当前活动每天只能参加一次/fcolor=249>'
+'|< /c=red>'
+'|{cmd}<返回/@main> ^<关闭/@exit>'
);
end;
end;
end;
procedure _exchange;
begin
if This_Player.GetBagItemCount('幸运珠') < 1 then
begin
This_Player.PlayerNotice('幸运珠不足,不给予查看兑换商品',0);
end else
if This_Player.GetBagItemCount('幸运珠') < 5 then
begin
This_NPC.NpcDialog(This_Player,
+'|<兑换商品显示栏/fcolor=250>'
+'| '
+'|<1颗幸运珠兑换300元宝/fcolor=254> <兑换/@exchange_1~1>'
+'|<1颗幸运珠兑换10金刚石/fcolor=254> <兑换/@exchange_1~2>'
+'|<1颗幸运珠兑换10张书页/fcolor=254> <兑换/@exchange_1~3>'
+'|{cmd}<我在考虑一下/@main>'
);
end else
begin
This_NPC.NpcDialog(This_Player,
+'|<兑换商品显示栏/fcolor=250>'
+'| '
+'|<1颗幸运珠兑换300元宝/fcolor=254> <兑换/@exchange_1~1>'
+'|<1颗幸运珠兑换10/fcolor=254><金刚石/@jing> <兑换/@exchange_1~2>'
+'|<1颗幸运珠兑换10张书页/fcolor=254> <兑换/@exchange_1~3>'
+'|<5颗幸运珠兑换1颗五转晶石/fcolor=254> <兑换/@exchange_1~4>'
+'|<5颗幸运珠兑换1颗五转增幅石/fcolor=254> <兑换/@exchange_1~5>'
+'|<5颗幸运珠兑换1张九品证明/fcolor=254> <兑换/@exchange_1~6>'
+'|{cmd}<我在考虑一下/@main>'
);
end;
end;
procedure _jing;
begin
This_NPC.NpcDialog(This_Player,'<金刚石暂无作用,不过你可以拿去给土城的杂货店的老板看看/fcolor>');
end;
procedure _exchange_1(exc : string);
begin
if This_Player.GetBagItemCount('幸运珠') >= 1 then
begin
case strtoint(exc) of
1:
begin
This_Player.Take('幸运珠',1);
This_Player.ScriptRequestAddYBNum(300);
This_Player.PlayerNotice('兑换成功,获得300元宝,幸运珠扣除1颗',2);
end;
2:
begin
This_Player.Take('幸运珠',1);
This_Player.Give('金刚石',10);
This_Player.PlayerNotice('兑换成功,获得10颗金刚石,幸运珠扣除1颗',2);
end;
3:
begin
This_Player.Take('幸运珠',1);
This_Player.Give('书页',10);
This_Player.PlayerNotice('兑换成功,获得10张书页,幸运珠扣除1颗',2);
end;
4:
begin
if This_Player.GetBagItemCount('幸运珠') >= 5 then
begin
This_Player.Take('幸运珠',5);
This_Player.Give('五转晶石',1);
This_Player.PlayerNotice('兑换成功,获得1颗五转晶石,幸运珠扣除5颗',2);
end else This_Player.PlayerNotice('幸运珠不足,不给予兑换',0);
end;
5:
begin
if This_Player.GetBagItemCount('幸运珠') >= 5 then
begin
This_Player.Take('幸运珠',5);
This_Player.Give('五转增幅石',1);
This_Player.PlayerNotice('兑换成功,获得1颗五转增幅石,幸运珠扣除5颗',2);
end else This_Player.PlayerNotice('幸运珠不足,不给予兑换',0);
end;
6:
begin
if This_Player.GetBagItemCount('幸运珠') >= 5 then
begin
This_Player.Take('幸运珠',5);
This_Player.Give('九品证明',1);
This_Player.PlayerNotice('兑换成功,获得1张九品证明,幸运珠扣除5颗',2);
end else This_Player.PlayerNotice('幸运珠不足,不给予兑换',0);
end;
end;
end else This_Player.PlayerNotice('幸运珠不足,不给予兑换',0);
end;
procedure Execute;
begin
//清除数据
//激情泡点
if GetMin = 0 then
begin
ServerSay('激情泡点活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('激情泡点活动已开启,请从土城每日活动NPC点击进入',0);
end else
if GetMin = 11 then
begin
ServerSay('激情泡点活动已结束,请等待下次活动开启',2);
ServerSay('激情泡点活动已结束,请等待下次活动开启',0);
end;
//真假尸王
if (GetHour = 8) and (GetMin < 1) then
begin
This_NPC.CreateMon('D717~1',55,50,50,'尸王10',150);
This_NPC.CreateMon('D717~1',55,50,50,'尸王11',1);
ServerSay('真假尸王活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('真假尸王活动已开启,请从土城每日活动NPC点击进入',0);
end else
if (GetHour = 8) and (GetMin = 31) then
begin
This_NPC.ClearMon('D717~1');
KickAllHumToMap('D717~1','3',333+random(4),333+random(4));
ServerSay('真假尸王活动已结束,返回土城,请等待明天活动开启',2);
ServerSay('真假尸王活动已结束,返回土城,请等待明天活动开启',0);
end;
//屠宰大赛
{ if (GetHour = 10) and (GetMin < 1) then
begin
ServerSay('屠宰大赛活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('屠宰大赛活动已开启,请从土城每日活动NPC点击进入',0);
end else
if (GetHour = 10) and (GetMin = 31) then
begin
KickAllHumToMap('R001~07','3',333+random(4),333+random(4));
ServerSay('屠宰大赛活动已结束,返回土城,请等待明天活动开启',2);
ServerSay('屠宰大赛活动已结束,返回土城,请等待明天活动开启',0);
end;}
//野外BOSS
if (GetHour = 12) and (GetMin < 1) then
begin
ServerSay('野外BOSS活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('野外BOSS活动已开启,请从土城每日活动NPC点击进入',0);
This_NPC.CreateMon('3',760,520,30,'楔蛾520',20);
This_NPC.CreateMon('3',760,520,30,'野外祖玛教主',1);
ServerSay('野外BOSS祖玛教主刷新在土城的760,520附近,请从土城每日活动NPC点击进入,击杀可获得额外元宝装备奖励',5);
This_NPC.CreateMon('11',360,90,30,'楔蛾520',1);
This_NPC.CreateMon('11',360,90,30,'野外雪域牛魔',1);
ServerSay('野外BOSS雪域牛魔刷新在白日门的360,90附近,请从土城每日活动NPC点击进入,击杀可获得额外元宝装备奖励',5);
This_NPC.CreateMon('0',620,500,30,'楔蛾520',1);
This_NPC.CreateMon('0',620,500,30,'野外毒蚁后',1);
ServerSay('野外BOSS毒蚁后刷新在比奇的620,500附近,请从土城每日活动NPC点击进入,击杀可获得额外元宝装备奖励',5);
end;
//马拉松赛
if GetHour = 14 then
begin
if GetMin < 1 then
begin
serverSay('马拉松赛已开启,请从土城每日活动NPC点击进入',2);
serverSay('马拉松赛已开启,请从土城每日活动NPC点击进入',0);
This_NPC.CreateMon('M100',207,204,20,'楔蛾520',20);
This_NPC.CreateMon('M100',139,162,20,'楔蛾520',20);
This_NPC.CreateMon('M100',88,137,20,'楔蛾520',20);
SetG(98,1,10);
end else
if GetMin = 11 then
begin
This_NPC.ClearMon('M100');
KickAllHumToMap('M100','3',333+random(4),333+random(4));
end;
end else SetG(98,1,0);
//天降财宝
if (GetHour = 16) and (GetMin < 1) then
begin
ServerSay('天降财宝活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('天降财宝活动已开启,请从土城每日活动NPC点击进入',0);
end else
if (GetHour = 16) and (GetMin > 0) and (GetMin < 30) then
begin
This_NPC.CreateMon('M101~01',27,26,20,'GM小弟',1);
ServerSay('幸运怪已刷新在财神宝库中,击杀必爆幸运珠,可兑换元宝,材料,经验',0);
end else
if (GetHour = 16) and (GetMin = 31) then
begin
This_NPC.ClearMon('M101~01');
KickAllHumToMap('M101~01','3',333+random(4),333+random(4));
ServerSay('天降财宝活动已结束,返回土城,请等待明天活动开启',2);
ServerSay('天降财宝活动已结束,返回土城,请等待明天活动开启',0);
end;
//比武大会
if (GetHour = 18) and (GetMin < 1) then
begin
ServerSay('比武大会活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('比武大会活动已开启,请从土城每日活动NPC点击进入',0);
end else
if (GetHour = 18) and (GetMin = 21) then
begin
ServerSay('比武大会活动通道已关闭',2);
ServerSay('比武大会活动通道已关闭',0);
end else
if (GetHour = 16) and (GetMin = 41) then
begin
KickAllHumToMap('D5071~30','3',333+random(4),333+random(4));
ServerSay('比武大会活动已结束,返回土城,请等待明天活动开启',2);
ServerSay('比武大会活动已结束,返回土城,请等待明天活动开启',0);
end;
//怪物攻城
if (GetHour =19) and (GetMin = 55) then
begin
ServerSay('怪物攻城活动还有5分钟开启',2);
ServerSay('怪物攻城活动还有5分钟开启',0);
end;
if GetHour = 20 then
begin
if GetG(10,8) >= 10 then
begin
case GetMin of
0:
begin
This_NPC.CreateMon('3',339,339,10,'楔蛾520',10);
This_NPC.CreateMon('3',321,339,10,'恶灵',10);
This_NPC.CreateMon('3',321,321,10,'行尸',10);
This_NPC.CreateMon('3',339,321,10,'骷髅520',10);
ServerSay('怪物攻城活动已开启',2);
ServerSay('第一波攻城怪已刷新',5);
end;
10:
begin
This_NPC.CreateMon('3',339,339,10,'牛魔斧兵',5);
This_NPC.CreateMon('3',321,339,10,'牛魔锤兵',5);
This_NPC.CreateMon('3',321,321,10,'大刀牛魔2',5);
This_NPC.CreateMon('3',339,321,10,'牛魔刀兵2',5);
ServerSay('第二波攻城怪已刷新',5);
end;
20:
begin
This_NPC.CreateMon('3',339,339,10,'火云锤兵',3);
This_NPC.CreateMon('3',321,339,10,'晚年辰东',3);
This_NPC.CreateMon('3',321,321,10,'火云蝙蝠',3);
This_NPC.CreateMon('3',339,321,10,'火云毒蝎',3);
ServerSay('第三波攻城怪已刷新',5);
end;
30:
begin
This_NPC.CreateMon('3',339,339,10,'冰霜巨人[精]',2);
This_NPC.CreateMon('3',321,339,10,'雪域牛魔[精]',2);
This_NPC.CreateMon('3',321,321,10,'火云狼[精]',2);
This_NPC.CreateMon('3',339,321,10,'火螳螂[精]',2);
ServerSay('第四波攻城怪已刷新',5);
end;
40:
begin
This_NPC.CreateMon('3',339,339,10,'琳琅之主',1);
This_NPC.CreateMon('3',321,339,10,'牛魔王',1);
This_NPC.CreateMon('3',321,321,10,'熔岩巨人[王]',1);
ServerSay('第五波攻城BOSS已刷新',5);
end;
end;
end;
end else
if (GetHour = 21) and (GetMin < 1) then
begin
if GetG(10,8) >= 10 then
begin
This_NPC.ClearMon('3');
ServerSay('怪物攻城活动已结束,请等待明天活动开启',2);
ServerSay('怪物攻城活动已结束,请等待明天活动开启',0);
end;
end;
//行会争霸
if (GetHour = 22) and (GetMin < 1) then
begin
ServerSay('行会争霸活动已开启,请从土城每日活动NPC点击进入',2);
ServerSay('行会争霸活动已开启,请从土城每日活动NPC点击进入',0);
end else
if (GetHour = 22) and (GetMin = 5) then
begin
This_NPC.CreateMon('D5071~30',25,25,10,'行会BOSS',1);
ServerSay('行会BOSS已刷新在行会争霸地图,请从土城每日活动NPC点击进入',5);
end else
if (GetHour = 23) and (GetMin < 1) then
begin
This_NPC.ClearMon('D5071~30');
KickAllHumToMap('D5071~30','3',333+random(4),333+random(4));
ServerSay('行会争霸活动已结束,请等待明天活动开启',2);
ServerSay('行会争霸活动已结束,请等待明天活动开启',0);
end;
end;
begin
if This_Player.GetV(77,77) <> GetDateNum(GetNow) then
begin
This_Player.SetV(77,77,GetDateNum(GetNow));
This_Player.SetV(77,3,0); //活动参与次数
This_Player.SetV(77,4,0); //活动参与次数
This_Player.SetV(77,5,0); //活动参与次数
This_Player.SetV(77,6,0); //活动参与次数
This_Player.SetV(77,7,0); //活动参与次数
end;
domain;
end.
你也可以在这个链接里 找到直接下载 WebDir - OSAAA-游戏经验分享!