Page 1 of 1

[IL] minimalistic /unstuck

Posted: Tue Apr 12, 2011 9:16 am
by Tryskell
Minimalistic /unstuck. Does what it must do.

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;    }}
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.