-
Posts
42 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Sidy
-
-
26 minutes ago, kalabasa said:
How to disable rodex and mail on novices
A: Go to Nemo or your prefered differ and set:
-> Set Mail Button = 0 value to HIDE, 1 to SHOW
-> Skip some hidden buttons = for no show blank button of the rodex or others buttons that you want hide
or if you don't find the first button, select -> Hide Rodex Button
But if you set the [Set Mail Button] will not necessary again set the [Hide Rodex Button]
Now, to disable only for especied job like novice, I think no way to do. I Think! Not sure!
-
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");
} -
Thanks you, sir Start_ and to you too ItRas.
Now all is ok.Problem Solved
What I did: Replaced src folder and after did the changes how I wanted.
-
4 hours ago, ItsRas said:
Yeah this is a problem before but there's a fix for this already
This should fix the issue;
Thanks sir.
I added all lines and recompiled but I have problems,
I think I changed something or not, but don't have, how you see, the delay_rate function...? s_bonus function?
Knows the interligation: delay_rate // s_bonus // map_session_data Do you know what is that?
But not all lines I changed had problems.
I searched for something I could have change but nothing.... What to do? Please.
-
Thanks sir Frost, bless you.
Problem Solved
-
Hello guys
My problem is the Kiel Card Function, I'm using PRE_RE Settings but the card increase the interval, OK OK!! I inverted the value like + to - or - to + and nothing !! That only increase's the delay! How it's possible?
Not only this card, but others items like armor's don't execute this value correctly!
I mean that it happened since I downloaded the rAthena, came that issue for me...
I need to try other thing?
Quote- Id: 4403
AegisName: Kiel_Card
Name: Kiel-D-01 Card
Type: Card
Buy: 20
Weight: 10
Locations:
Head_Low: true
Head_Mid: true
Head_Top: true
Flags:
BuyingStore: true
Script: |
bonus bDelayrate,-30;Quote- Id: 2374
AegisName: Diabolus_Robe
Name: Diabolus Robe
Type: Armor
Buy: 20
Weight: 300
Defense: 6
Slots: 1
Jobs:
Acolyte: true
Archer: true
BardDancer: true
Hunter: true
Mage: true
Monk: true
Priest: true
Sage: true
Wizard: true
Classes:
Upper: true
Locations:
Armor: true
EquipLevelMin: 55
Refineable: true
Script: |
bonus bMaxSP,150;
bonus bMdef,5;
bonus bHealPower,6;
bonus bDelayRate,-10; -
Hello guys, I'm tired on trying for to much time the link of the parameters, how you can see below:
A: How edits the initial message that apears in the ballon how I show for you in the SS?
A2: How edits the WEB LINK of the Cash Image that in the moment is hypero.com? (cash image I know where edit, but I didn't find the link no one local!) Oo'
-
-
Thanks! It works now!
Rest my problem about no saving SS's (screenshot), don't you know?
@edit
If you're searching for the SS, I only moved the paste where is found the screenshot paste, to under C:/ or letter of disk in that uses, before my paste was in desktop.
-
Hello people,
I have 2 problems that I think be easy, but for me that don't know...
The skill Tree TAB as you see and when I Print the Screen while gaming, the Print image don't appears in the ScreenShot paste? What this mean?
NOTE: I PRINT THAT USING PAINT BEFORE PRINTSCREEN, NOT THE SCREENSHOT PASTE!
If can help, thanks!
-
6 hours ago, Chaos92 said:
that is because of your client translation. you might need to check lua files or lua files514 in your GRF or data folder.
regarding skills usually in skillinfoz folder in lua files.
I tried with some possibilities that you said,
Quote2nd - > I went test BEFORE and AFTER using the before files (in this situation to show my issue to you I'm using only skill_descript)
-> With using the lub (skilldescript)
Note: I Used that file bellow (I checked the LUA and LUB) no errors after saved. Saved with GRF Editors after open the LUB, when I save with Notepad++ don't works cause the ANSI. (So, I opened grfeditor to create a new grf to only use to add the lua file that I want use and after saved as in the grfeditor.)
QuoteAnd now here below, when I used without LUB skilldescript (only file I'm using only now to resolve the issue as all)
The example its not the same skill, but they are so similar talking about this letters.
Right friends, I have all this issue to resolve:
-> That happens with my ITEMS, LOGIN PIN CODE INSTRUCTIONS, AND WHERE HAVE "~^`´Çç" ...
If someones already had pass that or knows how to pass, help me please.
-
If someones can help me, please read:
What I must change in all config of my server to see the caracters signals ?
Change ANSI ? But where ?
Do I Have to change in server db same have to change in client-side-tree lua files/txts ?
Prints comproves that I have the problem at messages of the server too, so Pin CODE too.
HEXED 2012
Quote -
Hi, everyone welcome to help
What more I need to do?? I want make a PRE-RENEWALL BRAZIL SERVER and.... WITH PACKET OBFUSCATION, but when I tried put didn't work well cause the clif_parse in map_server, but when I disabled packets in server and client the same error persists?! Ohh no!
Why?
For 2 days I'm trying discover what happens to persists it:
QuoteMy clientinfo and sclientinfo are the same that are:
Quote<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
<desc>Sua Descricao</desc>
<servicetype>korea</servicetype>
<servertype>primary</servertype>
<connection>
<display>Seu Servidor</display>
<desc>Descricao</desc>
<address>127.0.0.1</address>
<port>6900</port>
<version>46</version>
<balloon>x1/x1</balloon>
<langtype>0</langtype>
<aid>
<admin>2000000</admin>
<loading>
<image>loading00.jpg</image>
<image>loading01.jpg</image>
<image>loading02.jpg</image>
<image>loading03.jpg</image>
<image>loading04.jpg</image>
</loading>
</aid>
</connection>
<registrationweb>http://seusite.com</registrationweb>
</clientinfo>I'm using DISABLE PACKET ENCRYPTION and DISABLE PACKET OBFUSCATION:
Quote -
19 minutes ago, Najara said:
Hi there. A good start would be to upload the Flux tables into your SQL database (located in data/schemas/charmapdb/ and logindb/). Not sure if that would fix the markdown error though but first things first.
I move all files to localhost/ragnarok and the error persists
What now ?
These files are in the same SQL table of the RO server ?
-
Hello guys, my name's Herbert.
So,
I search for days here but nothing to fix the problem I found.
I have a problem at install my first flux cp at my server.
>> I already activated " <?php if (defined('__ERROR__') && $showExceptions): true; ?> "
and I saw this :
QuoteDeprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 934
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1230
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1255
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1584
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1586
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Markdown_Parser has a deprecated constructor in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 215
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1934
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1970
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1970
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1998
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1998
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2017
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2018
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2122
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2134
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2134
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2145
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2146
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 2270
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MarkdownExtra_Parser has a deprecated constructor in C:\xampp\htdocs\fluxcp\lib\markdown\markdown.php on line 1677and I tried insert sql user name and password. (root or username of ragnarok sql that I use for ragnarok server? what's wrong?)
MY PHP version 7.4.13 and phpMyadmin 5.0.4
Why I every time see below ?
Error
An error occurred while trying to process your request.
Please try contacting an administrator: admin@localhost
I want to put on my server with the CP, but I can't now....
Help me please.
How put infinite item for Vip
in General Support
Posted
Hello, I searched for how I can set like yggdrasil berry item(or other) for to not be used, and be infinite for one group(like vip).
How I can set infinite usable item for Vip Chacracters?
Thanks