手游传奇私服发布站

 找回密码
 注册账号
查看: 52|回复: 0

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

[复制链接]

113

主题

122

帖子

908

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
908
发表于 2019-9-5 11:08:02 | 显示全部楼层 |阅读模式
此脚本只针对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}<了解增强传奇信用分的方式[url=]/@AboutActive>\'[/url]  
      );
    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>  ^<沙巴克藏宝阁[url=]/@GameMasterAA~30>\'[/url]
   );
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}<非验证用户,请先免费成为验证用户[url=]/@PlayerActiveValidate>\'[/url];
   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}<了解增强传奇信用分的方式[url=]/@AboutActive>\'[/url]
   +'|{cmd}<验证传奇信用分,成为验证用户[url=]/@ValidateActive>'[/url]
   );
   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}<了解增强传奇信用分的方式[url=]/@AboutActive>\'[/url]
   +'|{cmd}<验证传奇信用分,成为验证用户[url=]/@ValidateActive>'[/url]
   );
end;
//-------------验证传奇信用分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

手游传奇私服发布站

GMT+8, 2025-4-11 08:35 , Processed in 0.068791 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表