庄园许愿神龙 限时物品全服限量3个 系统未获得条件下自动消失

阿酱2023-09-09 21:44:02428

program Mir2;

{$I TaoZhuang.pas}


var

s1,s2,s3,s4,s5 : integer;

str1,str2,str3,n1,n2,n3 : string;

snum,num : integer; 

procedure _exit;

begin

    This_NPC.CloseDialog(This_Player);

end;


procedure domain;

begin

    if GetG(27,30) > 0 then

    begin 

        str1 := '<已被/fcolor=254>';

    end else str1 := '<未被/fcolor=254>';     

    if GetG(27,31) > 0 then

    begin

        str2 := '<已被/fcolor=254>';

    end else str2 := '<未被/fcolor=254>';

    if GetG(27,32) > 0 then

    begin

        str3 := '<已被/fcolor=254>';

    end else str3 := '<未被/fcolor=254>';

    num := This_Player.GetV(27,30);

    snum := GetG(27,33);

    This_NPC.NpcDialog(This_Player,

    +'|许愿消耗<许愿神石/fcolor=249>一颗,固定获得1-3点许愿值'

    +'|有<1‰/fcolor=251>机会获得随机<特戒/fcolor=249>一枚,每种奖励每周限1份,周一重置!' 

    +'|该特戒为<限时物品,全服限量3个,该特戒系统未获得条件下自动消失,穿戴角色死亡消失!/fcolor=249>'

    +'|<许愿神石/fcolor=249>:完全由怪物爆出,赶紧去打怪吧!'

    +'|我当前许愿值为:<  '+ inttostr(num) +'/fcolor=249>  点'

    +'|全服许愿次数为:<  '+ inttostr(snum) +'/fcolor=249>  次'

    +'|<许愿奖励/fcolor=249>:<  复活戒指/fcolor=250>  '+str1+'  <'+n1+'/fcolor=253>  获得'

    +'|<许愿奖励/fcolor=249>:<  麻痹戒指/fcolor=250>  '+str2+'  <'+n2+'/fcolor=253>  获得' 

    +'|<许愿奖励/fcolor=249>:<  护身戒指/fcolor=250>  '+str3+'  <'+n3+'/fcolor=253>  获得' 

    +'|当全服许愿次数达到888次时。'

    +'|<许愿神龙/fcolor=249>将会出现在土城药店旁。'

    +'|<全服唯一爆特戒怪!请把握机会/fcolor=249>'

    +'|{cmd}<我要许愿/@Wish> ^<兑换奖励/@dui> ^<关闭此页/@exit>'

    );

end;


procedure _dui;

begin

    This_NPC.NpcDialog(This_Player,

    +'|5点许愿值兑换1张书页  <兑换/@dui_1>'

    +'|5点许愿值兑换1颗金刚石  <兑换/@dui_2>'

    +'|10点许愿值兑换1个赤金钥匙  <兑换/@dui_3>'

    );

end; 


procedure _dui_1;

begin

    This_NPC.InputDialog(This_Player,'请输入你要兑换的数额',0,100);

end;


procedure _dui_2;

begin

    This_NPC.InputDialog(This_Player,'请输入你要兑换的数额',0,101);

end;


procedure _dui_3;

begin

    This_NPC.InputDialog(This_Player,'请输入你要兑换的数额',0,102);

end;


procedure p102;

var aum : integer;

begin

    aum :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1

    num := This_Player.GetV(27,30);


   if This_NPC.InputOK  then             

    begin

        if (aum < 1) or  (aum > 999)  then 

       begin 

       This_NPC.NpcDialog(This_Player,'只能是1-999之间的数字!!') ;

       end else


    if num >= aum*10 then

    begin

        This_Player.SetV(27,30,num-(aum*10));

        This_Player.Give('赤金钥匙',aum);

        This_Player.PlayerNotice('兑换成功,获得'+This_NPC.InputStr+'个赤金钥匙',0);

    end else This_Player.PlayerNotice('许愿值不足,无法兑换',0);

end;

end;


procedure p101;

var jum : integer;

begin

    jum :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1

    num := This_Player.GetV(27,30);


   if This_NPC.InputOK  then             

    begin

        if (jum < 1) or  (jum > 999)  then 

       begin 

       This_NPC.NpcDialog(This_Player,'只能是1-999之间的数字!!') ;

       end else


    if num >= jum*5 then

    begin

        This_Player.SetV(27,30,num-(jum*5));

        This_Player.Give('金刚石',jum);

        This_Player.PlayerNotice('兑换成功,获得'+This_NPC.InputStr+'颗金刚石',0);

    end else This_Player.PlayerNotice('许愿值不足,无法兑换',0);

end;

end;



procedure p100;

var xum : integer;

begin

    xum :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1

    num := This_Player.GetV(27,30);


   if This_NPC.InputOK  then             

    begin

        if (xum < 1) or  (xum > 999)  then 

       begin 

       This_NPC.NpcDialog(This_Player,'只能是1-999之间的数字!!') ;

       end else


    if num >= xum*5 then

    begin

        This_Player.SetV(27,30,num-(xum*5));

        This_Player.Give('书页',xum);

        This_Player.PlayerNotice('兑换成功,获得'+This_NPC.InputStr+'张书页',0);

    end else This_Player.PlayerNotice('许愿值不足,无法兑换',0);

end;

end;


procedure _Wish;

begin

    num := This_Player.GetV(27,30);

    snum := GetG(27,33);

    if This_Player.GetBagItemCount('许愿神石') >= 1 then

    begin

        This_Player.Take('许愿神石',1);

        if random(4002) = 4000 then

        begin

            if GetG(27,30) < 1 then

            begin 

                This_Player.Give('复活戒指*',1);

                n1 := This_Player.Name; 

                SetG(27,33,snum+1);

                SetG(27,30,1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜你通过许愿获得复活戒指',2);

                ServerSay('特大喜讯【'+ This_Player.Name +'】通过许愿获得复活戒指!超级羡慕',5); 

                domain;

            end else

            begin

                SetG(27,33,snum+1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜获得'+inttostr(random(3)+1)+'许愿值',2);

      ServerSay('玩家<' + This_Player.Name + '>在许愿老人处投入了一颗许愿神石!',6);

                domain;

            end;

        end else

        if random(4002) = 3950 then

        begin

            if GetG(27,31) < 1 then

            begin 

                This_Player.Give('麻痹戒指*',1);

                n2 := This_Player.Name; 

                SetG(27,33,snum+1);

                SetG(27,31,1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜你通过许愿获得麻痹戒指',2);

                ServerSay('特大喜讯【'+ This_Player.Name +'】通过许愿获得麻痹戒指!超级羡慕',5); 

                domain;

            end else

            begin

                SetG(27,33,snum+1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜获得'+inttostr(random(3)+1)+'许愿值',2);

      ServerSay('玩家<' + This_Player.Name + '>在许愿老人处投入了一颗许愿神石!',6);

                domain;

            end;

        end else

        if random(4002) =3900 then

        begin

            if GetG(27,32) < 1 then

            begin 

                This_Player.Give('护身戒指*',1);

                n3 := This_Player.Name; 

                SetG(27,33,snum+1);

                SetG(27,32,1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜你通过许愿获得护身戒指',2);

                ServerSay('特大喜讯【'+ This_Player.Name +'】通过许愿获得护身戒指!超级羡慕!',5); 

                domain;

            end else

            begin

                SetG(27,33,snum+1);

                This_Player.SetV(27,30,num+random(3)+1);

                This_Player.PlayerNotice('恭喜获得'+inttostr(random(3)+1)+'许愿值',2);

      ServerSay('玩家<' + This_Player.Name + '>在许愿老人处投入了一颗许愿神石!',6);

                domain;

            end;

        end else              

        begin

            SetG(27,33,snum+1);

            This_Player.SetV(27,30,num+random(3)+1);

            This_Player.PlayerNotice('恭喜获得'+inttostr(random(3)+1)+'许愿值',2);

ServerSay('玩家<' + This_Player.Name + '>在许愿老人处投入了一颗许愿神石!',6);

            domain;

        end;

    end else This_Player.PlayerNotice('没有许愿神石许的愿可不灵哦~~~',0);

end;


procedure Execute;

begin

    snum := GetG(27,33);

    if snum >= 888 then

    begin

        This_NPC.CreateMon('3',358,333,1,'许愿神龙',1); 

        SetG(27,33,0); 

        ServerSay('本服唯一爆特戒的怪【许愿神龙】刷新在土城355,334,各位勇士快去击杀吧,错过了可是要再等好久哦!!',0);

        ServerSay('本服唯一爆特戒的怪【许愿神龙】刷新在土城355,334,各位勇士快去击杀吧,错过了可是要再等好久哦!!',2);

        ServerSay('本服唯一爆特戒的怪【许愿神龙】刷新在土城355,334,各位勇士快去击杀吧,错过了可是要再等好久哦!!',5);

    end;

    if ( GetDayOfWeek = 1) and (GetHour = 0) and (GetMin = 0) then 

    begin

        SetG(27,30,0);

        SetG(27,31,0); 

        SetG(27,32,0);  

        n1 :='';

        n2 :='';

        n3 :='';

        ServerSay('许愿奖励已重置,快带上你的许愿神石来许愿吧!!',5);

    end; 

end;


begin

    if GetG(27,30) < 0 then SetG(27,30,0); 

    if GetG(27,31) < 0 then SetG(27,31,0); 

    if GetG(27,32) < 0 then SetG(27,32,0); 

    if GetG(27,33) < 0 then SetG(27,33,0);

    if This_Player.GetV(27,30) < 0 then This_Player.SetV(27,30,0);

    domain;

end. 


文章评论

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