庄园许愿神龙 限时物品全服限量3个 系统未获得条件下自动消失
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. |