战神引擎全套点卡系统脚本

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