[IL] minimalistic /unstuck
Posted: Tue Apr 12, 2011 9:16 am
Minimalistic /unstuck. Does what it must do.
This is made for IL, just change imports and the systemMessage thing. Tested and working for both GMs/normal guys. isMuted is already checked in the doCast method. The sound should work on freya if they didn't change IDs/file.
Think to remove useless config UNSTUCK_INTERVAL too (3 lines).
PS : I added back current L2JFreya conditions.
Code: Select all
/* * This program 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 2, or (at your option) * any later version. * * This program 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */package net.sf.l2j.gameserver.handler.usercommandhandlers; import net.sf.l2j.gameserver.datatables.SkillTable;import net.sf.l2j.gameserver.handler.IUserCommandHandler;import net.sf.l2j.gameserver.instancemanager.GrandBossManager;import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;import net.sf.l2j.gameserver.network.SystemMessageId;import net.sf.l2j.gameserver.network.serverpackets.PlaySound;import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; public class Escape implements IUserCommandHandler{ private static final int[] COMMAND_IDS = { 52 }; public boolean useUserCommand(int id, L2PcInstance activeChar) { // Thanks nbd if (!TvTEvent.onEscapeUse(activeChar.getObjectId())) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return false; } if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isAlikeDead() || activeChar.isInOlympiadMode() || activeChar.inObserverMode() || activeChar.isFestivalParticipant() || activeChar.isInJail() || activeChar.isCombatFlagEquipped() || (GrandBossManager.getInstance().getZone(activeChar) != null && !activeChar.isGM())) { activeChar.sendMessage("Your current state doesn't allow you to use the /unstuck command."); return false; } // Official timer 5 minutes, for GM 1 second if (activeChar.getAccessLevel().isGm()) activeChar.doCast(SkillTable.getInstance().getInfo(2100, 1)); else { activeChar.sendPacket(new PlaySound("systemmsg_e.809")); activeChar.sendPacket(new SystemMessage(SystemMessageId.STUCK_TRANSPORT_IN_FIVE_MINUTES)); activeChar.doCast(SkillTable.getInstance().getInfo(2099, 1)); } return true; } public int[] getUserCommandList() { return COMMAND_IDS; }}
Think to remove useless config UNSTUCK_INTERVAL too (3 lines).
PS : I added back current L2JFreya conditions.