Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Painel para eventos de drop


comcem
 Compartilhar

Posts Recomendados

estou trazendo um painel para drop pronto para editação como vocês quiserem...

 

Obs: Naum Foi eu quem criou apenas estou postando aki !

 

Download:

É necessário se cadastrar para acessar o conteúdo.

 

//===== Cronus Script ========================================

//= Painel para eventos de drop

//===== Por: =================================================

//= brno

//===== Versão Atual: ========================================

//= 2.0

//===== Compatibilidade: =====================================

//= eAthena & Cronus

//===== Descrição: ===========================================

//= NPC muito simples e útil para realizar eventos de drop

//= sem ser necessário escolher apenas monstros de loot

//= ou mexer no mob_db, e nesta versão, com limite de 127 itens

//= 1 mapa e 127 monstros, ou seja, pode adicionar 127 itens

//= diferentes para dropar de um poring

//= depois de configurar tudo, basta clicar em iniciar evento

//= que o npc automaticamente invoca os monstros configurados

//= no mapa configurado e faz um anuncio dizendo que o evento

//= começou e em que mapa é...

//===== Changelog ============================================

//= 1.1 - Corrigido um pequeno erro na hora de dropar o item.

//= 1.2 - Adicionado menu para deletar monstros e itens do painel

//= 2.0 - Adicionado sistema de drop por quantidade maxima.

//============================================================

 

- script evt_drop -1,{

OnNPCKillEvent:

if(strcharinfo(3) != $mevt_drops$) end;

for(set @o,0; @o < getarraysize($mevt_drops); set @o,@o+1) {

if(killedrid == $mevt_drops[@o]) {

for(set @t,0; @t < getarraysize($ievt_drops); set @t,@t+1) {

if(!$ievt_drops[@t]) continue;

if(rand(1,$chance[@t]) == 1){

if(!$cpart_imax) getitem $ievt_drops[@t],1;

if($part_imax2[@t] < $part_imax[@t]){

setarray $part_imax2[@t],$part_imax2[@t]+1;

getitem $ievt_drops[@t],1;

}

}

}

end;

}

}

end;

OnWhisperGlobal:

if(getgmlevel() < 50) end;

set .@name$,"^0000FF[Assistente]^000000";

mes .@name$;

mes "Olá, deseja alterar alguma coisa no evento de drops ou iniciar o mesmo?";

next;

switch(select("Iniciar evento.:Alterar Itens sendo dropados.:Alterar Monstros que estão dropando.:Alterar Mapa do evento.:Configurar tipo de drop:"+(($cpart_imax) ? "Acompanhar itens dropados":"")+":Nada.")) {

case 1:

for(set @i,0; @i < getarraysize($mevt_drops); set @i,@i+1) {

if(!$mevt_drops[@i]) continue;

monster $mevt_drops$,0,0,"Evento",$mevt_drops[@i],$quant[@i];

}

deletearray $part_imax2;

mes .@name$;

mes "O evento teve inicio.";

announce "O evento de drop teve inicio, os monstros estão em "+$mevt_drops$,16;

close;

case 2:

while (1){

mes .@name$;

mes "Atualmente estão sendo dropados os seguintes itens:";

for(set @i,0; @i < getarraysize($ievt_drops); set @i,@i+1) {

if(!$ievt_drops[@i]) continue;

mes "^FF0000"+@i+": "+getitemname($ievt_drops[@i])+" ("+$ievt_drops[@i]+")^000000";

mes "^331ff2Chance de 1 em "+$chance[@i];

if($cpart_imax) mes "Maximo drop de "+$part_imax[@i]+"^000000";

 

}

switch(select("Alterar itens:Deletar um drop do painel:Cancelar")){

case 1:

mes "Digite a posição do item que deseja alterar.";

mes "Caso deseje adicionar algum item, basta digitar um número depois do ultimo listado.";

input @posit;

next;

mes .@name$;

if(@posit > 126){ mes "Posição Invalida"; next; break; }

mes "Agora digite o ID do item que deseja adicionar, para dropar dos monstros no evento.";

input @id;

next;

mes .@name$;

if(getiteminfo(@id,2) == -1){ mes "ID do item Invalida"; next; break; }

if($cpart_imax){

mes "Digite o maximo de itens que poderão ser dropados";

mes "Lembrando que 0 anula o drop do item.";

input @maxit;

setarray $part_imax[@posit],@maxit;

next;

mes .@name$;

}

mes "Por fim, digite a chance de dropar o item, de 1 em ^331ff2(?)^000000";

input @xnc;

next;

mes .@name$;

setarray $ievt_drops[@posit],@id;

setarray $chance[@posit],@xnc;

mes "Item adicionado com sucesso!";

close;

case 2:

mes "Apenas digite a posição do item que deseja deletar do painel.";

input @delitem;

next;

mes .@name$;

if(@delitem < 0 || @delitem > 126){ mes "Posição invalida"; next; break; }

setarray $ievt_drops[@delitem],0;

mes "Item deletado do painel com sucesso";

case 3:

close;

}

}

case 3:

while (1){

mes .@name$;

mes "Atualmente estão sendo usados os seguintes monstros:";

for(set @i,0; @i < getarraysize($mevt_drops); set @i,@i+1) {

if(!$mevt_drops[@i]) continue;

mes "^331ff2"+@i+": "+$quant+"x"+getmonsterinfo($mevt_drops[@i],0)+" ("+$mevt_drops[@i]+")^000000";

}

switch(select("Alterar Monstros:Deletar um monstro do painel:Cancelar")){

case 1:

mes "Digite a posição do monstro que deseja alterar.";

mes "Caso deseje adicionar algum item, basta digitar um número depois do ultimo listado.";

input @posit;

next;

mes .@name$;

if(@posit > 126){ mes "Posição Invalida"; next; continue; }

mes "Agora digite o ID do monstro que deseja adicionar, para dropar itens no evento.";

input @id;

next;

mes .@name$;

if(getmonsterinfo(@id,2) == -1){ mes "ID do monstro Invalida"; next; continue; }

mes "Por fim, digite a quantidade de monstros que serão invocados.";

input @knt;

next;

mes .@name$;

setarray $mevt_drops[@posit],@id;

setarray $quant[@posit],@knt;

mes "Monstro adicionado com sucesso!";

close;

case 2:

mes "Digite apenas a posição do monstro que deseja alterar";

next;

input @delmonster;

set $mevt_drops[@delmonster],0;

mes .@name$;

if(@delmonster < 0 || @delmonster > 126){ mes "Posição invalida"; next; break; }

mes "Monstro deletado do painel com sucesso";

case 3:

close;

}

}

case 4:

while (1){

mes .@name$;

mes "Atualmente o mapa usado para o evento é: ^331ff2"+$mevt_drops$+"^000000 e ele possui "+getmapusers($mevt_drops$)+" players no momento.";

mes "Deseja alterar para qual?";

input @map$;

next;

mes .@name$;

if(getmapusers(@map$) == -1) { mes "Mapa incorreto."; next; continue; }

mes "Mapa alterado com sucesso, de ^FF0000"+$mevt_drops$+"^000000 para ^331ff2"+@map$+"^000000, o mapa escolhido possui ^3366FF"+getmapusers(@map$)+"^000000 players";

set $mevt_drops$,@map$;

close;

}

case 5:

mes .@name$;

mes "Escolha qual opção de evento você deseja para seu evento.";

next;

if(select("Evento de drop por chance.:Evento de drop com limite de itens e com chance."))

set $cpart_imax,((@menu==2) ? 1:0);

mes .@name$;

mes "Evento configurado.";

close;

case 6:

mes .@name$;

mes "Vou listar os itens, mostrando a quantidade dropada e quantidade maxima";

for(set @i,0; @i < getarraysize($ievt_drops); set @i,@i+1) {

if(!$ievt_drops[@i]) continue;

mes "^0000EE["+$part_imax2[@i]+"/"+$part_imax[@i]+"] "+(($part_imax2[@i]<$part_imax[@i]) ? "^00FF00":"^FF0000")+" "+getitemname($ievt_drops[@i])+" ("+$ievt_drops[@i]+")";

}

case 7:

close;

}

}

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.