RequestGMCommand.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /*
  2. * Copyright (C) 2004-2015 L2J Server
  3. *
  4. * This file is part of L2J Server.
  5. *
  6. * L2J Server is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * L2J Server is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. package com.l2jserver.gameserver.network.clientpackets;
  20. import com.l2jserver.gameserver.data.sql.impl.ClanTable;
  21. import com.l2jserver.gameserver.model.L2Clan;
  22. import com.l2jserver.gameserver.model.L2World;
  23. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  24. import com.l2jserver.gameserver.network.serverpackets.GMHennaInfo;
  25. import com.l2jserver.gameserver.network.serverpackets.GMViewCharacterInfo;
  26. import com.l2jserver.gameserver.network.serverpackets.GMViewItemList;
  27. import com.l2jserver.gameserver.network.serverpackets.GMViewPledgeInfo;
  28. import com.l2jserver.gameserver.network.serverpackets.GMViewSkillInfo;
  29. import com.l2jserver.gameserver.network.serverpackets.GMViewWarehouseWithdrawList;
  30. import com.l2jserver.gameserver.network.serverpackets.GmViewQuestInfo;
  31. /**
  32. * This class ...
  33. * @version $Revision: 1.1.2.2.2.2 $ $Date: 2005/03/27 15:29:30 $
  34. */
  35. public final class RequestGMCommand extends L2GameClientPacket
  36. {
  37. private static final String _C__7E_REQUESTGMCOMMAND = "[C] 7E RequestGMCommand";
  38. private String _targetName;
  39. private int _command;
  40. @Override
  41. protected void readImpl()
  42. {
  43. _targetName = readS();
  44. _command = readD();
  45. // _unknown = readD();
  46. }
  47. @Override
  48. protected void runImpl()
  49. {
  50. // prevent non gm or low level GMs from vieweing player stuff
  51. if (!getClient().getActiveChar().isGM() || !getClient().getActiveChar().getAccessLevel().allowAltG())
  52. {
  53. return;
  54. }
  55. L2PcInstance player = L2World.getInstance().getPlayer(_targetName);
  56. L2Clan clan = ClanTable.getInstance().getClanByName(_targetName);
  57. // player name was incorrect?
  58. if ((player == null) && ((clan == null) || (_command != 6)))
  59. {
  60. return;
  61. }
  62. switch (_command)
  63. {
  64. case 1: // player status
  65. {
  66. sendPacket(new GMViewCharacterInfo(player));
  67. sendPacket(new GMHennaInfo(player));
  68. break;
  69. }
  70. case 2: // player clan
  71. {
  72. if ((player != null) && (player.getClan() != null))
  73. {
  74. sendPacket(new GMViewPledgeInfo(player.getClan(), player));
  75. }
  76. break;
  77. }
  78. case 3: // player skills
  79. {
  80. sendPacket(new GMViewSkillInfo(player));
  81. break;
  82. }
  83. case 4: // player quests
  84. {
  85. sendPacket(new GmViewQuestInfo(player));
  86. break;
  87. }
  88. case 5: // player inventory
  89. {
  90. sendPacket(new GMViewItemList(player));
  91. sendPacket(new GMHennaInfo(player));
  92. break;
  93. }
  94. case 6: // player warehouse
  95. {
  96. // gm warehouse view to be implemented
  97. if (player != null)
  98. {
  99. sendPacket(new GMViewWarehouseWithdrawList(player));
  100. // clan warehouse
  101. }
  102. else
  103. {
  104. sendPacket(new GMViewWarehouseWithdrawList(clan));
  105. }
  106. break;
  107. }
  108. }
  109. }
  110. @Override
  111. public String getType()
  112. {
  113. return _C__7E_REQUESTGMCOMMAND;
  114. }
  115. }