战神引擎脚本-查看Boss直达Boss无需杀怪触发修复宝宝打死会立即刷新

[复制链接]
匿名 神王 发表于 2021-7-19 13:52 | 显示全部楼层 |阅读模式
//-------------------------------------------------------
// 此脚本由【烈阳】编写,定制特色脚本请联系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.

请点击此处下载

需要先购买才能下载

您的用户组是:游客

文件名称:查看Boss直达Boss无需杀怪触发修复宝宝打死会立即刷新-3.zip
下载次数:0  文件大小:2.4 KB  售价:35 下载币
您需要登录后才可以回帖 登录 | 加入网站

本版积分规则

匿名

40

主题

45

帖子

2785

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2785