//-------------------------------------------------------
// 此脚本由【烈阳】编写,定制特色脚本请联系QQ:1523775884
//
// 请尊重每一个创作者,此条勿删,谢谢支持!
//-------------------------------------------------------
PROGRAM Mir2;
function MonDate(mid,nId:integer):string;
var
MonType:Array[1..3] of array [1..100] of string;
begin
//这里添加怪物名字,且每只对应下面的地图坐标和地图名字,例如MonType[1][1]对应的是MonType[2][1]和MonType[3][1]
MonType[1][1]:='变异狼王[一转]';MonType[1][2]:='变异妖姬[一转]';MonType[1][3]:='变异熊王[一转]';MonType[1][4]:='变异魔王[一转]';
MonType[1][5]:='变异虎王[一转]';MonType[1][6]:='变异鼠后[一转]';MonType[1][7]:='变异山神[一转]';MonType[1][8]:='变异力王[一转]';
MonType[1][9]:='变异剑神[一转]';MonType[1][10]:='变异神岩[一转]';MonType[1][11]:='银甲玄武[一转]';MonType[1][12]:='变异剑仙[一转]';
MonType[1][13]:='变异天女[一转]';MonType[1][14]:='烈焰战熊[一转]';MonType[1][15]:='烈焰魔神[一转]';MonType[1][16]:='变异神女[一转]';
//----------------------------------------
//这里需要修改怪物刷新的地图和坐标
MonType[2][1]:='Q004~111,13,13';MonType[2][2]:='Q004~112,13,13';MonType[2][3]:='Q004~113,13,13';MonType[2][4]:='Q004~114,13,13';
MonType[2][5]:='Q004~115,13,13';MonType[2][6]:='Q004~116,13,13';MonType[2][7]:='Q004~117,13,13';MonType[2][8]:='Q004~118,13,13';
MonType[2][9]:='Q004~119,13,13';MonType[2][10]:='Q004~1110,13,13';MonType[2][11]:='Q004~1111,13,13';MonType[2][12]:='Q004~1112,13,13';
MonType[2][13]:='Q004~1113,13,13';MonType[2][14]:='Q004~1114,13,13';MonType[2][15]:='Q004~1115,13,13';MonType[2][16]:='Q004~1116,13,13';
//----------------------------------------
//这里是地图名字
MonType[3][1]:='一转神殿';MonType[3][2]:='一转神殿';MonType[3][3]:='一转神殿';MonType[3][4]:='一转神殿';
MonType[3][5]:='一转神殿';MonType[3][6]:='一转神殿';MonType[3][7]:='一转神殿';MonType[3][8]:='一转神殿';
MonType[3][9]:='一转神殿';MonType[3][10]:='一转神殿';MonType[3][11]:='一转神殿';MonType[3][12]:='一转神殿';
MonType[3][13]:='一转神殿';MonType[3][14]:='一转神殿';MonType[3][15]:='一转神殿';MonType[3][16]:='一转神殿';
result := MonType[mid][nId];
end;
function GetVarNum(inum:integer):integer;
begin
case inum of
1 : result := 60; //1号怪物刷新时间,以此类推
2 : result := 60;
3 : result := 60;
4 : result := 60;
5 : result := 60;
6 : result := 60;
7 : result := 60;
8 : result := 60;
9 : result := 60;
10 : result := 60;
11 : result := 60;
12 : result := 60;
13 : result := 60;
14 : result := 60;
15 : result := 60;
16 : result := 60;
end;
end;
Procedure _exit;
begin
This_Npc.CloseDialog(This_Player);
end;
function PrintStr(Pstr:string;Pid:integer):string;
var
index,len:integer;
GetTempstr,GetConvStr,Outstr:string;
begin
index:=0;
GetConvStr:=Pstr;
len := length(Pstr);
repeat
index:=index+1;
GetConvStr:=GetValidStr(GetConvStr,GetTempstr,',');
if index = Pid then
Outstr:=GetTempstr;
until (GetTempstr = '') or (index >= len);
result:=Outstr;
end;
procedure Execute;
var
MonCreat:integer;
begin
for MonCreat := 1 to 16 do //增加多少只怪物这里的11就要改成多少,减少同理
begin
if GetG(112,MonCreat) > 0 then
begin
SetG(112,MonCreat,GetG(112,MonCreat)-1);
end;
if (GetG(113,MonCreat) < 1) and (This_NPC.CheckMapMonByName(printStr(MonDate(2,MonCreat),1),MonDate(1,MonCreat)) = 0) then
begin
SetG(112,MonCreat,GetVarNum(MonCreat));
SetG(113,MonCreat,1);
end;
end;
for MonCreat := 1 to 16 do //增加多少只怪物这里的11就要改成多少,减少同理
begin
if (GetG(112,MonCreat) < 1) and (This_NPC.CheckMapMonByName(printStr(MonDate(2,MonCreat),1),MonDate(1,MonCreat)) = 0) then
begin
SetG(113,MonCreat,0);
This_NPC.CreateMon(printStr(MonDate(2,MonCreat),1),StrToIntDef(printStr(MonDate(2,MonCreat),2),0),StrToIntDef(printStr(MonDate(2,MonCreat),3),0),0,MonDate(1,MonCreat),1);
ServerSay('['+MonDate(1,MonCreat)+']出现在['+MonDate(3,MonCreat)+']',256*250);
end;
end;
end;
procedure _GoMonMap(str:string);
begin
if This_Player.GetBagItemCount('上古卷轴') > 0 then
begin
This_Player.Take('上古卷轴',0);
This_Player.Flyto(printStr(str,2),strtoint(printStr(str,3)),strtoint(printStr(str,4)));
ServerSay('玩家'+This_Player.Name+'进入'+printStr(str,1)+'寻找BOSS',256*250);
exit;
end;
if This_Player.MyShengwan >= 10 then //声望替代的转生
begin
This_Player.ScriptRequestSubYBNum(0);
This_Player.Flyto(printStr(str,2),strtoint(printStr(str,3)),strtoint(printStr(str,4)));
ServerSay('玩家'+This_Player.Name+'进入'+printStr(str,1)+'寻找BOSS',256*250);
exit;
end
else
This_Npc.NpcDialog(This_Player,'当前转生等级不足,无法进入!| |'+'{cmd}<返回主页/@domain~1>^<关闭界面/@exit>');
end;
Procedure _domain(str:string);
var
x,k,iboss,Tempnum:integer;
Button,BossStr,GmPage:string;
BossHave:array [1..100] of string;
begin
BossStr:='';
x := StrToIntDef(str,0);
for k := 1 to 16 do
begin
if GetG(112,k) < 0 then SetG(112,k,0);
if GetG(113,k) < 0 then SetG(113,k,0);
end;
for iboss:= x to x + 8 do
begin
if MonDate(1,iboss) <> '' then
begin
Tempnum := Tempnum + 1;
if This_NPC.CheckMapMonByName(printStr(MonDate(2,iboss),1),MonDate(1,iboss)) = 1 then
begin
BossHave[iboss] := '<已刷新/fcolor=250>';
end
else
if GetG(112,iboss) < 1 then BossHave[iboss] := '<'+inttostr(GetVarNum(iboss))+'分钟后刷新/fcolor=248>'
else BossHave[iboss] := '<'+inttostr(GetG(112,iboss))+'分钟后刷新/fcolor=248>';
BossStr:=BossStr + '<'+MonDate(3,iboss)+'/fcolor=249>^^<'+MonDate(1,iboss)+'/@GoMonMap~'+MonDate(3,iboss)+','+MonDate(2,iboss)+
'>^^^'+BossHave[iboss]+'^^|';
end;
end;
if This_Player.GMLevel > 0 then GmPage := '<后台管理/@PageOfGm>';
for k:= 1 to 9 do
begin
if Tempnum < k then
begin
BossStr := BossStr + '|';
end;
end;
if Tempnum < 8 then Button:='{cmd}<返回首页/@domain~1><关闭界面/@exit>'+GmPage
else Button:='{cmd}<下 一 页/@domain~'+inttostr(iboss)+'><关闭界面/@exit>'+GmPage;
This_Npc.NpcDialog(This_Player,
'|地图名字^^BOSS名字^^^刷新状态^^|'+
BossStr+Button);
end;
procedure _clearvar;
var
k:integer;
begin
for k := 1 to 16 do
begin
SetG(112,k,0);
SetG(113,k,0);
end;
This_Npc.NpcDialog(This_Player,'清理完成!此功能为作调试用!| |{cmd}<返回主页/@domain~1>|');
end;
procedure _showvar;
var
k:integer;
showstr:string;
begin
for k := 1 to 16 do //增加多少只怪物这里的11就要改成多少,减少同理
begin
showstr := showstr + inttostr(GetG(112,k)) + '^' + inttostr(GetG(113,k)) + '|';
end;
This_Npc.NpcDialog(This_Player,'|'+showstr+'{cmd}<返回主页/@domain~1>');
end;
procedure _PageOfGm;
begin
This_Npc.NpcDialog(This_Player,'|懂的调试用,不懂别乱点| |{cmd}<查看变量/@showvar><清理变量/@clearvar><返回主页/@domain~1>|');
end;
Begin
_domain('1');
end.
|