|
此脚本只针对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;
//-------------验证传奇信用分
|
|