Hello everyone, I have a npc script of the Death Arena that I found just here. But I have the problem not repro .wav files that already exists myserver.grf at data(grf)\wav\(.wav)
A: How I setup the wavs at below script? Have to setup lub/lua or others files to?
A2: If I want to put to drop skulls with character name in pvp, what I may to do?
// [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 [email protected]_BasicSettings$[0],
99, // Nível de GM para Configurações.
1, // Sistema de eventos de avisos na arena. [Nota 2]
0, // Habilitar janela de chat em cima do npc? [Nota 1]
"Death Arena", // Mensagem a ser exibida na janela de chat do npc ou referência sobre o npc.
"^8A2BE2[Death Arena]^000000", // Nome do npc que será exibido nas janelas de dialogo do npc.
1, // Checar se caso um item na restrição seja carta se ele está equipada em um equipamento?
99, // Total de resultados exibidos por ranking. [Nota 3]
0 // Nível de GM para utilizar o comando de acessar raking.
;
setarray [email protected]_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 [email protected]_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.
;
mes [email protected]_BasicSettings$[4];
mes "Por favor, digite o nível minimo de base para jogadores poderem acessar a arena ^" + [email protected]_Color$[3] + [email protected]$ + "^000000.";
mes "Digite 0 para que o nível minimo de base seja desabilitado.";
next;
input [email protected];
mes [email protected]_BasicSettings$[4];
mes "Por favor, digite o nível máximo de base para jogadores poderem acessar a arena ^" + [email protected]_Color$[3] + [email protected]$ + "^000000.";
mes "Digite 0 para que o nível máximo de base seja desabilitado.";
next;
input [email protected];
// * 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 `" + [email protected]_DataBase$[1] + "`", [email protected];
return (getarraysize([email protected])?getarraysize([email protected]):0);
}
else if( getarg(0) == 4 )
{
query_sql "SELECT `auto_id`, `name` FROM `" + [email protected]_DataBase$[1] + "` WHERE `auto_id`='" + getarg(1) + "'", [email protected], [email protected]$;
return (!getarraysize([email protected])?0:[email protected]$[0]);
}
else if( getarg(0) == 1 )
{
query_sql "SELECT `auto_id` FROM `" + [email protected]_DataBase$[0] + "` WHERE `group_id`='" + getarg(1) + "'", [email protected];
return (getarraysize([email protected])[email protected][0]:0);
}
else if( getarg(0) == 2 || getarg(0) == 3 )
{
query_sql "SELECT `auto_id` FROM `" + [email protected]_DataBase$[2] + "` WHERE `type`='" + (getarg(0)==2?0:1) + "' AND `group_id`='" + getarg(1) + "'", [email protected];
return (getarraysize([email protected])[email protected][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 `" + [email protected]_DataBase$[2] + "` WHERE `value`='" + getarg(1) + "' AND `group_id`='" + getarg(0) + "'", [email protected];
return (getarraysize([email protected])[email protected][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 `" + [email protected]_DataBase$[3] + "` WHERE `object_id`='" + getarg(2) + "' AND `type`='" + getarg(1) + "'", [email protected], [email protected], [email protected], [email protected], [email protected]$;
return (!getarraysize([email protected])?0:(getarg(0)[email protected][0]:(getarg(0)[email protected][0]:(getarg(0)==2)[email protected][0]:(getarg(0)[email protected][0]:[email protected]$[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 `" + [email protected]_DataBase$[0] + "` WHERE `map_index`='" + getarg(1) + "'", [email protected], [email protected]$, [email protected];
return (!getarraysize([email protected])?0:(getarg(0)[email protected][0]:(getarg(0)[email protected][0]:[email protected]$[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 [email protected], 0; [email protected] < 2; set [email protected], [email protected] + 1 )
{
if( ([email protected]==0 && getarg(1)) || ([email protected]==1 && getarg(3)) )
{
query_sql "SELECT `auto_id` FROM `" + [email protected]_DataBase$[3] + "` WHERE `object_id`='" + ([email protected]==0?getarg(1):getarg(3)) + "' AND `type`='" + getarg(0) + "'", [email protected]_auto_id;
// * 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) + "'", [email protected], [email protected];
Hello everyone, I have a npc script of the Death Arena that I found just here. But I have the problem not repro .wav files that already exists myserver.grf at data(grf)\wav\(.wav)
A: How I setup the wavs at below script? Have to setup lub/lua or others files to?
A2: If I want to put to drop skulls with character name in pvp, what I may to do?
If someone undertands about, please help me.
Script NPC:
Link to comment
Share on other sites