haoda 发表于 2019-9-5 11:08:02

1.85合击版本上线自动过验证脚本

此脚本只针对1.85合击版本开启了信用分验证的服,1.80版.1.76复古版的可能会出现上线验证过了下次上线还要验证的情况。
方法1:直接2个文件覆盖原文件,但是可能会影响已经设定好的上线触发
方法2:直接找到2个文件对比原文件,局部修改
首先找到
LogonQuest.pas这个脚本,比对修改

{******************************************************************
*******************************************************************}
program Mir2;
{$I ActiveValidateCom.pas}
procedure _AboutActive;
begin
    This_Player.PlayerDialog(
    '增强传奇信用分的方式有以下:\'
   +'|1.使用浪漫星雨或者地下组队卷轴进入地图挑战怪物会增加你的\传奇信用分。\'
   +'|2.击杀BOSS与活动怪物也会增加传奇信用分。\'
   +'|3.参加地下夺宝活动,并点击到活动NPC,会增加传奇信用分。\'
   +'|4.在商城中购买绑定道具会增加传奇信用分。\'
   +'|5.鉴定精力值,金刚石抽取武器等会增加传奇信用分。\'
   +'|6.学习高级技能和佩戴高属性装备可以增加临时信用分。\'
   +'|7.还有许多会增加传奇信用分的方式,等待你去发现。\'
   );
end;
procedure _ValidateActive;
var StorageNum_b , StorageNum_N : integer;
begin
    if This_Player.CheckAuthen(1,100) = false then
    begin
      if This_Player.GetActivePoint + This_Player.GetTmpActivePoint >= 0 then
      begin
       StorageNum_b := This_Player.GetStorageSpaceCount;
       if This_Player.ActiveAuthen(1,100) = 1 then
       begin
       StorageNum_N := This_Player.GetStorageSpaceCount;
      
       This_Player.ExpandStorageSpace(StorageNum_b + 24 - StorageNum_N);
      
       This_Player.PlayerDialog(
       '验证成功!\'+
       '您已成为验证用户,祝您游戏愉快!'
       );
       end else
       This_Player.PlayerDialog(
       '验证失败,请稍后再试。\ \'
       );
      end else
      This_Player.PlayerDialog(
      '验证失败,您的传奇信用分不足30分。\ \'+
      '|{cmd}<了解增强传奇信用分的方式/@AboutActive>\'
      );
    end else
    This_Player.PlayerDialog(
    '您是验证用户,无需再次验证,祝您游戏愉快!\'
    );
end;
procedure EventNotify(EventNO: Integer; EventParam: Integer);   //此接口由程序调用
begin
end;
//**************************GM宝典*****************************
procedure _GameMasterAB;
begin
   if This_Player.GMLevel <= 0 then exit;
   This_Player.PlayerDialog(
   '请选择要传送的地图:\'+
   '{cmd}<屠魔1/@GameMasterAC~1>   ^<屠魔2/@GameMasterAC~2>   ^<屠魔3/@GameMasterAC~3>   ^<屠魔4/@GameMasterAC~4>   |<屠魔5/@GameMasterAC~5>   ^<屠魔6/@GameMasterAC~6>   ^<屠魔7/@GameMasterAC~7>^\'+
   '|<屠魔8/@GameMasterAC~8>   <屠魔9/@GameMasterAC~9>   <屠魔10/@GameMasterAC~10>^<屠魔11/@GameMasterAC~11>|<屠魔12/@GameMasterAC~12>^<屠魔13/@GameMasterAC~13>^<屠魔14/@GameMasterAC~14>^\'+
   '|<屠魔15/@GameMasterAC~15>^<屠魔16/@GameMasterAC~16>^<屠魔17/@GameMasterAC~17>^<屠魔18/@GameMasterAC~18>|<屠魔19/@GameMasterAC~19>^<屠魔20/@GameMasterAC~20>^<屠魔21/@GameMasterAC~21>^\'+
   '|<屠魔22/@GameMasterAC~22>^<屠魔23/@GameMasterAC~23>^<屠魔24/@GameMasterAC~24>^<屠魔25/@GameMasterAC~25>|<屠魔26/@GameMasterAC~26>^<屠魔27/@GameMasterAC~27>^<屠魔28/@GameMasterAC~28>^\'+
   '|<屠魔29/@GameMasterAC~29>^<屠魔30/@GameMasterAC~30>^<屠魔31/@GameMasterAC~31>^<屠魔32/@GameMasterAC~32>|<屠魔33/@GameMasterAC~33>^<屠魔34/@GameMasterAC~34>^<屠魔35/@GameMasterAC~35>^\'+
   '|<屠魔36/@GameMasterAC~36>^<屠魔37/@GameMasterAC~37>^<屠魔38/@GameMasterAC~38>^<屠魔39/@GameMasterAC~39>|<屠魔40/@GameMasterAC~40>^<屠魔41/@GameMasterAC~41>^<屠魔42/@GameMasterAC~42>^\'+
   '|<屠魔43/@GameMasterAC~43>^<屠魔44/@GameMasterAC~44>^<屠魔45/@GameMasterAC~45>^<屠魔46/@GameMasterAC~46>|<屠魔47/@GameMasterAC~47>^<屠魔48/@GameMasterAC~48>^<屠魔49/@GameMasterAC~49>^\'+
   '|<屠魔50/@GameMasterAC~50>^<沙巴克藏宝阁/@GameMasterAA~30>\'
   );
end;
procedure _GameMasterAA(str:string);
var
temp:integer;
begin
   if This_Player.GMLevel <= 0 then exit;
   temp := strtointdef(str,-1);
   case temp of
   0: This_Player.Flyto('G001',52,48);
   1: This_Player.Flyto('GA0',73,73);
   2: This_Player.Flyto('0122~1',22,32);
   3: This_Player.Flyto('3',333,333);
   4: This_Player.Flyto('0',334,268);
   5: This_Player.Flyto('11',178,324);
   6: This_Player.Flyto('4',237,203);
   7: This_Player.Flyto('5',137,331);
   8: This_Player.Flyto('6',121,159);
   9: This_Player.Flyto('12',195,212);
   10: This_Player.Flyto('D717',56,49);
   11: This_Player.Flyto('D613',43,65);
   12: This_Player.Flyto('D505',103,94);
   13: This_Player.Flyto('D5061',10,14);
   14: This_Player.Flyto('D5071',20,22);
   15: This_Player.Flyto('D2008',42,38);
   16: This_Player.Flyto('D2013',42,38);
   17: This_Player.Flyto('62',110,142);
   18: This_Player.Flyto('66',200,74);
   19: This_Player.Flyto('D024',50,50);
   20: This_Player.Flyto('D2079',52,51);
   21: This_Player.Flyto('R001~01',100,100);
   22: This_Player.Flyto('D505~01',102,95);
   23: This_Player.Flyto('D2004~01',45,45);
   24: This_Player.Flyto('D416~01',54,37);
   25: This_Player.Flyto('D415~01',54,37);
   26: This_Player.Flyto('D411~01',52,25);
   27: This_Player.Flyto('D5072',18,61);
   28: This_Player.Flyto('D5073',30,33);
   29: This_Player.Flyto('D5074',34,26);
   30: This_Player.Flyto('H204',50,50);
   end;
end;
procedure _GameMasterAC(str:string);
begin
   if This_Player.GMLevel <= 0 then exit;   
   This_Player.RandomFlyTo('D024~'+str);
end;
procedure TempExpBylv();
var tempLv , tempExp : integer;
begin
   tempExp := 0;
   tempLv := This_Player.Level;
   if (tempLv >= 1) and (tempLv <= 30) then tempExp := 10
   else if (tempLv >= 31) and (tempLv <= 35) then tempExp := 7
   else if (tempLv >= 36) and (tempLv <= 40) then tempExp := 4
   else if (tempLv >= 41) then tempExp := 2;
   
   if tempExp > 0 then
   begin
         This_Player.MultiTempExpRate := tempExp;
         This_Player.PlayerNotice('当前经验倍数:' + inttostr(tempExp) + '倍',2);
   This_Player.Playerdialog(ActiveValidateStr);
   end;
   
   
end;

//---------------------------GM宝典----------------------------
begin
   
    TempExpBylv();
      
    if AutoOpen(2) then
    begin
      if This_Player.CheckAuthen(1,100) = false then
      begin
      This_Player.PlayerNotice('您当前为未验证用户。可携带200万金币和使用20格仓库,可以获得所有物品,但无法转移、丢弃物品给其他玩家。',2);
      This_Player.PlayerNotice('您可以通过体验游戏内容,提高传奇信用分至30分,在各仓库管理员和传送员处成为验证用户。',2);
      end;
    end else
    begin
      if This_Player.CheckAuthen(1,100) = false then
      begin
      This_Player.PlayerNotice('您当前为未验证用户,'+inttostr(AutoOpenDay(2))+'天后将开启验证功能,验证功能开启后未验证用户:可携带200万金币和使用20格仓库,可以获得所有物品,但无法转移、丢弃物品给其他玩家。',2);
      This_Player.PlayerNotice('您也可以通过体验游戏内容,提高传奇信用分至30分,提前在各仓库管理员和传送员处成为验证用户。',2);
      end;
    end;
end.



2找到\CommonScripts 目录下的 ActiveValidateCom.pas 然后比对修改


//**************信用分验证NPC
function ActiveValidateStr:string;
begin
   if This_Player.CheckAuthen(1,100) =false then
   begin
   result:='{cmd}<非验证用户,请先免费成为验证用户/@PlayerActiveValidate>\';
   end;
end;
//-------------信用分验证NPC
//****************自动开放模块
function AutoOpen(AutoType:integer) :boolean;//按开区时间自动开放
var
AutoDay:integer;
begin
   case AutoType of
   1:AutoDay:= 0;      //无效
2:AutoDay:= 6;      //信用分限制开启
3:AutoDay:= 7;   //47技能书开启
4:AutoDay:= 39;   //藏宝图开启
5:AutoDay:= 6;   //申请沙巴克
end;
   
   if GetDateNum(GetNow) - GetDateNum(GetOpenGameTime) >= AutoDay then result:= true else result:= false;
   
end;
function AutoOpenDay(AutoType:integer) :integer;//按开区时间自动开放
var
AutoDay:integer;
begin
case AutoType of
   1:AutoDay:= 0;      //衣服点开启
2:AutoDay:= 6;      //信用分限制开启
3:AutoDay:= 7;   //47技能书开启
4:AutoDay:= 39;   //藏宝图开启
5:AutoDay:= 6;   //申请沙巴克
end;
result:= AutoDay + GetDateNum(GetOpenGameTime) - GetDateNum(GetNow);
   
end;
//----------------自动开放模块
//***************验证传奇信用分
procedure _PlayerActiveValidate;
begin
   if AutoOpen(2) then
   begin
   This_Player.PlayerDialog(
   '尊敬的玛法勇士,您当前为未验证用户。您可以通过体验游戏内容,\'
   +'提高传奇信用分至30分,在<各仓库管理员和传送员处成为验证用户/c=red>。\'
   +'您当前的的传奇信用分为<'+inttostr(This_Player.GetActivePoint)+'/c=red>分,其中临时分为<'+inttostr(This_Player.GetTmpActivePoint)+'分/c=red>。\'
   +'未验证的角色可以体验以下游戏内容:\'
   +'|1.可携带200万金币和使用20格仓库。\'
   +'|2.可以获得所有物品,但无法转移、丢弃物品给其他玩家。\ \'
   +'|{cmd}<了解增强传奇信用分的方式/@AboutActive>\'
   +'|{cmd}<验证传奇信用分,成为验证用户/@ValidateActive>'
   );
   end else
   This_Player.PlayerDialog(
   '尊敬的玛法勇士,您当前为未验证用户。您可以通过体验游戏内容,\'
   +'提高传奇信用分至30分,在<各仓库管理员和传送员处成为验证用户/c=red>。\'
   +'您当前的的传奇信用分为<'+inttostr(This_Player.GetActivePoint)+'/c=red>分,其中临时分为<'+inttostr(This_Player.GetTmpActivePoint)+'分/c=red>。\'
   +'未验证的角色可以体验以下游戏内容:\'
   +'|1.可携带200万金币和使用20格仓库。\'
   +'|2.可以获得所有物品,但无法转移、丢弃物品给其他玩家。\'
   +'|<将于'+inttostr(AutoOpenDay(2))+'天后开启信用分验证,在此之前您可以正常体验游戏,/c=red>\'
   +'|<当然您也可以提前验证传奇信用分,更好的体验游戏内容。/c=red>\'
   +'|{cmd}<了解增强传奇信用分的方式/@AboutActive>\'
   +'|{cmd}<验证传奇信用分,成为验证用户/@ValidateActive>'
   );
end;
//-------------验证传奇信用分

页: [1]
查看完整版本: 1.85合击版本上线自动过验证脚本