Jump to content
  • 0

PvP scripiting, WAV and SKULL ask


Sidy

Question


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.02
  • Content Count:  42
  • Reputation:   0
  • Joined:  03/16/20
  • Last Seen:  

Hello everyone, I have a npc script of the Death Arena that I found just here. But I have the problem not repro .wav files that already exists myserver.grf at data(grf)\wav\(.wav)

A: How I setup the wavs at below script? Have to setup lub/lua or others files to?

A2: If I want to put to drop skulls with character name in pvp, what I may to do?

If someone undertands about, please help me.

 

Script NPC:

Quote

// .----------------------------------------------------------.
// .                ___________________                       .
// .               /   _____/\______   \                      .
// .               \_____  \  |    |  _/                      .
// .               /        \ |    |   \                      .
// .              /_______  / |______  /                      .
// .                      \/         \/                       .
// .               [ Advanced Scripts ]                       .
// .                                                    v1.2  .
// .----------------------------------------------------------.
// ;               https:github.com/SoulBlaker/               ;
// .----------------------------------------------------------.
// . Script:                                                  .
// .  Death Arena                                             .
// .----------------------------------------------------------.
// . Por: SoulBlaker   Compátivel: eAthena Based         v1.0 .
// .----------------------------------------------------------.
// . Descrição:                                               .
// .  Descrição do npc no arquivo Readme.txt na seção 1.0.    .
// .----------------------------------------------------------.
// . Changelog da Versão:                                     .
// .  * 1.0 [SoulBlaker]                                      .
// .    - Iniciado NPC.                                       .
// *----------------------------------------------------------*

// [Nota 1]: Ponha 0 para desabilitar esta opção.
// [Nota 2]: Sistema de configurações de avisos na arena.
//             [0]: Desabilita avisos na arena.
//             [1]: Habilita somente mensagem global no mapa da arena ao matar um jogador.
//             [2]: Habilita somente sons de eventos ao matar um jogador.
//             [3]: Habilita mensagem global no mapa da arena e sons de eventos ao matar um jogador.
// [Nota 3]: O valor máximo é 120.
// [Nota 4]: As configurações de sons são feito através de uma matriz, quando o jogador chega a
//             quantidade de mortes o som é tocado, lembre-se que a matriz que seja configurada
//             na indice '0' será a que repetirá quando o jogador ultrapassar a quantidade máxima 
//             de mortes feita sobre os jogadores.
-    script    DeathArena#Main::DeathArena    -1,{

OnInit:
    // *---------------------------------------------*
    // *               Configurações                 *
    // *---------------------------------------------*
    setarray $@da_BasicSettings$[0],
                        99,                    // Nível de GM para Configurações.
                        1,                    // Sistema de eventos de avisos na arena. [Nota 2]
                        0,                    // Habilitar janela de chat em cima do npc? [Nota 1]
                        "Death Arena",                // Mensagem a ser exibida na janela de chat do npc ou referência sobre o npc.
                        "^8A2BE2[Death Arena]^000000",        // Nome do npc que será exibido nas janelas de dialogo do npc.
                        1,                    // Checar se caso um item na restrição seja carta se ele está equipada em um equipamento?
                        99,                    // Total de resultados exibidos por ranking. [Nota 3]
                        0                    // Nível de GM para utilizar o comando de acessar raking.
    ;
    
    setarray $@da_Color$[0],
                        "FF0000",                // Cor hexadecimal para opções de menus com a função de Cancelar.
                        "FFA500",                // Cor hexadecimal para opções de menus com a função de Voltar.
                        "FFA500",                // Cor hexadecimal para opções de menus com a função de Próximo/Anterior.
                        "0000FF",                // Cor hexadecimal para uma referência um objeto para função.
                        "0000FF",                // Cor hexadecimal para opção do menu de administrador.
                        "0000FF",                // Cor hexadecimal para referência sobre o npc.
                        "0000FF"                 // Cor hexadecimal parao cabeçalho do rank.
    ;
                        
    setarray $@da_DataBase$[0],
                        "da_arena",                // Banco de Dados de arenas.
                        "da_group",                // Banco de Dados do Grupo de restrições.
                        "da_restrictions",            // Banco de Dados das restrições.
                        "da_ranking"                // Banco de Dados do Ranking.
    ;

    // Configurações dos sons da arena. [Nota 4]
    //    <quantidade_morte>, "<wav>"
    setarray $@da_SoundEffect$[0],
                        0, "death_arena_15.wav",    // Monster Kill
                        1, "death_arena_01.wav",    // First Blood
                        2, "death_arena_02.wav",    // Double Kill
                        3, "death_arena_03.wav",    // Triple Kill
                        4, "death_arena_04.wav",    // Mega Kill
                        5, "death_arena_05.wav",    // Ultra Kill
                        6, "death_arena_06.wav",    // Killing Spree
                        7, "death_arena_07.wav",    // Ownage
                        8, "death_arena_08.wav",    // Holy Shit
                        9, "death_arena_09.wav",    // Good Like
                        10, "death_arena_10.wav",    // Dominating
                        11, "death_arena_11.wav",    // Unstoppable
                        12, "death_arena_12.wav",    // Combowhore
                        14, "death_arena_14.wav"    // Whicked Sick
    ;
                        
    bindatcmd "damanager", "da_arena::OnManagerScript", atoi($@da_BasicSettings$[0]), atoi($@da_BasicSettings$[0]);
    bindatcmd "daranking", "da_arena::OnRanking", atoi($@da_BasicSettings$[7]);
    donpcevent "DeathArena::OnLoadMapFlags";
    
    if( atoi($@da_BasicSettings$[2]) )
        donpcevent "da_arena::OnWaitingRoom";
    end;
    
OnPCKillEvent:
    if( callfunc("getArenaInfo", 0, strcharinfo(3)) )
    {
        set da_kill_count, da_kill_count + 1;
    
        // Sistemas de sons.
        if( atoi($@da_BasicSettings$[1]) >= 2 )
        {
            if( da_kill_count >= atoi($@da_SoundEffect$[(getarraysize($@da_SoundEffect$)-2)]) )
                soundeffectall $@da_SoundEffect$[1], 0, strcharinfo(3);
            else {
                for( set .@i, 2; .@i < getarraysize($@da_SoundEffect$); set .@i, .@i + 2 )
                {
                    if( da_kill_count == atoi($@da_SoundEffect$[.@i]) )
                    {
                        soundeffectall $@da_SoundEffect$[(.@i+1)], 0, strcharinfo(3);
                        break;
                    }
                }
            }
        }

        set .@type, callfunc("getArenaInfo", 1, strcharinfo(3));
        
        // Nome dos personagens
        set .@killed_name$, rid2name(killedrid);
        set .@killer_name$, strcharinfo(0);
        
        // Id dos personagens
        set .@killed_id, getcharid(0, .@killed_name$);
        set .@killer_id, getcharid(0);
        
        // Id dos grupos
        set .@killed_party_id, getcharid(1, .@killed_name$);
        set .@killer_party_id, getcharid(1);
        
        // Nome dos grupos
        set .@killed_party_name$, getpartyname(.@killed_party_id);
        set .@killer_party_name$, getpartyname(.@killer_party_id);
        
        // Id dos clãns
        set .@killed_guild_id, getcharid(2, .@killed_name$);
        set .@killer_guild_id, getcharid(2);
        
        // Nome dos clãns
        set .@killed_guild_name$, getguildname(.@killed_guild_id);
        set .@killer_guild_name$, getguildname(.@killer_guild_id);
        
        callfunc "UpdateRanking", 0, .@killer_id, .@killer_name$, .@killed_id, .@killed_name$;
        
        if( .@type == 1 )
            callfunc "UpdateRanking", 1, .@killer_guild_id, .@killer_guild_name$, .@killed_guild_id, .@killed_guild_name$;
        else if( .@type == 2)
            callfunc "UpdateRanking", 2, .@killer_party_id, .@killer_party_name$, .@killed_party_id, .@killed_party_name$;
        
        if( atoi($@da_BasicSettings$[1]) == 1 || atoi($@da_BasicSettings$[1]) == 3 )
            mapannounce strcharinfo(3), "O jogador [" + .@killer_name$ + "] derrotou o jogador [" + .@killed_name$ + "] e é a " + da_kill_count + "ª cabeça consecutiva que ele cortou!", bc_all, "0x00FF00";
    
        message strcharinfo(0), "Você derrotou " + da_kill_count + " jogadores.";
    }
    end;
    
OnLoadMapFlags:
    for( set .@type, 0; .@type < 2; set .@type, .@type + 1 )
    {
        query_sql "SELECT `map_index`, `group_id` FROM `" + $@da_DataBase$[0] + "` WHERE `type`='" + .@type + "'", .@mapindex$, .@group_id;
        
        for( set .@i, 0; .@i < getarraysize(.@mapindex$); set .@i, .@i + 1 )
        {
            setmapflag .@mapindex$[.@i], mf_nosave;
            setmapflag .@mapindex$[.@i], mf_nomemo;
            setmapflag .@mapindex$[.@i], mf_noteleport;
            setmapflag .@mapindex$[.@i], mf_nowarp;
            setmapflag .@mapindex$[.@i], mf_nowarpto;
            setmapflag .@mapindex$[.@i], mf_pvp;
            
            if( .@type == 1 )
                setmapflag .@mapindex$[.@i], mf_pvp_noguild;
            else if( .@type == 2 )
                setmapflag .@mapindex$[.@i], mf_pvp_noparty;
                
            if( callfunc("GetGroupInfo", 2, .@group_id[.@i]) )
                setmapflag .@mapindex$[.@i], mf_nocommand;
        }
    }
    end;
}

prontera,162,185,3    script    Death Arena#da_arena01::da_arena    4_F_NFDEADKAFRA,{

    set .@loop_1, 1;
    while(.@loop_1)
    {
        cutin "death_arena", 2;
        mes $@da_BasicSettings$[4];
        mes "Bem-vindo a ^" + $@da_Color$[5] + $@da_BasicSettings$[3] + "^000000.";
        mes "Em que posso ajudar?";
        next;
        switch( select("- Ír para uma arena.", "- Ranking.", (getgmlevel()>=atoi($@da_BasicSettings$[0])?"^"+ $@da_Color$[4] + "- Gerenciar.^000000":""), "^" + $@da_Color$[0] + "- Cancelar.^000000") )
        {
            case 1:
                // Ír para um arena.
                set .@loop_2, 1;
                while(.@loop_2)
                {
                    mes $@da_BasicSettings$[4];
                    mes "Muito bem, escolha o tipo de arena que deseja entrar.";
                    next;
                    set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                    switch(.@type)
                    {
                        default:
                            set .@loop_3, 1;
                            while(.@loop_3)
                            {
                                setarray .@mask_name$[0], "Jogadores vs Jogadores", "Clãns vs Clãns", "Grupos vs Grupos";
                                mes $@da_BasicSettings$[4];
                                mes "Escolha ^" + $@da_Color$[3] + "arena de " + .@mask_name$[.@type] + "^000000 que deseja entrar.";
                                next;
                                query_sql "SELECT `auto_id`, `map_index`, `coord_x`, `coord_y`, `name`, `max_player`, `min_level`, `max_level`, `group_id` FROM `" + $@da_DataBase$[0] + "` WHERE `type`='" + .@type + "' ORDER BY `name` ASC", .@auto_id, .@map_index$, .@coord_x, .@coord_y, .@name$, .@max_player, .@min_level, .@max_level, .@group_id;
                                
                                set .@BuildArenaMenu$, "";
                                for( set .@i, 0; .@i < getarraysize(.@auto_id); set .@i, .@i + 1 )
                                    set .@BuildArenaMenu$, .@BuildArenaMenu$ + "- " + .@name$[.@i]  + ". [" + getmapusers(.@map_index$[.@i]) + (.@max_player[.@i]?"/"+.@max_player[.@i]:"") + "]:";
                                    
                                set .@chooseArena, select(.@BuildArenaMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                
                                if( .@chooseArena == getarraysize(.@auto_id) )
                                    set .@loop_3, 0;
                                else if( .@chooseArena > getarraysize(.@auto_id) )
                                {
                                    set .@loop_3, 0;
                                    set .@loop_2, 0;
                                    set .@loop_1, 0;
                                }
                                else {
                                    set .@loop_4, 1;
                                    while(.@loop_4)
                                    {
                                        mes $@da_BasicSettings$[4];
                                        mes "Deseja entrar na arena ^" + $@da_Color$[3] + .@name$[.@chooseArena] + "^000000?";
                                        next;
                                        switch( select("- Sim, por favor.", "- Informações.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                        {
                                            case 1:
                                                // Entrar na arena.
                                                set .@item_id, 0;
                                                set .@class_id, 0;
                                                
                                                for( set .@t, 0; .@t < 2; set .@t, .@t + 1 )
                                                {
                                                    cleararray .@object_id[0], 0, getarraysize(.@object_id);
                                                    query_sql "SELECT `auto_id`, `value` FROM `" + $@da_DataBase$[2] + "` WHERE `type`='" + .@t + "' AND `group_id`='" + .@group_id[.@chooseArena] + "'", .@object_id, .@object_value;
                                                    
                                                    for( set .@i, 0; .@i < getarraysize(.@object_id); set .@i, .@i + 1 )
                                                    {
                                                        if( .@t == 0 )
                                                        {
                                                            if( countitem(.@object_value[.@i]) || (atoi($@da_BasicSettings$[5]) && checkequipedcard(.@object_value[.@i])) )
                                                                set .@item_id, .@object_value[.@i];
                                                        }
                                                        else if( Class == .@object_value[.@i] )
                                                                set .@class_id, .@object_value[.@i];
                                                    }    
                                                }
                                                    
                                                if( .@item_id )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Você não pode entrar na arena com o item ^" + $@da_Color$[3] + getitemname(.@item_id) + "^000000,  saiba os requisitos no menu de ^" + $@da_Color$[3] + "Informações^000000.";
                                                    next;
                                                }
                                                else if( .@class_id )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Você não pode entrar na arena com a classe ^" + $@da_Color$[3] + jobname(.@class_id) + "^000000,  saiba os requisitos no menu de ^" + $@da_Color$[3] + "Informações^000000.";
                                                    next;
                                                }
                                                else if( .@max_player[.@chooseArena] && getmapusers(.@map_index$[.@chooseArena]) >= .@max_player[.@chooseArena] )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "A quantidade máxima de jogadores na arena já foi atingida, tente novamente mais tarde!";
                                                    next;
                                                }
                                                else if( .@min_level[.@chooseArena] && BaseLevel < .@min_level[.@chooseArena] )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Você não tem o nível minimo para entrar na arena, saiba os requisitos no menu de ^" + $@da_Color$[3] + "Informações^000000.";
                                                    next;
                                                }
                                                else if( .@max_level[.@chooseArena] && BaseLevel > .@max_level[.@chooseArena] )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Você ultrapassou do nível máximo para entrar na arena, saiba os requisitos no menu de ^" + $@da_Color$[3] + "Informações^000000.";
                                                    next;
                                                }
                                                else if( .@type == 1 && !getcharid(2) )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "É necessário estar em um clã para entrar na arena!";
                                                    next;
                                                }
                                                else if( .@type == 2 && !getcharid(1) )
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "É necessário estar em um grupo para entrar na arena!";
                                                    next;
                                                }
                                                else {
                                                    // Levar para a arena.
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Vou te mandar para arena ^" + $@da_Color$[3] + .@name$[.@chooseArena] + "^000000, tenha uma boa batalha!";
                                                    close2;
                                                    set da_kill_count, 0;
                                                    cutin "", 255;
                                                    warp .@map_index$[.@chooseArena], .@coord_x[.@chooseArena], .@coord_y[.@chooseArena];
                                                    end;
                                                }
                                                break;
                                            case 2:
                                                // Informações.
                                                // Entrar na arena.
                                                mes "^" + $@da_Color$[3] + "Arena:^000000 " + .@name$[.@chooseArena];
                                                mes "^" + $@da_Color$[3] + "Tipo: ^000000" + .@mask_name$[.@type];
                                                mes "^" + $@da_Color$[3] + "Mapa: ^000000" + .@map_index$[.@chooseArena] + (.@coord_x[.@chooseArena]&&.@coord_y[.@chooseArena]?"x["+.@coord_x[.@chooseArena]+"] - y["+.@coord_y[.@chooseArena]+"]":"");
                                                mes "^" + $@da_Color$[3] + "Máximo de Jogadores: ^000000" + (.@max_playe[.@chooseArena]?.@max_player[.@chooseArena]:"ilimitado");
                                                mes "^" + $@da_Color$[3] + "Nível Minimo de Base: ^000000" + (.@min_level[.@chooseArena]?.@min_level[.@chooseArena]:"qualquer");
                                                mes "^" + $@da_Color$[3] + "Nível Máximo de Base: ^000000" + (.@max_level[.@chooseArena]?.@max_level[.@chooseArena]:"qualquer");
                                                
                                                set .@item_list$, "";
                                                set .@class_list$, "";
                                                
                                                for( set .@t, 0; .@t < 2; set .@t, .@t + 1 )
                                                {
                                                    cleararray .@object_id[0], 0, getarraysize(.@object_id);
                                                    query_sql "SELECT `auto_id`, `value` FROM `" + $@da_DataBase$[2] + "` WHERE `type`='" + .@t + "' AND `group_id`='" + .@group_id[.@chooseArena] + "'", .@object_id, .@object_value;
                                                    
                                                    for( set .@i, 0; .@i < getarraysize(.@object_id); set .@i, .@i + 1 )
                                                    {
                                                        if( !.@t )
                                                            set .@item_list$, .@item_list$ + getitemname(.@object_value[.@i]) + ((.@i+1)==getarraysize(.@object_id)?".":", ");
                                                        else
                                                            set .@class_list$, .@class_list$ + jobname(.@object_value[.@i]) + ((.@i+1)==getarraysize(.@object_id)?".":", ");
                                                    }    
                                                }
                                                
                                                if( .@item_list$ != "" )
                                                    mes "^" + $@da_Color$[3] + "Itens restritos:^000000 " + .@item_list$;
                                                if( .@class_list$ != "" )
                                                    mes "^" + $@da_Color$[3] + "Classes restritas:^000000 " + .@class_list$;
                                                
                                                next;
                                                break;
                                            case 3:
                                                set .@loop_4, 0;
                                                break;
                                            case 4:
                                                set .@loop_4, 0;
                                                set .@loop_3, 0;
                                                set .@loop_2, 0;
                                                set .@loop_1, 0;
                                                break;
                                        }
                                    }
                                }
                            }
                            break;
                        case 3:
                            set .@loop_2, 0;
                            break;
                        case 4:
                            set .@loop_1, 0;
                            set .@loop_2, 0;
                            break;
                    }
                }
                break;
            case 2:
                // Ranking.
                OnRanking: //atcmd_func
                set .@loop_2, 1;
                while(.@loop_2)
                {
                    mes $@da_BasicSettings$[4];
                    mes "Qual o ^" + $@da_Color$[3] + "Ranking^000000 deseja visualizar?";
                    next;
                    set .@type, select("- Ranking de Jogadores.", "- Ranking de Clãns.", "- Ranking de Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                    switch(.@type)
                    {
                        default:
                            set .@loop_3, 1;
                            setarray .@mask_name$, "Jogadores", "Grupos", "Clãns";
                            while(.@loop_3)
                            {
                                mes $@da_BasicSettings$[4];
                                mes "Como deseja filtrar o ^" + $@da_Color$[3] + "Rank de " + .@mask_name$[.@type] + "^000000?";
                                next;
                                set .@filter, select("- Filtrar por Vitórias.", "- Filtrar por Derrotas.", "- Filtrar Proporcionalmente.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                switch(.@filter)
                                {
                                    default:
                                        set .@row_init, 0;
                                        set .@row_end, atoi($@da_BasicSettings$[6])-1;
                                        set .@row_position, 1;
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes "^"+$@da_Color$[6] + "[Rank: " + .@mask_name$[.@type] + "]^000000";
                                            mes "¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨";
                                            
                                            query_sql "SELECT `object_id`, `object_name`, `wins`, `loss`, `ration` FROM `" + $@da_DataBase$[3] + "` WHERE `type`='" + .@type + "' ORDER BY `" + (.@filter==1?"loss":(.@filter==2?"ration":"wins")) + "` DESC LIMIT " + .@row_init + "," + atoi($@da_BasicSettings$[6]) + "", .@object_id, .@object_name$, .@wins, .@loss, .@ration;
                                            
                                            if( getarraysize(.@object_id) )
                                            {
                                                for( set .@i, 0; .@i < getarraysize(.@object_id)&&.@loop_4; set .@i, .@i + 1 )
                                                {
                                                    mes "^"+$@da_Color$[3] + "Posição:^000000 " + .@row_position;
                                                
                                                    if( .@type == 1 )
                                                        mes "^"+$@da_Color$[3] + "Clã:^000000 " + .@object_name$[.@i];
                                                    else if( .@type == 2 )
                                                        mes "^"+$@da_Color$[3] + "Grupo:^000000 " + .@object_name$[.@i];
                                                    else
                                                    {
                                                        mes "^"+$@da_Color$[3] + "Jogador:^000000 " + .@object_name$[.@i];
                                                        mes "^"+$@da_Color$[3] + "Clã:^000000 " + callfunc("GetInfoName", 0, .@object_id[.@i]);
                                                        mes "^"+$@da_Color$[3] + "Grupo:^000000 " + callfunc("GetInfoName", 1, .@object_id[.@i]);
                                                    }
                                                
                                                    mes "^"+$@da_Color$[3] + "Vitórias:^000000 " + .@wins[.@i];
                                                    mes "^"+$@da_Color$[3] + "Derrotas:^000000 " + .@loss[.@i];
                                                    mes "^"+$@da_Color$[3] + "Proporção:^000000 " + .@ration[.@i];
                                                    mes "¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨";
                                                    mes " ";
                                                
                                                    set .@row_position, .@row_position + 1;
                                                }
                                            
                                                set .@tmp_row_init, .@row_init;
                                                set .@tmp_row_end, .@row_end;
                                                set .@row_init, .@row_end + 1;
                                                set .@row_end, .@row_end + atoi($@da_BasicSettings$[6]);
                                            
                                                query_sql "SELECT `object_id` FROM `" + $@da_DataBase$[3] + "` WHERE `type`='" + .@filter + "' ORDER BY `" + (.@filter==1?"loss":(.@filter==2?"ration":"wins")) + "` ASC LIMIT " + (.@row_end+1) + "," + (.@row_end+atoi($@da_BasicSettings$[6])) + "", .@tmp_object_next;
                                                next;
                                                switch( select((.@row_init>atoi($@da_BasicSettings$[6])?"^"+$@da_Color$[2]+"- Anterior.^000000":""), (getarraysize(.@tmp_object_next)?"^"+$@da_Color$[2]+"- Próximo.^000000":""), "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                {
                                                    case 1:
                                                        set .@row_init, .@tmp_row_init;
                                                        set .@row_end, .@tmp_row_end;
                                                        break;
                                                    case 2:
                                                        break;
                                                    case 3:
                                                        set .@loop_4, 0;
                                                        break;
                                                    case 4:
                                                        set .@loop_4, 0;
                                                        set .@loop_3, 0;
                                                        set .@loop_2, 0;
                                                        set .@loop_1, 0;
                                                        break;
                                                }
                                            }
                                            else {
                                                mes "Nenhum resultado a ser exibido.";
                                                set .@loop_4, 0;
                                            }
                                        }
                                        break;
                                    case 3:
                                        set .@loop_3, 0;
                                        break;
                                    case 4:
                                        set .@loop_3, 0;
                                        set .@loop_2, 0;
                                        set .@loop_1, 0;
                                        break;
                                }
                            }
                            break;
                        case 3:
                            set .@loop_2, 0;
                            break;
                        case 4:
                            set .@loop_1, 0;
                            set .@loop_2, 0;
                            break;
                    }
                }
                break;
            case 3:
                // Gerenciar.
                OnManagerScript: //atcmd_func
                set .@loop_2, 1;
                while(.@loop_2)
                {
                    mes $@da_BasicSettings$[4];
                    mes "O que deseja gerenciar na ^" + $@da_Color$[5] + $@da_BasicSettings$[3] + "^000000?";
                    next;
                    switch( select("- Gerenciar Grupos de Restrições.", "- Gerenciar Arenas.", "- Gerenciar Ranking.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                    {
                        case 1:
                            // Gerenciar Grupos de Restrições.
                            set .@loop_3, 1;
                            while(.@loop_3)
                            {
                                mes $@da_BasicSettings$[4];
                                mes "O que deseja gerenciar no ^" + $@da_Color$[3] + "Grupos de Restrições^000000?";
                                next;
                                switch( select("- Adicionar Grupo.", "- Remover Grupo.", "- Alterar nome de um Grupo.", "- Gerenciar Regras de Restrições.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                {
                                    case 1:
                                        // Adicionar Grupo.
                                        if( callfunc("GetGroupInfo", 0) >= 120 )
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "O limite máximo de ^" + $@da_Color$[3] + "Grupos de Restrições^000000 já foi atingido.";
                                            next;
                                            break;
                                        }
                                        
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Por favor, digite o nome para o novo ^" + $@da_Color$[3] + "Grupo de Restrições^000000.";
                                            next;
                                            input .@GroupName$;
                                        
                                            if( .@GroupName$ == "" )
                                            {
                                                mes $@da_BasicSettings$[4];
                                                mes "Você tem que digitar um nome para o novo ^" + $@da_Color$[3] + "Grupo de Restrições^000000!";
                                                mes "Deseja tentar novamente?";
                                                next;
                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                {
                                                    case 1:
                                                        break;
                                                    case 2:
                                                        set .@loop_4, 0;
                                                        break;
                                                    case 3:
                                                        set .@loop_4, 0;
                                                        set .@loop_3, 0;
                                                        set .@loop_2, 0;
                                                        set .@loop_1, 0;
                                                        break;
                                                }
                                            }
                                            else {
                                                mes $@da_BasicSettings$[4];
                                                mes "Você tem certeza que deseja adicionar ^" + $@da_Color$[3] + "'" + .@GroupName$ + "'^000000 ao ^" + $@da_Color$[3] + "Grupos de Restrições^000000?";
                                                next;
                                                switch( select("- Sim, por favor.", "- Não, desejo adicionar outro.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                {
                                                    case 1:
                                                        // Adicionar ao grupo de restrições.
                                                        query_sql "INSERT INTO `" + $@da_DataBase$[1] + "` (name) VALUES ('" + .@GroupName$ + "')";
                                                        mes $@da_BasicSettings$[4];
                                                        mes "O Grupo ^" + $@da_Color$[3] + "'" + .@GroupName$ + "'^000000 foi adicionado!";
                                                        mes "Para adicionar restrições a este grupo, vá até ao menu de ^" + $@da_Color$[3] + "Gerenciar Regras de Restrições^000000.";
                                                        next;
                                                        set .@loop_4, 0;
                                                        break;
                                                    case 2:
                                                        break;
                                                    case 3:
                                                        set .@loop_4, 0;
                                                        break;
                                                    case 4:
                                                        set .@loop_4, 0;
                                                        set .@loop_3, 0;
                                                        set .@loop_2, 0;
                                                        set .@loop_1, 0;
                                                        break;
                                                }
                                            }
                                        }
                                        break;
                                    case 2:
                                        // Remover Grupo.
                                        if( !callfunc("GetGroupInfo", 0) )
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Não há ^" + $@da_Color$[3] + "Grupos de Restrições^000000 para ser removido.";
                                            next;
                                            break;
                                        }
                                        
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Selecione um ^" + $@da_Color$[3] + "Grupo de Restrições^000000 para ser removido.";
                                            next;
                                            
                                            set .@BuildGroupMenu$, "";
                                            query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` ORDER BY `name` ASC", .@groups_id, .@groups_name$;
                                            
                                            for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                set .@BuildGroupMenu$, .@BuildGroupMenu$ + "- " + .@groups_name$[.@i] + ".:";
                                                
                                            set .@chooseGroup, select(.@BuildGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            
                                            if( .@chooseGroup == getarraysize(.@groups_id) )
                                                set .@loop_4, 0;
                                            else if( .@chooseGroup > getarraysize(.@groups_id) )
                                            {
                                                set .@loop_4, 0;
                                                set .@loop_3, 0;
                                                set .@loop_2, 0;
                                                set .@loop_1, 0;
                                            }
                                            else {
                                                mes $@da_BasicSettings$[4];
                                                mes "Tem certeza que deseja remover o Grupo ^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000?";
                                                next;
                                                switch( select("- Sim, por favor.", "- Não, desejo remover outro.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                {
                                                    case 1:
                                                        // Remover do grupo de restrições.
                                                        set .@loop_5, 1;
                                                        while(.@loop_5)
                                                        {
                                                            set .@total_arena, callfunc("GetGroupInfo", 1, .@groups_id[.@chooseGroup]);
                                                            if( .@total_arena )
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "Há ^" + $@da_Color$[3] + "'" + .@total_arena + "'^000000 arenas cadastrada nesse grupo, o que deseja fazer com elas?";
                                                                next;
                                                                switch( select("- Mover para outro grupo.", "- Remover todas as arenas.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                {
                                                                    case 1:
                                                                        // Selecionar outro grupo.
                                                                        set .@loop_6, 1;
                                                                        while(.@loop_6)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, selecione o ^" + $@da_Color$[3] + "novo grupo^0000000 em que deseja mover as arenas!";
                                                                            mes $@da_BasicSettings$[4];
                                                                            next;
                                                                            set .@nBuildGroupMenu$, "";
                                                                            for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                                                set .@nBuildGroupMenu$, (.@groups_id[.@i]==.@groups_id[.@chooseGroup]?"":.@groups_name$[.@i]) + ":";
                                                                                
                                                                            set .@nchooseGroup, select(.@nBuildGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                            
                                                                            if( .@nchooseGroup == getarraysize(.@groups_id) )
                                                                                    set .@loop_6, 0;
                                                                            else if( .@nchooseGroup > getarraysize(.@groups_id) )
                                                                            {
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                            }
                                                                            else {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Tem certeza que deseja mover as arenas do Grupo ^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 para o Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@nchooseGroup] + "'^000000?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo mover para outro grupo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        // Mover para outro grupo.
                                                                                        query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `group_id`='" + .@groups_id[.@nchooseGroup] + "' WHERE `group_id`='" + .@groups_id[.@chooseGroup] + "'";
                                                                                        set .@loop_6, 0;
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_6, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 2:
                                                                        // Remover todas as arenas.
                                                                        query_sql "DELETE FROM `" + $@da_DataBase$[0] + "` WHERE `group_id`='" + .@groups_id[.@chooseGroup] + "'";
                                                                        break;
                                                                    case 3:
                                                                        set .@loop_5, 0;
                                                                        break;
                                                                    case 4:
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                }
                                                            }
                                                            else {
                                                                // Remover o grupo.
                                                                query_sql "DELETE FROM `" + $@da_DataBase$[1] + "` WHERE `auto_id`='" + .@groups_id[.@chooseGroup] + "'";
                                                                
                                                                mes $@da_BasicSettings$[4];
                                                                mes "O Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 foi removido.";
                                                                next;
                                                                set .@loop_5, 0;
                                                                set .@loop_4, 0;
                                                            }
                                                        }
                                                        break;
                                                    case 2:
                                                        break;
                                                    case 3:
                                                        set .@loop_4, 0;
                                                        break;
                                                    case 4:
                                                        set .@loop_4, 0;
                                                        set .@loop_3, 0;
                                                        set .@loop_2, 0;
                                                        set .@loop_1, 0;
                                                        break;
                                                }
                                            }
                                        }
                                        break;
                                    case 3:
                                        // Alterar nome de um Grupo.
                                        if( !callfunc("GetGroupInfo", 0) )
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Não há ^" + $@da_Color$[3] + "Grupos de Restrições^000000 para ser removido.";
                                            next;
                                            break;
                                        }
                                        
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Por favor, selecione o '^" + $@da_Color$[3] + "'" + "Grupo de Restrições'^000000 que deseja alterar o nome.";
                                            next;
                                            set .@BuildGroupMenu$, "";
                                            query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` ORDER BY `name` ASC", .@groups_id, .@groups_name$;
                                            
                                            for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                set .@BuildGroupMenu$, .@BuildGroupMenu$ + "- " + .@groups_name$[.@i] + ".:";
                                                
                                            set .@chooseGroup, select(.@BuildGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
            
                                            if( .@chooseGroup == getarraysize(.@groups_id) )
                                                set .@loop_4, 0;
                                            else if( .@chooseGroup > getarraysize(.@groups_id) )
                                            {
                                                set .@loop_4, 0;
                                                set .@loop_3, 0;
                                                set .@loop_2, 0;
                                                set .@loop_1, 0;
                                            }
                                            else
                                            {
                                                set .@loop_5, 1;
                                                while(.@loop_5)
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Por favor, digite um novo nome para o Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000.";
                                                    next;
                                                    input .@GroupName$;
                                            
                                                    if( .@GroupName$ == "" || .@GroupName$ == .@groups_name$[.@chooseGroup] )
                                                    {
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Você deve digitar um novo nome para o Grupo '^" + $@da_Color$[3] + "'"+ .@groups_name$[.@chooseGroup] + "'^000000.";
                                                        mes "Deseja tentar novamente?";
                                                        next;
                                                        switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                        {
                                                            case 1:
                                                                break;
                                                            case 2:
                                                                set .@loop_5, 0;
                                                                break;
                                                            case 3:
                                                                set .@loop_5, 0;
                                                                set .@loop_4, 0;
                                                                set .@loop_3, 0;
                                                                set .@loop_2, 0;
                                                                set .@loop_1, 0;
                                                                break;
                                                        }
                                                    }
                                                    else {
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Tem certeza que deseja mudar o nome do Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 para '^" + $@da_Color$[3] + "'" + .@GroupName$ + "'^000000?";
                                                        next;
                                                        switch( select("- Sim, por favor.", "- Não, digitar outro.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                        {
                                                            case 1:
                                                                // Alterar nome do grupo.
                                                                query_sql "UPDATE `" + $@da_DataBase$[1] + "` SET `name`='" + .@GroupName$ + "' WHERE `auto_id`='" + .@groups_id[.@chooseGroup] + "'";
                                                                mes $@da_BasicSettings$[4];
                                                                mes "Nome do Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 foi alterado para '^" + $@da_Color$[3] + "'" + .@GroupName$ + "'^000000.";
                                                                next;
                                                                set .@loop_5, 0;
                                                                set .@loop_4, 0;
                                                                break;
                                                            case 2:
                                                                break;
                                                            case 3:
                                                                set .@loop_5, 0;
                                                                break;
                                                            case 4:
                                                                set .@loop_5, 0;
                                                                set .@loop_4, 0;
                                                                set .@loop_3, 0;
                                                                set .@loop_2, 0;
                                                                set .@loop_1, 0;
                                                                break;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        break;
                                    case 4:
                                        // Gerenciar Regras de Restrições.
                                        if( callfunc("GetGroupInfo", 0) >= 120 )
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "O limite máximo de ^" + $@da_Color$[3] + "Grupos de Restrições^000000 já foi atingido.";
                                            next;
                                            break;
                                        }
                                        
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Selecione o ^" + $@da_Color$[3] + "Grupo de Restrições^000000 que deseja gerenciar.";
                                            next;
                                            set .@BuildGroupMenu$, "";
                                            query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` ORDER BY `name` ASC", .@groups_id, .@groups_name$;
                                            
                                            for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                set .@BuildGroupMenu$, .@BuildGroupMenu$ + "- " + .@groups_name$[.@i] + ".:";
                                                
                                            set .@chooseGroup, select(.@BuildGroupMenu$ + "^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            
                                            if( .@chooseGroup == getarraysize(.@groups_id) )
                                                set .@loop_4, 0;
                                            else if( .@chooseGroup > getarraysize(.@groups_id) )
                                            {
                                                set .@loop_4, 0;
                                                set .@loop_3, 0;
                                                set .@loop_2, 0;
                                                set .@loop_1, 0;
                                            }
                                            else
                                            {
                                                set .@loop_5, 1;                                                
                                                while(.@loop_5)
                                                {
                                                    mes $@da_BasicSettings$[4];
                                                    mes "O que deseja gerenciar nas Regras do Grupo ^" + $@da_Color$[3] + .@groups_name$[.@chooseGroup] + "^000000?";
                                                    next;
                                                    switch( select("- Gerenciar Classes ou Itens.", "- Copiar restrições para outro Grupo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                    {
                                                        case 1:
                                                            // Gerenciar Classes ou Itens.
                                                            set .@loop_6, 1;
                                                            while(.@loop_6)
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "O que deseja gerenciar de classes e itens nas Regras do Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000?";
                                                                next;
                                                                set .@countItem, callfunc("GetGroupInfo", 2, .@groups_id[.@chooseGroup]);
                                                                set .@countClass, callfunc("GetGroupInfo", 3, .@groups_id[.@chooseGroup]);
                                                                set .@choosetype, select((.@countItem<120?"- Adicionar Itens as Regras de Restrições.":""), (.@countClass<120?"- Adicionar Classes as Regras de Restrições.":""), (.@countItem?"- Remover Itens das Regras de Restrições.":""), (.@countClass?"- Remover Classes das Regras de Restrições.":""), "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                switch(.@choosetype)
                                                                {
                                                                    case 0:
                                                                    case 1:
                                                                        // Adicionar itens ou classes as Regras de Restrições.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, digite o ^" + $@da_Color$[3] + (.@choosetype?"id da classe":"id do item") + "^000000 que deseja adicionar ao Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                            next;
                                                                            input .@object_id;
                                                                            if( (.@choosetype == 0 && !.@object_id && getitemname(.@object_id) == "") || (jobname(.@object_id) == "") )
                                                                            {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Você deve digitar o ^" + $@da_Color$[3] + "id " + (.@choosetype?"da classe":"do item") + " válido^000000 que deseja adicionar ao Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                                mes "Deseja tentar novamente?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        break;
                                                                                    case 2:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                            else if( callfunc("checkRestriction", .@groups_id[.@chooseGroup], .@object_id) )
                                                                            {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes (.@choosetype?"A classe":"O item") + " ^" + $@da_Color$[3] + (.@choosetype?jobname(.@object_id):getitemname(.@object_id)) + "^000000 já existe no Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                                mes "Deseja tentar novamente?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        break;
                                                                                    case 2:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                            else {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Tem certeza que deseja adicionar " + (.@choosetype?"a classe":"o item") + " ^" + $@da_Color$[3] + "'" + (.@choosetype?jobname(.@object_id):getitemname(.@object_id)) + "'^000000 no Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo adicionar outro.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        // Adicionar item ou classe no grupo de restrição.
                                                                                        query_sql "INSERT INTO `" + $@da_DataBase$[2] + "` (group_id, value, type) VALUES (" + .@groups_id[.@chooseGroup] + ", " + .@object_id + ", " + .@choosetype + ")";
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes (.@choosetype?"A classe":"O item") + " '^" + $@da_Color$[3] + "'" + (.@choosetype?jobname(.@object_id):getitemname(.@object_id)) + "'^000000 foi adicionado ao Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                                        next;
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 2:
                                                                    case 3:
                                                                        set .@choosetype, (.@choosetype==2?0:1);
                                                                        // Remover Itens das Regras de Restrições.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, selecione " + (.@choosetype?"a classe":"o item") + " que deseja remover do Grupo ^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                            next;
                                                                            query_sql "SELECT `auto_id`, `value` FROM `" + $@da_DataBase$[2] + "` WHERE `type`='" + .@choosetype + "' AND `group_id`='" + .@groups_id[.@chooseGroup] + "' ORDER BY `value` ASC", .@object_id, .@object_value;
                                                                        
                                                                            set .@BuildObjectMenu$, "";
                                                                            for( set .@i, 0; .@i < getarraysize(.@object_id); set .@i, .@i + 1 )
                                                                                set .@BuildObjectMenu$, .@BuildObjectMenu$ + "- " + (.@choosetype?jobname(.@object_value[.@i]):getitemname(.@object_value[.@i])) + ".:";
                                                                            
                                                                            set .@chooseObject, select(.@BuildObjectMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            
                                                                            if( .@chooseObject == getarraysize(.@object_id) )
                                                                                set .@loop_7, 0;
                                                                            else if( .@chooseObject > getarraysize(.@object_id) )
                                                                            {
                                                                                set .@loop_7, 0;
                                                                                set .@loop_6, 0;
                                                                                set .@loop_5, 0;
                                                                                set .@loop_4, 0;
                                                                                set .@loop_3, 0;
                                                                                set .@loop_2, 0;
                                                                                set .@loop_1, 0;
                                                                            }
                                                                            else {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Tem certeza que deseja remover " + (.@choosetype?"a classe":"o item") + " ^" + $@da_Color$[3] + (.@choosetype?jobname(.@object_value[.@chooseObject]):getitemname(.@object_value[.@chooseObject])) + "^000000 do Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo remover outro item.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        // Remover o item ou classe do Grupo de Restrição
                                                                                        query_sql "DELETE FROM `" + $@da_DataBase$[2] + "` WHERE `auto_id`='" + .@object_id[.@chooseObject] + "'";
                                                                                        
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes (.@choostype?"A classe":"O item") + " ^" + $@da_Color$[3] + (.@choosetype?jobname(.@object_value[.@chooseObject]):getitemname(.@object_value[.@chooseObject])) + "^000000 foi removido do Grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "'^000000 de Restrições.";
                                                                                        next;
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 4:
                                                                        set .@loop_6, 0;
                                                                        break;
                                                                    case 5:
                                                                        set .@loop_6, 0;
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                }
                                                            }
                                                            break;
                                                        case 2:
                                                            // Copiar restrições para outro Grupo.
                                                            set .@loop_6, 1;
                                                            while(.@loop_6)
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "Selecione o ^" + $@da_Color$[3] + "Grupo de Restrições^000000 no qual você deseja que as restrições do Grupo ^" + $@da_Color$[3] + .@groups_name$[.@chooseGroup] + "^000000 seja copiada.";
                                                                next;
                                                                set .@BuildtoGroupMenu$, "";
                                                                
                                                                for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                                    set .@BuildtoGroupMenu$, .@BuildtoGroupMenu$ + (.@groups_id[.@i]!=.@groups_id[.@chooseGroup]?"- " + .@groups_name$[.@i] + ".":"") + ":";
                                                                    
                                                                set .@choosetoGroup, select(.@BuildtoGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                
                                                                if( .@choosetoGroup == getarraysize(.@groups_id) )
                                                                    set .@loop_6, 0;
                                                                else if( .@choosetoGroup > getarraysize(.@groups_id) )
                                                                {
                                                                    set .@loop_6, 0;
                                                                    set .@loop_5, 0;
                                                                    set .@loop_4, 0;
                                                                    set .@loop_3, 0;
                                                                    set .@loop_2, 0;
                                                                    set .@loop_1, 0;
                                                                }
                                                                else {
                                                                    setarray .@copy[0], 0, callfunc("GetGroupInfo", 2, .@groups_id[.@choosetoGroup]), callfunc("GetGroupInfo", 2, .@groups_id[.@chooseGroup]), 0, callfunc("GetGroupInfo", 1, .@groups_id[.@choosetoGroup]), callfunc("GetGroupInfo", 1, .@groups_id[.@chooseGroup]);
                                                                    set .@loop_7, 1;
                                                                    while(.@loop_7)
                                                                    {
                                                                        if( !.@copy[0] && (.@copy[1]+.@copy[2]) > 120 )
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "A quantidade de item cadastrado no grupo no qual você deseja adicionar a cópia com a quantidade de item cadastrado no grupo aonde deseja ser copiado é maior que 120.";
                                                                            mes "Não é possível mover os valores do item, deseja continuar sem copiar os itens?";
                                                                            next;
                                                                            switch( select("- Sim, por favor.",  "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    set .@copy[0], 1;
                                                                                    break;
                                                                                case 2:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        else if( !.@copy[3] && (.@copy[4]+.@copy[5]) > 120 )
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "A quantidade de classe cadastrada no grupo no qual você deseja adicionar a cópia com a quantidade de classe cadastrada no grupo aonde deseja ser copiado é maior que 120.";
                                                                            mes "Não é possível mover os valores das classes, deseja continuar sem copiar as classes?";
                                                                            next;
                                                                            switch( select("- Sim, por favor.",  "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    set .@copy[3], 1;
                                                                                    break;
                                                                                case 2:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        else if( .@copy[0] && .@copy[3] )
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Não há nada a ser copiado.";
                                                                            next;
                                                                            set .@loop_7, 0;
                                                                            break;
                                                                        }
                                                                        else {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Tem certeza que deseja copiar as restrições do Grupo ^" + $@da_Color$[3] + .@groups_name$[.@chooseGroup] + "^000000 para o Grupo ^" + $@da_Color$[3] + .@groups_name$[.@choosetoGroup] + "^000000?";
                                                                            next;
                                                                            switch( select("- Sim, por favor.", "- Não, desejo selecionar outro grupo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    for( set .@i, 0; .@i < 2; set .@i, .@i + 1 )
                                                                                    {
                                                                                        if( (.@i==0&&!.@copy[0]) || (.@i==1&&!.@copy[3]) )
                                                                                        {
                                                                                            query_sql "SELECT `value`, `type` FROM `" + $@da_DataBase$[2] + "` WHERE `group_id`='" + .@groups_id[.@chooseGroup] + "' AND `type`='" + .@i + "'", .@c_value, .@c_type;
                                                                                            
                                                                                            for( set .@c, 0; .@c < getarraysize(.@c_value); set .@c, .@c + 1 )
                                                                                            {
                                                                                                if( !callfunc("checkRestriction", .@groups_id[.@choosetoGroup], .@c_value[.@c]) )
                                                                                                    query_sql "INSERT INTO `" + $@da_DataBase$[2] + "` (group_id, value, type) VALUES (" + .@groups_id[.@choosetoGroup] + ", " + .@c_value[.@c] + ", " + .@c_type[.@c] + ")";
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                    mes $@da_BasicSettings$[4];
                                                                                    mes "Foi feito uma copia das restrições do Grupo ^" + $@da_Color$[3] + .@groups_name$[.@chooseGroup] + "^000000 para o Grupo ^" + $@da_Color$[3] + .@groups_name$[.@choosetoGroup] + "^000000?";
                                                                                    next;
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 2:
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 4:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                            break;
                                                        case 3:
                                                            set .@loop_5, 0;
                                                            break;
                                                        case 4:
                                                            set .@loop_5, 0;
                                                            set .@loop_4, 0;
                                                            set .@loop_3, 0;
                                                            set .@loop_2, 0;
                                                            set .@loop_1, 0;
                                                            break;
                                                    }
                                                }
                                            }
                                        }
                                        break;
                                    case 5:
                                        set .@loop_3, 0;
                                        break;
                                    case 6:
                                        set .@loop_3, 0;
                                        set .@loop_2, 0;
                                        set .@loop_1, 0;
                                        break;
                                }
                            }
                            break;
                        case 2:
                            // Gerenciar Arenas.
                            set .@loop_3, 1;
                            while(.@loop_3)
                            {
                                mes $@da_BasicSettings$[4];
                                mes "O que deseja gerenciar nas ^" + $@da_Color$[3] + "Arenas^000000?";
                                next;
                                switch( select("- Adicionar uma Arena.", "- Remover uma Arena.", "- Alterar uma Arena.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                {
                                    case 1:
                                        // Adicionar uma Arena.
                                        if( !callfunc("GetGroupInfo", 0) )
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Não há grupos de restrições cadastrado,";
                                            mes "por favor cadastre um grupo de restrições no menu ^" + $@da_Color$[3] + "'Gerenciar Grupos de Restrições'^000000.";
                                            next;
                                            break;
                                        }
                                        
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Por favor, escolha um tipo para a nova ^" + $@da_Color$[3] + "Arenas^000000?";
                                            next;
                                            set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            switch(.@type)
                                            {
                                                default:
                                                    setarray .@mask_name$, "Jogadores", "Clãns", "Grupos";
                                                    
                                                    set .@loop_5, 1;
                                                    while(.@loop_5)
                                                    {
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Por favor, digite o nome para a nova arena de ^" + $@da_Color$[3] + .@mask_name$[.@type] + "^000000.";
                                                        next;
                                                        input .@Name$;
                                                        if( .@Name$ == "" )
                                                        {
                                                            mes $@da_BasicSettings$[4];
                                                            mes "Você tem que digitar um nome para a nova arena de ^" + $@da_Color$[3] + .@mask_name$[.@type] + "^000000.";
                                                            mes "Deseja tentar novamente?";
                                                            next;
                                                            switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                            {
                                                                case 1:
                                                                    break;
                                                                case 2:
                                                                    set .@loop_5, 0;
                                                                    break;
                                                                case 3:
                                                                    set .@loop_5, 0;
                                                                    set .@loop_4, 0;
                                                                    set .@loop_3, 0;
                                                                    set .@loop_2, 0;
                                                                    set .@loop_1, 0;
                                                                    break;
                                                            }
                                                        }
                                                        else {
                                                            set .@loop_6, 0;
                                                            mes $@da_BasicSettings$[4];
                                                            mes "Por favor, digite o mapa aonde vai ser a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                            next;
                                                            input .@MapIndex$;
                                                            if( .@MapIndex$ == "" )
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "Você tem que digitar o mapa aonde vai ser a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                                mes "Deseja tentar novamente?";
                                                                next;
                                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                {
                                                                    case 1:
                                                                        break;
                                                                    case 2:
                                                                        set .@loop_6, 0;
                                                                        break;
                                                                    case 3:
                                                                        set .@loop_6, 0;
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                }
                                                            }
                                                            else if( callfunc("getArenaInfo", 0, .@MapIndex$) )
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "Já existe uma arena cadastra com o mapa ^" + $@da_Color$[3] + .@MapIndex$ + "^000000.";
                                                                mes "Deseja tentar novamente?";
                                                                next;
                                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                {
                                                                    case 1:
                                                                        break;
                                                                    case 2:
                                                                        set .@loop_6, 0;
                                                                        break;
                                                                    case 3:
                                                                        set .@loop_6, 0;
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                }
                                                            }
                                                            else {
                                                                set .@loop_7, 1;
                                                                while(.@loop_7)
                                                                {
                                                                    mes $@da_BasicSettings$[4];
                                                                    mes "Por favor, digite a coordenada x aonde os jogadores serão teleportados no mapa ^" + $@da_Color$[3] + .@MapIndex$ + "^000000.";
                                                                    mes "Digite 0 para os jogadores serem teleportado aleatóriamente e as coordenadas y serão configurada para 0.";
                                                                    next;
                                                                    input .@CoordX;
                                                                    
                                                                    if( .@CoordX )
                                                                    {
                                                                        mes $@da_BasicSettings$[4];
                                                                        mes "Por favor, digite a coordenada y aonde os jogadores serão teleportados no mapa ^" + $@da_Color$[3] + .@MapIndex$ + "^000000.";
                                                                        mes "Digite 0 para os jogadores serem teleportado aleatóriamente e as coordenadas x serão configurada para 0.";
                                                                        next;
                                                                        input .@CoordY;
                                                                        if( !.@CoordY ) set .@CoordX, 0;
                                                                    }
                                                                    else
                                                                        set .@CoordY, 0;
                                                                        
                                                                    mes $@da_BasicSettings$[4];
                                                                    mes "Tem certeza que deseja adicionar as coordenadas ^" + $@da_Color$[3] +"x[" + (.@CoordX?.@CoordX:"aleatório") + "] y[" + (.@CoordY?.@CoordY:"alterório") + "]^000000 para o mapa ^" + $@da_Color$[3] + .@MapIndex$ + "^000000?";
                                                                    next;
                                                                    switch( select("- Sim, por favor.", "- Não, desejo adicionar outras coordenadas.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                    {
                                                                        case 1:
                                                                            set .@loop_8, 1;
                                                                            while(.@loop_8)
                                                                            {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Por favor, digite o máximo de jogadores que podem acessar a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                                                mes "Digite 0 para que o acesso a a arena seja ilimitado.";
                                                                                next;
                                                                                input .@MaxPlayer;
                                                                                
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Por favor, digite o nível minimo de base para jogadores poderem acessar a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                                                mes "Digite 0 para que o nível minimo de base seja desabilitado.";
                                                                                next;
                                                                                input .@MinBaseLevel;
                                                                                
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Por favor, digite o nível máximo de base para jogadores poderem acessar a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                                                mes "Digite 0 para que o nível máximo de base seja desabilitado.";
                                                                                next;
                                                                                input .@MaxBaseLevel;
                                                                                
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Tem certeza que o máximo de jogadores a entrar na arena seja ^" + $@da_Color$[3] + (.@MaxPlayer?.@MaxPlayer:"ilimitado") + "^000000, o nível minimo de base seja ^" + $@da_Color$[3] + (.@MinBaseLevel?.@MinBaseLevel:"desabilitado") + "^000000 e o nível máximo de base seja ^" + $@da_Color$[3] + (.@MaxBaseLevel?.@MaxBaseLevel:"desabilitado") + "^000000?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo mudar.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        set .@loop_9, 1;
                                                                                        while(.@loop_9)
                                                                                        {
                                                                                            mes $@da_BasicSettings$[4];
                                                                                            mes "Por favor, selecione o ^" + $@da_Color$[3] + "'Grupo de Restrições'^000000 que deseja adicionar a arena ^" + $@da_Color$[3] + .@Name$ + "^000000.";
                                                                                            next;
                                                                                            query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` ORDER BY `name` ASC", .@groups_id, .@groups_name$;

                                                                                            set .@BuildGroupMenu$, "";
                                                                                            for( set .@i, 0; .@i < getarraysize(.@groups_id); set .@i, .@i + 1 )
                                                                                                set .@BuildGroupMenu$, .@BuildGroupMenu$ + (callfunc("GetGroupInfo", 1, .@groups_id$[.@i])<120?"- " + .@groups_name$[.@i] + ".":"") + ":";
                                                                                                
                                                                                            set .@chooseGroup, select(.@BuildGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                                            
                                                                                            if( .@chooseGroup == getarraysize(.@groups_id) )
                                                                                                set .@loop_9, 0;
                                                                                            else if( .@chooseGroup > getarraysize(.@groups_id) )
                                                                                            {
                                                                                                set .@loop_9, 0;
                                                                                                set .@loop_8, 0;
                                                                                                set .@loop_7, 0;
                                                                                                set .@loop_6, 0;
                                                                                                set .@loop_5, 0;
                                                                                                set .@loop_4, 0;
                                                                                                set .@loop_3, 0;
                                                                                                set .@loop_2, 0;
                                                                                                set .@loop_1, 0;
                                                                                            }
                                                                                            else {
                                                                                                mes $@da_BasicSettings$[4];
                                                                                                mes "Tem certeza que deseja adicionar o grupo '^" + $@da_Color$[3] + "'" + .@groups_name$[.@chooseGroup] + "^000000' de restrições na arena '^" + $@da_Color$[3] + .@Name$ + "^000000'?";
                                                                                                next;
                                                                                                switch( select("- Sim, por favor.", "- Não, desejo selecionar outro grupo.", "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                                {
                                                                                                    case 1:
                                                                                                        mes $@da_BasicSettings$[4];
                                                                                                        mes "Por favor, confirme as informações abaixo para concluír o cadastrado da arena:";
                                                                                                        mes " ";
                                                                                                        mes "^"+$@da_Color$[3] + "Arena:^000000 " + .@Name$;
                                                                                                        mes "^"+$@da_Color$[3] + "Tipo:^000000 " + .@mask_name$[.@type];
                                                                                                        mes "^"+$@da_Color$[3] + "Grupo de Restrições:^000000 "+ .@groups_name$[.@chooseGroup];
                                                                                                        mes "^"+$@da_Color$[3] + "Mapa:^000000 " + .@MapIndex$;
                                                                                                        mes "^"+$@da_Color$[3] + "Coordenadas:^000000 " + (.@CoordX&&.@CoordY?"x[" + .@CoordX + "] - y[" + .@CoordY + "]":"aleatória");
                                                                                                        mes "^"+$@da_Color$[3] + "Máximo de Jogadores:^000000 " + (.@MaxPlayer?.@MaxPlayer:"ilimitado");
                                                                                                        mes "^"+$@da_Color$[3] + "Nível Minimo:^000000 " + (.@MinBaseLevel?.@MinBaseLevel:"desabilitado");
                                                                                                        mes "^"+$@da_Color$[3] + "Nível Máximo:^000000 " + (.@MaxBaseLevel?.@MaxBaseLevel:"desabilitado");
                                                                                                        next;
                                                                                                        switch( select("- Sim, está tudo correto.", "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                                        {
                                                                                                            case 1:
                                                                                                                // Adicionar arena.
                                                                                                                query_sql "INSERT INTO `" + $@da_DataBase$[0] + "` (map_index, coord_x, coord_y, name, type, max_player, max_level, min_level, group_id) VALUES('" + .@MapIndex$ + "', " + .@CoordX + ", " + .@CoordY + ", '" + .@Name$ + "', " + .@type + ", " + .@MaxPlayer + ", " + .@MaxBaseLevel + ", " + .@MinBaseLevel + ", " + .@groups_id[.@chooseGroup] + ")";
                                                                                                                mes $@da_BasicSettings$[4];
                                                                                                                mes "A arena '^" + $@da_Color$[3] + .@Name$ + "'^000000 foi adicionada.";
                                                                                                                next;
                                                                                                                donpcevent "DeathArena::OnLoadMapFlags";
                                                                                                                set .@loop_9, 0;
                                                                                                                set .@loop_8, 0;
                                                                                                                set .@loop_7, 0;
                                                                                                                set .@loop_6, 0;
                                                                                                                set .@loop_5, 0;
                                                                                                                set .@loop_4, 0;
                                                                                                                break;
                                                                                                            case 2:
                                                                                                                set .@loop_9, 0;
                                                                                                                break;
                                                                                                            case 3:
                                                                                                                set .@loop_9, 0;
                                                                                                                set .@loop_8, 0;
                                                                                                                set .@loop_7, 0;
                                                                                                                set .@loop_6, 0;
                                                                                                                set .@loop_5, 0;
                                                                                                                set .@loop_4, 0;
                                                                                                                set .@loop_3, 0;
                                                                                                                set .@loop_2, 0;
                                                                                                                set .@loop_1, 0; 
                                                                                                                break;
                                                                                                        }
                                                                                                        break;
                                                                                                    case 2:
                                                                                                        break;
                                                                                                    case 3:
                                                                                                        set .@loop_9, 0;
                                                                                                        break;
                                                                                                    case 4:
                                                                                                        set .@loop_9, 0;
                                                                                                        set .@loop_8, 0;
                                                                                                        set .@loop_7, 0;
                                                                                                        set .@loop_6, 0;
                                                                                                        set .@loop_5, 0;
                                                                                                        set .@loop_4, 0;
                                                                                                        set .@loop_3, 0;
                                                                                                        set .@loop_2, 0;
                                                                                                        set .@loop_1, 0;
                                                                                                        break;
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_8, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_8, 0;
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                            break;
                                                                        case 2:
                                                                            break;
                                                                        case 3:
                                                                            set .@loop_7, 0;
                                                                            break;
                                                                        case 4:
                                                                            set .@loop_7, 0;
                                                                            set .@loop_6, 0;
                                                                            set .@loop_5, 0;
                                                                            set .@loop_4, 0;
                                                                            set .@loop_3, 0;
                                                                            set .@loop_2, 0;
                                                                            set .@loop_1, 0;
                                                                            break;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                    break;
                                                case 3:
                                                    set .@loop_4, 0;
                                                    break;
                                                case 4:
                                                    set .@loop_4, 0;
                                                    set .@loop_3, 0;
                                                    set .@loop_2, 0;
                                                    set .@loop_1, 0;
                                                    break;
                                            }
                                        }
                                        break;
                                    case 2:
                                        // Remover uma Arena.
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Por favor, selecione o ^" + $@da_Color$[3] + "tipo da arena^000000 que deseja remover uma arena.";
                                            next;
                                            set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            switch( .@type )
                                            {
                                                default:
                                                    set .@loop_5, 1;
                                                    while(.@loop_5)
                                                    {
                                                        setarray .@mask_name$[0], "Jogadores vs Jogadores", "Clãns vs Clãns", "Grupos vs Grupos";
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Por favor, selecione uma arena de ^" + $@da_Color$[3] + .@mask_name$[.@type] + "^000000.";
                                                        next;
                                                        cleararray .@a_auto_id, 0, getarraysize(.@a_auto_id);
                                                        cleararray .@a_name$, "", getarraysize(.@a_name$);
                                                        cleararray .@a_mapindex$, "", getarraysize(.@a_mapindex$);
                                                        query_sql "SELECT `auto_id`, `name`, `map_index` FROM `" + $@da_DataBase$[0] + "` WHERE `type`='" + .@type + "' ORDER BY `name`", .@a_auto_id, .@a_name$, .@a_mapindex$;
                                                        set .@BuildArenaMenu$, "";
                                                        for( set .@i, 0; .@i < getarraysize(.@a_auto_id); set .@i, .@i + 1 )
                                                            set .@BuildArenaMenu$, .@BuildArenaMenu$ + "- " + .@a_name$[.@i] + ".:";
                                                            
                                                        set .@chooseArena, select(.@BuildArenaMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                                            
                                                        if( .@chooseArena == getarraysize(.@a_auto_id) )
                                                            set .@loop_5, 0;
                                                        else if( .@chooseArena > getarraysize(.@a_auto_id) )
                                                        {
                                                            set .@loop_5, 0;
                                                            set .@loop_4, 0;
                                                            set .@loop_3, 0;
                                                            set .@loop_2, 0;
                                                            set .@loop_1, 0;
                                                        }
                                                        else {
                                                            mes $@da_BasicSettings$[4];
                                                            mes "Tem certeza que deseja remover a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000?";
                                                            next;
                                                            switch( select("- Sim, por favor.", "- Não, desejo selecionar outra.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                            {
                                                                case 1:
                                                                    // Remover arena.
                                                                    query_sql "DELETE FROM `" + $@da_DataBase$[0] + "` WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                    mes $@da_BasicSettings$[4];
                                                                    mes "A arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi removida.";
                                                                    next;
                                                                    // remover mapflags do sistema
                                                                    callfunc("ReloadMapFlags", .@map_index$[.@chooseArena], 0);
                                                                    set .@loop_5, 0;
                                                                    break;
                                                                case 2:
                                                                    break;
                                                                case 3:
                                                                    set .@loop_5, 0;
                                                                    break;
                                                                case 4:
                                                                    set .@loop_5, 0;
                                                                    set .@loop_4, 0;
                                                                    set .@loop_3, 0;
                                                                    set .@loop_2, 0;
                                                                    set .@loop_1, 0;
                                                                    break;
                                                            }
                                                        }
                                                    }    
                                                    break;
                                                case 3:
                                                    set .@loop_4, 0;
                                                    break;
                                                case 4:
                                                    set .@loop_4, 0;
                                                    set .@loop_3, 0;
                                                    set .@loop_2, 0;
                                                    set .@loop_1, 0;
                                                    break;
                                            }
                                        }
                                        break;
                                    case 3:
                                        // Alterar uma Arena.
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Por favor, selecione o ^" + $@da_Color$[3] + "tipo da arena^000000 que deseja alterar uma arena.";
                                            next;
                                            set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            switch( .@type )
                                            {
                                                default:
                                                    set .@loop_5, 1;
                                                    while(.@loop_5)
                                                    {
                                                        setarray .@mask_name$[0], "Jogadores vs Jogadores", "Clãns vs Clãns", "Grupos vs Grupos";
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Por favor, selecione uma arena de ^" + $@da_Color$[3] + .@mask_name$[.@type] + "^000000.";
                                                        next;
                                                        cleararray .@a_auto_id, 0, getarraysize(.@a_auto_id);
                                                        query_sql "SELECT `auto_id`, `name`, `type`, `map_index`, `coord_x`, `coord_y`, `max_player`, `min_level`, `max_level`, `group_id` FROM `" + $@da_DataBase$[0] + "` WHERE `type`='" + .@type + "' ORDER BY `name`", .@a_auto_id, .@a_name$, .@a_type, .@a_map_index$, .@a_coord_x, .@a_coord_y, .@a_max_player, .@a_min_level, .@a_max_level, .@a_group_id;
                                                        set .@BuildArenaMenu$, "";
                                                        for( set .@i, 0; .@i < getarraysize(.@a_auto_id); set .@i, .@i + 1 )
                                                            set .@BuildArenaMenu$, .@BuildArenaMenu$ + "- " + .@a_name$[.@i] + ".:";
                                                            
                                                        set .@chooseArena, select(.@BuildArenaMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                                            
                                                        if( .@chooseArena == getarraysize(.@a_auto_id) )
                                                            set .@loop_5, 0;
                                                        else if( .@chooseArena > getarraysize(.@a_auto_id) )
                                                        {
                                                            set .@loop_5, 0;
                                                            set .@loop_4, 0;
                                                            set .@loop_3, 0;
                                                            set .@loop_2, 0;
                                                            set .@loop_1, 0;
                                                        }
                                                        else {
                                                            set .@loop_6, 1;
                                                            while( .@loop_6 )
                                                            {
                                                                mes $@da_BasicSettings$[4];
                                                                mes "O que deseja alterar na arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000?";
                                                                next;
                                                                switch( select("- Alterar nome.", "- Alterar tipo.", "- Alterar mapa e coordenadas.", "- Alterar níveis e limites.", "- Alterar Grupo de Restrições.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                {
                                                                    case 1:
                                                                        // Alterar nome.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, digite um novo nome para a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                            next;
                                                                            input .@Name$;
                                                                            if( .@Name$ == "" || .@Name$ == .@a_name$[.@chooseArena] )
                                                                            {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Você deve digitar um novo nome para a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                mes "Deseja tentar novamente?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        break;
                                                                                    case 2:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                            else {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Você tem certeza que deseja alterar o nome da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 para ^" + $@da_Color$[3] + "'" + .@Name$ + "'^000000?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo digitar outro nome.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        // Alterar o nome.
                                                                                        query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `name`='" + .@Name$ + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "O nome da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado para ^" + $@da_Color$[3] + "'" + .@Name$ + "'^000000.";
                                                                                        next;
                                                                                        set .@a_name$[.@chooseArena], .@Name$;
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 2:
                                                                        // Alterar tipo.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, selecione um novo tipo para a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                            next;
                                                                            set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                            switch(.@type)
                                                                            {
                                                                                default:
                                                                                    setarray .@mask_name$[0], "Jogadores vs Jogadores", "Clãns vs Clãns", "Grupos vs Grupos";
                                                                                    mes $@da_BasicSettings$[4];
                                                                                    mes "Tem certeza que deseja alterar o tipo da arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + .@mask_name$[.@a_type[.@chooseArena]] + "'^000000 para ^" + $@da_Color$[3] + "'" + .@mask_name$[.@type] + "'^000000?";
                                                                                    next;
                                                                                    switch( select("- Sim, por favor.", "- Não, desejo mudar o tipo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                    {
                                                                                        case 1:
                                                                                            // Alter o tipo da arena.
                                                                                            query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `type`='" + .@type + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                            mes $@da_BasicSettings$[4];
                                                                                            mes "O tipo da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado de ^" + $@da_Color$[3] + "'" + .@mask_name$[.@a_type[.@chooseArena]] + "'^000000 para ^" + $@da_Color$[3] + "'" + .@mask_name$[.@type ] + "'^000000.";
                                                                                            next;
                                                                                            set .@a_type[.@chooseArena], .@type;
                                                                                            callfunc "ReloadMapFlags", .@a_map_index$[.@chooseArena], 0;
                                                                                            callfunc "ReloadMapFlags", .@a_map_index$[.@chooseArena], 1, .@a_map_index$[.@chooseArena], .@type;
                                                                                            set .@loop_7, 0;
                                                                                            break;
                                                                                        case 2:
                                                                                            break;
                                                                                        case 3:
                                                                                            set .@loop_7, 0;
                                                                                            break;
                                                                                        case 4:
                                                                                            set .@loop_7, 0;
                                                                                            set .@loop_6, 0;
                                                                                            set .@loop_5, 0;
                                                                                            set .@loop_4, 0;
                                                                                            set .@loop_3, 0;
                                                                                            set .@loop_2, 0;
                                                                                            set .@loop_1, 0;
                                                                                            break;
                                                                                    }
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 4:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 3:
                                                                        // Alterar mapa e coordenadas.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "O que deseja alterar no mapa da arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000?";
                                                                            next;
                                                                            switch( select("- Alterar mapa.", "- Alterar coordenadas.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    // Alterar mapa.
                                                                                    set .@loop_8, 1;
                                                                                    while(.@loop_8)
                                                                                    {
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Por favor, digite um novo mapa para a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                        next;
                                                                                        input .@MapIndex$;
                                                                                        if( .@MapIndex$ == "" || .@MapIndex$ == .@a_map_index$[.@chooseArena] )
                                                                                        {
                                                                                            mes $@da_BasicSettings$[4];
                                                                                            mes "Você tem que digitar um novo mapa para a arena '^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                            mes "Deseja tentar novamente?";
                                                                                            next;
                                                                                            switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                            {
                                                                                                case 1:
                                                                                                    break;
                                                                                                case 2:
                                                                                                    set .@loop_8, 0;
                                                                                                    break;
                                                                                                case 3:
                                                                                                    set .@loop_8, 0;
                                                                                                    set .@loop_7, 0;
                                                                                                    set .@loop_6, 0;
                                                                                                    set .@loop_5, 0;
                                                                                                    set .@loop_4, 0;
                                                                                                    set .@loop_3, 0;
                                                                                                    set .@loop_2, 0;
                                                                                                    set .@loop_1, 0;
                                                                                                    break;
                                                                                            }
                                                                                        }
                                                                                        else {
                                                                                            mes $@da_BasicSettings$[4];
                                                                                            mes "Você tem que certeza que deseja alterar o mapa da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "'^000000 para ^" + $@da_Color$[3] + "'" + .@MapIndex$ + "'^000000?";
                                                                                            next;
                                                                                            switch( select("- Sim, por favor.", "- Não, desejo alterar para outro mapa.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                            {
                                                                                                case 1:
                                                                                                    // Alterar mapindex.
                                                                                                    query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `map_index`='" + .@MapIndex$ + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                                    mes $@da_BasicSettings$[4];
                                                                                                    mes "O mapa da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado de ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "^000000 para ^" + $@da_Color$[3] + "'" + .@MapIndex$ + "'^000000.";                                                                                                    
                                                                                                    next;
                                                                                                    callfunc "ReloadMapFlags", .@a_map_index$[.@chooseArena], 0;
                                                                                                    callfunc "ReloadMapFlags", .@a_map_index$[.@chooseArena], 1, .@MapIndex$, .@a_type[.@chooseArena];
                                                                                                    set .@a_map_index$[.@chooseArena], .@MapIndex$;
                                                                                                    set .@loop_8, 0;
                                                                                                    break;
                                                                                                case 2:
                                                                                                    break;
                                                                                                case 3:
                                                                                                    set .@loop_8, 0;
                                                                                                    break;
                                                                                                case 4:
                                                                                                    set .@loop_8, 0;
                                                                                                    set .@loop_7, 0;
                                                                                                    set .@loop_6, 0;
                                                                                                    set .@loop_5, 0;
                                                                                                    set .@loop_4, 0;
                                                                                                    set .@loop_3, 0;
                                                                                                    set .@loop_2, 0;
                                                                                                    set .@loop_1, 0;
                                                                                                    break;
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                    break;
                                                                                case 2:
                                                                                    // Alterar coordenadas.
                                                                                    set .@loop_8, 1;
                                                                                    while(.@loop_8)
                                                                                    {
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Por favor, digite uma nova coordenada x aonde os jogadores serão teleportados para o mapa ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "'^000000 da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                        mes "Digite 0 para os jogadores serem teleportado aleatóriamente e as coordenadas y serão configurada para 0.";
                                                                                        next;
                                                                                        input .@CoordX;
                                                                                        if( .@CoordX )
                                                                                        {
                                                                                            mes $@da_BasicSettings$[4];
                                                                                            mes "Por favor, digite a coordenada y aonde os jogadores serão teleportados no mapa ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "'^000000 da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                            mes "Digite 0 para os jogadores serem teleportado aleatóriamente e as coordenadas x serão configurada para 0.";
                                                                                            next;
                                                                                            input .@CoordY;
                                                                                            if( !.@CoordY ) set .@CoordX, 0;
                                                                                        }
                                                                                        else
                                                                                            set .@CoordY, 0;
                                                                                        
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Tem certeza que deseja alterar as coordenadas do mapa ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "'^000000 da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + (.@a_coord_x[.@chooseArena]&&.@a_coord_y[.@chooseArena]?"x[" + .@a_coord_x[.@chooseArena] + "] - y[" + .@a_coord_y[.@chooseArena] + "]":"aleatório") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@CoordX&&.@CoordY?"x[" + .@CoordX + "] - y[" + .@CoordY + "]":"aleatório") + "'^000000?";
                                                                                        next;
                                                                                        switch( select("- Sim, por favor.", "- Não, desejo alterar para outras coordenadas.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                        {
                                                                                            case 1:
                                                                                                // Alterar coordenadas.
                                                                                                query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `coord_x`='" + .@CoordX + "', `coord_y`='" + .@CoordY + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                                mes $@da_BasicSettings$[4];
                                                                                                mes "As coordenadas do mapa ^" + $@da_Color$[3] + "'" + .@a_map_index$[.@chooseArena] + "'^000000 da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterada de ^" + $@da_Color$[3] + "'" + (.@a_coord_x[.@chooseArena]&&.@a_coord_y[.@chooseArena]?"x[" + .@a_coord_x[.@chooseArena] + "] - y[" + .@a_coord_y[.@chooseArena] + "]":"aleatório") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@CoordX&&.@CoordY?"x[" + .@CoordX + "] - y[" + .@CoordY + "]":"aleatório") + "'^000000.";
                                                                                                next;
                                                                                                set .@a_coord_x[.@chooseArena], .@CoordX;
                                                                                                set .@a_coord_y[.@chooseArena], .@CoordY;
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 2:
                                                                                                break;
                                                                                            case 3:
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 4:
                                                                                                set .@loop_8, 0;
                                                                                                set .@loop_7, 0;
                                                                                                set .@loop_6, 0;
                                                                                                set .@loop_5, 0;
                                                                                                set .@loop_4, 0;
                                                                                                set .@loop_3, 0;
                                                                                                set .@loop_2, 0;
                                                                                                set .@lopp_1, 0;
                                                                                                break;
                                                                                        }
                                                                                    }
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 4:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 4:
                                                                        // Alterar limites
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "O que deseja alterar nos níveis e limites da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000?";
                                                                            next;
                                                                            switch( select("- Alterar máximo de jogadores.", "- Alterar nível minimo de Base.", "- Alterar nível máximo de Base.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    // Máximo de jogadores.
                                                                                    set .@loop_8, 1;
                                                                                    while(.@loop_8)
                                                                                    {
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Por favor, digite um novo limite de jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                        mes "Digite 0 para desabilitar o limite de jogadores na arena.";
                                                                                        next;
                                                                                        input .@max_player;
                                                                                        
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Você tem certeza que deseja alterar o limite de jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + (.@a_max_player[.@chooseArena]?.@a_max_player[.@chooseArena]:"ilimitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@max_player?.@max_player:"ilimitado") + "'^000000?";
                                                                                        next;
                                                                                        switch( select("- Sim, por favor.", "- Não, desejo alterar para outro limite.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                        {
                                                                                            case 1:
                                                                                                // Alterar limite de jogadores.
                                                                                                query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `max_player`='" + .@max_player + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                                mes $@da_BasicSettings$[4];
                                                                                                mes "O limite de jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado de ^" + $@da_Color$[3] + "'" + (.@a_max_player[.@chooseArena]?.@a_max_player[.@chooseArena]:"ilimitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@max_player?.@max_player:"ilimitado") + "'^000000.";
                                                                                                next;
                                                                                                set .@a_max_player[.@chooseArena], .@max_player;
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 2:
                                                                                                break;
                                                                                            case 3:
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 4:
                                                                                                set .@loop_8, 0;
                                                                                                set .@loop_7, 0;
                                                                                                set .@loop_6, 0;
                                                                                                set .@loop_5, 0;
                                                                                                set .@loop_4, 0;
                                                                                                set .@loop_3, 0;
                                                                                                set .@loop_2, 0;
                                                                                                set .@loop_1, 0;
                                                                                                break;
                                                                                        
                                                                                        }
                                                                                    }
                                                                                    break;
                                                                                case 2:
                                                                                    // Minimo de base.
                                                                                    set .@loop_8, 1;
                                                                                    while(.@loop_8)
                                                                                    {
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Por favor, digite um novo minimo de base que jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                        mes "Digite 0 para desabilitar o nível minimo de base para os jogadores adentrar a arena.";
                                                                                        next;
                                                                                        input .@min_level;
                                                                                        
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Você tem certeza que deseja alterar o minimo de base dos jogadore da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + (.@a_min_level[.@chooseArena]?.@a_min_level[.@chooseArena]:"desabilitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@min_level?.@min_level:"desabilitado") + "'^000000?";
                                                                                        next;
                                                                                        switch( select("- Sim, por favor.", "- Não, desejo alterar para outro nível.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                        {
                                                                                            case 1:
                                                                                                // Alterar base minima de jogadores.
                                                                                                query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `min_level`='" + .@min_level + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                                mes $@da_BasicSettings$[4];
                                                                                                mes "O nível minimo de base dos jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado de ^" + $@da_Color$[3] + "'" + (.@a_min_level[.@chooseArena]?.@a_min_level[.@chooseArena]:"desabilitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@min_level?.@min_level:"desabilitado") + "'^000000.";
                                                                                                next;
                                                                                                set .@a_min_level[.@chooseArena], .@min_level;
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 2:
                                                                                                break;
                                                                                            case 3:
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 4:
                                                                                                set .@loop_8, 0;
                                                                                                set .@loop_7, 0;
                                                                                                set .@loop_6, 0;
                                                                                                set .@loop_5, 0;
                                                                                                set .@loop_4, 0;
                                                                                                set .@loop_3, 0;
                                                                                                set .@loop_2, 0;
                                                                                                set .@loop_1, 0;
                                                                                                break;
                                                                                        
                                                                                        }
                                                                                    }
                                                                                    break;
                                                                                case 3:
                                                                                    // Máximo de base.
                                                                                    set .@loop_8, 1;
                                                                                    while(.@loop_8)
                                                                                    {
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Por favor, digite um novo máximo de base que jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                                        mes "Digite 0 para desabilitar o nível máximo de base para os jogadores adentrar a arena.";
                                                                                        next;
                                                                                        input .@max_level;
                                                                                        
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "Você tem certeza que deseja alterar o máximo de base dos jogadore da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + (.@a_max_level[.@chooseArena]?.@a_max_level[.@chooseArena]:"desabilitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@max_level?.@max_level:"desabilitado") + "'^000000?";
                                                                                        next;
                                                                                        switch( select("- Sim, por favor.", "- Não, desejo alterar para outro nível.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                        {
                                                                                            case 1:
                                                                                                // Alterar base máximo de jogadores.
                                                                                                query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `max_level`='" + .@max_level + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                                mes $@da_BasicSettings$[4];
                                                                                                mes "O nível máximo de base dos jogadores que pode acessar a arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterado de ^" + $@da_Color$[3] + "'" + (.@a_max_level[.@chooseArena]?.@a_max_level[.@chooseArena]:"desabilitado") + "'^000000 para ^" + $@da_Color$[3] + "'" + (.@max_level?.@max_level:"desabilitado") + "'^000000.";
                                                                                                next;
                                                                                                set .@a_max_level[.@chooseArena], .@max_level;
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 2:
                                                                                                break;
                                                                                            case 3:
                                                                                                set .@loop_8, 0;
                                                                                                break;
                                                                                            case 4:
                                                                                                set .@loop_8, 0;
                                                                                                set .@loop_7, 0;
                                                                                                set .@loop_6, 0;
                                                                                                set .@loop_5, 0;
                                                                                                set .@loop_4, 0;
                                                                                                set .@loop_3, 0;
                                                                                                set .@loop_2, 0;
                                                                                                set .@loop_1, 0;
                                                                                                break;
                                                                                        
                                                                                        }
                                                                                    }
                                                                                    break;
                                                                                case 4:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 5:
                                                                                    set .@loop_8, 0;
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 5:
                                                                        // Alterar grupo de restrições.
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor selecione um novo grupo de restrições para arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000.";
                                                                            next;
                                                                            query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` ORDER BY `name`", .@a_groups_id, .@a_groups_name$;
                                                                            set .@BuildtoGroupMenu$, "";
                                                                            for( set .@i, 0; .@i < getarraysize(.@a_groups_id); set .@i, .@i + 1 )
                                                                                set .@BuildtoGroupMenu$, .@BuildtoGroupMenu$+((.@a_groups_id[.@i]==.@a_group_id[.@chooseArena])||(callfunc("GetGroupInfo", 1, .@a_groups_id[.@i])>=120)?"":"- " + .@a_groups_name$[.@i] + ".") + ":";

                                                                            set .@choosetoGroup, select(.@BuildtoGroupMenu$+"^" + $@da_Color$[1] + "- Voltar.^000000:^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                                            
                                                                            if( .@choosetoGroup == getarraysize(.@a_groups_id) )
                                                                                set .@loop_7, 0;
                                                                            else if( .@choosetoGroup > getarraysize(.@a_groups_id) )
                                                                            {
                                                                                set .@loop_7, 0;
                                                                                set .@loop_6, 0;
                                                                                set .@loop_5, 0;
                                                                                set .@loop_4, 0;
                                                                                set .@loop_3, 0;
                                                                                set .@loop_2, 0;
                                                                                set .@loop_1, 0;
                                                                            }
                                                                            else {
                                                                                mes $@da_BasicSettings$[4];
                                                                                mes "Tem certeza que deseja alterar o grupo de restrições da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 de ^" + $@da_Color$[3] + "'" + callfunc("GetGroupInfo", 4, .@a_group_id[.@chooseArena]) + "'^000000 para ^" + $@da_Color$[3] + "'" + .@a_groups_name$[.@choosetoGroup] + "'^000000?";
                                                                                next;
                                                                                switch( select("- Sim, por favor.", "- Não, desejo alterar para outro grupo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                                {
                                                                                    case 1:
                                                                                        // Alterar o grupo de restriçoes
                                                                                        query_sql "UPDATE `" + $@da_DataBase$[0] + "` SET `group_id`='" + .@a_groups_id[.@choosetoGroup] + "' WHERE `auto_id`='" + .@a_auto_id[.@chooseArena] + "'";
                                                                                        mes $@da_BasicSettings$[4];
                                                                                        mes "O grupo de restrições da arena ^" + $@da_Color$[3] + "'" + .@a_name$[.@chooseArena] + "'^000000 foi alterada de ^" + $@da_Color$[3] + "'" + callfunc("GetGroupInfo", 4, .@a_group_id[.@chooseArena]) + "'^000000 para ^" + $@da_Color$[3] + "'" + .@a_groups_name$[.@choosetoGroup] + "'^000000.";
                                                                                        next;
                                                                                        set .@a_group_id[.@chooseArena], .@a_groups_id[.@choosetoGroup];
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 2:
                                                                                        break;
                                                                                    case 3:
                                                                                        set .@loop_7, 0;
                                                                                        break;
                                                                                    case 4:
                                                                                        set .@loop_7, 0;
                                                                                        set .@loop_6, 0;
                                                                                        set .@loop_5, 0;
                                                                                        set .@loop_4, 0;
                                                                                        set .@loop_3, 0;
                                                                                        set .@loop_2, 0;
                                                                                        set .@loop_1, 0;
                                                                                        break;
                                                                                }
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 6:
                                                                        set .@loop_6, 0;
                                                                        break;
                                                                    case 7:
                                                                        set .@loop_6, 0;
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                        
                                                                }
                                                            }
                                                        }
                                                    }    
                                                    break;
                                                case 3:
                                                    set .@loop_4, 0;
                                                    break;
                                                case 4:
                                                    set .@loop_4, 0;
                                                    set .@loop_3, 0;
                                                    set .@loop_2, 0;
                                                    set .@loop_1, 0;
                                                    break;
                                            }
                                        }
                                    case 4:
                                        set .@loop_3, 0;
                                        break;
                                    case 5:
                                        set .@loop_3, 0;
                                        set .@loop_2, 0;
                                        set .@loop_1, 0;
                                        break;
                                }
                            }
                            break;
                        case 3:
                            // Gerenciar Ranking.
                            set .@loop_3, 1;
                            {
                                mes $@da_BasicSettings$[4];
                                mes "O que deseja gerenciar no ^" + $@da_Color$[3] + "Ranking^000000?";
                                next;
                                switch( select("- Resetar um Ranking.", "- Alterar pontos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                {
                                    case 1:
                                        // Resetar um Ranking.
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "Selecione o tipo de ^" + $@da_Color$[3] + "Rank^000000 que deseja resetar.";
                                            next;
                                            set .@type, select("- Jogadores vs Jogadores.", "- Clãns vs Clãns.", "- Grupos vs Grupos.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            switch(.@type)
                                            {
                                                default:
                                                    setarray .@mask_name$[0], "Jogadores vs Jogadores", "Clãns vs Clãns", "Grupos vs Grupos";
                                                    mes $@da_BasicSettings$[4];
                                                    mes "Tem certeza que deseja resetar o ^" + $@da_Color$[3] + "'Rank de " + .@mask_name$[.@type] + "'^000000?";
                                                    next;
                                                    switch( select("- Sim, por favor.", "- Não, desejo resetar outro.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                    {
                                                        case 1:
                                                            // Resetar Ranking
                                                            query_sql "DELETE FROM `" + $@da_DataBase$[3] + "` WHERE `type`='" + .@type + "'";
                                                            mes $@da_BasicSettings$[4];
                                                            mes "O ^" + $@da_Color$[3] + "'Rank de " + .@mask_name$[.@type] + "'^000000 foi resetado!";
                                                            next;
                                                            set .@loop_4, 0;
                                                            break;
                                                        case 2:
                                                            break;
                                                        case 3:
                                                            set .@loop_4, 0;
                                                            break;
                                                        case 4:
                                                            set .@loop_4, 0;
                                                            set .@loop_3, 0;
                                                            set .@loop_2, 0;
                                                            set .@loop_1, 0;
                                                            break;
                                                    }
                                                    break;
                                                case 3:
                                                    set .@loop_4, 0;
                                                    break;
                                                case 4:
                                                    set .@loop_4, 0;
                                                    set .@loop_3, 0;
                                                    set .@loop_2, 0;
                                                    set .@loop_1, 0;
                                                    break;
                                            }
                                        }
                                        break;
                                    case 2:
                                        // Alterar pontos.
                                        set .@loop_4, 1;
                                        while(.@loop_4)
                                        {
                                            mes $@da_BasicSettings$[4];
                                            mes "O que você deseja ^" + $@da_Color$[3] + "alterar de pontos^000000?";
                                            next;
                                            set .@type, select("- Jogador.", "- Clã.", "- Grupo.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                            switch(.@type)
                                            {
                                                default:
                                                    set .@loop_5, 1;
                                                    while(.@loop_5)
                                                    {
                                                        setarray .@mask_name$[0], "Jogador", "Clã", "Grupo";
                                                        mes $@da_BasicSettings$[4];
                                                        mes "Por favor, digite o ^" + $@da_Color$[3] + "'ID do " + .@mask_name$[.@type] + "'^000000 que deseja alterar pontos?";
                                                        next;
                                                        input .@object_id;
                                                        set .@rank_id, callfunc("getRankInfo", 0, .@type, .@object_id );
                                                        if( !.@object_id || !.@rank_id )
                                                        {
                                                            mes $@da_BasicSettings$[4];
                                                            if( !.@object_id )
                                                                mes "Você deve digitar o ^" + $@da_Color$[3] + "'ID do " + .@mask_name$[.@type] + "'^000000 que deseja alterar pontos!";
                                                            else
                                                                mes "Nenhum ^" + $@da_Color$[3] + "'" + .@mask_name$[.@type] + "'^000000 foi encontrado com o id " + .@object_id + " no rank.";
                                                                
                                                            mes "Deseja tentar novamente?";
                                                            next;
                                                            switch( select("- Sim, por favor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                            {
                                                                case 1:
                                                                    break;
                                                                case 2:
                                                                    set .@loop_5, 0;
                                                                    break;
                                                                case 3:
                                                                    set .@loop_5, 0;
                                                                    set .@loop_4, 0;
                                                                    set .@loop_3, 0;
                                                                    set .@loop_2, 0;
                                                                    set .@loop_1, 0;
                                                                    break;
                                                            }
                                                        }
                                                        else {
                                                            set .@loop_6, 1;
                                                            while(.@loop_6)
                                                            {
                                                                setarray .@rank_points[0], callfunc("getRankInfo", 1, .@type, .@object_id ), callfunc("getRankInfo", 2, .@type, .@object_id ), callfunc("getRankInfo", 3, .@type, .@object_id );
                                                                set .@name$, callfunc("getRankInfo", 4, .@type, .@object_id);
                                                                mes $@da_BasicSettings$[4];
                                                                mes "O que deseja alterar no ^" + $@da_Color$[3] + "'" + .@mask_name$[.@type] + " " + .@name$ + "'^000000?";
                                                                next;
                                                                set .@change, select("- Pontos de vitórias [" + .@rank_points[0] + " pnts].", "- Pontos de derrotas [" + .@rank_points[1] + " pnts].", "- Pontos proporcionais [" + .@rank_points[2] + " pnts].", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000")-1;
                                                                switch(.@change)
                                                                {
                                                                    default:
                                                                        // Alterar pontos.
                                                                        setarray .@p_mask$[0], "vitórias", "derrotas", "proporcionais";
                                                                        set .@loop_7, 1;
                                                                        while(.@loop_7)
                                                                        {
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Por favor, digite a quantidade de ^" + $@da_Color$[3] + "pontos " + .@p_mask$[.@change] + "^000000 que deseja alterar.";
                                                                            next;
                                                                            input .@points;
                                                                            
                                                                            mes $@da_BasicSettings$[4];
                                                                            mes "Tem certeza que deseja alterar os ^" + $@da_Color$[3] + "pontos de " + .@p_mask$[.@change] + "^000000 do ^" + $@da_Color$[3] +"'"+ .@p_mask_name$[.@change] + " " + .@name$ + "'^000000 de ^" + $@da_Color$[3] + .@rank_points[.@change] + "'^000000 para ^" + $@da_Color$[3] + .@points + "'^000000?";
                                                                            next;
                                                                            switch( select("- Sim, por favor.", "- Não, desejo digitar outro valor.", "^" + $@da_Color$[1] + "- Voltar.^000000", "^" + $@da_Color$[0] + "- Cancelar.^000000") )
                                                                            {
                                                                                case 1:
                                                                                    // Alterar pontos.
                                                                                    query_sql "UPDATE `" + $@da_DataBase$[3] + "` SET `" + (.@change==1?"loss":(.@change==2?"ration":"wins")) + "`='" + .@points + "' WHERE `type`='" + .@type + "' AND `auto_id`='" + .@rank_id + "'";
                                                                                    mes $@da_BasicSettings$[4];
                                                                                    mes "Os pontos de ^" + $@da_Color$[3] + "pontos de " + .@p_mask$[.@change] + "^000000 do ^" + $@da_Color$[3] +"'"+ .@p_mask_name$[.@change] + " " + .@name$ + "'^000000 de ^" + $@da_Color$[3] + .@rank_points[.@change] + "'^000000 para ^" + $@da_Color$[3] + .@points + "'^000000.";
                                                                                    next;
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 2:
                                                                                    break;
                                                                                case 3:
                                                                                    set .@loop_7, 0;
                                                                                    break;
                                                                                case 4:
                                                                                    set .@loop_7, 0;
                                                                                    set .@loop_6, 0;
                                                                                    set .@loop_5, 0;
                                                                                    set .@loop_4, 0;
                                                                                    set .@loop_3, 0;
                                                                                    set .@loop_2, 0;
                                                                                    set .@loop_1, 0;
                                                                                    break;
                                                                            }
                                                                        }
                                                                        break;
                                                                    case 3:
                                                                        set .@loop_6, 0;
                                                                        break;
                                                                    case 4:
                                                                        set .@loop_6, 0;
                                                                        set .@loop_5, 0;
                                                                        set .@loop_4, 0;
                                                                        set .@loop_3, 0;
                                                                        set .@loop_2, 0;
                                                                        set .@loop_1, 0;
                                                                        break;
                                                                }
                                                            }
                                                        }
                                                    }
                                                    break;
                                                case 3:
                                                    set .@loop_4, 0;
                                                    break;
                                                case 4:
                                                    set .@loop_4, 0;
                                                    set .@loop_3, 0;
                                                    set .@loop_2, 0;
                                                    set .@loop_1, 0;
                                                    break;
                                            }
                                        }
                                    case 3:
                                        set .@loop_3, 0;
                                        break;
                                    case 4:
                                        set .@loop_3, 0;
                                        break;
                                }
                            }
                            break;
                        case 4:
                            set .@loop_2, 0;
                            break;
                        case 5:
                            set .@loop_1, 0;
                            set .@loop_2, 0;
                            break;
                    }
                }
                break;
            case 4:
                set .@loop_1, 0;
                break;
        }
    }
    
    mes $@da_BasicSettings$[4];
    mes "Volte quando desejar batalhar em uma arena!";
    close2;
    cutin "", 255;
    end;
    
OnWaitingRoom:
    waitingroom $@da_BasicSettings$[3], 20;
    end;
}

// Funções

// * getGroupInfo(type {,id})
//        type: Tipo da informação que deseja adquirir.
//                [0]: Total de grupos cadastrado.
//                [1]: Total de arenas cadastrada de um grupo.
//                    id: Identificação do grupo.
//                [2]: Total de itens cadastrado na restrição de um grupo.
//                    id: Identificação do grupo.
//                [3]: Total de classes cadastrada na restrição de um grupo.
//                    id: Identificação do grupo.
//                [4]: Nome de um grupo.
//                    id: Identificação do grupo.
function    script    GetGroupInfo    {
    if( getarg(0) == 0 )
    {
        query_sql "SELECT `auto_id` FROM `" + $@da_DataBase$[1] + "`", .@id;
        return (getarraysize(.@id)?getarraysize(.@id):0);
    }
    else if( getarg(0) == 4 )
    {
        query_sql "SELECT `auto_id`, `name` FROM `" + $@da_DataBase$[1] + "` WHERE `auto_id`='" + getarg(1) + "'", .@id, .@name$;
        return (!getarraysize(.@id)?0:.@name$[0]);
    }
    else if( getarg(0) == 1 )
    {
        query_sql "SELECT `auto_id` FROM `" + $@da_DataBase$[0] + "` WHERE `group_id`='" + getarg(1) + "'", .@id;
        return (getarraysize(.@id)?.@id[0]:0);
    }
    else if( getarg(0) == 2 || getarg(0) == 3 )
    {
        query_sql "SELECT `auto_id` FROM `" + $@da_DataBase$[2] + "` WHERE `type`='" + (getarg(0)==2?0:1) + "' AND `group_id`='" + getarg(1) + "'", .@id;
        return (getarraysize(.@id)?.@id[0]:0);
    }
    else
        return 0;
}
    
// * checkRestriction(id, value)
//        id: Id do grupo a ser checado.
//        value: Id do item ou classe que deseja checar se existe nas restrições.
function    script    checkRestriction    {
    query_sql "SELECT `auto_id` FROM `" + $@da_DataBase$[2] + "` WHERE `value`='" + getarg(1) + "' AND `group_id`='" + getarg(0) + "'", .@id;
    return (getarraysize(.@id)?.@id[0]:0);
}

// * getRankInfo(type_1, type_2, object_id)
//        type_1: Tipo de retorno de referência.
//                [0]: Checa se o objeto(type_2) está cadastrado no Rank e retorna com a id do objeto no rank.
//                [1]: Retorna com as vitórias de um objeto(type_2).
//                [2]: Retorna com as derrotas de um objeto(type_2).
//                [3]: Retorna com o proporcional de vitórias sobre derrotas de um objeto(type_2).
//                [4]: Retorna com o nome do objeto(type_2).
//        type_2: Tipo do objeto.
//                [0]: Jogador.
//                [1]: Clã.
//                [2]: Grupo.
//        object_id: Id do objeto a ser consultado.
function    script    getRankInfo    {
    query_sql "SELECT `auto_id`, `wins`, `loss`, `ration`, `object_name` FROM `" + $@da_DataBase$[3] + "` WHERE `object_id`='" + getarg(2) + "' AND `type`='" + getarg(1) + "'", .@id, .@wins, .@loss, .@ration, .@name$;
    return (!getarraysize(.@id)?0:(getarg(0)==0?.@id[0]:(getarg(0)==1?.@wins[0]:(getarg(0)==2)?.@loss[0]:(getarg(0)==3?.@ration[0]:.@name$[0]))));
}

// * getArenaInfo(type, map_index)
//        type: Retorna com uma informação da arena.
//            [0]: Retorna com o id da arena.
//            [1]: Retorna com o tipo da arena.
//            [2]: Retorna com o nome da arena.
//        map_index: Mapa oande se encontra a arena.
function    script    getArenaInfo    {
    query_sql "SELECT `auto_id`, `name`, `type` FROM `" + $@da_DataBase$[0] + "` WHERE `map_index`='" + getarg(1) + "'", .@id, .@name$, .@type;
    return (!getarraysize(.@id)?0:(getarg(0)==0?.@id[0]:(getarg(0)==1?.@type[0]:.@name$[0])));
}

// * UpdateRanking(type, object_killer_id, object_killer_name, object_killed_id, object_killed_name)
//        type: Tipo de computação do ranking.
//                [0]: Computar em jogadores.
//                [1]: Computar em clãns.
//                [2]: Computar em Grupos.
//        object_killer_id: Id do jogador/clã/grupo que derrotou.
//        object_killer_name: Nome do jogador/clã/grupo que derrotou.
//        object_killed_id: Id do jogador/clã/grupo derrotado.
//        object_killed_name: Nome do jogador/clã/grupo derrotado.
//
//    Observações: Os nomes são modo de depuramento, caso o jogador/clã/grupo troque de nome.
function    script    UpdateRanking    {
    for( set .@i, 0; .@i < 2; set .@i, .@i + 1 )
    {
        if( (.@i==0 && getarg(1)) || (.@i==1 && getarg(3)) )
        {
            query_sql "SELECT `auto_id` FROM `" + $@da_DataBase$[3] + "` WHERE `object_id`='" + (.@i==0?getarg(1):getarg(3)) + "' AND `type`='" + getarg(0) + "'", .@u_auto_id;
            
            if( !getarraysize(.@u_auto_id) )
                query_sql "INSERT INTO `" + $@da_DataBase$[3] + "` (object_id, object_name, type) VALUES (" + (.@i==0?getarg(1):getarg(3)) + ", '" + (.@i==0?getarg(2):getarg(4)) + "', " + getarg(0) + ")";

            query_sql "UPDATE `" + $@da_DataBase$[3] + "` SET " + (.@i==0?"`wins`=`wins`+":"`loss`=`loss`+") + "'1', `ration`=`ration`" + (.@i==0?"+":"-") + "'1', `object_name`='" + (.@i==0?getarg(2):getarg(4)) + "' WHERE `object_id`='" + (.@i==0?getarg(1):getarg(3)) + "' AND `type`='" + getarg(0) + "'";
        }
    }

    return;
}

// * ReloadMapFlags(map_index, type,{,map_index2, type2}
//        map_index: mapa que será removido os mapflags.
//        type: Tipo da operação.
//            [0]: Remover mapflags.
//            [1]: Adiciona mapflags.
//                map_index2: Mapa novo para adicionar os mapflags.
//                type2: Tipo da arena.
function    script    ReloadMapFlags    {
    setarray .@map_flags[0], mf_nosave, mf_nomemo, mf_noteleport, mf_nowarp, mf_nowarpto, mf_pvp, mf_nocommand, mf_pvp_noguild, mf_pvp_noparty;
    if( getarg(1) == 0 )
    {
        for( set .@i, 0; .@i < getarraysize(.@map_flags); set .@i, .@i + 1 )
            removemapflag getarg(0), .@map_flags[.@i];
            
    }
    else {
        for( set .@i, 0; .@i < getarraysize(.@map_flags); set .@i, .@i + 1 )
        {
            if( (.@i <= 6) || (.@i == 6 && getarg(3) == 1) || (.@i == 7 && getarg(3) == 2) )
                setmapflag getarg(2), .@map_flags[.@i];
        }
    }
    
    return;
}

// * GetInfoName(<type>, <char_id>)
//        type: Retorna com o nome do clã ou grupo, caso o jogador não este em um deles retorna com N/a.
//            [0]: Nome do clã se o jogador estiver em um.
//            [1]: Nome do grupo se o jogador estiver em um.
//        char_id: Id do personagem.
function    script    GetInfoName    {
    query_sql "SELECT `guild_id`, `party_id` FROM `char` WHERE `char_id`='" + getarg(1) + "'", .@gid, .@pid;
    
    if( (getarg(0) == 0 && getarraysize(.@gid)) || (getarg(0) == 1 && getarraysize(.@pid)) )
        query_sql "SELECT `name` FROM `" + (getarg(0)==0?"guild":"party") + "` WHERE `" + (getarg(0)==0?"guild":"party") + "_id`='" + (getarg(0)==0?.@gid[0]:.@pid[0]) + "'", .@object_name$;

    return (getarraysize(.@object_name$)?.@object_name$[0]:"N/a");
}

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...