战神全套点卡脚本,点卡系统牵扯到多份文件,你们在植入的时候,记得备份一下原先的文件,在进行植入。里面包含的5个文件,其中3个是NPC脚本,另外2个是登陆脚本,NPC可以直接添加,登陆脚本需要单独植入。
部分脚本
{******************************************************************** *******************************************************************} program mir2; {$I common.pas} procedure _Exit; begin This_Npc.CloseDialog(This_Player); end; Procedure domain; var LastTime, ShowTime:integer; //var today , var regday,var exday,typ: integer,flg: integer; begin LastTime := This_Player.GetS(10,1); ShowTime := minusDataTime(ConvertDBToDateTime(LastTime),GetNow); if (ShowTime> 86400) and (ShowTime>604800) and (ShowTime> 2592000) then begin This_NPC.NpcDialog(This_Player, '<你好,在这里我可以加入点卡系统//SCOLOR=253> |\'+ '<会员可以免费进入全部地图且不限制等级哦。/SCOLOR=254> |\'+ '<会员分为:天卡,周卡,月卡三种会员。/SCOLOR=251> |\'+ '您已经聚集了所有的会员。 |\'+ '|{cmd}<查询点卡/@CheckDianka> ^<我要购买/@GotoOut>' +'|{cmd}<会员服务/@member> ' ); //end; end else if (ShowTime>604800) and (ShowTime<2592000) then begin This_NPC.NpcDialog(This_Player, '<你好,在这里我可以加入点卡系统//SCOLOR=253> |\'+ '<会员可以免费进入全部地图且不限制等级哦。/SCOLOR=254> |\'+ '<会员分为:天卡,周卡,月卡三种会员。/SCOLOR=251> |\'+ '您已经是周卡会员。 |\'+ + '|{cmd}<查询点卡/@CheckDianka> ^<我要购买/@GotoOut>' +'|{cmd}<会员服务/@member1> ' ); //end; end else if (ShowTime>0) and (ShowTime<604800) then begin This_NPC.NpcDialog(This_Player, '<你好,在这里我可以加入点卡系统//SCOLOR=253> |\'+ '<会员可以免费进入全部地图且不限制等级哦。/SCOLOR=254> |\'+ '<会员分为:天卡,周卡,月卡三种会员。/SCOLOR=251> |\'+ '您已经是天卡会员。 |\' + '|{cmd}<查询点卡/@CheckDianka> ^<我要购买/@GotoOut>' +'|{cmd}<会员服务/@member2> ' ); end; end; //-------查询点卡 procedure _CheckDianka; var LastTime, ShowTime:integer; begin LastTime := This_Player.GetS(10,1); ShowTime := minusDataTime(ConvertDBToDateTime(LastTime),GetNow); if ShowTime > 0 then begin ShowTime := ShowTime div 3600 ; This_Npc.NpcDialog(This_Player,'点卡还剩 '+inttostr(ShowTime)+' 小时'); end else This_Npc.NpcDialog(This_Player,'点卡已过期!请重新购买!'); end; procedure _member; var LastTime, ShowTime:integer; begin LastTime := This_Player.GetS(10,1); ShowTime := minusDataTime(ConvertDBToDateTime(LastTime),GetNow); if ShowTime < 0 then begin This_NPC.NpcDialog(This_Player, '您不是天卡会员!! \ \' ); end else begin if ShowTime> 604800 then begin This_NPC.NpcDialog(This_Player, '<您需要什么服务?/c=red> |\'+ +'|<领取每日月卡礼包/@getyueka> ^<免费传送服务/@vipGo>' ); end else begin This_Player.PlayerDialog('你的月卡会员时间已经到期'); end; end; end; procedure _member1; var LastTime, ShowTime:integer; begin LastTime := This_Player.GetS(10,1); ShowTime := minusDataTime(ConvertDBToDateTime(LastTime),GetNow); if ShowTime < 0 then begin This_NPC.NpcDialog(This_Player, '您不是天卡会员!! \ \' ); end else begin if ShowTime> 86400 then begin This_NPC.NpcDialog(This_Player, '<您需要什么服务?/c=red> |\'+ +'|<领取每日周卡礼包/@getzhouka> ^<免费传送服务/@vipGo>' ); end else begin This_Player.PlayerDialog('你的周卡会员时间已经到期'); end; end; end; procedure _member2; var LastTime, ShowTime:integer; begin LastTime := This_Player.GetS(10,1); ShowTime := minusDataTime(ConvertDBToDateTime(LastTime),GetNow); if ShowTime < 0 then begin This_NPC.NpcDialog(This_Player, '您不是天卡会员!! \ \' ); end else begin if ShowTime > 0 then begin This_NPC.NpcDialog(This_Player, '<您需要什么服务?/c=red> |\'+ +'|<领取每日天卡礼包/@gettianka> ^<免费传送服务/@vipGo>' ); end else begin This_Player.PlayerDialog('你的天卡会员时间已经到期'); end; end; end; procedure _vipGo; begin This_NPC.NpcDialog(This_Player, '你想去哪里?我可以免费送你一程。\ \' +'|{cmd}<尸 王 殿/@move01> {cmd}<生死之间/@move02> {cmd}<沃玛三层/@move03> {cmd}<石墓七层/@move04> \' +'|{cmd}<祖玛七层/@move05> {cmd}<牛魔六层/@move06> {cmd}<幻境三层/@move07> {cmd}<沙藏宝阁/@move08> \' +'|{cmd}<快择之地/@move09> {cmd}<幻境七层/@move10> {cmd}<王者禁地/@move11> {cmd}<六新衣服/@move12> \' ); end; procedure _getyueka; var LastTime, ShowTime:integer; begin if This_Player.GetS(10,3) < GetDateNum(GetNow) then begin if This_Player.FreeBagNum > 5 then begin This_Player.SetS(10,3,GetDateNum(GetNow)); This_Player.Give('月卡礼包', 1); end else This_NPC.NpcDialog(This_Player, '背包已经满了哦,请清理一下再领取吧 \ \' ); end else This_NPC.NpcDialog(This_Player, '您已经领取过会员礼包了哦 \ \' ); end; procedure _getzhouka; begin if This_Player.GetS(10,2) < GetDateNum(GetNow) then begin if This_Player.FreeBagNum > 5 then begin This_Player.SetS(10,2,GetDateNum(GetNow)); This_Player.Give('周卡礼包', 1); end else This_NPC.NpcDialog(This_Player, '背包已经满了哦,请清理一下再领取吧 \ \' ); end else This_NPC.NpcDialog(This_Player, '您已经领取过会员礼包了哦 \ \' ); end; procedure _gettianka; begin if This_Player.GetS(10,4) < GetDateNum(GetNow) then begin if This_Player.FreeBagNum > 5 then begin This_Player.SetS(10,4,GetDateNum(GetNow)); This_Player.Give('天卡礼包', 1); end else This_NPC.NpcDialog(This_Player, '背包已经满了哦,请清理一下再领取吧 \ \' ); end else This_NPC.NpcDialog(This_Player, '您已经领取过会员礼包了哦 \ \' ); end; procedure _move01; begin This_Player.FlyTo('Q004',15,15); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了尸王殿!', 2); end; procedure _move02; begin This_Player.FlyTo('D613',9,51); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了生死之间!', 2); end; procedure _move03; begin This_Player.FlyTo('D023',52,366); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了沃玛三层!', 2); end; procedure _move04; begin This_Player.FlyTo('D717',26,74); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了石墓七层!', 2); end; procedure _move05; begin This_Player.FlyTo('D5071',8,10); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了祖玛七层!', 2); end; procedure _move06; begin This_Player.FlyTo('D2078',250,250); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了牛魔六层!', 2); end; procedure _move07; begin This_Player.RandomFlyTo('H003'); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了幻境三层!', 2); end; procedure _move08; begin This_Player.RandomFlyTo('F002~01'); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了沙藏宝阁!', 2); end; procedure _move09; begin This_Player.FlyTo('D1004',171,88); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了快择之地!', 2); end; procedure _move10; begin This_Player.FlyTo('H007',161,172); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了幻境七层!', 2); end; procedure _move11; begin This_Player.FlyTo('h105',135,184); ServerSay('玩家<' + This_Player.Name + '>从会员服务免费进入了王者禁地!', 2); end; procedure _move12; begin This_NPC.NpcDialog(This_Player, '|{cmd}<死亡神殿/@yifu01> {cmd}<地狱烈焰/@yifu02> {cmd}<钳虫巢穴/@yifu03> \' +'|{cmd}<堕落坟场/@yifu04> {cmd}<困惑殿堂/@yifu05> {cmd}<深渊魔域/@yifu06> \' ); end; procedure _yifu01; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('4',205,218); end; procedure _yifu02; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('0',428,474); end; procedure _yifu03; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('11',343,325); end; procedure _yifu04; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('1',320,56); end; procedure _yifu05; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('R001',55,94); end; procedure _yifu06; begin if compareText(This_Player.MapName,'3') = 0 then This_Player.Flyto('1',215,312); end; procedure _vipGo1; begin if This_Player.Level < 65 then begin This_Player.CallOut(This_Npc, 1, 'MFBG2'); This_Player.RandomFlyTo('Q004~4'); This_Npc.NpcDialog(This_Player, '免费泡点最高可以升到65哦。' ); end else begin This_Player.FlyTo('3', 333, 333); ServerSay('玩家<' + This_Player.Name + '>从会员服务进入了安全泡点,每秒享受12800经验!', 2); This_Npc.NpcDialog(This_Player, '你已经65级了。' ); end; end; procedure MFBG2; begin if This_Player.Level < 65 then begin if CompareText(This_Player.MapName,'Q004~4') = 0 then begin This_Player.CallOut(This_Npc, 1, 'MFBG2'); This_Player.Give('经验',12800); end; end else begin This_Player.FlyTo('3', 333, 333); This_Npc.NpcDialog(This_Player, '等级超过65级。' ); end; end; procedure _GotoOut; begin begin case random(2) of 0 : begin This_player.flyTo('D5071~01', 20, 23); end; 1 : begin This_player.flyTo('D5071~01', 14, 14); end; end; end end; procedure _clearmember; begin This_Player.SetV(55,1,0); This_Player.SetV(55,2,0); This_Player.SetV(55,3,0); end; begin domain; end.