Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // .----------------------------------------------------------.
- // . SoulBlaker Scripts Apresenta: .
- // . ___________________ .
- // . / _____/\______ \ .
- // . \_____ \ | | _/ .
- // . / \ | | \ .
- // . /_______ / |______ / .
- // . \/ \/ .
- // . [ eAthena Advanced Scripts ] .
- // . v1.0 .
- // .----------------------------------------------------------.
- // ; http://www.eathena.ws/board/SoulBlaker-m271867.html ;
- // .----------------------------------------------------------.
- // . Script: .
- // . Devil Square .
- // .----------------------------------------------------------.
- // . Por: SoulBlaker Compátivel: eAthena SVN versão: 1.3 .
- // .----------------------------------------------------------.
- // . Descrição: .
- // . Evento Devil Square, ocorre de 1 a 1hr. .
- // .----------------------------------------------------------.
- // . Changelog da Versão: .
- // . - 1.0 Iniciado o NPC. [SoulBlaker] .
- // . - 1.1 Corrigido nome de uma var. [SoulBlaker] .
- // . - 1.2 Corrigido evento da Square 2. [SoulBlaker] .
- // . - 1.3 Corrigido info para ver se a Devil Square já .
- // . está acontecendo. [SoulBlaker] .
- // *----------------------------------------------------------*
- prontera,139,169,5 script Devil Square#devil_01 459,{
- // Configurações
- // Qual nível de Base para Entrar na Devil Square?
- set $SquareBaseLevel, 75;
- // Qual o custo de Zeny para entrar na Devil Square?
- set $SquareZenyCost, 0;
- // Configurações das Recompensas
- // Os itens são entregue aos jogadores que quebrarem
- // o Arca do Tesouro ao terminar o combate contra os
- // monstros. Logo abaixo, terá uma série de informações
- // e configurações, para você configurar da melhor
- // maneira que achar para o seu servidor.
- // Configurações de EXP
- // Quanto de Experiência de Base o Jogador vai ganhar
- // ao matar uma Arca do Tesouro?
- // Se você deixar com o valor '0', o jogador não vai
- // ganhar experiência de Base.
- set $SquareBaseEXP,0;
- // Quanto de Experiência de Classe o jogador vai ganhar
- // ao matar uma Arca do Tesouro?
- // Se você deixar com o valor '0', o jogador não vai
- // ganhar experiência de Classe.
- set $SquareJobExp,0;
- // Configurações dos Itens!
- // Os itens são gravados e váriaveis (arrays).
- // Você deve determinar o ponto da array e o valor dela
- // como o Exemplo abaixo:
- //
- // set $SquareItem[<ponto>],<id do item>;
- // set $SquareItem[0],501;
- // OBS: Aqui o valor do array $SquareItem[0] será 501.
- //
- // set $SquareItem[0],501;
- // set $SquareItem[1],502;
- // OBS: Aqui o valor do ponto '0' da Array $SquareItem
- // será 501, e o ponto '1' será 502.
- //
- // Você somente pode adicionar números no ponto,
- // e não utrapassar de 127 arrays. Ou seja o máximo de
- // ponto no é '127'.
- //
- // Se você for um usuário avançado, poderá adicionar vários
- // valores em um setarray.
- // Exemplo:
- //
- // setarray $SquareItem[0],501,502,503;
- //
- // Ele irá setar desta maneira: 0 = 501, 1 = 502 e 3 = 503.
- // Alguns Itens vem padarão para não haver erro durante os eventos.
- // Então Sinta-se livre para setar os itens que deseja ou editar
- // os padrão do script. :)
- set $SquareItem[0],20005;
- set $SquareItem[1],2524;
- set $SquareItem[2],2421;
- set $SquareItem[3],5171;
- set $SquareItem[4],2357;
- // Qual o Máximo da quantidade de Item que o jogador pode ganhar?
- // Se você defenir o valor para 10, o jogador irá ganhar 10x o
- // item ganho no evento.
- set $SquareAmount,1;
- // Qual o Máximo de Jogador que pode entrar na arena de Devil Square?
- // Se você botar '0', está opção será desabilitada.
- set $SquarePlayers,0;
- // Deseja bloquear o uso de Habilidades ao gerar a Arca do Tesouro?
- // Bote 1 se deseja, bote 0 se não deseja.
- set $SquareTreasureNoSkill,1;
- mes "[Recepcionista da Devil Square]";
- mes "Seja Bem-vindo,";
- mes "a ^ff0000 Devil Square ^000000.";
- mes "Porta é fechada e você deve";
- mes "esperar na sala de Espera da Devil Square!!";
- next;
- switch ( select ("Sala de Espera?","Informações.","Saír.") ) {
- case 1:
- mes "[Recepcionista da Devil Square]";
- mes " Sim, para entrar na Devil Square...";
- mes "... você deve clicar duas vezes";
- mes "no balão escrito 'Devil Square' em cima de mim.";
- mes " Assim que estiver lá, aguarde o inicio da";
- mes "Devil Square que você será teletransportado";
- mes "automáticamente para a arena.";
- break;
- case 2:
- mes "[Recepcionista da Devil Square]";
- mes " A Devil Square é determinada por";
- mes "nível de Base...";
- mes " Para participar deste evento você";
- mes "deve ter o Nível de Base " + $SquareBaseLevel + " ou maior.";
- next;
- mes "[Recepcionista da Devil Square]";
- if( $SquareZenyCost ) {
- mes " A para entrar na arena";
- mes "você precisa ter no minimo de";
- mes $SquareZenyCost + " zenys.";
- mes " Mais pode trazer muitos";
- mes "beneficios a você.";
- }
- else {
- mes " Para entrar na arena";
- mes "é totalmente grátis.";
- mes "Ou seja não leva nenhum";
- mes "custo, e pode trazer";
- mes "muitos beneficios...";
- }
- next;
- mes "[Recepcionista da Devil Square]";
- mes "No final do evento, será invocado";
- mes "algumas Arca do Tesouro, possibilitando";
- mes "você a mata-las e ganhar recompensas";
- mes "do evento, preste muita atenção quando";
- mes "elas forem invocadas...";
- next;
- mes "[Recepcionista da Devil Square]";
- mes " A Devil Square ocorre de 3 em 3 hora.";
- mes "Então fique sempre ligado nestes horários.";
- break;
- case 3:
- mes "[Recepcionista da Devil Square]";
- mes "Já sabe, se falar morre...";
- break;
- }
- close;
- OnInit:
- // Sets mapflags
- setmapflag "ordeal_1-1",mf_nomemo;
- setmapflag "ordeal_1-1",mf_noteleport;
- setmapflag "ordeal_1-1",mf_nowarp;
- setmapflag "ordeal_1-1",mf_nogo;
- setmapflag "ordeal_1-1",mf_nomemo;
- setmapflag "ordeal_1-1",mf_nosave;
- // Set Waiting Rom
- set $@player,10000;
- if( $SquarePlayers )
- set $@player, $SquarePlayers;
- waitingroom "Devil Square",$@player,"OnArena";
- end;
- OnArena:
- if( $SquareZenyCost && Zeny < $SquareZenyCost ) {
- dispbottom "Você não tem zeny para entrar na arena.";
- dispbottom "E será chutado para bem longe...";
- warp "prontera",156,166;
- }
- set Zeny, Zeny - $SquareZenyCost;
- end;
- OnMinute00:
- killmonsterall "ordeal_1-1";
- if( $squareinf == 0 ) {
- set $@clock,5;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnMinute01:
- if( $squareinf == 0 ) {
- set $@clock,4;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnMinute02:
- if( $squareinf == 0) {
- set $@clock,3;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnMinute03:
- if( $squareinf == 0 ) {
- set $@clock,2;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnMinute04:
- if( $squareinf == 0 ) {
- set $@clock,1;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnMinute05:
- if( $squareinf == 0 ) {
- set $@clock,0;
- disablenpc "Devil Square#exit";
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnSquareEvent:
- // Tome cuidado ao editar os eventos.
- if( $@clock > 0 )
- announce "A Devil Square está-ra aberta em " + $@clock + " minutos, corram para a arena!",8;
- else if( $square_round == 0 || $square_round == 1) {
- announce "A Devil Square começou, boa sorte para todos!",8;
- warpwaitingpc "ordeal_1-1",183,182,10000;
- set $squareinf, 1;
- set $squaremob, 62;
- set $square_round, 1;
- // Mobs Padrão de 15 Spaws
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Orc Herói",1189,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Esqueleto Arqueiro",1016,15,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Minorous",1149,15,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 10 Spaws
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Esqueleto Soldado",1028,10,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Arenoso",1165,10,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,144,"[Devil Square] Réquiem",1164,10,"Devil Square#devil_01::OnDevilMobDead";
- }
- else if( $square_round == 2 ) {
- announce "Devil Square: Começou a 2° Square!! Boa Sorte a todos",8;
- set $squaremob, 60;
- // Mobs Padrão de 15 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Gárgula",1253,15,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Mímico",1191,15,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 10 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Alarme",1193,10,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Injustiçado",1257,10,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Alma Penada",1192,10,"Devil Square#devil_01::OnDevilMobDead";
- }
- else if( $square_round == 3 ) {
- announce "Devil Square: Começou a 3° Square!! Boa Sorte a todos",8;
- set $squaremob, 57;
- // Mobs Padrão de 15 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Anolian",1206,15,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Andarilho",1208,15,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Coringa",1131,15,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 10 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Deviruchi",1109,10,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 1 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Ilusão das Trevas",1302,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Senhor das Trevas",1272,1,"Devil Square#devil_01::OnDevilMobDead";
- }
- else if( $square_round == 4 ) {
- announce "Devil Square: Começou a 4° Square e os Mini-Boss Atacam! Boa Sorte a todos",8;
- set $squaremob, 30;
- // Mobs Padrão de 5 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Serial Killer",1507,5,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Dragão Mutante",1449,5,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Cavaleiro Sanguinário",1268,5,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 4 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Quimera",1456,4,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 3 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] ArchAngeling",1388,3,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Grifo",1259,3,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Panzer Goblin",1308,3,"Devil Square#devil_01::OnDevilMobDead";
- // Mobs Padrão de 2 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Líder Cobold",1296,2,"Devil Square#devil_01::OnDevilMobDead";
- }
- else if( $square_round == 5 ) {
- announce "Devil Square: Começou a 5° Square e os MVP's Atacam! Boa Sorte a todos",8;
- set $squaremob, 9;
- // Mobs Padrão de 1 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Bafomé",1399,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Senhor dos Mortos",1373,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] General Tartaruga",1312,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Senhor dos Orcs",1190,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Senhor das Trevas",1272,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Drácula",1389,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Faraó",1157,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Osíris",1038,1,"Devil Square#devil_01::OnDevilMobDead";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Orc Herói",1087,1,"Devil Square#devil_01::OnDevilMobDead";
- }
- else if( $square_round == 6 ) {
- announce "Devil Square: Começou a 6° Square e os MVP's continua Atacado! Boa Sorte a todos",8;
- set $squaremob, 9;
- // Mobs Padrão de 1 Spaws
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Amon-ra",1511,1,"Devil Square#devil_01::OnDevilMobFinish";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Orc Herói",1087,1,"Devil Square#devil_01::OnDevilMobFinish";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Bafomé",1399,1,"Devil Square#devil_01::OnDevilMobFinish";
- areamonster "ordeal_1-1",183,182,246,244,"[Devil Square] Senhor dos Mortos",1373,1,"Devil Square#devil_01::OnDevilMobFinish";
- }
- else {
- // Atenção, aqui fica todas as Caixas de recompensa...
- set $squaremob, 9;
- monster "ordeal_1-1",231,250,"Arca do Tesouro",1324,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",234,247,"Arca do Tesouro",1328,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",237,244,"Arca do Tesouro",1332,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",240,241,"Arca do Tesouro",1336,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",243,238,"Arca do Tesouro",1340,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",246,235,"Arca do Tesouro",1344,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",249,232,"Arca do Tesouro",1348,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",252,229,"Arca do Tesouro",1352,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",249,241,"Arca do Tesouro",1356,1,"Devil Square#devil_01::OnTreasureDied";
- monster "ordeal_1-1",240,249,"Arca do Tesouro",1360,1,"Devil Square#devil_01::OnTreasureDied";
- if( !$SquareTreasureNoSkill )
- setmapflag "ordeal_1-1",mf_noskill;
- }
- end;
- OnDevilMobDead:
- set $squaremob, $squaremob - 1;
- if( $squaremob > 0 )
- announce "Devil Square: Faltam " + $squaremob + " monstros para a " + ($square_round + 1) + "° Square.",8;
- else {
- set $square_round, $square_round + 1;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnDevilMobFinish:
- set $squaremob, $squaremob - 1;
- if( $squaremob > 0 )
- announce "Devil Square: Faltam " + $squaremob + " monstros para terminar os ataques dos Monstros.",8;
- else {
- announce "Devil Square: Parabéns jovens guerreiros, vocês derrotaram todos ataques dos monstros. Agora as Arca do Tesouro irão aparecer.",8;
- set $square_round, 7;
- donpcevent "Devil Square#devil_01::OnSquareEvent";
- }
- end;
- OnTreasureDied:
- set $squaremob, $squaremob - 1;
- announce "Devil Square: O Jogador [ " + strcharinfo(0) + " ] abriu uma das Arcas do Tesouro.",8;
- doevent "Devil Square#devil_01::OnTreasure";
- if( $squaremob == 0 ) {
- announce "Parabéns a todos bravos guerreiros que venceram a luta contra os Monstros na Devil Square.",8;
- announce "Evento criado por [ SoulBlaker ] do fórum eAthena.",8;
- enablenpc "Devil Square#exit";
- enablewaitingroomevent "Devil Square#exit";
- set $square_round, 0;
- set $squareinf, 0;
- // Remove mapflags
- removemapflag "ordeal_1-1",mf_nomemo;
- removemapflag "ordeal_1-1",mf_noteleport;
- removemapflag "ordeal_1-1",mf_nowarp;
- removemapflag "ordeal_1-1",mf_nogo;
- removemapflag "ordeal_1-1",mf_nomemo;
- removemapflag "ordeal_1-1",mf_noskill;
- removemapflag "ordeal_1-1",mf_nosave;
- }
- end;
- OnTreasure:
- set BaseExp, BaseExp + $SquareBaseEXP;
- set JobExp, JobExp + $SquareBaseEXP;
- set $@rand_1,rand(getarraysize($SquareItem));
- if( $SquareAmount )
- set $@rand_2,rand(1,$SquareAmount);
- else
- set $@rand_2,1;
- getitem $SquareItem[$@rand_1],$@rand_2;
- end;
- }
- ordeal_1-1,246,245,7 script Devil Square#exit 51,{
- mes "[Recepcionista da Saída]";
- mes "Deseja retornar a Prontera?";
- next;
- if( Select ("Sim.","Não.") == 1) {
- mes "[Recepcionista da Saída]";
- mes "Muito bem, boa viajem!";
- close2;
- warp "prontera",155,171;
- end;
- }
- mes "[Recepcionista da Saída]";
- mes "Você deve saír logo... ou pode ter grandes problemas...";
- close;
- OnInit:
- waitingroom "Devil Square Saída",10000;
- disablewaitingroomevent;
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement