Jump to content

criseleusis

Members
  • Content Count

    18
  • Joined

  • Last visited

  1. I've deleted de log_conf and now it works. Thank u all ^-^
  2. /conf/logs.comf enable_logs: 0xFFFFF _____ /conf/import/log_conf.txt enable_logs: 0x0000 __ This? The strange thing is that the atcommand and loginlog are been saved, but only this..
  3. Hello mates. My server in online since 01/08, today i tried to look at logs as trades, chat, zeny etc and all the tables was empity? This tables are in the same DB that I upload the file "main.sql". Did I do something wrong? Thank all edit the atcommands and login logs are been save, but only this.
  4. Is there a way that i can put the star gladiador to use all feeling in all maps and hatred in all classes without "link" it? Thank you
  5. It worked fine, thank you again!
  6. It started, but monster weren't spammed
  7. i've corrected all that need to be, but it still doesnt work. Now i can click on npc and everything else, but i can configure the time to event stars. prontera,158,178,5 script Devil Square 792,{ mes "["+strnpcinfo(1)+"]"; mes "Bem-vindo aventureiro."; mes "Eu tenho um desafio para você"; mes "deseja aceitar?"; next; switch(select("Entrar.:Informações.:Cancelar.")){ case 1: if($aberto == 0){ mes "["+strnpcinfo(1)+"]"; mes "A Devil Square está fechado"; mes "no momento, volte mais tarde."; close; } percentheal 100,100; warp "ordeal_1-1",189,189; mapannounce "ordeal_1-1","[Devil Square]: "+strcharinfo(0)+" entrou na Devil Square.",8; end; case 2: mes "["+strnpcinfo(1)+"]"; mes "A Devil Square é um evento"; mes "automático ondes surgem vários"; mes "monstros e o objetivo dos"; mes "jogadores é matar todos os monstros."; next; mes "["+strnpcinfo(1)+"]"; mes "O Objetivo final é chegar a última"; mes "rodada onde surgem as"; mes "Caixas do Tesouro."; next; mes "["+strnpcinfo(1)+"]"; mes "A cada monstro que você mata"; mes "você recebe ^FF0000"+getitemname($@id)+"^000000"; mes "a quantidade é aleatória."; mes "As Caixas do Tesouro dão uma"; mes "quantidade mais alta de ^FF0000"+getitemname($@id)+"^000000."; next; mes "["+strnpcinfo(1)+"]"; mes "Com esses itens você pode trocar"; mes "aqui mesmo por itens, os itens são"; mes "configurados pelo Administrador."; next; mes "["+strnpcinfo(1)+"]"; mes "Mas para chegar até a rodada das"; mes "Caixas do Tesouro você precisar"; mes "matar muitos monstros, porque"; mes "somente os 5 jogadores que"; mes "mais matarem monstros irão"; mes "chegar a rodada Final."; next; mes "["+strnpcinfo(1)+"]"; mes "Os demais serão teletransportados"; mes "para prontera, os jogadores que"; mes "continuarem no evento irão correr"; mes "atrás das Caixas do Tesouro."; close; case 3: mes "["+strnpcinfo(1)+"]"; mes "Estarei aqui quando precisar"; mes "de um desafio."; close; }} ordeal_1-1,182,183,5 script DS2 -1,{ OnTimer30000: if($status == 0) end; if (getmapusers("ordeal_1-1") == 0){ announce "[Devil Square]: Todos falharam na Devil Square, os Monstros sairam vitoriosos.",8; set $status,0; killmonsterall "ordeal_1-1"; end; initnpctimer; end; } ordeal_1-1,182,183,5 script DS3 -1,{ OnMinute11: announce "[Devil Square]: O Portal está aberto e será fechado em 5 minutos, corram para a arena!",8; initnpctimer; killmonsterall "ordeal_1-1"; set $aberto,1; set $status,1; disablenpc "Saída"; end; waitingroom "Aberta a Devil Square", 0; OnTimer60000:announce "[Devil Square]: O Portal está aberto e será fechado em 4 minutos, corram para a arena!",8; end; OnTimer120000:announce "[Devil Square]: O Portal está aberto e será fechado em 3 minutos, corram para a arena!",8; end; OnTimer180000:announce "[Devil Square]: O Portal está aberto e será fechado em 2 minutos, corram para a arena!",8; end; OnTimer240000:announce "[Devil Square]: O Portal está aberto e será fechado em 1 minuto, corram para a arena!",8; end;OnTimer300000: // Inicia o Evento if( getmapusers("ordeal_1-1") ) { announce "[Devil Square]: O Portal está fechado, aqueles que não tiveram oportunidade podem tentar na próxima vez!",8; initnpctimer "DS2"; set $aberto,0; } else { announce "[Devil Square]: A Devil Square foi cancelada por não haver jogadores na arena!",8; set $status,0; killmonsterall "ordeal_1-1"; end; } set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Zumbi",1153,2,"DS3::Ondsdead";areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Esqueleto",1152,4,"DS3::Ondsdead";areamonster "ordeal_1-1",205,205,219,219,"[DS] Familiar",1005,2,"DS3::Ondsdead";areamonster "ordeal_1-1",212,215,222,220,"[DS] Drainliar",1111,2,"DS3::Ondsdead";areamonster "ordeal_1-1",229,233,183,182,"[DS] Chon Chon de Aço",1042,2,"DS3::Ondsdead";areamonster "ordeal_1-1",230,246,246,244,"[DS] Zenorc",1177,2,"DS3::Ondsdead";areamonster "ordeal_1-1",241,252,205,205,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead";areamonster "ordeal_1-1",251,235,222,220,"[DS] Sorrateiro",1037,2,"DS3::Ondsdead";areamonster "ordeal_1-1",203,204,194,195,"[DS] Lobo",1013,2,"DS3::Ondsdead";end; Ondsdead:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 2ª Square.",8; }if($mobs == 0){ announce "[Devil Square]: Começou a 2ª Square!",8; goto Ondsround2; }end; Ondsround2:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",205,205,219,219,"[DS] Orc Arqueiro",1189,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",229,233,183,182,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",230,246,246,244,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",241,252,205,205,"[DS] Esqueleto Arqueiro",1016,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Esqueleto Arqueiro",1016,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Minorus",1149,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Minorus",1149,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",210,208,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";end; Ondsdead2:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 3ª Square.",8; }if($mobs == 0){ announce "[Devil Square]: Começou a 3ª Square!",8; goto Ondsround3; }end; Ondsround3:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",205,205,219,219,"[DS] Leib Olmai",1306,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Leib Olmai",1306,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",229,233,183,182,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Gullinbursti",1311,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",241,252,205,205,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",210,208,194,195,"[DS] Esqueleto General",1290,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Esqueleto General",1290,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Gato de Nove Caudas",1307,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Senhor dos Orcs",1190,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Héroi",1087,1,"DS3::Ondsdead3";end; Ondsdead3:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 4ª Square.",8; }if($mobs == 0){ announce "[Devil Square]: Começou a 4ª Square!",8; goto Ondsround4; }end; Ondsround4:set $mobs,17;areamonster "ordeal_1-1",190,189,190,189,"[DS] Seyren Windsor",1634,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",207,207,207,207,"[DS] Eremes Guile",1635,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",217,217,217,217,"[DS] Howard Alt-Eisen",1636,5,"DS3::Ondsdead4";areamonster "ordeal_1-1",227,226,227,226,"[DS] Margaretha Sorin",1637,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Kathryne Keyron",1639,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Atroce",1785,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Dragão Mutante",1262,1,"DS3::Ondsdead4";end; Ondsdead4:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 5){ mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 5ª Square.",8; }if($mobs == 0){ announce "[Devil Square]: Começou a 5ª Square!",8; goto Ondsround5; }end; Ondsround5:set $mobs,10;areamonster "ordeal_1-1",233,246,233,246,"[DS] Salamandra",1831,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",246,245,246,245,"[DS] Amon-Rá",1511,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",189,188,189,188,"[DS] Doppelganger",1046,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",236,236,236,236,"[DS] Guardião Espadachim",1829,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",196,195,196,195,"[DS] Senhor das Trevas",1272,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",206,205,206,205,"[DS] Kasa",1833,1,"DS3::Ondsdead5";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Faraó",1157,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",183,182,246,244,"[DS] Bafomé",1039,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",224,223,224,223,"[DS] Kasa",1833,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",243,232,243,232,"[DS] Guardião Arqueiro",1830,1,"DS3::Ondsdead5";end; Ondsdead5:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 5){ mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 6ª Square.",8; }if($mobs == 0){ announce "[Devil Square]: Começou a 6ª Square!",8; goto Ondsround6; }end; Ondsround6:set $mobs,100;areamonster "ordeal_1-1",233,246,233,246,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",246,245,246,245,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",189,188,189,188,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",236,236,236,236,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",196,195,196,195,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",206,205,206,205,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",183,182,246,244,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",224,223,224,223,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",243,232,243,232,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";end; Ondsdead6: if ($status == 0) end; set $mobs,$mobs-1; if($mobs == 5){ announce "[Devil Square]: Faltam 5 monstros para eliminar a Devil Square.",8; } if($mobs == 0){ set $status,0; enablenpc "Saída"; announce "[Devil Square]: Parabéns a todos guerreiros que venceram e lutaram contra os Monstros na Devil Square.",8; mapannounce "ordeal_1-1","[Devil Square]: Peguem seus prêmios com o npc de Saída.",8; end; } end;}ordeal_1-1,246,246,7 script Saída::DS 51,{ mes "[Saída]"; mes "Parabéns por ter sobrevivido!"; announce "[Devil Square]: O jogador [ "+ strcharinfo(0)+" ] ganhou 3x Caixa de Evento Projeto-RO.",8; getitem 20605,3; sleep 1000; mapwarp "ordeal_1-1","prontera",156,177; dispbottom "[Devil Square]: A Devil Square chegou ao fim para você, obrigado por participar."; end;} } ordeal_1-1 mapflag nowarpordeal_1-1 mapflag nowarptoordeal_1-1 mapflag noteleportordeal_1-1 mapflag nosave SavePointordeal_1-1 mapflag nomemoordeal_1-1 mapflag nobranchordeal_1-1 mapflag nopenaltyordeal_1-1 mapflag pvp offordeal_1-1 mapflag gvg off Am I missing something on "OnMinue14:" to starts the event?
  8. Thank you for the link @Gaar, i will be very useful.
  9. i'm trying to put a devil square event on my server, but when i click on NPC nothing happens here's the script prontera,98,254,5 script Devil Square 792,{ mes "["+strnpcinfo(1)+"]"; mes "Bem-vindo aventureiro."; mes "Eu tenho um desafio para você"; mes "deseja aceitar?"; next; switch(select("Entrar.:Informações.:Cancelar.")){ Case 1: if($aberto == 0){ mes "["+strnpcinfo(1)+"]"; mes "A Devil Square está fechado"; mes "no momento, volte mais tarde."; Close; } percentheal 100,100; warp "ordeal_1-1",189,189; Mapannounce "ordeal_1-1","[Devil Square]: "+strcharinfo(0)+" entrou na Devil Square.",8; end; Case 2: mes "["+strnpcinfo(1)+"]"; mes "A Devil Square é um evento"; mes "automático ondes surgem vários"; mes "monstros e o objetivo dos"; mes "jogadores é matar todos os monstros."; next; mes "["+strnpcinfo(1)+"]"; mes "O Objetivo final é chegar a última"; mes "rodada onde surgem as"; mes "Caixas do Tesouro."; next; mes "["+strnpcinfo(1)+"]"; mes "A cada monstro que você mata"; mes "você recebe ^FF0000"+getitemname($@id)+"^000000"; mes "a quantidade é aleatória."; mes "As Caixas do Tesouro dão uma"; mes "quantidade mais alta de ^FF0000"+getitemname($@id)+"^000000."; next; mes "["+strnpcinfo(1)+"]"; mes "Com esses itens você pode trocar"; mes "aqui mesmo por itens, os itens são"; mes "configurados pelo Administrador."; next; mes "["+strnpcinfo(1)+"]"; mes "Mas para chegar até a rodada das"; mes "Caixas do Tesouro você precisar"; mes "matar muitos monstros, porque"; mes "somente os 5 jogadores que"; mes "mais matarem monstros irão"; mes "chegar a rodada Final."; next; mes "["+strnpcinfo(1)+"]"; mes "Os demais serão teletransportados"; mes "para prontera, os jogadores que"; mes "continuarem no evento irão correr"; mes "atrás das Caixas do Tesouro."; Close; Case 3: mes "["+strnpcinfo(1)+"]"; mes "Estarei aqui quando precisar"; mes "de um desafio."; Close; }} ordeal_1-1,182,183,5 script DS2 -1,{ OnTimer30000: if($status == 0) end; if (getmapusers("ordeal_1-1") == 0){ Announce "[Devil Square]: Todos falharam na Devil Square, os Monstros sairam vitoriosos.",8; set $status,0; killmonsterall "ordeal_1-1"; end; } initnpctimer; end; } ordeal_1-1,182,183,5 script DS3 -1,{ OnMinute14: Announce "[Devil Square]: O Portal está aberto e será fechado em 5 minutos, corram para a arena!",8; initnpctimer; killmonsterall "ordeal_1-1"; set $aberto,1; set $status,1; disablenpc "Saída"; end; waitingroom "Aberta a Devil Square", 0; OnTimer60000:Announce "[Devil Square]: O Portal está aberto e será fechado em 4 minutos, corram para a arena!",8; end; OnTimer120000:Announce "[Devil Square]: O Portal está aberto e será fechado em 3 minutos, corram para a arena!",8; end; OnTimer180000:Announce "[Devil Square]: O Portal está aberto e será fechado em 2 minutos, corram para a arena!",8; end; OnTimer240000:Announce "[Devil Square]: O Portal está aberto e será fechado em 1 minuto, corram para a arena!",8; end;OnTimer300000: // Inicia o Evento if( getmapusers("ordeal_1-1") ) { Announce "[Devil Square]: O Portal está fechado, aqueles que não tiveram oportunidade podem tentar na próxima vez!",8; initnpctimer "DS2"; set $aberto,0; } else { Announce "[Devil Square]: A Devil Square foi cancelada por não haver jogadores na arena!",8; set $status,0; killmonsterall "ordeal_1-1"; end; } set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Zumbi",1153,2,"DS3::Ondsdead";areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Esqueleto",1152,4,"DS3::Ondsdead";areamonster "ordeal_1-1",205,205,219,219,"[DS] Familiar",1005,2,"DS3::Ondsdead";areamonster "ordeal_1-1",212,215,222,220,"[DS] Drainliar",1111,2,"DS3::Ondsdead";areamonster "ordeal_1-1",229,233,183,182,"[DS] Chon Chon de Aço",1042,2,"DS3::Ondsdead";areamonster "ordeal_1-1",230,246,246,244,"[DS] Zenorc",1177,2,"DS3::Ondsdead";areamonster "ordeal_1-1",241,252,205,205,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead";areamonster "ordeal_1-1",251,235,222,220,"[DS] Sorrateiro",1037,2,"DS3::Ondsdead";areamonster "ordeal_1-1",203,204,194,195,"[DS] Lobo",1013,2,"DS3::Ondsdead";end; Ondsdead:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ Mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 2ª Square.",8; }if($mobs == 0){ Announce "[Devil Square]: Começou a 2ª Square!",8; goto Ondsround2; }end; Ondsround2:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",205,205,219,219,"[DS] Orc Arqueiro",1189,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",229,233,183,182,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",230,246,246,244,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",241,252,205,205,"[DS] Esqueleto Arqueiro",1016,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Esqueleto Arqueiro",1016,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Minorus",1149,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Minorus",1149,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",210,208,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";end; Ondsdead2:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ Mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 3ª Square.",8; }if($mobs == 0){ Announce "[Devil Square]: Começou a 3ª Square!",8; goto Ondsround3; }end; Ondsround3:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",205,205,219,219,"[DS] Leib Olmai",1306,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Leib Olmai",1306,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",229,233,183,182,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Gullinbursti",1311,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",241,252,205,205,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",210,208,194,195,"[DS] Esqueleto General",1290,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Esqueleto General",1290,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Gato de Nove Caudas",1307,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Senhor dos Orcs",1190,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Héroi",1087,1,"DS3::Ondsdead3";end; Ondsdead3:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 10){ Mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 4ª Square.",8; }if($mobs == 0){ Announce "[Devil Square]: Começou a 4ª Square!",8; goto Ondsround4; }end; Ondsround4:set $mobs,17;areamonster "ordeal_1-1",190,189,190,189,"[DS] Seyren Windsor",1634,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",207,207,207,207,"[DS] Eremes Guile",1635,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",217,217,217,217,"[DS] Howard Alt-Eisen",1636,5,"DS3::Ondsdead4";areamonster "ordeal_1-1",227,226,227,226,"[DS] Margaretha Sorin",1637,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Kathryne Keyron",1639,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Atroce",1785,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Dragão Mutante",1262,1,"DS3::Ondsdead4";end; Ondsdead4:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 5){ Mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 5ª Square.",8; }if($mobs == 0){ Announce "[Devil Square]: Começou a 5ª Square!",8; goto Ondsround5; }end; Ondsround5:set $mobs,10;areamonster "ordeal_1-1",233,246,233,246,"[DS] Salamandra",1831,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",246,245,246,245,"[DS] Amon-Rá",1511,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",189,188,189,188,"[DS] Doppelganger",1046,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",236,236,236,236,"[DS] Guardião Espadachim",1829,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",196,195,196,195,"[DS] Senhor das Trevas",1272,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",206,205,206,205,"[DS] Kasa",1833,1,"DS3::Ondsdead5";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Faraó",1157,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",183,182,246,244,"[DS] Bafomé",1039,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",224,223,224,223,"[DS] Kasa",1833,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",243,232,243,232,"[DS] Guardião Arqueiro",1830,1,"DS3::Ondsdead5";end; Ondsdead5:if ($status == 0) end;set $mobs,$mobs-1;if($mobs == 5){ Mapannounce "ordeal_1-1","[Devil Square]: Faltam 10 monstros para a 6ª Square.",8; }if($mobs == 0){ Announce "[Devil Square]: Começou a 6ª Square!",8; goto Ondsround6; }end; Ondsround6:set $mobs,100;areamonster "ordeal_1-1",233,246,233,246,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",246,245,246,245,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",189,188,189,188,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",236,236,236,236,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",196,195,196,195,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",206,205,206,205,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",183,182,246,244,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",224,223,224,223,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";areamonster "ordeal_1-1",243,232,243,232,"[DS] Memória de Thanatos",1708,10,"DS3::Ondsdead6";end; Ondsdead6: if ($status == 0) end; set $mobs,$mobs-1; if($mobs == 5){ Announce "[Devil Square]: Faltam 5 monstros para eliminar a Devil Square.",8; } if($mobs == 0){ set $status,0; enablenpc "Saída"; Announce "[Devil Square]: Parabéns a todos guerreiros que venceram e lutaram contra os Monstros na Devil Square.",8; Mapannounce "ordeal_1-1","[Devil Square]: Peguem seus prêmios com o npc de Saída.",8; end; } end;}ordeal_1-1,246,246,7 script Saída::DS 51,{ mes "[Saída]"; mes "Parabéns por ter sobrevivido!"; Announce "[Devil Square]: O jogador [ "+ strcharinfo(0)+" ] ganhou 3x Caixa de Evento Projeto-RO.",8; getitem 20605,3; sleep 1000; mapwarp "ordeal_1-1","prontera",156,177; dispbottom "[Devil Square]: A Devil Square chegou ao fim para você, obrigado por participar."; end;} // MapFlags ~ordeal_1-1 mapflag nowarpordeal_1-1 mapflag nowarptoordeal_1-1 mapflag noteleportordeal_1-1 mapflag nosave SavePointordeal_1-1 mapflag nomemoordeal_1-1 mapflag nobranchordeal_1-1 mapflag nopenaltyordeal_1-1 mapflag pvp offordeal_1-1 mapflag gvg off is there a error that dont see?
  10. Well, i load this on my server and when i click nothing happens. I'm having this problem with a lots of npcs
  11. Please, can someone run this script and tell me where the map report error? I'm runing my server in RLCP and it dont report any error to me. here's the code. // .----------------------------------------------------------.// . ___________________ .// . / _____/______ .// . _____ | | _/ .// . / | | .// . /_______ / |______ / .// . / / .// . [ Advanced Scripts ] .// . v1.2 .// .----------------------------------------------------------.// ; https:github.com/SoulBlaker/ ;// .----------------------------------------------------------.// . Script: .// . Mestra das Classes .// .----------------------------------------------------------.// . Por: SoulBlaker Compátivel: eAthena Based v1.0 .// .----------------------------------------------------------.// . Descrição: .// . Muda a classe de um jogador, de acordo com as .// . configurações, tem funções de reset. .// .----------------------------------------------------------.// . Changelog da Versão: .// . * 1.0 [SoulBlaker] .// . - Iniciado NPC. .// *----------------------------------------------------------*// [Nota 1]: 0 desabilita esta opção.// [Nota 2]: Tabela de evoluções de classes:// 0: Habilita as 1ª classes.// 1: Habilita as 2ª classes.// 2: Habilita as classes expandidas.// 3: Habilita as transclasses.// 4: Habilita as classes expandidas e as transclasses.// 5: Habilita as evoluções para classes expandidas. (Ninja/Justiceiro/Taekwon)// 6: Habilita as transclasses e evoluções de classes expandidas.// 7: Habilita as 3ª classes.// 8: Habilita as 3ª classes e evoluções de classes expandidas.// mini: Classes Babys seguem o grau hierárquico dessas configurações, tenha em mente que pode ser desativado nas configurações.//// [Nota 3]: Exigencia de pontos de habilidades:// 0: Desabilita exigencias em distribuição de pontos ao evoluir.// 1: Força com que o jogador distribua os pontos para evoluir.// 2: Remove os pontos restantes do jogador ao evoluir.//- script JobMasterConfigure -1,{OnInit: // Configurações Gerais do Script // // Configurações Gerais setarray .MainConfig[0], 6, // Habilitar hierarquia de evoluções de classes. [Nota 2] 0, // Exigir que os pontos de habilidades sejam distribuidos para evoluir uma classe. [Nota 3] 0, // Exigir que o jogador guarde seus itens no iventário ao renascer? [Nota 1] 1, // Entregar habilidades extras? [Nota 1] 1, // Habilitar Classes Mini-Classes? [Nota 1] 1, // Habilitar opção de resetar os atributos. [Nota 1] 5000000, // Valor de Zeny a ser cobrado para resetar os atributos. [Nota 1] 1, // Habilitar opção de resetar habilidades. [Nota 1] 5000000, // Valor de Zeny a ser cobrado para resetar as habilidades. [Nota 1] 1, // Habilitar montárias. [Nota 1] 1200 // Valor de Zeny a ser cobrado de montarias. [Nota 1] ; // Níveis exigidos para evoluções de classes. setarray .LevelRequire[0], 10, 10, // <base_lvl_firstclass>, <job_lvl_firstclass> 10, 40, // <base_lvl_advclass>, <job_lvl_advclass> 10, 40, // <base_lvl_expandedclass>, <job_lvl_expandedclass> 99, 50, // <base_lvl_rebornclass>, <job_lvl_rebornclass> 10, 10, // <base_lvl_hfirstclass>, <job_lvl_hfirstclass> 10, 40, // <base_lvl_transclass>, <job_lvl_transclass> 10, 60, // <base_lvl_3rdclass>, <job_lvl_3rdclass> 10, 10, // <base_lvl_babyfirstclas>, <job_lvl_babyfirstclass> 10, 30, // <base_lvl_babyadvclass>, <job_lvl_babyadvclass> 99, 40 // <base_lvl_baby3rdclass>, <job_lvl_baby3rdclass> ; // Comandos. bindatcmd "jobmaster", "JobMaster::OnStart"; end;}- script #jobmaster::JobMaster -1,{OnStart: function checkjob; // Operadores de comparações por grupos de classes. function checkjobend; // Operadores de comparações por grupos de modo. function checkmode; // Checagem de modos. function classname; // Nome das classes. function mountname; // Checagem de Montarias. function job_menu; // Menu das classes. function job_optional_menu; // Funções do menu opcional. copyarray .@Config[0], getvariableofnpc(.MainConfig, "JobMasterConfigure"), getarraysize(getvariableofnpc(.MainConfig, "JobMasterConfigure")); if( checkjobend(.@Config[0],Class) ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, você conseguiu chegar ao topo de sua classe hierárquica."; mes "Seus transcendentes devem estar muito orgulhoso de você ^0000FF" + strcharinfo(0) + "^000000!"; if( .@Config[5] || .@Config[7] || .@Config[9] ) job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3]; close; } // Fazendo conversão de valores no script. set .@base, (!Class?0:(checkjob(10,Class)?14:(checkjob(11,Class)?16:(checkjob(12,Class)?18:(checkjob(0,Class)?2:(checkjob(2,Class)?4:(checkjob(1,Class)?6:(Job_Novice_High?8:(checkjob(3,Class)?10:(checkjob(5,Class)?12:-1)))))))))); set .@BaseLevel, getvariableofnpc(.LevelRequire[.@base], "JobMasterConfigure"); set .@JobLevel, getvariableofnpc(.LevelRequire[(.@base+1)], "JobMasterConfigure"); if( BaseLevel < .@BaseLevel ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Você precisa ter o ^0000FFNível " + .@BaseLevel + " de Base^000000 para poder evoluir sua classe."; if( .@Config[5] || .@Config[7] || .@Config[9] ) job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3]; close; } if( JobLevel < .@JobLevel ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Você precisa ter o ^0000FFNível " + .@JobLevel + " de Classe^000000 para poder evoluir sua classe."; if( .@Config[5] || .@Config[7] || .@Config[9] ) job_optional_menu 0, .@Config[5], .@Config[6], .@Config[7], .@Config[8], .@Config[9], .@Config[10], .@Config[3]; close; } if( .@Config[1] && SkillPoint ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Você precisa utilizar todos seus ^0000FFPontos de Habilidade^000000 para poder evoluir sua classe."; mes "Deseja remover seus ^0000FFPontos de Habilidade^000000?"; next; if( select("^0000FF- Sim, por favor.","^FF0000- Não, obrigado.^000000") == 1 ) set SkillPoint, 0; else { mes "^4B0082[Mestra das Classes]^000000"; mes "Tudo bem, utilize os seus ^0000FFPontos de Habilidade^000000 para poder evoluir sua classe."; close; } } if( checkriding() || checkcart() ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Você não pode evoluir sua classe utilizando um ^0000FF" + mountname() + "^000000."; close; } if( checkjob(8,Class) || checkjob(0,Class) || (checkmode(0,.@Config[0])&&checkjob(2,Class)) || checkjob(11,Class) ) { set .@loop_1, 1; while(.@loop_1) { mes "^4B0082[Mestra das Classes]^000000"; mes "Selecione a ^0000FFClasse^000000 que você deseja se tornar."; next; set .@class, job_menu(Class, Sex); if( !.@class ) break; mes "^4B0082[Mestra das Classes]^000000"; mes "Tem certeza que deseja se tornar um ^0000FF" + classname(.@class,Sex) + "^000000?"; next; switch( select("^0000FF- Sim, por favor.^000000", "^FFA500- Não, desejo mudar a classe.^000000", "^FF0000- Cancelar.^000000") ) { case 1: setlook 7, 0; set clother_color, 0; jobchange .@class; mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, você se tornou um ^0000FF" + classname(.@class,Sex) + "^000000."; close; case 2: break; case 3: set .@loop_1, 0; break; } } } else if( checkjob(1, Class) || checkjob(12,Class) ) { if( checkjob(12,Class) ) { set .@roclass, roclass(eaclass()|EAJL_THIRD); mes "^4B0082[Mestra das Classes]^000000"; mes "Você deseja se tornar um ^FF0000" + classname(.@roclass,Sex) + "^000000?"; next; set .@choose, select("", "^0000FF- Sim, por favor.^000000", "", "^FF0000- Não, obrigado.^000000"); } else if( checkmode(1,.@Config[0]) ) { set .@roclass, roclass(eaclass()|EAJL_THIRD); mes "^4B0082[Mestra das Classes]^000000"; mes "Você deseja ^0000FFRenascer^000000 ou se tornar um ^FF0000" + classname(.@roclass,Sex) + "^000000?"; next; set .@choose, select("^0000FF- Desejo Renaser.^000000", "- Quero me tornar ^FF0000" + classname(.@roclass,Sex) + "^000000.", "^FF0000- Não, obrigado.^000000"); } else { mes "^4B0082[Mestra das Classes]^000000"; mes "Você deseja ^0000FFRenascer^000000?"; next; set .@choose, select("^0000FF- Sim, por favor.^000000", "", "^FF0000- Não, obrigado.^000000"); } switch( .@choose ) { case 1: if( .@Config[2] ) { getinventorylist; if( getarraysize(@inventorylist_id) ) { mes "^4B0082[Mestra das Classes]^000000"; mes "Você deve guardar todos os seus itens no Armazém para e tornar um ^0000FF" + classname(4001, Sex) + "^000000."; close; } } set jobmaster_reborn, 4001+Class; setlook 7, 0; set clother_color, 0; jobchange 4001; resetlvl 1; mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000?"; close; case 2: setlook 7, 1; set clother_color, 0; jobchange .@roclass; mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000."; close; case 3: break; } } else if( checkjob(5,Class) ) { set .@class, (roclass(eaclass(jobmaster_reborn)&EAJL_THIRD)?jobmaster_reborn:(!checkjob(3,Class)?(roclass(eaclass(jobmaster_reborn)&EAJ_BASEMASK)+4001):jobmaster_reborn)); mes "^4B0082[Mestra das Classes]^000000"; mes "Você deseja se tornar um ^0000FF" + classname(.@class,Sex) + "^000000?"; next; if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 ) { setlook 7, 0; set clother_color, 0; jobchange .@class; if( .@class == jobmaster_reborn ) set jobmaster_reborn, roclass(eaclass()|EAJL_THIRD); mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, você se tornou um ^0000FF" + classname(Class, Sex) + "^000000."; close; } } mes "^4B0082[Mestra das Classes]^000000"; mes "Muito bem, volte quando desejar trocar de classe."; close; // Menu de classes. function job_menu { switch( getarg(0) ) { case 0: setarray .@jobmenu[0], 1, 2, 3, 4, 5, 6, 23; // Habilitar Classes Expandidas. set .@Mode, getvariableofnpc(.MainConfig[0], "JobMasterConfigure"); set .@Baby, getvariableofnpc(.MainConfig[4], "JobMasterConfigure"); if( checkmode(2,.@Mode) ) setarray .@jobmenu[7], 24, 25, 4046; if( .@Baby ) setarray .@jobmenu[getarraysize(.@jobmenu)], 4023; break; case 1: setarray .@jobmenu[0], 7, 14; break; case 2: setarray .@jobmenu[0], 9, 16; break; case 3: setarray .@jobmenu[0], 11, 19; break; case 4: setarray .@jobmenu[0], 8, 15; break; case 5: setarray .@jobmenu[0], 10, 18; break; case 6: setarray .@jobmenu[0], 12, 17; break; case 24: setarray .@jobmenu[0], 4215; break; case 25: setarray .@jobmenu[0], 4211, 4212; break; case 4023: setarray .@jobmenu[0], 4024, 4025, 4026, 4027, 4029, 4045; break; case 4024: setarray .@jobmenu[0], 4030, 4037; break; case 4025: setarray .@jobmenu[0], 4032, 4039; break; case 4026: setarray .@jobmenu[0], 4034, 4042; break; case 4027: setarray .@jobmenu[0], 4031, 4038; break; case 4028: setarray .@jobmenu[0], 4033, 4041; break; case 4029: setarray .@jobmenu[0], 4035, 4040; break; case 4046: setarray .@jobmenu[0], 4047, 4049; break; } set .@job_menu$, ""; for( set .@i, 0; .@i < getarraysize(.@jobmenu); set .@i, .@i + 1 ) set .@job_menu$, .@job_menu$ + "^0000FF- " + classname(.@jobmenu[.@i],getarg(1)) + ".:"; set .@choose_job, select(.@job_menu$+"^FF0000- Cancelar.^000000")-1; return (.@choose_job>=getarraysize(.@jobmenu)?0:.@jobmenu[.@choose_job]); } // Checagem de modos. function checkmode { switch(getarg(0)) { case 0: return (getarg(1)==5||getarg(1)==6||getarg(1)==8?true:false); case 1: return (getarg(1)==7||getarg(1)==8?true:false); case 2: return (getarg(1)==2||getarg(1)==4||getarg(1)==5||getarg(1)==6||getarg(1)==8?true:false); default: break; } return false; } // Checagem de classe. function checkjob { set .@eac, eaclass(getarg(1)); switch( getarg(0) ) { // Checar se pertence a uma classe iniciante. case 0: return (getarg(1)>=Job_Swordman&&getarg(1)<=Job_Thief?true:false); // Checa se pertence a uma classe avançada. case 1: return (.@eac&EAJL_2&&getarg(1)<Job_Novice_High?true:false); // Checa se pertence a uma classe Expandida. case 2: return (getarg(1)>=Job_Gunslinger&&getarg(1)<=Job_Ninja||getarg(1)>=Job_Taekwon&&getarg(1)<=Job_Soul_Linker?true:false); // Checa se pertence a uma transclasse iniciante. case 3: if( getarg(1) >= Job_Swordman_High && getarg(1) <= Job_Thief_High ) return true; else return false; // Checa se pertence a uma transclasse avançada. case 4: return (getarg(1)>=Job_Lord_Knight&&getarg(1)<=Job_Paladin2?true:false); // Checa se pertence a uma transclasse. case 5: return (.@eac&EAJL_UPPER?true:false); // Checa se pertence a uma terceira classe. case 6: return (.@eac&EAJL_THIRD?true:false); // Checa se é evolução de uma classe expandida case 7: return (getarg(1)>=Job_Kagerou&&getarg(1)<=Job_Rebellion||getarg(1)>=Job_Star_Gladiator&&getarg(1)<=Job_Soul_Linker?true:false); // Checa se é um Aprendiz ou Mini Aprendiz case 8: return (getarg(1)==Job_Novice||getarg(1)==Job_Baby?true:false); // Checa se é um Aprendiz. case 9: return (!getarg(1)?true:false); case 10: // Checa se é um Mini Aprendiz. return (getarg(1)==Job_Baby?true:false); // Checa se é uma primeira classe das Mini. case 11: return (getarg(1)>=Job_Baby_Swordman&&getarg(1)<=Job_Baby_Thief?true:false); // Checa se é uma classe avançada das Mini. case 12: return (getarg(1)>=Job_Baby_Knight&&getarg(1)<=Job_Super_Baby?true:false); // Checa se é uma classe que utiliza um Carrinho de Mão. case 13: return (BaseClass==Job_Merchant?true:false); // Checa se é uma classe que utiliza um Peco-Peco. case 14: return (getarg(1)!=Job_Swordman&&BaseClass==Job_Swordman&&!checkjob(6,getarg(1))?true:false); case 15: // Checa se é uma classe que utiliza um Dragão. return (getarg(1)==Job_Rune_Knight||getarg(1)==Job_Rune_Knight_T?true:false); case 16: // Checa se é uma classe que utiliza um Grifo. return (getarg(1)==Job_Royal_Guard||getarg(1)==Job_Royal_Guard_T?true:false); // Checa se é uma classe que utiliza um M.E.C.H.A. case 17: return (getarg(1)==Job_Mechanic||getarg(1)==Job_Mechanic_T?true:false); // Checa se é uma classe que utiliza um Falcão. case 18: return (getarg(1)==Job_Archer||getarg(1)==Job_Archer_T||getarg(1)==Job_Hunter||getarg(1)==Job_Sniper||getarg(1)==Job_Ranger||getarg(1)==Job_Ranger_T); default: break; } return false; } // Checa se a classe chegou a sua evolução final de acordo com a configuração requisitada. function checkjobend { // Classes Super (Sem transcendentes) if( getarg(1) == Job_SuperNovice || getarg(1) == Job_Super_Baby ) return true; set .@eac, eaclass(getarg(1)); switch( getarg(0) ) { case 0: return (checkjob(0,getarg(1))||checkjob(11,getarg(1))?true:false); case 1: return (checkjob(1,getarg(1))||checkjob(12,getarg(1))?true:false); case 2: return (checkjob(1,getarg(1))||checkjob(12,getarg(1))||checkjob(2,getarg(1))?true:false); case 3: return (checkjob(4,getarg(1))||checkjob(12,getarg(1))?true:false); case 4: return (checkjob(2,getarg(1))||checkjob(12,getarg(1))||checkjob(4,getarg(1))?true:false); case 5: return (checkjob(1,getarg(1))||checkjob(12,getarg(1))||checkjob(7,getarg(1))?true:false); case 6: return (checkjob(4,getarg(1))||checkjob(12,getarg(1))||checkjob(7,getarg(1))?true:false); case 7: return (checkjob(2,getarg(1))||checkjob(6,getarg(1))?true:false); case 8: return (checkjob(6,getarg(1))||checkjob(7,getarg(1))?true:false); default: break; } return false; } // Opções dos Menus Opcionais. function job_optional_menu { switch(getarg(0)) { case 0: mes " "; mes "Posso te ajudar em mais alguma coisa?"; next; switch( select((getarg(1)?"^0000FF- Resetar Atributos.":""), (getarg(3)?"^0000FF- Resetar Habilidades.":""), (getarg(5)&&checkjob(13,Class)?"^0000FF- Adquirir um Carrinho de Mão.":""), (getarg(5)&&checkjob(14,Class)?"^0000FF- Adquirir um PecoPeco.":""), (getarg(5)&&checkjob(15,Class)?"^0000FF- Adquirir um Dragão.":""), (getarg(5)&&checkjob(16,Class)?"^0000FF- Adquirir um Grifo.":""), (getarg(5)&&checkjob(17,Class)?"^0000FF- Adquirir um M.E.C.H.A.^000000":""), (getarg(5)&&checkjob(18,Class)?"^0000FF- Adquirir um Falcão.^000000":""), (getarg(7)?"^0000FF- Habilidades Extras.^000000":""), "^FF0000- Não, obrigado.^000000") ) { case 1: job_optional_menu 1, getarg(2); break; case 2: job_optional_menu 2, getarg(4); break; case 3: job_optional_menu 3, 0, getarg(6); break; case 4: job_optional_menu 3, 1, getarg(6); break; case 5: job_optional_menu 3, 2, getarg(6); break; case 6: job_optional_menu 3, 3, getarg(6); break; case 7: job_optional_menu 3, 4, getarg(6); break; case 8: job_optional_menu 3, 5, getarg(6); break; case 9: job_optional_menu 4; break; case 10: mes "^4B0082[Mestra das Classes]^000000"; mes "Tudo bem, se precisar de mim estarei aqui!"; return; } break; case 1: set .@ZenyCost, getarg(1); mes "^4B0082[Mestra das Classes]^000000"; if( .@ZenyCost ) { mes "Para resetar seus ^0000FFatributos^000000 é nescessário de ^FF0000" + .@ZenyCost + "^000000 Zenys."; if( Zeny < .@ZenyCost ) { mes "Você não tem Zeny suficiente para resetar seus atributos!"; return; } } mes "Deseja resetar seus atributos?"; next; if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 ) { set StatusPoint, 0; resetstatus; if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost; mes "^4B0082[Mestra das Classes]^000000"; mes "Seus ^0000FFatributos^000000 foram resetados."; } else { mes "^4B0082[Mestra das Classes]^000000"; mes "Tudo bem, volte quando desejar resetar seus ^0000FFatributos^000000."; } break; case 2: set .@ZenyCost, getarg(1); mes "^4B0082[Mestra das Classes]^000000"; if( .@ZenyCost ) { mes "Para resetar suas ^0000FFhabilidades^000000 é nescessário de ^FF0000" + .@ZenyCost + "^000000 Zenys."; if( Zeny < .@ZenyCost ) { mes "Você não tem Zeny suficiente para resetar suas habilidades!"; return; } } mes "Deseja resetar suas habilidades?"; next; if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 ) { set SkillPoint, jobmaster_skpoint; resetskill; set jobmaster_skpoint, SkillPoint; if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost; mes "^4B0082[Mestra das Classes]^000000"; mes "Suas ^0000FFhabilidades^000000 foram resetados."; } else { mes "^4B0082[Mestra das Classes]^000000"; mes "Tudo bem, volte quando desejar resetar suas ^0000FFhabilidades^000000."; } break; case 3: set .@ZenyCost, getarg(2); set .@mount_name$, (getarg(1)==0?mountname(0):(getarg(1)==4?mountname(3):(getarg(1)==5?mountname(1):(getarg(1)==1?mountname(2):(getarg(1)==2?mountname(4):mountname(5)))))); mes "^4B0082[Mestra das Classes]^000000"; if( checkriding() || checkdragon() || checkmadogear() || checkcart() || checkfalcon() ) mes "Você não pode adquirir mais um ^0000FF" + .@mount_name$ + "^000000 possuindo um ^FF0000" + mountname() + "^000000."; else if( getarg(1) > 0 && getarg(1) <= 3 && !getskilllv("KN_RIDING") ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Montaria^000000."; else if( getarg(1) == 2 && !getskilllv("RK_DRAGONTRAINING") ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Adestrar Dragão^000000."; else if( (getarg(1) == 4 || getarg(0)) && checkcart() ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto estiver utilizando um ^FF0000Carrinho de Mão^000000."; else if( getarg(1) == 4 && !getskilllv("NC_MADOLICENCE") ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Licença de Pilotagem^000000."; else if( getarg(1) == 5 && !getskilllv("HT_FALCON") ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Adestrar Falcão^000000."; else if( !getarg(1) && !getskilllv("MC_PUSHCART") ) mes "Você não pode adquirir um ^0000FF" + .@mount_name$ + "^000000 enquanto não aprender a habilidade ^FF0000Usar Carrinho^000000."; else { if( .@ZenyCost ) { mes "Para adquirir um ^0000FF" + .@mount_name$ + "^000000 você precisa de ^FF0000" + .@ZenyCost + "^000000 Zenys."; if( Zeny < .@ZenyCost ) { mes "Você não tem Zeny suficiente para adquirir um ^0000FF" + .@mount_name$ + "^000000!"; return; } } mes "Deseja adquirir um ^0000FF" + .@mount_name$ + "^000000?"; next; if( select("^0000FF- Sim, por favor.^000000", "^FF0000- Não, obrigado.^000000") == 1 ) { if( !getarg(1) ) setcart; else if( getarg(1) == 2 ) setdragon; else if( getarg(1) == 4 ) setmadogear; else if( getarg(1) == 5 ) setfalcon; else setriding; if( .@ZenyCost ) set Zeny, Zeny - .@ZenyCost; mes "^4B0082[Mestra das Classes]^000000"; mes "Agora você possue um ^0000FF" + .@mount_name$ + "^000000."; } else { mes "^4B0082[Mestra das Classes]^000000"; mes "Volte quando desejar adquirir um ^0000FF" + .@mount_name$ + "^000000."; } break; } break; case 4: skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } mes "^4B0082[Mestra das Classes]^000000"; mes "Aqui está suas ^0000FFHabilidades Extra^000000."; close; case 5: mes "^4B0082[Mestra das Classes]^000000"; mes "Tudo bem, estarei aqui se precisar dos meus serviços."; close; default: break; } return; } // Retorna com o Nome da Classe. function classname { switch( getarg(0) ) { case 0: return "Apendiz"; case 1: return "Espadachim"; case 2: return (getarg(1)?"Mago":"Maga"); case 3: return (getarg(1)?"Arqueiro":"Arqueira"); case 4: return (getarg(1)?"Noviço":"Noviça"); case 5: return (getarg(1)?"Mercador":"Mercadora"); case 6: return (getarg(1)?"Gatuno":"Gatuna"); case 7: case 13: return (getarg(1)?"Cavaleiro":"Cavaleira"); case 8: return (getarg(1)?"Sacerdote":"Sacerdotisa"); case 9: return (getarg(1)?"Bruxo":"Bruxa"); case 10: return (getarg(1)?"Ferreiro":"Ferreira"); case 11: return (getarg(1)?"Caçador":"Caçadora"); case 12: return (getarg(1)?"Mercenário":"Mercenária"); case 14: case 21: return (getarg(1)?"Templário":"Templária"); case 15: return (getarg(1)?"Monge":"Monja"); case 16: return (getarg(1)?"Sábio":"Sábia"); case 17: return (getarg(1)?"Arruaceiro":"Arruaceirá"); case 18: return "Alquimista"; case 19: case 20: return (getarg(1)?"Bardo":"Odalisca"); case 23: return "Super Aprendiz"; case 24: return (getarg(1)?"Justiceiro":"Justiceira"); case 25: return "Ninja"; case 4001: return "Aprendiz T."; case 4002: return "Espadachim T."; case 4003: return (getarg(1)?"Mago":"Maga")+" T."; case 4004: return (getarg(1)?"Arqueiro":"Arqueira")+" T."; case 4005: return (getarg(1)?"Noviço":"Noviça")+" T."; case 4006: return (getarg(1)?"Mercador":"Mercadora")+" T."; case 4007: return (getarg(1)?"Gatuno":"Gatuna")+" T."; case 4008: case 4014: return (getarg(1)?"Lorde":"Lady"); case 4009: return (getarg(1)?"Sumo-Sacerdote":"Sumo-Sacerdotisa"); case 4010: return (getarg(1)?"Arquimago":"Arquimaga"); case 4011: return (getarg(1)?"Mestre-Ferreiro":"Mestra-Ferreira"); case 4012: return (getarg(1)?"Atirador de Elite":"Atiradora de Elite"); case 4013: return "Algoz"; case 4015: case 4022: return (getarg(1)?"Paladino":"Paladina"); case 4016: return (getarg(1)?"Mestre":"Mestra"); case 4017: return (getarg(1)?"Professor":"Professora"); case 4018: return (getarg(1)?"Desordeiro":"Desordeira"); case 4019: return (getarg(1)?"Criador":"Criadora"); case 4020: case 4021: return (getarg(1)?"Minestrél":"Cigana"); case 4023: return "Mini Aprendiz"; case 4024: return "Mini Espadachim"; case 4025: return "Mini "+(getarg(1)?"Mago":"Maga"); case 4026: return "Mini "+(getarg(1)?"Arqueiro":"Arqueira"); case 4027: return "Mini "+(getarg(1)?"Noviço":"Noviça"); case 4028: return "Mini "+(getarg(1)?"Mercador":"Mercadora"); case 4029: return "Mini "+(getarg(1)?"Gatuno":"Gatuna"); case 4030: case 4036: return "Mini "+(getarg(1)?"Cavaleiro":"Cavaleira"); case 4031: return "Mini "+(getarg(1)?"Sacerdote":"Sacerdotisa"); case 4032: return "Mini "+(getarg(1)?"Bruxo":"Bruxa"); case 4033: return "Mini "+(getarg(1)?"Ferreiro":"Ferreira"); case 4034: return "Mini "+(getarg(1)?"Caçador":"Caçadora"); case 4035: return "Mini "+(getarg(1)?"Mercenário":"Mercenária"); case 4037: case 4044: return "Mini "+(getarg(1)?"Templário":"Templária"); case 4038: return "Mini "+(getarg(1)?"Monje":"Monja"); case 4039: return "Mini "+(getarg(1)?"Sábio":"Sábia"); case 4040: return "Mini "+(getarg(1)?"Arruaceiro":"Arruaceira"); case 4041: return "Mini Alquimista"; case 4042: case 4043: return "Mini "+(getarg(1)?"Bardo":"Odalisca"); case 4045: return "Mini Super Aprendiz"; case 4046: return "Taekwon"; case 4047: case 4048: return (getarg(1)?"Mestre":"Mestra")+ " Taekwon"; case 4049: return "Espiritualista"; case 4054: case 4080: return (getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica"); case 4055: return (getarg(1)?"Arcano":"Arcana"); case 4056: case 4084: return "Sentinela"; case 4057: return (getarg(1)?"Arceispo":"Arcebispa"); case 4058: case 4086: return (getarg(1)?"Mecânico":"Mecânica"); case 4059: return "Sicário"; case 4060: case 4081: return (getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica")+" .T"; case 4061: return (getarg(1)?"Arcano":"Arcana")+" .T"; case 4062: case 4085: return "Sentinela"+" .T"; case 4063: return (getarg(1)?"Arceispo":"Arcebispa")+" .T"; case 4064: case 4087: return (getarg(1)?"Mecânico":"Mecânica")+" .T"; case 4065: return "Sicário"+" .T"; case 4066: case 4082: return (getarg(1)?"Guardião Runico":"Guardiã Runica"); case 4067: return (getarg(1)?"Feiticeiro":"Feiticeira"); case 4068: case 4069: return (getarg(1)?"Travador":"Musa"); case 4070: return "Shura"; case 4071: return (getarg(1)?"Bioquímico":"Bioquímica"); case 4072: return (getarg(1)?"Renegado":"Renegada"); case 4073: case 4083: return (getarg(1)?"Guardião Runico":"Guardiã Runica")+" .T"; case 4074: return (getarg(1)?"Feiticeiro":"Feiticeira")+" .T"; case 4075: case 4076: return (getarg(1)?"Travador":"Musa")+" .T"; case 4077: return "Shura T."; case 4078: return (getarg(1)?"Bioquímico":"Bioquímica")+" .T"; case 4079: return (getarg(1)?"Renegado":"Renegada")+" .T"; case 4096: case 4109: return "Mini "+(getarg(1)?"Cavaleiro Rúnico":"Cavaleira Rúnica"); case 4097: return "Mini "+(getarg(1)?"Arcano":"Arcana"); case 4098: case 4111: return "Mini Sentinela"; case 4099: return "Mini "+(getarg(1)?"Arceispo":"Arcebispa"); case 4100: case 4112: return "Mini "+(getarg(1)?"Mecânico":"Mecânica"); case 4101: return "Mini Sicário"; case 4102: case 4110: return "Mini "+(getarg(1)?"Guardião Runico":"Guardiã Runica"); case 4103: return "Mini "+(getarg(1)?"Feiticeiro":"Feiticeira"); case 4104: case 4105: return "Mini "+(getarg(1)?"Trovador":"Musa"); case 4106: return "Mini Shura"; case 4107: return "Mini "+(getarg(1)?"Bioquímico":"Bioquímica"); case 4108: return "Mini "+(getarg(1)?"Renegado":"Renegada"); case 4211: return "Kagerou"; case 4212: return "Oboro"; case 4215: return "Rebelde"; default: return "Desconhecida"; } // Retorna com o nome de uma montaria. function mountname { if( !getargcount() ) return (checkcart()?"Carrinho de Mão":(checkfalcon()?"Falcão":(checkriding()?"PecoPeco":(checkmadogear()?"M.E.C.H.A":(checkdragon()?"Dragão":"Grifo"))))); else return (getarg(0)==0?"Carrinho de Mão":(getarg(0)==1?"Falcão":(getarg(0)==2?"PecoPeco":(getarg(0)==3?"M.E.C.H.A":(getarg(0)==4?"Dragão":"Grifo"))))); } } OnPCLogoutEvent:OnPCBaseLvUpEvent:OnPCJobLvUpEvent: sleep2 2000; if( JobLevel == 61 ) set JobLevel, JobLevel + 1; set .@Mode, getvariableofnpc(.MainConfig[0], "JobMasterConfigure"); if( checkjobend(.@Mode,Class) ) end; // Fazendo conversão de valores no script. set .@base, (!Class?0:(checkjob(10,Class)?14:(checkjob(11,Class)?16:(checkjob(12,Class)?18:(checkjob(0,Class)?2:(checkjob(2,Class)?4:(checkjob(1,Class)?6:(Job_Novice_High?8:(checkjob(3,Class)?10:(checkjob(5,Class)?12:-1)))))))))); set .@BaseLevel, getvariableofnpc(.LevelRequire[.@base], "JobMasterConfigure"); set .@JobLevel, getvariableofnpc(.LevelRequire[(.@base+1)], "JobMasterConfigure"); if( BaseLevel >= .@BaseLevel && JobLevel >= .@JobLevel ) { message strcharinfo(0), "Você já tem nível suficiente para trocar de classe."; dispbottom "Utilize o comando @jobmaster para acionar a Mestra das Classes."; } end;}prontera,153,193,5 duplicate(JobMaster) Mestre das Classes#jobmaster 64
  12. Put it 70 on 1st and 2nd class, and 120 for trans class _ Exemple: I got 70 as thief. I leveled all skill and i have 27 points left. When i turn assassin and tried to use the others 27 skills points, i got this message: "Raise til 27 for skills of 1st"
  13. But what about if he has all skills lvl max and still have some skills points? I think i have to reduce the job lvl to 50 of 1 class....
  14. Hello, I'm having a problem. When a player turn into another class and he has some skill points that he did not use, when he turn the next class, he cant lvl up the skill of it because he has to use all of the points of 1st first. The script is: //===== Hercules Script ======================================//= Mestra de Classes//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.4//===== Description: =========================================//= A fully functional job changer.//===== Additional Comments: =================================//= 1.1 Fixed reset on Baby job change. [Euphy]//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy]//= 1.3 Kagerou/Oboro added. [Euphy]//= 1.4 Improved legibility (renamed variables, replaced// numbers with constants; Changed syntax to match// Hercules standards; Fixed status point exploit upon// Baby Novice job change. [Haru]//============================================================prontera,153,193,6 script Mestra de Classes 2_F_MAGICMASTER,{ function Job_Menu; function A_An; mes "[Mestra de Classes]"; if (Class > Job_Soul_Linker) { mes "Sem mais profissões disponíveis."; close; } if (checkfalcon() || checkcart() || checkmount() || hascashmount()) { mes "Por favor, remova seu "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkmount() || hascashmount())?"mount":"") +" antes de continuar."; close; } if (.skill_point_check && SkillPoint > 0) { mes "Please use all your skill points antes de continuar."; close; } .@eac = eaclass(); .@base = .third_classes ? roclass(.@eac&EAJ_UPPERMASK) : Class; if (.@base >= Job_Knight && .@base <= Job_Crusader2) { if (BaseLevel < .rebirth_blevel || JobLevel < .rebirth_jlevel) { .@blvl = .rebirth_blevel - BaseLevel; .@jlvl = .rebirth_jlevel - JobLevel; mes "Você precisa " + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" mais leveis de base "+ (JobLevel < .rebirth_jlevel ? "and " : "")) : "") + (JobLevel < .rebirth_jlevel ? (.rebirth_jlevel - JobLevel) +" more job levels " : "") + "para continuar."; close; } if (Class > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while (true) { mes "Selecione uma opção."; next; .@choice = select(" ~ ^0055FFRebornar^000000:"+(.third_classes ? " ~ ^FF0000Third Class^000000" : "")+": ~ ^777777Cancelar^000000"); if (.@choice == 3) close; mes "[Mestra de Classes]"; mes "Você tem certeza?"; next; if (.@choice == 1) Job_Menu(Job_Novice_High); else Job_Menu(roclass(.@eac|EAJL_THIRD)); mes "[Mestra de Classes]"; } } .@job1 = roclass(.@eac|EAJL_2_1); .@job2 = roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) { .@newclass = roclass(.@eac|EAJL_THIRD); .@required_jlevel = 99; } else if (Class == Job_Ninja || Class == Job_Gunslinger) { .@newclass = .@job1; .@required_jlevel = 70; } if (.@newclass && .third_classes) { if (BaseLevel < .rebirth_blevel || JobLevel < .@required_jlevel) { mes "Você precisa " + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" mais leveis de base "+ (JobLevel < .@required_jlevel ? "e " : "")) : "") + (JobLevel < .@required_jlevel ? (.@required_jlevel - JobLevel) +" mais leveisq de job " : "") + "para continuar."; close; } mes "Mudar para "+jobname(.@newclass)+"?"; next; Job_Menu(.@newclass); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "Sem mais profissões disponíveis."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .jobchange_first) { mes "O level de job precisa ser "+.jobchange_first+" para se transformar na primeira classe."; } else if (Class == Job_Novice_High && .linear_jobchange && lastJob) { mes "Mudar de classe agora?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else if (Class == Job_Novice) { Job_Menu(Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby); } else if (Class == Job_Novice_High) { Job_Menu(Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); } else if (Class == Job_Baby) { Job_Menu(Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby); } else { mes "Um erro ocorreu."; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) { mes "Sem mais profissões disponíveis."; } else if (!(.@eac&EAJL_2) && JobLevel < .jobchange_second) { mes "O level de job precisa ser "+.jobchange_second+" para se transformar na segunda classe."; } else if (.linear_jobchange && lastJob && (.@eac&EAJL_UPPER)) { mes "Mudar de classe agora?"; next; Job_Menu(lastJob+Job_Novice_High); } else { Job_Menu(.@job1, .@job2); } close;function Job_Menu { while (true) { if (getargcount() > 1) { mes "Selecione uma profissão."; .@menu$ = ""; for (.@i = 0; .@i < getargcount(); ++.@i) .@menu$ += " ~ "+jobname(getarg(.@i))+":"; .@menu$ += " ~ ^777777Cancelar^000000"; next; .@newjob = getarg(select(.@menu$)-1, 0); if (!.@newjob) close; if ((.@newjob == Job_SuperNovice || .@newjob == Job_Super_Baby) && BaseLevel < .supernovice_level) { mes "[Mestra de Classes]"; mes "O level de base precisa ser "+.supernovice_level+" para se transformar em "+jobname(.@newjob)+"."; close; } mes "[Mestra de Classes]"; mes "Você tem certeza?"; next; } else { .@newjob = getarg(0); } if (select(" ~ Se transformar em ^0055FF"+jobname(.@newjob)+"^000000: ~ ^777777"+(getargcount() > 1 ? "Voltar" : "Cancelar")+"^000000") == 1) { mes "[Mestra de Classes]"; mes "Agora você é um/uma"+A_An(jobname(.@newjob))+"!"; if (.@newjob == Job_Novice_High && .linear_jobchange) lastJob = Class; // Note: This is incompatible with the Valkyrie rebirth script. jobchange .@newjob; if (.@newjob == Job_Novice_High) resetlvl(1); if (.@newjob == Job_Baby) { resetlvl(4); SkillPoint = 0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Mestra de Classes]"; } end;}function A_An { setarray .@vowels$, "a", "e", "i", "o", "u"; .@firstletter$ = strtolower(charat(getarg(0), 0)); for (.@i = 0; .@i < getarraysize(.@vowels); ++.@i) { if (.@vowels$[.@i] == .@firstletter$) return " "+getarg(0); } return " "+getarg(0);}Get_Platinum: skill NV_FIRSTAID, 1, 0; if (BaseClass == Job_Novice) { if (Class != Job_SuperNovice) skill NV_TRICKDEAD, 1, 0; } else if (BaseClass == Job_Swordman) { skill SM_MOVINGRECOVERY, 1, 0; skill SM_FATALBLOW, 1, 0; skill SM_AUTOBERSERK, 1, 0; } else if (BaseClass == Job_Mage) { skill MG_ENERGYCOAT, 1, 0; } else if (BaseClass == Job_Archer) { skill AC_MAKINGARROW, 1, 0; skill AC_CHARGEARROW, 1, 0; } else if (BaseClass == Job_Acolyte) { skill AL_HOLYLIGHT, 1, 0; } else if (BaseClass == Job_Merchant) { skill MC_CARTREVOLUTION, 1, 0; skill MC_CHANGECART, 1, 0; skill MC_LOUD, 1, 0; } else if (BaseClass == Job_Thief) { skill TF_SPRINKLESAND, 1, 0; skill TF_BACKSLIDING, 1, 0; skill TF_PICKSTONE, 1, 0; skill TF_THROWSTONE, 1, 0; } if (BaseJob == Job_Knight) { skill KN_CHARGEATK, 1, 0; } else if (BaseJob == Job_Priest) { skill PR_REDEMPTIO, 1, 0; } else if (BaseJob == Job_Wizard) { skill WZ_SIGHTBLASTER, 1, 0; } else if (BaseJob == Job_Blacksmith) { skill BS_UNFAIRLYTRICK, 1, 0; skill BS_GREED, 1, 0; } else if (BaseJob == Job_Hunter) { skill HT_PHANTASMIC, 1, 0; } else if (BaseJob == Job_Assassin) { skill AS_SONICACCEL, 1, 0; skill AS_VENOMKNIFE, 1, 0; } else if (BaseJob == Job_Crusader) { skill CR_SHRINK, 1, 0; } else if (BaseJob == Job_Monk) { skill MO_KITRANSLATION, 1, 0; skill MO_BALKYOUNG, 1, 0; } else if (BaseJob == Job_Sage) { skill SA_CREATECON, 1, 0; skill SA_ELEMENTWATER, 1, 0; skill SA_ELEMENTGROUND, 1, 0; skill SA_ELEMENTFIRE, 1, 0; skill SA_ELEMENTWIND, 1, 0; } else if (BaseJob == Job_Rogue) { skill RG_CLOSECONFINE, 1, 0; } else if (BaseJob == Job_Alchemist) { skill AM_BIOETHICS, 1, 0; } else if (BaseJob == Job_Bard) { skill BA_PANGVOICE, 1, 0; } else if (BaseJob == Job_Dancer) { skill DC_WINKCHARM, 1, 0; } return;OnInit: .rebirth_blevel = 99; // Minimum base level to reborn OR change to third class .rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class .jobchange_first = 10; // Minimum job level to turn into 1st class .jobchange_second = 40; // Minimum job level to turn into 2nd class .third_classes = 0; // Enable third classes/Extended Classes? (1: yes / 0: no) .supernovice_level = 45; // Minimum base level to turn into Super Novice .linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no) .skill_point_check = 0; // Force player to use up all skill points? (1: yes / 0: no) .platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end;} How can i remove this points? Thankssss mates.
  15. @@Winterfox omg, thank you. This script is so clean and functional. Now I see that i need to practice much more. Thank you again.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.