Advertisement
St4rter

TeleportToPartyLeader VoiceCommand

Apr 6th, 2012
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. Index: dist/game/data/scripts/handlers/voicedcommandhandlers/TeleportToPartyLeader.java
  2. ===================================================================
  3. --- dist/game/data/scripts/handlers/voicedcommandhandlers/TeleportToPartyLeader.java (revision 0)
  4. +++ dist/game/data/scripts/handlers/voicedcommandhandlers/TeleportToPartyLeader.java (revision 0)
  5. @@ -0,0 +1,72 @@
  6. +package handlers.voicedcommandhandlers;
  7. +
  8. +import com.l2jserver.gameserver.datatables.ItemTable;
  9. +import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
  10. +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  11. +
  12. +/**
  13. + * @author Starter
  14. + */
  15. +public class TeleportToPartyLeader implements IVoicedCommandHandler
  16. +{
  17. + private static final String[] VOICED_COMMANDS =
  18. + {
  19. + "pl"
  20. + };
  21. +
  22. + @Override
  23. + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
  24. + {
  25. + final int neededItemId = 3470; // 3470 = gold bar
  26. + final int neededItemCount = 1;
  27. +
  28. + if (command.startsWith("pl"))
  29. + {
  30. + L2PcInstance partyLeader = null;
  31. +
  32. + if (activeChar.getParty() != null)
  33. + {
  34. + partyLeader = activeChar.getParty().getLeader();
  35. + }
  36. + else
  37. + {
  38. + activeChar.sendMessage("You must have a party to use this command.");
  39. + return false;
  40. + }
  41. +
  42. + if (partyLeader == null)
  43. + {
  44. + activeChar.sendMessage("Clan leader is offline.");
  45. + return false;
  46. + }
  47. +
  48. + if (partyLeader.isIn7sDungeon() || partyLeader.inObserverMode() || partyLeader.isTeleporting() || partyLeader.isInCombat() || partyLeader.isInJail() || partyLeader.isInOlympiadMode() || partyLeader.isFlying())
  49. + {
  50. + activeChar.sendMessage("You cannot teleport to your party leader right now.");
  51. + return false;
  52. + }
  53. +
  54. + if (activeChar.getInventory() != null)
  55. + {
  56. + if (activeChar.getInventory().getItemByItemId(neededItemId) == null)
  57. + {
  58. + activeChar.sendMessage("You need at least " + neededItemCount + " " + ItemTable.getInstance().getTemplate(neededItemId).getName() + " to use this command.");
  59. + return false;
  60. + }
  61. +
  62. + activeChar.sendMessage("You are teleporting to your party leader.");
  63. + activeChar.teleToLocation(partyLeader.getX(), partyLeader.getY(), partyLeader.getZ());
  64. + activeChar.destroyItem("Consume", neededItemId, 1, null, false);
  65. +
  66. + partyLeader.sendMessage(activeChar.getName() + " is teleporting to you.");
  67. + }
  68. + }
  69. + return true;
  70. + }
  71. +
  72. + @Override
  73. + public String[] getVoicedCommandList()
  74. + {
  75. + return VOICED_COMMANDS;
  76. + }
  77. +}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement