战神全套点卡脚本,点卡系统牵扯到多份文件,你们在植入的时候,记得备份一下原先的文件,在进行植入。里面包含的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.








