Ir para conteúdo
  • Cadastre-se

ICON

Membro
  • Total de itens

    174
  • Registro em

  • Última visita

  • Prêmios recebidos

    2

Tudo que ICON postou

  1. entao nao tem opçao para desativar ja procurei em todo lugar e nada de achar.
  2. alguem sabe onde desativa pra nao precisar sair da pt quando for trocar de classe?? procurei e nao achei nas config, sera se so da pra mudar no java ??
  3. cria um novo npc no caso o seu radboss: game\data\xml\npcs\raidboss colocar o tipo dele <set name="type" val="RaidBoss"/> da spawn no local que desejar. e pronto. entra na navcat e coloca o tempo do respawn. agora caso seja para add teleporte na Gk a logica é a mesma. game\data\xml: procura por teleportLocations.xml add as cordenadas cria um novo id de area pra nao dar conflito e joga o ID na html da GK. <teleport id="15025" x="185815" y="-186996" z="-3316" price="0" isNoble="0"/>
  4. se a base dela for acis. vc vai encontra teleporte, npc, itens, skill e etc... tudo fica em XML
  5. ICON

    L2Ryse 500X

    Nome completo: Andre Rayle Informações do servidor: Estava a muito tempo parado com servers e estou aproveitando ferias para retorna, meu ultimo projeto foi em 2014, mas vamos ao que interessa. Server Interlude estou usando l2jmega, ja fiz um teste com ela on com players real, arrumei varios erros de edição e bugs. Cargos pretendidos e número de vagas: Estou procurando pessoas que me ajude na divulgação 5 vagas disponivel. Interesses e benefícios: Estou querendo monta a equipe divulgação, os beneficios podemos ver ao andar da carroagem. Equipe atual: DAPLA, RYSE Me procura no mg
  6. ja falei pra ele que na source nao tem mais ele nao entendeu, vc tem que baixa pack pra pega as properties
  7. ative a geodata que resolve
  8. achei o erro do meu problema tem uma mob na pack que quando ativa os char para nao atacar com bow no F1/flecha. #==================================================== # CRITICAL LIMITE IN OLLY #==================================================== Enable_Oly_CriticalChance = False #Limit Fighter critical rate in oly caso ative vai para na hora de usar o bow. como parou os supor fica ai se alguem tiver o mesmo problema.
  9. up, resolvido tem uma mob na pack que quando ativa os char para a nao atacar com bow no F1/flecha. #==================================================== # CRITICAL LIMITE IN OLLY #==================================================== Enable_Oly_CriticalChance = False #Limit Fighter critical rate in oly caso ative vai da na hora de tenta usar o bow. obg pela ajuda.
  10. tbm nao to entendo, no pc funciona de boa no vps da esse erro.
  11. alguem póderia da um help, estou com esse erro na hora de atacar com qualquer class os mobs com o bow so com a flecha. player vs player vai de boa, mas quando tento atacar os mobs o char trava.
  12. kkkk eu deixei ai pra quem quiser retirar ja tem uma noção. ai pra opinar por todos que estao acompanhando a rev nao tem como responder. pra server eu removeria. pra topico principal da rev eu ja nao removeria entendeu. e outra quando fiquei nessa duvida pra testa o tenza pesquesei em todo lugar e nao achei nada sobre isso. ate cair numa fix da proria acis. entao agora se alguem tiver essa duvida caira nessa topico e ja sabera como resolver essa questao. vamos em frente...
  13. RequestExAcceptJoinMPCC.java - // Consume a Strategy Guide item from requestor. If not possible, cancel the CommandChannel creation. - if (!requestor.destroyItemByItemId("CommandChannel Creation", 8871, 1, player, true)) - return; - - channel = new CommandChannel(requestorParty, targetParty); RequestExAskJoinMPCC.java - // Requestor isn't a level 5 clan leader, or clan hasn't Clan Imperium skill. - final L2Clan requestorClan = requestor.getClan(); - if (requestorClan == null || requestorClan.getLeaderId() != requestor.getObjectId() || requestorClan.getLevel() < 5 || requestor.getSkill(391) == null) - { acho que é isso.
  14. stratg guid acho que é isso, achei aqui da diff + // Consume a Strategy Guide item from requestor. If not possible, cancel the CommandChannel creation. + if (!requestor.destroyItemByItemId("CommandChannel Creation", 8871, 1, player, true)) + return; + + channel = new CommandChannel(requestorParty, targetParty);
  15. a maioria dos server nao tem, mas isso foi um fix na acis 365. e a skil e a clan imperium a primeira que se coloca no clan. vc nao pode ser basear em um server custom. mas em fim eu removi isso tbm aqui pq acho desnecessário.
  16. quando vc manda cc abre a janela no caso o painel informando quantos membros tem em cada pt. testei aqui aparece para todos menos para quem manda. outra coisa o cc estava no modo retail para manda vc precisa de clan lvl 5 e skill imperium + um strateg guid acho que é esse o nome. uma pessoa tendo o clan level 5 a outra pt nao precisa!
  17. a janela da CC nao aparece pro lider da cc presta atenção no final do video. testei aqui tbm XD
  18. ID: 8663 Esse é o unico iD que decorei no cliente IL kkkk lembro que alguns servers no passado colocava o icon do L2 e colocava pra vender no gm shop
  19. isso é na flagzone, vc tem que colocar o spawn pra volta. a maioria das flagzone esta assim. eu deletei tudo e fiz as minhas proprias flagzone.
  20. Full server Description Interlude 150x Abertura Abril 17 at 18:00 Rates: Exp/SP: x150 Adena: x15-30 Drop: х1 RB Exp/SP: х10 RB Drop: ~x1 Epic Rb Drop: x1 Quest: x1 Gameplay: Start Game Level 74 Auto learning skills Auto loot Farm zone (Coal Mines) Weight limit is increased twice Mana potion 1000mp – 10 sec CD .menu – Universal game menu Jobs and Sub Class Free Subclass custom level 74. PvP/Pk Color System Infinity SS and Arrows Announce RB Spawn Equipment: Modify an exclusive set plus a few Starter items to start a journey. Remembering that the items can be found in Roy the Cat. A-Grade are sold via NPC (Bagua) for adena S-Grade equipment recipes such as weapons, armors, jewelry are sold via NPC Bagua for adena. There was a ramake at Set MAJOR to compensate for the purchase and purchase Set Apella. Major Arcana Robe Set: Apella Robe Set: <!– M. Atk +17% –> went to <!– M. Atk +08% –> <!– M. Atk +17% –> add cast <!– Casting Spd. +10% –> <!– Casting Spd. +15% –> Draconic Light Armor Set: Apella Light Armor Set: <!– Attack Speed +4% –> <!– Attack Speed +8% –> <!– P. Atk +4% –> <!– P. Atk +4% –> <!– Maximum MP +289 –> <!– Maximum MP +578 –> Imperial Crusader Heavy Armor Set: Apella Heavy Armor Set: <!– P Def. +8% –> <!– P Def. +16% –> <!– Maximum HP +445 –> <!– Maximum HP +890 –> NPC Buffer & Buff Book: Time of buffs – 120 minutes. Maximum buff slots – 26 (22+4). Getting a Noblesse: Nobless Kill Barakiel To focus on PVP add Skill nobless on Bishop. Just get up to level 78. With that Barakiel’s area will be Flagzone. Random 6/6 hours Raid Bosses: The following list shows the Raid Bosses whose Dropes have been modified. Ember (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Flame of Splendor Barakiel (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 6 hours and 10 minutes of random time. Varka’s Chief Horus (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Varka’s Hero Shadith (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Varka’s Commander Mos(Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Ketra Commander Tayr (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Ketra’s Hero Hekaton (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Ketra Brakki (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Uruka (Drope: Gold Bar, Box Weapon Parts, Box Armor Parts, Box Rec Armor S and Box Rec Weapon S ) – 8 hours. Epic Raid Bosses: Queen Ant (80 lvl): 24hour +/-1hour Core (80 lvl): 36hour +/-1hour Orfen (80 lvl): 36hour +/-1hour Zaken (80 lvl): 48hour +/-1hour Baium (80 lvl): 120hour +(0-2hour) Antharas (80 lvl): 192hour +(0-2hour) Valakas (85 lvl): 264hour Frintezza (85 lvl): 48hour Dead on server start Areas farms: Coal Mines Drope: Adena, 500k / 700k and Event Medal 70% for mob Boxes: Weapons/Armors Pats and Weapons/Armors Recipe 40% for mob. Party Zone Drope: Adena, 1kk /2kk and 2/5 Event Medal for mob Boxes: Weapons/Armors Pats and Weapons/Armors Recipe 2/5 40% for mob.
  21. terminou meu expediente de l2 por hoje, mas amanha vou tenta como vc falou caso consiga eu posto aqui. obg.
  22. Projeto acis. ola, estou add um zaken em meu projeto e esta 98% ainda falta arruma as skill teleporte dele. ai lembrei que na acis tinha isso de teleportar o player ao entra na zona dele. fui testa e estou com esse problema. ja fiz umas duas pesquisas aqui no forum e achei poucas coisas sobre esse assunto, ou foi redirecinado para outro AI zaken ou nao respondido. se alguem puder tirar essa duvida de onde arruma essa parada eu agradeço. teste com level baixo e level auto tudo é teleportado para giran, somente char admin consegui entra na zona. script que estou usando mas crio que nao seja o problema. /* * Copyright (C) 2004-2013 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J DataPack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <[Hidden Content];. */ package ai.individual; import ai.AbstractNpcAI; import net.sf.l2j.Config; import net.sf.l2j.gameserver.taskmanager.GameTimeTaskManager; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.ai.CtrlIntention; import net.sf.l2j.gameserver.datatables.DoorTable; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.instancemanager.GrandBossManager; import net.sf.l2j.gameserver.model.L2Object; import net.sf.l2j.gameserver.templates.StatsSet; import net.sf.l2j.gameserver.model.actor.L2Attackable; import net.sf.l2j.gameserver.model.actor.L2Character; import net.sf.l2j.gameserver.model.actor.L2Npc; import net.sf.l2j.gameserver.model.actor.instance.L2GrandBossInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.L2Effect; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.zone.type.L2BossZone; import net.sf.l2j.gameserver.network.serverpackets.PlaySound; import net.sf.l2j.util.Rnd; /** * Zaken AI */ public class Zaken extends AbstractNpcAI { private int _1001 = 0; // used for first cancel of QuestTimer "1001" private int _ai0 = 0; // used for zaken cord updater private int _ai1 = 0; // used for X cord tracking for non-random teleporting in zaken's self teleport skill private int _ai2 = 0; // used for Y cord tracking for non-random teleporting in zaken's self teleport skill private int _ai3 = 0; // used for Z coord tracking for non-random teleporting in zaken's self teleport skill private int _ai4 = 0; // used for spawning minions cycles private int _quest0 = 0; // used for teleporting progress private int _quest1 = 0; // used for most hated players progress private int _quest2 = 0; // used for zaken HP check for teleport private L2PcInstance c_quest0 = null; // 1st player used for area teleport private L2PcInstance c_quest1 = null; // 2nd player used for area teleport private L2PcInstance c_quest2 = null; // 3rd player used for area teleport private L2PcInstance c_quest3 = null; // 4th player used for area teleport private L2PcInstance c_quest4 = null; // 5th player used for area teleport private static final int ZAKEN = 29022; private static final int doll_blader_b = 29023; private static final int vale_master_b = 29024; private static final int pirates_zombie_captain_b = 29026; private static final int pirates_zombie_b = 29027; private static final int[] Xcoords = { 53950, 55980, 54950, 55970, 53930, 55970, 55980, 54960, 53950, 53930, 55970, 55980, 54960, 53950, 53930 }; private static final int[] Ycoords = { 219860, 219820, 218790, 217770, 217760, 217770, 219920, 218790, 219860, 217760, 217770, 219920, 218790, 219860, 217760 }; private static final int[] Zcoords = { -3488, -3488, -3488, -3488, -3488, -3216, -3216, -3216, -3216, -3216, -2944, -2944, -2944, -2944, -2944 }; // ZAKEN Status Tracking : private static final byte ALIVE = 0; // Zaken is spawned. private static final byte DEAD = 1; // Zaken has been killed. private static L2BossZone _Zone; private Zaken(String name, String descr) { super(name, descr); // Zaken doors handling ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable() { @Override public void run() { try { if (getTimeHour() == 0) { DoorTable.getInstance().getDoor(21240006).openMe(); ThreadPoolManager.getInstance().scheduleGeneral(new Runnable() { @Override public void run() { try { DoorTable.getInstance().getDoor(21240006).closeMe(); } catch (Throwable e) { _log.warning("Cannot close door ID: 21240006 " + e); } } }, 300000L); } } catch (Throwable e) { _log.warning("Cannot open door ID: 21240006 " + e); } } }, 2000L, 600000L); int[] mobs = { ZAKEN, doll_blader_b, vale_master_b, pirates_zombie_captain_b, pirates_zombie_b }; registerMobs(mobs); _Zone = GrandBossManager.getInstance().getZoneByXYZ(55312, 219168, -3223); StatsSet info = GrandBossManager.getInstance().getStatsSet(ZAKEN); int status = GrandBossManager.getInstance().getBossStatus(ZAKEN); if (status == DEAD) { // load the unlock date and time for zaken from DB long temp = info.getLong("respawn_time") - System.currentTimeMillis(); // if zaken is locked until a certain time, mark it so and start the unlock timer // the unlock time has not yet expired. if (temp > 0) { startQuestTimer("zaken_unlock", temp, null, null, false); } else { // the time has already expired while the server was offline. Immediately spawn zaken. L2GrandBossInstance zaken = (L2GrandBossInstance) addSpawn(ZAKEN, 55312, 219168, -3223, 0, false, 0, false); GrandBossManager.getInstance().setBossStatus(ZAKEN, ALIVE); spawnBoss(zaken); } } else { int loc_x = info.getInteger("loc_x"); int loc_y = info.getInteger("loc_y"); int loc_z = info.getInteger("loc_z"); int heading = info.getInteger("heading"); int hp = info.getInteger("currentHP"); int mp = info.getInteger("currentMP"); L2GrandBossInstance zaken = (L2GrandBossInstance) addSpawn(ZAKEN, loc_x, loc_y, loc_z, heading, false, 0, false); zaken.setCurrentHpMp(hp, mp); zaken.setCurrentHp(zaken.getMaxHp()); zaken.setCurrentMp(zaken.getMaxMp()); spawnBoss(zaken); } } public void spawnBoss(L2GrandBossInstance npc) { if (npc == null) { _log.warning("Zaken AI failed to load, missing Zaken in grandboss_data.sql"); return; } GrandBossManager.getInstance().addBoss(npc); npc.broadcastPacket(new PlaySound(1, "BS01_A", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ())); _ai0 = 0; _ai1 = npc.getX(); _ai2 = npc.getY(); _ai3 = npc.getZ(); _quest0 = 0; _quest1 = 0; _quest2 = 3; if (_Zone == null) { _log.warning("Zaken AI failed to load, missing zone for Zaken"); return; } if (_Zone.isInsideZone(npc)) { _ai4 = 1; startQuestTimer("1003", 1700, null, null, true); } _1001 = 1; startQuestTimer("1001", 1000, npc, null, true); // buffs,random teleports } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { int status = GrandBossManager.getInstance().getBossStatus(ZAKEN); if ((status == DEAD) && !event.equalsIgnoreCase("zaken_unlock")) { return super.onAdvEvent(event, npc, player); } if (event.equalsIgnoreCase("1001")) { if (_1001 == 1) { _1001 = 0; cancelQuestTimer("1001", npc, null); } int sk_4223 = 0; int sk_4227 = 0; L2Effect[] effects = npc.getAllEffects(); if ((effects != null) && (effects.length != 0)) { for (L2Effect e : effects) { if (e.getSkill().getId() == 4227) { sk_4227 = 1; } if (e.getSkill().getId() == 4223) { sk_4223 = 1; } } } if (getTimeHour() < 5) { if (sk_4223 == 1) // use night face if zaken have day face { npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4224, 1)); _ai1 = npc.getX(); _ai2 = npc.getY(); _ai3 = npc.getZ(); } if (sk_4227 == 0) // use zaken regeneration { npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4227, 1)); } if ((npc.getAI().getIntention() == CtrlIntention.IDLE) && (_ai0 == 0)) { int i0 = 0; int i1 = 1; if (((L2Attackable) npc).getMostHated() != null) { if ((((((L2Attackable) npc).getMostHated().getX() - _ai1) * (((L2Attackable) npc).getMostHated().getX() - _ai1)) + ((((L2Attackable) npc).getMostHated().getY() - _ai2) * (((L2Attackable) npc).getMostHated().getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } if (_quest0 > 0) { if (c_quest0 == null) { i0 = 0; } else if ((((c_quest0.getX() - _ai1) * (c_quest0.getX() - _ai1)) + ((c_quest0.getY() - _ai2) * (c_quest0.getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } } if (_quest0 > 1) { if (c_quest1 == null) { i0 = 0; } else if ((((c_quest1.getX() - _ai1) * (c_quest1.getX() - _ai1)) + ((c_quest1.getY() - _ai2) * (c_quest1.getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } } if (_quest0 > 2) { if (c_quest2 == null) { i0 = 0; } else if ((((c_quest2.getX() - _ai1) * (c_quest2.getX() - _ai1)) + ((c_quest2.getY() - _ai2) * (c_quest2.getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } } if (_quest0 > 3) { if (c_quest3 == null) { i0 = 0; } else if ((((c_quest3.getX() - _ai1) * (c_quest3.getX() - _ai1)) + ((c_quest3.getY() - _ai2) * (c_quest3.getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } } if (_quest0 > 4) { if (c_quest4 == null) { i0 = 0; } else if ((((c_quest4.getX() - _ai1) * (c_quest4.getX() - _ai1)) + ((c_quest4.getY() - _ai2) * (c_quest4.getY() - _ai2))) > (1500 * 1500)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = 0; } } if (i1 == 1) { _quest0 = 0; int i2 = getRandom(15); _ai1 = Xcoords[i2] + getRandom(650); _ai2 = Ycoords[i2] + getRandom(650); _ai3 = Zcoords[i2]; npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } } } if ((getRandom(20) < 1) && (_ai0 == 0)) { _ai1 = npc.getX(); _ai2 = npc.getY(); _ai3 = npc.getZ(); } L2Character c_ai0 = null; if ((npc.getAI().getIntention() == CtrlIntention.ATTACK) && (_quest1 == 0)) { if (((L2Attackable) npc).getMostHated() != null) { c_ai0 = ((L2Attackable) npc).getMostHated(); _quest1 = 1; } } else if ((npc.getAI().getIntention() == CtrlIntention.ATTACK) && (_quest1 != 0)) { if (((L2Attackable) npc).getMostHated() != null) { if (c_ai0 == ((L2Attackable) npc).getMostHated()) { _quest1 = (_quest1 + 1); } else { _quest1 = 1; c_ai0 = ((L2Attackable) npc).getMostHated(); } } } if (npc.getAI().getIntention() == CtrlIntention.IDLE) { _quest1 = 0; } if (_quest1 > 5) { ((L2Attackable) npc).stopHating(c_ai0); L2Character nextTarget = ((L2Attackable) npc).getMostHated(); if (nextTarget != null) { npc.getAI().setIntention(CtrlIntention.ATTACK, nextTarget); } _quest1 = 0; } } else if (sk_4223 == 0) // use day face if not night time { npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4223, 1)); _quest2 = 3; } if (sk_4227 == 1) // when switching to day time, cancel zaken night regen { npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4242, 1)); } if (getRandom(40) < 1) { int i2 = getRandom(15); _ai1 = Xcoords[i2] + getRandom(650); _ai2 = Ycoords[i2] + getRandom(650); _ai3 = Zcoords[i2]; npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } startQuestTimer("1001", 30000, npc, null, true); } if (event.equalsIgnoreCase("1002")) { _quest0 = 0; npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); _ai0 = 0; } if (event.equalsIgnoreCase("1003")) { if (_ai4 == 1) { int rr = getRandom(15); ((L2Attackable) addSpawn(pirates_zombie_captain_b, Xcoords[rr] + getRandom(650), Ycoords[rr] + getRandom(650), Zcoords[rr], getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 2; } else if (_ai4 == 2) { int rr = getRandom(15); ((L2Attackable) addSpawn(doll_blader_b, Xcoords[rr] + getRandom(650), Ycoords[rr] + getRandom(650), Zcoords[rr], getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 3; } else if (_ai4 == 3) { ((L2Attackable) addSpawn(vale_master_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 4; } else if (_ai4 == 4) { ((L2Attackable) addSpawn(pirates_zombie_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, Xcoords[getRandom(15)] + getRandom(650), Ycoords[getRandom(15)] + getRandom(650), Zcoords[getRandom(15)], getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 5; } else if (_ai4 == 5) { ((L2Attackable) addSpawn(doll_blader_b, 52675, 219371, -3290, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 52687, 219596, -3368, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 52672, 219740, -3418, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 52857, 219992, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 52959, 219997, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 53381, 220151, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54236, 220948, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54885, 220144, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55264, 219860, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55399, 220263, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55679, 220129, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 56276, 220783, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 57173, 220234, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 56267, 218826, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56294, 219482, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 56094, 219113, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56364, 218967, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 57113, 218079, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56186, 217153, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55440, 218081, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55202, 217940, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55225, 218236, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54973, 218075, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 53412, 218077, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54226, 218797, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54394, 219067, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54139, 219253, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 54262, 219480, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 6; } else if (_ai4 == 6) { ((L2Attackable) addSpawn(pirates_zombie_b, 53412, 218077, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54413, 217132, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 54841, 217132, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 55372, 217128, -3343, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 55893, 217122, -3488, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 56282, 217237, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 56963, 218080, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 56267, 218826, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56294, 219482, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 56094, 219113, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56364, 218967, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 56276, 220783, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 57173, 220234, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54885, 220144, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55264, 219860, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55399, 220263, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55679, 220129, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54236, 220948, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54464, 219095, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54226, 218797, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54394, 219067, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54139, 219253, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 54262, 219480, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 53412, 218077, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55440, 218081, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55202, 217940, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55225, 218236, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54973, 218075, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 7; } else if (_ai4 == 7) { ((L2Attackable) addSpawn(pirates_zombie_b, 54228, 217504, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54181, 217168, -3216, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 54714, 217123, -3168, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 55298, 217127, -3073, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 55787, 217130, -2993, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 56284, 217216, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 56963, 218080, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 56267, 218826, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56294, 219482, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 56094, 219113, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 56364, 218967, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 56276, 220783, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 57173, 220234, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54885, 220144, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55264, 219860, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55399, 220263, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55679, 220129, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54236, 220948, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54464, 219095, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54226, 218797, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(vale_master_b, 54394, 219067, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54139, 219253, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(doll_blader_b, 54262, 219480, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 53412, 218077, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 54280, 217200, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55440, 218081, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_captain_b, 55202, 217940, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 55225, 218236, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); ((L2Attackable) addSpawn(pirates_zombie_b, 54973, 218075, -2944, getRandom(65536), false, 0, false)).setIsRaidMinion(true); _ai4 = 8; cancelQuestTimer("1003", null, null); } } else if (event.equalsIgnoreCase("zaken_unlock")) { L2GrandBossInstance zaken = (L2GrandBossInstance) addSpawn(ZAKEN, 55312, 219168, -3223, 0, false, 0, false); GrandBossManager.getInstance().setBossStatus(ZAKEN, ALIVE); spawnBoss(zaken); } else if (event.equalsIgnoreCase("CreateOnePrivateEx")) { ((L2Attackable) addSpawn(npc.getNpcId(), npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false)).setIsRaidMinion(true); } return super.onAdvEvent(event, npc, player); } public int getRandom(int i) { // TODO Auto-generated method stub return 0; } @Override public String onFactionCall(L2Npc npc, L2Npc caller, L2PcInstance attacker, boolean isSummon) { if ((caller == null) || (npc == null)) { return super.onFactionCall(npc, caller, attacker, isSummon); } int npcId = npc.getNpcId(); int callerId = caller.getNpcId(); if ((getTimeHour() < 5) && (callerId != ZAKEN) && (npcId == ZAKEN)) { int damage = 0; // well damage required :x if ((npc.getAI().getIntention() == CtrlIntention.IDLE) && (_ai0 == 0) && (damage < 10) && (getRandom((30 * 15)) < 1))// todo - damage missing { _ai0 = 1; _ai1 = caller.getX(); _ai2 = caller.getY(); _ai3 = caller.getZ(); startQuestTimer("1002", 300, caller, null, false); } } return super.onFactionCall(npc, caller, attacker, isSummon); } @Override public String onSpellFinished(L2Npc npc, L2PcInstance player, L2Skill skill) { if (npc.getNpcId() == ZAKEN) { int skillId = skill.getId(); if (skillId == 4222) { npc.teleToLocation(_ai1, _ai2, _ai3, 0); npc.getAI().setIntention(CtrlIntention.IDLE); } else if (skillId == 4216) { int i1 = getRandom(15); player.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(player); L2Character nextTarget = ((L2Attackable) npc).getMostHated(); if (nextTarget != null) { npc.getAI().setIntention(CtrlIntention.ATTACK, nextTarget); } } else if (skillId == 4217) { int i0 = 0; int i1 = getRandom(15); player.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(player); if ((c_quest0 != null) && (_quest0 > 0) && (c_quest0 != player) && (c_quest0.getZ() > (player.getZ() - 100)) && (c_quest0.getZ() < (player.getZ() + 100))) { if ((((c_quest0.getX() - player.getX()) * (c_quest0.getX() - player.getX())) + ((c_quest0.getY() - player.getY()) * (c_quest0.getY() - player.getY()))) > (250 * 250)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = getRandom(15); c_quest0.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(c_quest0); } } if ((c_quest1 != null) && (_quest0 > 1) && (c_quest1 != player) && (c_quest1.getZ() > (player.getZ() - 100)) && (c_quest1.getZ() < (player.getZ() + 100))) { if ((((c_quest1.getX() - player.getX()) * (c_quest1.getX() - player.getX())) + ((c_quest1.getY() - player.getY()) * (c_quest1.getY() - player.getY()))) > (250 * 250)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = getRandom(15); c_quest1.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(c_quest1); } } if ((c_quest2 != null) && (_quest0 > 2) && (c_quest2 != player) && (c_quest2.getZ() > (player.getZ() - 100)) && (c_quest2.getZ() < (player.getZ() + 100))) { if ((((c_quest2.getX() - player.getX()) * (c_quest2.getX() - player.getX())) + ((c_quest2.getY() - player.getY()) * (c_quest2.getY() - player.getY()))) > (250 * 250)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = getRandom(15); c_quest2.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(c_quest2); } } if ((c_quest3 != null) && (_quest0 > 3) && (c_quest3 != player) && (c_quest3.getZ() > (player.getZ() - 100)) && (c_quest3.getZ() < (player.getZ() + 100))) { if ((((c_quest3.getX() - player.getX()) * (c_quest3.getX() - player.getX())) + ((c_quest3.getY() - player.getY()) * (c_quest3.getY() - player.getY()))) > (250 * 250)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = getRandom(15); c_quest3.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(c_quest3); } } if ((c_quest4 != null) && (_quest0 > 4) && (c_quest4 != player) && (c_quest4.getZ() > (player.getZ() - 100)) && (c_quest4.getZ() < (player.getZ() + 100))) { if ((((c_quest4.getX() - player.getX()) * (c_quest4.getX() - player.getX())) + ((c_quest4.getY() - player.getY()) * (c_quest4.getY() - player.getY()))) > (250 * 250)) { i0 = 1; } else { i0 = 0; } if (i0 == 0) { i1 = getRandom(15); c_quest4.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1], 0); ((L2Attackable) npc).stopHating(c_quest4); } } L2Character nextTarget = ((L2Attackable) npc).getMostHated(); if (nextTarget != null) { npc.getAI().setIntention(CtrlIntention.ATTACK, nextTarget); } } } return super.onSpellFinished(npc, player, skill); } @Override public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isPet) { int npcId = npc.getNpcId(); if (npcId == ZAKEN) { if (attacker.getMountType() == 1) { int sk_4258 = 0; L2Effect[] effects = attacker.getAllEffects(); if ((effects != null) && (effects.length != 0)) { for (L2Effect e : effects) { if (e.getSkill().getId() == 4258) { sk_4258 = 1; } } } if (sk_4258 == 0) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4258, 1)); } } L2Character originalAttacker = isPet ? attacker.getPet() : attacker; int hate = (int) (((damage / npc.getMaxHp()) / 0.05) * 20000); ((L2Attackable) npc).addDamageHate(originalAttacker, 0, hate); if (getRandom(10) < 1) { int i0 = getRandom((15 * 15)); if (i0 < 1) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4216, 1)); } else if (i0 < 2) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4217, 1)); } else if (i0 < 4) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4219, 1)); } else if (i0 < 8) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4218, 1)); } else if (i0 < 15) { for (L2Character character : npc.getKnownList().getKnownTypeInRadius(L2Character.class, (100))) { if (character != attacker) { continue; } if (attacker != ((L2Attackable) npc).getMostHated()) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4221, 1)); } } } if (getRandom(2) < 1) { if (attacker == ((L2Attackable) npc).getMostHated()) { npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4220, 1)); } } } if (getTimeHour() < 5) { } else if (npc.getCurrentHp() < ((npc.getMaxHp() * _quest2) / 4.0)) { _quest2 = (_quest2 - 1); int i2 = getRandom(15); _ai1 = Xcoords[i2] + getRandom(650); _ai2 = Ycoords[i2] + getRandom(650); _ai3 = Zcoords[i2]; npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } } return super.onAttack(npc, attacker, damage, isPet); } @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { int npcId = npc.getNpcId(); if (npcId == ZAKEN) { npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ())); GrandBossManager.getInstance().setBossStatus(ZAKEN, DEAD); // Calculate Min and Max respawn times randomly. long respawnTime = (long) Config.SPAWN_INTERVAL_ZAKEN + Rnd.get(-Config.RANDOM_SPAWN_TIME_ZAKEN, Config.RANDOM_SPAWN_TIME_ZAKEN); respawnTime *= 3600000; startQuestTimer("zaken_unlock", respawnTime, null, null, false); // also save the respawn time so that the info is maintained past reboots StatsSet info = GrandBossManager.getInstance().getStatsSet(ZAKEN); info.set("respawn_time", System.currentTimeMillis() + respawnTime); GrandBossManager.getInstance().setStatsSet(ZAKEN, info); } else if (GrandBossManager.getInstance().getBossStatus(ZAKEN) == ALIVE) { if (npcId != ZAKEN) { startQuestTimer("CreateOnePrivateEx", ((30 + getRandom(60)) * 1000), npc, null, false); } } return super.onKill(npc, killer, isSummon); } @Override public String onSkillSee(L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isSummon) { int npcId = npc.getNpcId(); if (npcId == ZAKEN) { if (skill.getAggroPoints() > 0) { ((L2Attackable) npc).addDamageHate(caster, 0, (((skill.getAggroPoints() / npc.getMaxHp()) * 10) * 150)); } if (getRandom(12) < 1) { int i0 = getRandom((15 * 15)); if (i0 < 1) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4216, 1)); } else if (i0 < 2) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4217, 1)); } else if (i0 < 4) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4219, 1)); } else if (i0 < 8) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4218, 1)); } else if (i0 < 15) { for (L2Character character : npc.getKnownList().getKnownTypeInRadius(L2Character.class, (100))) { if (character != caster) { continue; } if (caster != ((L2Attackable) npc).getMostHated()) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4221, 1)); } } } if (getRandom(2) < 1) { if (caster == ((L2Attackable) npc).getMostHated()) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4220, 1)); } } } } return super.onSkillSee(npc, caster, skill, targets, isSummon); } @Override public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isPet) { int npcId = npc.getNpcId(); if (npcId == ZAKEN) { if (_Zone.isInsideZone(npc)) { L2Character target = isPet ? player.getPet() : player; ((L2Attackable) npc).addDamageHate(target, 1, 200); } if ((player.getZ() > (npc.getZ() - 100)) && (player.getZ() < (npc.getZ() + 100))) { if ((_quest0 < 5) && (getRandom(3) < 1)) { if (_quest0 == 0) { c_quest0 = player; } else if (_quest0 == 1) { c_quest1 = player; } else if (_quest0 == 2) { c_quest2 = player; } else if (_quest0 == 3) { c_quest3 = player; } else if (_quest0 == 4) { c_quest4 = player; } _quest0++; } if (getRandom(15) < 1) { int i0 = getRandom((15 * 15)); if (i0 < 1) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4216, 1)); } else if (i0 < 2) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4217, 1)); } else if (i0 < 4) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4219, 1)); } else if (i0 < 8) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4218, 1)); } else if (i0 < 15) { for (L2Character character : npc.getKnownList().getKnownTypeInRadius(L2Character.class, (100))) { if (character != player) { continue; } if (player != ((L2Attackable) npc).getMostHated()) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4221, 1)); } } } if (getRandom(2) < 1) { if (player == ((L2Attackable) npc).getMostHated()) { npc.setTarget(player); npc.doCast(SkillTable.getInstance().getInfo(4220, 1)); } } } } } return super.onAggroRangeEnter(npc, player, isPet); } public int getTimeHour() { return (GameTimeTaskManager.getInstance().getGameTime() / 60) % 24; } public static void main(String[] args) { new Zaken(Zaken.class.getSimpleName(), "ai"); } }
  23. Smallz parabéns por volta a posta conteúdo, ainda hoje uso suas htmls heueheuheu.
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.