DeViTo Posted April 14, 2010 Posted April 14, 2010 Akoulou8isa ola t guides alla dn mporw n valw t code t x.addytzu olo error m vgenoun an kapios mporei n m t perasi n kani reply ### Eclipse Workspace Patch 1.0 #P GameServer Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 331) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -32,6 +32,7 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.logging.Level; +import javolution.text.TextBuilder; import javolution.util.FastList; import javolution.util.FastMap; import net.sf.l2j.Config; @@ -11011,4 +11012,250 @@ } return true; } + public void showTeleportHtml() + { + TextBuilder text = new TextBuilder(); + text.append("<html>"); + text.append("<body>"); + text.append("<title></title>"); + text.append("<center>"); + text.append("<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32>"); + text.append("<br><br>"); + text.append("<table width=\"85%\"><tr><td>Your party leader, "+getParty().getLeader().getName()+", requested a group teleport to raidboss. You have 30 seconds from this popup to teleport, or the teleport windows will close</td></tr></table><br>"); + text.append("<a action=\"bypass -h rbAnswear\">Port with my party</a><br>"); + text.append("<a action=\"bypass -h rbAnswearDenied\">Don't port</a><br1>"); + text.append("<center><img src=\"L2UI.SquareGray\" width=\"280\" height=\"1\">"); + text.append("<font color=\"999999\">ThxAddytzu</font></center>"); + text.append("</body>"); + text.append("</html>"); + + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(text.toString()); + sendPacket(html); + } + + return; + + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + int chance = Rnd.get(10); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(81920,113136,-3056 ,true); // Necrosentinel Royal Guard (47) + else if (chance == 1) + _player.teleToLocation(107792,27728,-3488 ,true); // Barion (47) + else if (chance == 2) + _player.teleToLocation(42032,24128,-4704 ,true); // Orfen's Handmaiden (48) + else if (chance == 3) + _player.teleToLocation(77104,5408,-3088 ,true); // King Tarlk (48) + else if (chance == 4) + _player.teleToLocation(92976,7920,-3914 ,true); // Katu Van Leader Atui (49) + else if (chance == 5) + _player.teleToLocation(133632,87072,-3623 ,true); // Mirror of Oblivion (49) + else if (chance == 6) + _player.teleToLocation(116352,27648,-3319 ,true); // Karte (49) + else if (chance == 7) + _player.teleToLocation(169744,11920,-2732 ,true); // Ghost of Peasant Leader (50) + else if (chance == 8) + _player.teleToLocation(89904,105712,-3292 ,true); // Cursed Clara (50) + else if (chance == 9) + _player.teleToLocation(75488,-9360,-2720 ,true); // Carnage Lord Gato (50) + } + else return; + } + } + //Level 50-55 + public static void RaidbossLevel50(L2PcInstance player) + { + if (!player.isInParty() || !player.getParty().isLeader(player)) + { + player.sendMessage("You are not a party leader"); + return; + } + int unstuckTimer = (Config.UNSTUCK_INTERVAL*1000 ); + player.setTarget(player); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.disableAllSkills(); + MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0); + Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000); + SetupGauge sg = new SetupGauge(0, unstuckTimer); + player.sendPacket(sg); + + RaidbossLevel50 ef = new RaidbossLevel50(player); + player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK); + } + static class RaidbossLevel50 implements Runnable + { + private L2PcInstance _player; + RaidbossLevel50(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (_player.isDead()) + return; + + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + int chance = Rnd.get(15); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(125520,27216,-3632, true); // Verfa (51) + else if (chance == 1) + _player.teleToLocation(150304,67776,-3688, true); // Deadman Ereve (51) + else if (chance == 2) + _player.teleToLocation(94992,-23168,-2176, true); // Captain of Red Flag Shaka (52) + else if (chance == 3) + _player.teleToLocation(175712,29856,-3776, true); // Grave Robber Kim (52) + else if (chance == 4) + _player.teleToLocation(124984,43200,-3625 ,true); // Paniel the Unicorn (54) + else if (chance == 5) + _player.teleToLocation(104096,-16896,-1803 ,true); // Bandit Leader Barda (55) + else if (chance == 6) + _player.teleToLocation(83174,254428,-10873 ,true); // Eva's Spirit Niniel (55) + else if (chance == 7) + _player.teleToLocation(125280,102576,-3305 ,true); // Beleth's Seer Sephia (55) + else if (chance == 8) + _player.teleToLocation(85622,88766,-5120 ,true); // Pagan Watcher Cerberon (55) + else if (chance == 9) + _player.teleToLocation(73520,66912,-3728 ,true); // Shaman King Selu (55) + else if (chance == 10) + _player.teleToLocation(92544,115232,-3200 ,true); // Black Lily (55) + else if (chance == 11) + _player.teleToLocation(183568,24560,-3184 ,true); // Ghost Knight Kabed (55) + else if (chance == 12) + _player.teleToLocation(135872,94592,-3735 ,true); // Sorcerer Isirr (55) + else if (chance == 13) + _player.teleToLocation(113920,52960,-3735 ,true); // Furious Thieles (55) + else if (chance == 14) + _player.teleToLocation(125600,50100,-3600 ,true); // Enchanted Forest Watcher Ruell (55) + } + else return; + } + } + //Level 55-60 + public static void RaidbossLevel55(L2PcInstance player) + { + if (!player.isInParty() || !player.getParty().isLeader(player)) + { + player.sendMessage("You are not a party leader"); + return; + } + int unstuckTimer = (Config.UNSTUCK_INTERVAL*1000 ); + player.setTarget(player); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.disableAllSkills(); + MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0); + Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000); + SetupGauge sg = new SetupGauge(0, unstuckTimer); + player.sendPacket(sg); + + RaidbossLevel55 ef = new RaidbossLevel55(player); + player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK); + } + static class RaidbossLevel55 implements Runnable + { + private L2PcInstance _player; + RaidbossLevel55(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (_player.isDead()) + return; + + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + + int chance = Rnd.get(13); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(113600,47120,-4640 ,true); // Fairy Queen Timiniel (56) + else if (chance == 1) + _player.teleToLocation(166288,68096,-3264 ,true);// Harit Guardian Garangky (56) + else if (chance == 2) + _player.teleToLocation(86300,-8200,-3000 ,true); // Refugee Hopeful Leo (56) + else if (chance == 3) + _player.teleToLocation(66672,46704,-3920 ,true); // Timak Seer Ragoth (57) + else if (chance == 4) + _player.teleToLocation(165424,93776,-2992 ,true); // Soulless Wild Boar (59) + else if (chance == 5) + _player.teleToLocation(155000,85400,-3200 ,true); // Abyss Brukunt (59) + else if (chance == 6) + _player.teleToLocation(194107,53884,-4368 ,true); // Giant Marpanak (60) + else if (chance == 7) + _player.teleToLocation(173880,-11412,-2880 ,true); // Ghost of the Well Lidia (60) + else if (chance == 8) + _player.teleToLocation(181814,52379,-4344 ,true); // Guardian of the Statue of Giant Karum (60) + else if (chance == 9) + _player.teleToLocation(76787,245775,-10376 ,true); // The 3rd Underwater Guardian (60) + else if (chance == 10) + _player.teleToLocation(170320,42640,-4832 ,true); // Taik High Prefect Arak (60) + else if (chance == 11) + _player.teleToLocation(120080,111248,-3047 ,true); // Ancient Weird Drake (60) + else if (chance == 12) + _player.teleToLocation(115072,112272,-3018 ,true); // Lord Ishka (60) + + } + else return; + } + } + + //Level 60-65 + public static void RaidbossLevel60(L2PcInstance player) + { + if (!player.isInParty() || !player.getParty().isLeader(player)) + { + player.sendMessage("You are not a party leader"); + return; + } + int unstuckTimer = (Config.UNSTUCK_INTERVAL*1000 ); + player.setTarget(player); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.disableAllSkills(); + MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0); + Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000); + SetupGauge sg = new SetupGauge(0, unstuckTimer); + player.sendPacket(sg); + + RaidbossLevel60 ef = new RaidbossLevel60(player); + player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK); + } + static class RaidbossLevel60 implements Runnable + { + private L2PcInstance _player; + RaidbossLevel60(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (_player.isDead()) + return; + + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + + int chance = Rnd.get(8); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(104240,-3664,-3392 ,true); // Roaring Lord Kastor (62) + else if (chance == 1) + _player.teleToLocation(186192,61472,-4160 ,true); // Gorgolos (64) + else if (chance == 2) + _player.teleToLocation(191975,56959,-7616 ,true); // Hekaton Prime (65) + else if (chance == 3) + _player.teleToLocation(170048,-24896,-3440 ,true); // Gargoyle Lord Tiphon (65) + else if (chance == 4) + _player.teleToLocation(170656,85184,-2000 ,true); // Fierce Tiger King Angel (65) + else if (chance == 5) + _player.teleToLocation(113232,17456,-4384 ,true); // Enmity Ghost Ramdal (65) + else if (chance == 6) + _player.teleToLocation(117760,-9072,-3264 ,true); // Rahha (65) + else if (chance == 7) + _player.teleToLocation(168288,28368,-3632 ,true); // Shilen's Priest Hisilrome (65) + } + else return; + } + } + //Level 65-70 + public static void RaidbossLevel65(L2PcInstance player) + { + if (!player.isInParty() || !player.getParty().isLeader(player)) + { + player.sendMessage("You are not a party leader"); + return; + } + int unstuckTimer = (Config.UNSTUCK_INTERVAL*1000 ); + player.setTarget(player); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.disableAllSkills(); + MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0); + Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000); + SetupGauge sg = new SetupGauge(0, unstuckTimer); + player.sendPacket(sg); + + RaidbossLevel65 ef = new RaidbossLevel65(player); + player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK); + } + static class RaidbossLevel65 implements Runnable + { + private L2PcInstance _player; + RaidbossLevel65(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (_player.isDead()) + return; + + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + int chance = Rnd.get(14); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(93296,-75104,-1824 ,true); // Demon's Agent Falston (66) + else if (chance == 1) + _player.teleToLocation(186896,56276,-4576 ,true); // Last Titan utenus (66) + else if (chance == 2) + _player.teleToLocation(144400,-28192,-1920 ,true); // Kernon's Faithful Servant Kelone (67) + else if (chance == 3) + _player.teleToLocation(185800,-26500,-2000 ,true); // Spirit of Andras, the Betrayer (69) + else if (chance == 4) + _player.teleToLocation(143265,110044,-3944 ,true); // Bloody Priest Rudelto (69) + else if (chance == 5) + _player.teleToLocation(180968,12035,-2720 ,true); // Shilen's Messenger Cabrio (70) + else if (chance == 6) + _player.teleToLocation(151053,88124,-5424 ,true); // Anakim's Nemesis Zakaron (70) + else if (chance == 7) + _player.teleToLocation(91008,-85904,-2736 ,true); // Flame of Splendor Barakiel (70) + else if (chance == 8) + _player.teleToLocation(130500,59098,3584 ,true); // Roaring Skylancer (70) + else if (chance == 9) + _player.teleToLocation(123504,-23696,-3481 ,true); // Beast Lord Behemoth (70) + else if (chance == 10) + _player.teleToLocation(192376,22087,-3608 ,true); // Palibati Queen Themis (70) + else if (chance == 11) + _player.teleToLocation(102656,157424,-3735 ,true); // Fafurion's Herald Lokness (70) + else if (chance == 12) + _player.teleToLocation(156704,-6096,-4185 ,true); // Meanas Anor (70) + else if (chance == 13) + _player.teleToLocation(116151,16227,1944 ,true); // Korim (70) + } + else return; + } + } + //70-75 + public static void RaidbossLevel70(L2PcInstance player) + { + if (!player.isInParty() || !player.getParty().isLeader(player)) + { + player.sendMessage("You are not a party leader"); + return; + } + int unstuckTimer = (Config.UNSTUCK_INTERVAL*1000 ); + player.setTarget(player); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.disableAllSkills(); + MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0); + Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000); + SetupGauge sg = new SetupGauge(0, unstuckTimer); + player.sendPacket(sg); + + RaidbossLevel70 ef = new RaidbossLevel70(player); + player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK); + } + static class RaidbossLevel70 implements Runnable + { + private L2PcInstance _player; + RaidbossLevel70(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (_player.isDead()) + return; + _player.setIsIn7sDungeon(false); + _player.enableAllSkills(); + int chance = Rnd.get(7); + if (_player.getParty().isLeader(_player)) + { + for(L2PcInstance pm : _player.getParty().getPartyMembers()) + { + if (pm.getParty().isLeader(pm)) + continue; + pm.showTeleportHtml(); + } + if(chance == 0) + _player.teleToLocation(113200,17552,-1424 ,true); // Immortal Savior Mardil (71) + else if (chance == 1) + _player.teleToLocation(116400,-62528,-3264 ,true); // Vanor Chief Kandra (72) + else if (chance == 2) + _player.teleToLocation(108096,157408,-3688 ,true); // Water Dragon Seer Sheshark (72) + else if (chance == 3) + _player.teleToLocation(127903,-13399,-3720 ,true); // Doom Blade Tanatos (72) + else if (chance == 4) + _player.teleToLocation(113551,17083,-2120 ,true); // Death Lord Hallate (73) + else if (chance == 5) + _player.teleToLocation(152660,110387,-5520 ,true); // Antharas Priest Cloe (74) + else if (chance == 6) + _player.teleToLocation(119760,157392,-3744 ,true); // Krokian Padisha Sobekk (74) + } + else return; + } + } +} \ No newline at end of file Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 331) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -197,6 +197,54 @@ else player.processQuestEvent(p.substring(0, idx), p.substring(idx).trim()); } + else if (_command.equals("rbAnswear")) + { + L2PcInstance player = getClient().getActiveChar(); + if (player.getParty().getLeader().isInOlympiadMode()) + return; + else if (player.isInOlympiadMode()) + return; + + player.teleToLocation(player.getParty().getLeader().getX(), player.getParty().getLeader().getY(), player.getParty().getLeader().getZ()); + } + else if (_command.equals("rbAnswearDenied")) + { + L2PcInstance player = getClient().getActiveChar(); + L2PcInstance target = player.getParty().getLeader(); + target.sendMessage("The invitation was denied by "+player.getName()+"."); + return; + } + else if (_command.startsWith("raidbosslevel_")) + { + L2PcInstance player = getClient().getActiveChar(); + if(!player.validateBypass(_command)) + return; + + int endOfId = _command.indexOf('_', 5); + String id; + if (endOfId > 0) + id = _command.substring(4, endOfId); + else + id = _command.substring(4); + try + { + if (_command.substring(endOfId+1).startsWith("40")) + player.showRaidbossInfoLevel40(); + else if (_command.substring(endOfId+1).startsWith("45")) + player.showRaidbossInfoLevel45(); + else if (_command.substring(endOfId+1).startsWith("50")) + player.showRaidbossInfoLevel50(); + else if (_command.substring(endOfId+1).startsWith("55")) + player.showRaidbossInfoLevel55(); + else if (_command.substring(endOfId+1).startsWith("60")) + player.showRaidbossInfoLevel60(); + else if (_command.substring(endOfId+1).startsWith("65")) + player.showRaidbossInfoLevel65(); + else if (_command.substring(endOfId+1).startsWith("70")) + player.showRaidbossInfoLevel70(); + } + catch (NumberFormatException nfe) {} + } } catch (Exception e) { Index: java/net/sf/l2j/gameserver/network/serverpackets/ActionFailed.java =================================================================== --- java/net/sf/l2j/gameserver/network/serverpackets/ActionFailed.java (revision 331) +++ java/net/sf/l2j/gameserver/network/serverpackets/ActionFailed.java (working copy) @@ -23,7 +23,7 @@ private static final String _S__35_ACTIONFAILED = "[s] 25 ActionFailed"; public static final ActionFailed STATIC_PACKET = new ActionFailed(); - private ActionFailed() + public ActionFailed() { } Index: java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (revision 331) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (working copy) @@ -60,9 +60,9 @@ import net.sf.l2j.gameserver.model.actor.knownlist.NpcKnownList; import net.sf.l2j.gameserver.model.actor.stat.NpcStat; import net.sf.l2j.gameserver.model.actor.status.NpcStatus; +import net.sf.l2j.gameserver.model.entity.CTF; import net.sf.l2j.gameserver.model.entity.Castle; import net.sf.l2j.gameserver.model.entity.L2Event; -import net.sf.l2j.gameserver.model.entity.CTF; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.model.quest.QuestState; import net.sf.l2j.gameserver.model.zone.type.L2TownZone; @@ -86,6 +86,7 @@ import net.sf.l2j.gameserver.templates.L2Item; import net.sf.l2j.gameserver.templates.L2NpcTemplate; import net.sf.l2j.gameserver.templates.L2Weapon; +import net.sf.l2j.gameserver.script.L2RaidBossManager; import net.sf.l2j.util.Rnd; /** * This class represents a Non-Player-Character in the world. It can be a monster or a friendly character. @@ -1077,8 +1078,36 @@ DimensionalRiftManager.getInstance().handleCheat(player, this); } } + else if (command.startsWith("RaidbossLvl_")) + { + int endOfId = command.indexOf('_', 5); + String id; + if (endOfId > 0) + id = command.substring(4, endOfId); + else + id = command.substring(4); + try + { + if (command.substring(endOfId+1).startsWith("40")) + L2RaidBossManager.RaidbossLevel40(player); + else if (command.substring(endOfId+1).startsWith("45")) + L2RaidBossManager.RaidbossLevel45(player); + else if (command.substring(endOfId+1).startsWith("50")) + L2RaidBossManager.RaidbossLevel50(player); + else if (command.substring(endOfId+1).startsWith("55")) + L2RaidBossManager.RaidbossLevel55(player); + else if (command.substring(endOfId+1).startsWith("60")) + L2RaidBossManager.RaidbossLevel60(player); + else if (command.substring(endOfId+1).startsWith("65")) + L2RaidBossManager.RaidbossLevel65(player); + else if (command.substring(endOfId+1).startsWith("70")) + L2RaidBossManager.RaidbossLevel70(player); + } + catch (NumberFormatException nfe) {} + } } } + /** * Return null (regular NPCs don't have weapons instancies).<BR><BR> Ktlp Ktlp Quote
0 Jimaras22 Posted April 14, 2010 Posted April 14, 2010 Exi guides sta section An ta dis dn tha xis kana provlima k dn tha xriazotan na postaris askopa Quote
Question
DeViTo
Akoulou8isa ola t guides alla dn mporw n valw t code t x.addytzu olo error m vgenoun an kapios mporei n m t perasi n kani reply
Ktlp Ktlp
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.