Jump to content
  • 0

[Help] with gameserver/escape.java


Question

Posted

usercommandhandlers\Escape.java (at line 24)
        import com.l2jserver.gameserver.datatables.MapRegionTable;
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The import com.l2jserver.gameserver.datatables.MapRegionTable is never used

 

trying to add a custom /unstuck  and in gameserver i get this error

i deleted the import but when i use unstuck i get ported to nearest village

i used this code

_activeChar.teleToLocation(147463, 25798, -2039);any suggestions?

2 answers to this question

Recommended Posts

  • 0
Posted
/*
* 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
*/
package handlers.usercommandhandlers;

import java.util.logging.Level;

import com.l2jserver.Config;
import com.l2jserver.gameserver.GameTimeController;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.datatables.MapRegionTable;
import com.l2jserver.gameserver.handler.IUserCommandHandler;
import com.l2jserver.gameserver.instancemanager.GrandBossManager;
import com.l2jserver.gameserver.model.L2Skill;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.TvTEvent;
import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
import com.l2jserver.gameserver.network.serverpackets.SetupGauge;
import com.l2jserver.gameserver.util.Broadcast;


/**
*
*
*/
public class Escape implements IUserCommandHandler
{
private static final int[] COMMAND_IDS =
{
	52
};

/**
 * 
 * @see com.l2jserver.gameserver.handler.IUserCommandHandler#useUserCommand(int, com.l2jserver.gameserver.model.actor.instance.L2PcInstance)
 */
public boolean useUserCommand(int id, L2PcInstance activeChar)
{
	// Thanks nbd
	if (!TvTEvent.onEscapeUse(activeChar.getObjectId()))
	{
		activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		return false;
	}


	int unstuckTimer = (activeChar.getAccessLevel().isGm() ? 1000 : Config.UNSTUCK_INTERVAL * 1000);

	// Check to see if the player is in a festival.
	if (activeChar.isFestivalParticipant())
	{
		activeChar.sendMessage("You may not use an escape command in a festival.");
		return false;
	}

	// Check to see if player is in jail
	if (activeChar.isInJail())
	{
		activeChar.sendMessage("You can not escape from jail.");
		return false;
	}

	if (GrandBossManager.getInstance().getZone(activeChar) != null && !activeChar.isGM())
	{
		activeChar.sendMessage("You may not use an escape command in a Boss Zone.");
		return false;
	}

	if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted()
			|| activeChar.isAlikeDead() || activeChar.isInOlympiadMode() || activeChar.inObserverMode() || activeChar.isCombatFlagEquipped())
		return false;
	activeChar.forceIsCasting(GameTimeController.getGameTicks() + unstuckTimer / GameTimeController.MILLIS_IN_TICK);


	L2Skill escape = SkillTable.getInstance().getInfo(2099, 1); // 5 minutes escape
	L2Skill GM_escape = SkillTable.getInstance().getInfo(2100, 1); // 1 second escape
	if (activeChar.getAccessLevel().isGm())
	{
		if (GM_escape != null)
		{
			activeChar.doCast(GM_escape);
			return true;
		}
		activeChar.sendMessage("You use Escape: 1 second.");
	}
	else if (Config.UNSTUCK_INTERVAL == 300 && escape  != null)
	{
		activeChar.doCast(escape);
		return true;
	}
	else
	{
		if (Config.UNSTUCK_INTERVAL > 100)
		{
			activeChar.sendMessage("You use Escape: " + unstuckTimer / 60000 + " minutes.");
		}
		else
			activeChar.sendMessage("You use Escape: " + unstuckTimer / 1000 + " seconds.");
	}
	activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
	//SoE Animation section
	activeChar.setTarget(activeChar);
	activeChar.disableAllSkills();

	MagicSkillUse msk = new MagicSkillUse(activeChar, 1050, 1, unstuckTimer, 0);
	Broadcast.toSelfAndKnownPlayersInRadius(activeChar, msk, 810000/*900*/);
	SetupGauge sg = new SetupGauge(0, unstuckTimer);
	activeChar.sendPacket(sg);
	//End SoE Animation section

	EscapeFinalizer ef = new EscapeFinalizer(activeChar);
	// continue execution later
	activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer));

	return true;
}

static class EscapeFinalizer implements Runnable
{
	private L2PcInstance _activeChar;

	EscapeFinalizer(L2PcInstance activeChar)
	{
		_activeChar = activeChar;
	}

	public void run()
	{
		if (_activeChar.isDead())
			return;

		_activeChar.setIsIn7sDungeon(false);
		_activeChar.enableAllSkills();
		_activeChar.setIsCastingNow(false);
		_activeChar.setInstanceId(0);

		try
		{
			  _activeChar.teleToLocation(147463, 25798, -2039);

		}
		catch (Exception e)
		{
			_log.log(Level.SEVERE, "", e);
		}
	}
}

/**
 * 
 * @see com.l2jserver.gameserver.handler.IUserCommandHandler#getUserCommandList()
 */
public int[] getUserCommandList()
{
	return COMMAND_IDS;
}
}

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...