-
Posts
354 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by IsabelaFernandez
-
-
groups: (
{
id: 0 /* group 0 is the default group for every new account */
name: "Player"
level: 0
inherit: ( /*empty list*/ )
commands: {
changedress: true
warp: true
go: true
}
permissions: {
/* without this basic permissions regular players could not
trade or party */
can_trade: true
can_party: true
command_enable: true
attendance: true
}
},Group lvl 0 not working @go and @warp
-
Just now, Kakaroto said:
?
-
I have a selection of custom auras and I would like to use a specific one for the top 1 of pvp (I had a script that changed the rank 1 player's name to for example: ([King]nameplayer)
or a script to change the player's rank 1 name or a script to make the aura differentiated.
this is the PvP script I'm using:Spoiler// .----------------------------------------------------------.
// . ___________________ .
// . / _____/\______ \ .
// . \_____ \ | | _/ .
// . / \ | | \ .
// . /_______ / |______ / .
// . \/ \/ .
// . [ 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.
3, // Sistema de eventos de avisos na arena. [Nota 2]
1, // 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?
10, // 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
13, "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");
} -
12 hours ago, M a p l e said:
CreativeSD script? If so, this version is pretty old.
how fix this? commands are not working... i want normal commands for all groups (with the exception of @go 0)
-
hi partners.
I'm having trouble installing the SQL files from our friend @Ghost script...
this error appears "pvp_rank" table does not exist... please someone guide me to the correct installation, thank you! -
-
On 4/10/2022 at 10:18 PM, EIysium said:
Is working fine for me, you made other modifications to skill? return 2 is kaite behaviour and return 1 is like maya effect.
What skills are you testing? i tested with storm gust.
return 2 or 1 is the Maya effect for AoE? I tested it with storm gust too... I want it to reflect on skills in area
-
The skill "Kaite" I made the changes in src/skill.cpp but it didn't work.
if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) #ifdef RENEWAL && type // Does not reflect AoE #endif ) { // Kaite only works against non-players if they are low-level. // Kyomu doesn't disable Kaite, but the "skill fail chance" part of Kyomu applies to it. clif_specialeffect(bl, EF_ATTACKENERGY2, AREA); if( --sc->data[SC_KAITE]->val2 <= 0 ) status_change_end(bl, SC_KAITE, INVALID_TIMER); return 2; }
I changed the return 2; to return 1; and continues not reflecting in area.
-
-
On 6/3/2018 at 7:13 AM, crazyarashi said:
if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) #ifdef RENEWAL && type // Does not reflect AoE #endif ) { // Kaite only works against non-players if they are low-level. // Kyomu doesn't disable Kaite, but the "skill fail chance" part of Kyomu applies to it. clif_specialeffect(bl, EF_ATTACKENERGY2, AREA); if( --sc->data[SC_KAITE]->val2 <= 0 ) status_change_end(bl, SC_KAITE, INVALID_TIMER); return 2; }
Find this part in src/skill.cpp and change the return 2; to return 1;
how do i reflect area damage with kaite? (renewal mode server)
-
58 minutes ago, Start_ said:
Try change 60000 to 8640000
what about the issue of reflecting area damage?
-
hi collaborators.
I would like to know how to configure this same script of item_db ID 2199 (Ahura Mazdah) { sc_start4 SC_ENDURE,60000,10,0,0,1; },{ sc_end SC_ENDURE; } as an example of the skill Endure to be active all the time the skill SL_KAITE (465)
I tried setting: { sc_start4 SC_ENDURE,60000,10,0,0,1; sc_start4 SC_KAITE,60000,7,0,0,1; },{ sc_end SC_ENDURE; sc_end SC_KAITE; }
but it didn't work, just the "visual" effect.DETAIL: (visual effect lasts a short time after the effect of the skill "Kaite" is added)
taking advantage of the subject of the skill "Kaite" I made the changes in src/skill.cpp but it didn't work.
Spoilerif( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) #ifdef RENEWAL && type // Does not reflect AoE #endif ) { // Kaite only works against non-players if they are low-level. // Kyomu doesn't disable Kaite, but the "skill fail chance" part of Kyomu applies to it. clif_specialeffect(bl, EF_ATTACKENERGY2, AREA); if( --sc->data[SC_KAITE]->val2 <= 0 ) status_change_end(bl, SC_KAITE, INVALID_TIMER); return 2; }
I changed the return 2; to return 1; and continues not reflecting in area.
-
It's saying that I don't have permission and I would really like to test this beautiful map.
-
On 4/5/2022 at 11:51 PM, Mahiro said:
f(BaseJob == Job_Blacksmith){ .@to_class = 4100; } // here
if(BaseJob == Job_Alchemist){ .@to_class = 4107; } // here
in red job name, and in blue baby 3rd class id.
The line is the same just copy one of them and repeat below until the desired result.
Spoilerbabythirdclass:
.@eac = eaclass();
.@to_class = roclass(.@eac|EAJL_THIRD|EAJL_BABY);
if(.@to_class >= 0)
changebase .@to_class;f(BaseJob == Job_Blacksmith){ .@to_class = 4100; } // here
if(BaseJob == Job_Alchemist){ .@to_class = 4107; } // here
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;like this?
On 4/5/2022 at 5:15 AM, Mahiro said:In this case you need to do similar to the case above:
if(BaseJob == Job_Blacksmith){ .@to_class = 4100; } // here
if(BaseJob == Job_Alchemist){ .@to_class = 4107; } // here
if(.@to_class >= 0)
changebase .@to_class;
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;you need to identify the ID of the baby you want and repeat the process.
ok, it worked thanks. but a question for classes that have two names for example Assassin Cross, High Wizard I type without space?
-
On 4/4/2022 at 1:33 PM, ChokituBR said:
Olha o que o Mahiro fez na third class, e copia isso pra baby. com os ID's corretos pras classes que sex faz diferença.
could you give an example of any class for me to copy and apply to all the others?
On 4/5/2022 at 5:15 AM, Mahiro said:In this case you need to do similar to the case above:
if(BaseJob == Job_Blacksmith){ .@to_class = 4100; } // here
if(BaseJob == Job_Alchemist){ .@to_class = 4107; } // here
if(.@to_class >= 0)
changebase .@to_class;
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;you need to identify the ID of the baby you want and repeat the process.
could you give an example of any class for me to copy and apply to all the others?
-
-
Hello everybody.
my GTB card configuration is = { bonus bNoMagicDamage,40; bonus bUseSPrate,100; },{},{}
I would like to know how to configure if it is in the items.conf part so that GTB becomes immune to Lex Aeterna and Decrease AGI. -
Hello everybody. as the title says, I would like to know if it is possible to use the pre-renewal version with the item_db renewal... and if so, how to make such a change.
-
4 hours ago, Mahiro said:
I didnt quite understand some things, but I believe this is it.
3rd baby appearance is not working from any class =(
-
Hi everyone.
I have a little problem with this script. the baby transformation isn't working on some and the ninja class and the Gunslinger aren't catching either. I would like a solution, thanks.Spoiler//####################################################
//# ™ #
//# ####### ###### ### ### ### ### ### ### #
//# ### ### ### ### ### ### ### ### ### #
//# ##### ### ### #### #### ##### #
//# ## ### ### ### ### ### ### ### #
//# ## ###### ### ### ### ### ### #
//# #
//####################################################
//v1.0: Allows changing suits to 3rd classes; #
//v1.1: Added Xmas and Summer suits; #
//v1.2: Added support to baby 3rd class suits. #
//####################################################
que_temsky,49,133,5 script Class Suits 485,{OnCommand:
if(!vip_status(VIP_STATUS_ACTIVE)) {
message strcharinfo(0),"This service is only avaiaible to VIP players.";
end;
}mes "[^00FF00Acesso VIP^000000]";
mes "Então, deseja mudar sua aparência?";
menu "Mudar para aparência 3rd.",thirdclass,"Mudar para aparência 3rd baby.",babythirdclass,"Second class",secondclass,"Voltar para o normal.",reset;thirdclass:
.@eac = eaclass();
.@to_class = roclass(.@eac|EAJL_THIRD);
if(.@to_class >= 0)
changebase .@to_class;
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;babythirdclass:
.@eac = eaclass();
.@to_class = roclass(.@eac|EAJL_THIRD|EAJL_BABY);
if(.@to_class >= 0)
changebase .@to_class;
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;secondclass:
.@eac = eaclass();
if(Upper)
.@to_class = roclass(.@eac&EAJ_UPPERMASK);
else
.@to_class = roclass(.@eac|JOBL_2_1);
if(.@to_class >= 0)
changebase .@to_class;
else
mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
close;reset:
changebase Class;
close;miscsuits:
next;
mes "[Suit Provider]";
mes "Which of the suits would you like to use?";
menu "Xmas suit",xmas,"Summer suit",summer;xmas:
changebase 26;
close;summer:
changebase 27;
close;OnInit:
bindatcmd "visual","Class Suits::OnCommand";
end;}
-
1 hour ago, cook1e said:
You have some SC_ from Hercules and they don't exist on rAthena...
sc_start SC_ATTHASTE_POTION1,1800000,4; sc_start SC_ATTHASTE_POTION2,1800000,6; sc_start SC_PLUSATTACKPOWER,60000,20; sc_start SC_PLUSMAGICPOWER,60000,20; sc_start SC_MOVHASTE_INFINITY,5000,0; sc_start SC_GENTLETOUCH_REVITALIZE,240000,3;
If you are getting petrified is because they don't exist and the server turns NULL SC_ to Stone_Cursehow can i script these buffs using rAthena codes?
-
Hi everyone. whenever I use this script my character is petrified, does anyone know how to fix it?
Spoiler- script Buffs -1,{
OnInit:
bindatcmd ("Buffs", "Buffs::OnAtcmd_Buffs");
end;
OnAtcmd_Buffs:
specialeffect2 EF_HEAL2; percentheal 100,100;
//atcommand "@repairall";
sc_start SC_FOOD_STR_CASH,1800000,20;
sc_start SC_FOOD_AGI_CASH,1800000,20;
sc_start SC_FOOD_INT_CASH,1800000,20;
sc_start SC_FOOD_VIT_CASH,1800000,20;
sc_start SC_FOOD_DEX_CASH,1800000,20;
sc_start SC_FOOD_LUK_CASH,1800000,20;
sc_start SC_CASH_PLUSEXP,18000000,100;
sc_start SC_CASH_PLUSONLYJOBEXP,1800000,100;
sc_start SC_INC_AGI,240000,8;
sc_start SC_MAGNIFICAT,240000,5;
sc_start SC_IMPOSITIO,240000,5;
sc_start SC_GLORIA,240000,5;
sc_start SC_BLESSING,240000,8;
sc_start SC_CONCENTRATION,240000,1;
sc_start SC_ANGELUS,240000,10;
sc_start SC_ATTHASTE_POTION1,1800000,4;
sc_start SC_ATTHASTE_POTION2,1800000,6;
sc_start SC_PLUSATTACKPOWER,60000,20;
sc_start SC_PLUSMAGICPOWER,60000,20;
sc_start SC_MOVHASTE_INFINITY,5000,0;
sc_start SC_GENTLETOUCH_REVITALIZE,240000,3;
message strcharinfo(0), ""+strcharinfo(0)+" Blessed player."; -
hello, I would like to know how I add colors in this script in the menu option for example. in the "fire" option I would like to add the color #FF0000 (which is red)
in the water #0000FF (which is blue) and in the respectiveSpoilerend;
OnBuffs:
.@size = getarraysize(.buffs$);
for( .@i = 0; .@i < .@size; .@i++){
.@menu$ = .@menu$ + ""+.buffs$[.@i]+"" + ":";
}
.@i = select(.@menu$) -1;
sc_start .elements[.@i],180000,5;
atcommand "@refresh "+strcharinfo(0);
end;OnInit:
setarray .buffs$, "Fire", "Water", "Earth", "Wind", "Holy", "Shadow", "Poison";
setarray .elements, 96, 97, "99", "98", "37", "144", "26";
bindatcmd "buffs2","buffs::OnBuffs",5,99;
end;
} -
Hi everyone. I would like a script for GM (Game Master) group 99 as soon as it automatically logs in using the command @speed 0
without having to manually type
group permission not working.
in Database Support
Posted
the issue is that I'm already in the default, I just added the lines go: true
and warp: true and it just doesn't work.