离线升级Npc脚本(根据在线时间领取升级经验)

用于战神引擎的离线升级Npc脚本,鼓励玩家长期在线,脚本回会根据玩家的在线时间,给与额外的经验奖励,脚本牵扯到了TaoZhuang文件,需要单独提取和添加,并非单文件的脚本。牵扯到的文件,已经打包到一起了,你们自己下载来看看,需要的话。

离线升级Npc脚本(根据在线时间领取升级经验)

部分脚本

{
*******************************************************************}
Program Mir2;
{$I TaoZhuang.pas}
var leiji: integer;
Procedure _doexit;
begin
   This_NPC.CloseDialog(This_Player);
end;
procedure _domain; 
begin
   This_NPC.NpcDialog(This_Player,
   '所有离线时间都可以在我这里兑换成经验哦!\ \'
   +'|您已累计离线:<'+inttostr(leiji)+'分钟/SCOLOR=254>\ \'
   +'|{cmd}<查看并领取经验/@chakan>\ \'
   );
end;
procedure _Guize; 
begin
   This_NPC.NpcDialog(This_Player,
   '<普通玩家/SCOLOR=250>每累计1分钟可<获得5000经验!/SCOLOR=254>\ \'
   +'|<月卡玩家/SCOLOR=250>每累计1分钟可<获得10000经验!/SCOLOR=254>\ \'
   +'|<至尊玩家/SCOLOR=250>每累计1分钟可<获得30000经验!/SCOLOR=254>\ \'
   +'|{cmd}<返回/@domain>\ \'
   );
end;
procedure _chakan; 
begin
if leiji >=5 then begin 
   This_NPC.NpcDialog(This_Player,
   '<免费领取/SCOLOR=250>方式可获得<'+inttostr(leiji*3000/10000)+'万经验!/SCOLOR=254>\ \'
   +'|<金币领取/SCOLOR=250>方式可获得<'+inttostr(leiji)+'万经验!/SCOLOR=254>\ \'
   +'|<元宝领取/SCOLOR=250>方式可获得<'+inttostr(leiji*3)+'万经验!/SCOLOR=254>\ \'
   +'|{cmd}<免费领取/@mflingqu>{cmd}<金币领取/@jblingqu>{cmd}<元宝领取/@yblingqu>\ \'
   );
   end else
begin
This_NPC.NpcDialog(This_Player,'您的离线时间少于5分钟无法领取经验!\ \');
end;
end;
procedure _mflingqu; 
begin
   This_Player.Give('经验',leiji*3000);
   This_NPC.NpcDialog(This_Player,'恭喜您使用<免费领取/SCOLOR=250>方式身份获得了离线经验|<'+inttostr(leiji*3000/10000)+'万经验!/SCOLOR=254>\ \');
   leiji := 0;This_Player.SetV(24,5,0);
end;
/////////////////////////////////////金币领取
procedure _jbputong; 
begin
 if This_Player.GoldNum >= leiji*500 then
 begin
   This_Player.Give('经验',leiji*10000);
   This_Player.DecGold(leiji*500);
   This_NPC.NpcDialog(This_Player,'恭喜您使用<普通金币领取/SCOLOR=250>方式获得了离线经验|<'+inttostr(leiji)+'万经验!/SCOLOR=254>\ \');
   leiji := 0;This_Player.SetV(24,5,0);
end else
begin
   This_NPC.NpcDialog(This_Player,
   '金币不足,无法领取\ \');
end;
end;
procedure _jbshuang; 
begin
 if This_Player.GoldNum >= leiji*1000 then
 begin
   This_Player.Give('经验',leiji*20000);
   This_Player.DecGold(leiji*1000);
   This_NPC.NpcDialog(This_Player,'恭喜您使用<双倍金币领取/SCOLOR=250>方式获得了离线经验|<'+inttostr(leiji*2)+'万经验!/SCOLOR=254>\ \');
end else
begin
   This_NPC.NpcDialog(This_Player,
   '金币不足,无法领取!\ \');
end;
end else
begin
   This_NPC.NpcDialog(This_Player,
   '不是月卡会员,无法使用此功能!\ \');
end;
end;
procedure _jblingqu; 
begin
   This_NPC.NpcDialog(This_Player,
   '<月卡玩家/c=red>可选择双倍领取哦!|\ \'
    +'|<普通领取/SCOLOR=250>方式可获得<'+inttostr(leiji)+'万经验!/SCOLOR=254>|需花费<'+inttostr(leiji*500/10000)+'万金币/SCOLOR=251>\ \'
	+'|-------------------------------------------------\ \'
	+'|<双倍领取/SCOLOR=250>方式可获得<'+inttostr(leiji*2)+'万经验!/SCOLOR=254>|需花费<'+inttostr(leiji*1000/10000)+'万金币/SCOLOR=251>\ \'
   +'|{cmd}<普通领取/@jbputong>{cmd}<双倍金币领取/@jbshuang>\ \'
   );
end;
////////////////////////////元宝领取
procedure _ybputong; 
begin
 if This_Player.YBNum >= leiji then
 begin
   This_Player.Give('经验',leiji*30000);
   This_Player.ScriptRequestSubYBNum(leiji);
   This_NPC.NpcDialog(This_Player,'恭喜您使用<普通元宝领取/SCOLOR=250>方式获得了离线经验|<'+inttostr(leiji*3)+'万经验!/SCOLOR=254>\ \');
end else
begin
   This_NPC.NpcDialog(This_Player,
   '元宝不足,无法领取\ \');
end;
end;
procedure _ybshuang; 
begin
if This_Player.GetS(12,9) = 888 then begin
 if This_Player.YBNum >= leiji*2 then
 begin
   This_Player.Give('经验',leiji*60000);
   This_Player.ScriptRequestSubYBNum(leiji*2);
   This_NPC.NpcDialog(This_Player,'恭喜您使用<双倍元宝领取/SCOLOR=250>方式获得了离线经验|<'+inttostr(leiji*6)+'万经验!/SCOLOR=254>\ \');
   leiji := 0;This_Player.SetV(24,5,0);
end else
begin
   This_NPC.NpcDialog(This_Player,
   '元宝不足,无法领取!\ \');
end;
end else
begin
   '不是至尊会员,无法使用此功能!\ \');
end;
end;
procedure _yblingqu; 
begin
if This_Player.GetV(55,6) = 1 then begin
   This_NPC.NpcDialog(This_Player,
   '<至尊玩家/c=red>可选择双倍领取哦!|\ \'
    +'|<普通领取/SCOLOR=250>方式可获得<'+inttostr(leiji*3)+'万经验!/SCOLOR=254>|需花费<'+inttostr(leiji)+'元宝/SCOLOR=251>\ \'
	+'|-------------------------------------------------\ \'
	+'|<双倍领取/SCOLOR=250>方式可获得<'+inttostr(leiji*6)+'万经验!/SCOLOR=254>|需花费<'+inttostr(leiji*2)+'元宝/SCOLOR=251>\ \'
   +'|{cmd}<普通领取/@ybputong>{cmd}<双倍领取/@ybshuang>\ \'
   );
end else
begin
   This_NPC.NpcDialog(This_Player,
   '不是月卡会员,无法使用此功能!\ \');
end;
end;
///////////////////////////
procedure _lingqu; 
begin
   begin
   This_Player.Give('经验',leiji*3*10000);
   This_NPC.NpcDialog(This_Player,'恭喜您以<至尊玩家/SCOLOR=250>身份获得了<'+inttostr(leiji*3)+'万经验!/SCOLOR=254>\ \');
   leiji := 0;This_Player.SetV(24,5,0);
   end else if This_Player.GetV(55,6) = 1 then
   begin
   This_Player.Give('经验',leiji*10000);
   This_NPC.NpcDialog(This_Player,'恭喜您以<月卡玩家/SCOLOR=250>身份获得了<'+inttostr(leiji)+'万经验!/SCOLOR=254>\ \');
   end else
   begin
   This_Player.Give('经验',leiji*5000);
   This_NPC.NpcDialog(This_Player,'恭喜您以<普通玩家/SCOLOR=250>身份获得了<'+inttostr(leiji*5000/10000)+'万经验!/SCOLOR=254>\ \');
   leiji := 0;This_Player.SetV(24,5,0);
   end;
end;
begin
TZJH_NPC;
if This_Player.GetV(24,4) = -1 then 
begin
   This_NPC.NpcDialog(This_Player,
   '你好像还没下过线,佩服佩服!'+inttostr(This_Player.GetV(24,4))+'\ \'
   );
end else
begin
if This_Player.GetV(24,4) = 1 then 
begin 
leiji := This_Player.GetV(24,5)/60;
_domain;
end else
begin
   This_NPC.NpcDialog(This_Player,
   '统计离线时间中,请稍等!\ \'
   );
end;
end;
end.
分享到:
赞(0)