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

部分脚本
{
*******************************************************************}
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.








