战神引擎 精彩活动 NPC代码

阿酱2024-03-13 21:51:30318

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-游戏经验分享

文章评论

OSAAA-游戏经验分享是一个专注于手游技巧,PC游戏和单机游戏的技术交流平台.提供原创博客,游戏攻略,游戏问答,游戏指南与提示等.用户可以在这里分享游戏资讯,评论,资源,脚本,视频,教程,经验心得等。
请先 登录 再评论,如果还未注册,请先 注册