Page 1 of 2

Script not working on Freya

Posted: Fri Nov 19, 2010 5:51 am
by r0x
If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision Number: 4423
L2JDP Revision Number: 7669

this is a script for Teleport. worked in the epilogue but does not work on freya.
if anyone can help, thank you immensely!

ERROR:
Loading Server Scripts
----------
1. ERROR in \MasterHandler.java (at line 527)
VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new VIPT
eleport());
^^^^
^^^^^^^
VIPTeleport cannot be resolved to a type
----------
1 problem (1 error)VIPTeleport cannot be resolved to a type
Failed executing script: C:\Users\Administrator\Desktop\L2Ouro Servers\L2Ouro Se
rver 4.0\gameserver\data\scripts\handlers\MasterHandler.java. See MasterHandler.
java.error.log for details.
ERROR LOG
Error on: C:\Users\Administrator\Desktop\L2Ouro Servers\L2Ouro Server 4.0\gameserver\data\scripts\handlers\MasterHandler.java.error.log
Line: -1 - Column: -1

compilation failed
SCRIPT:

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 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.voicedcommandhandlers; import java.util.NoSuchElementException;import java.util.StringTokenizer; import com.l2jserver.gameserver.ai.CtrlIntention;import com.l2jserver.gameserver.handler.IVoicedCommandHandler;import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;  public class VIPTeleport implements IVoicedCommandHandler{    private static final String[] _voicedCommands =    {        "teleport"    };        public boolean useVoicedCommand(String command, L2PcInstance activeChar, String tlp)    {        if (command.equalsIgnoreCase("teleport"))        {            if (activeChar == null)            {                return false;            }            else if(activeChar.atEvent)            {                activeChar.sendMessage("You are an Event.");                return false;            }            else if(activeChar.isInDuel())            {                activeChar.sendMessage("You are on Duel.");                return false;            }            else if(activeChar.isInOlympiadMode())            {                activeChar.sendMessage("You are in Olympiad.");                return false;            }            else if(activeChar.isInCombat())            {                activeChar.sendMessage("You can't teleport in Combat Mod.");                return false;            }            else if (activeChar.isFestivalParticipant())            {                activeChar.sendMessage("You are in a festival.");                return false;            }            else if (activeChar.isInJail())            {                activeChar.sendMessage("You are in Jail.");                return false;            }            else if (activeChar.inObserverMode())            {                activeChar.sendMessage("You are in Observ Mode.");                return false;            }            else if (activeChar.isDead())            {                activeChar.sendMessage("You Dead. Can't Teleport.");                return false;            }            else if (activeChar.isFakeDeath())            {                activeChar.sendMessage("You are Dead? week up :D");                return false;            }            else if (activeChar.getKarma() > 0)            {                activeChar.sendMessage("You can't use teleport command when you have karma.");                return false;            }            else if (activeChar.getAccessLevel().getLevel() == 0)            {                activeChar.sendMessage("You Need Account VIP To Use This.");                return false;            }            if(tlp != null)            {                teleportTo(activeChar, tlp);            }            else            {                activeChar.sendMessage("Wrong or no Coordinates given. Usage: /loc to display the coordinates.");                activeChar.sendMessage("Ex: .teleport <x> <y> <z>");                return false;            }        }        return true;    }        private void teleportTo(L2PcInstance activeChar, String Cords)    {        try        {            StringTokenizer st = new StringTokenizer(Cords);            String x1 = st.nextToken();            int x = Integer.parseInt(x1);            String y1 = st.nextToken();            int y = Integer.parseInt(y1);            String z1 = st.nextToken();            int z = Integer.parseInt(z1);                        activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);            activeChar.teleToLocation(x, y, z, false);                        activeChar.sendMessage("You have been teleported to " + Cords);        }        catch (NoSuchElementException nsee)        {            activeChar.sendMessage("Wrong or no Coordinates given. Usage: /loc to display the coordinates.");            activeChar.sendMessage("Ex: .teleport <x> <y> <z>");        }    }        public String[] getVoicedCommandList()    {        return _voicedCommands;    }}

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 6:04 am
by qwerty13
Use code tags for posting code in forums.

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 8:19 am
by _DS_
You forget to import it in MasterHandler.

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 9:31 am
by Zoey76
r0x wrote:L2J Revision Number: 4423
L2JDP Revision Number: 7669

this is a script for Teleport. worked in the epilogue but does not work on freya.
if anyone can help, thank you immensely!
Hello r0x!

If you can manage to apply a patch inside the attachment there is a patch for 4423/7669. :twisted:
If you have troubles the file VIPTeleport.java is also included.
If you don't apply the patch don't forget to add it to MasterHandler.java!
import handlers.voicedcommandhandlers.VIPTeleport;
and
VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new VIPTeleport());
on
private static void loadVoicedHandlers()

Version 1.1
  • Little rework.
  • Now teleports pets.
  • Code cleanup.
  • Updated messages(typos and syntaxis).
Version 2.0b
Now you cannot teleport while:
  • in an instance.
  • in Craft mode.
  • in Store mode.
  • paralyzed.
  • asleep.
  • in siege.
  • in TVT.
  • flying.
Test TVT and Siege please & have fun! :P

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 10:14 am
by _DS_
btw, very bad idea to allow players teleport to any coords.

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 2:38 pm
by r0x
great job Zoey76!
thanks so much, I made this script with some difficulty, i do not program in java.

is possible prevent the players teleport to the boss area and siege?

again thanks!

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 4:06 pm
by r0x
working perfectly!
now just need to stop the teleport for boss area and siege area.. :D

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 4:14 pm
by qwerty13
Make a checks to avoid teleportation to boss\siege zones etc.

Re: Script not working on Freya

Posted: Fri Nov 19, 2010 4:20 pm
by r0x
qwerty13 wrote:Make a checks to avoid teleportation to boss\siege zones etc.
I believe that if prevent the teleport in time of siege would solve a problem.
and create a way to verify that the coordinate does not go to the area of "boss" would solve another problem.

but I do not know how to do it ..

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 11:18 am
by r0x
TVT participants are able to use the teleport.
can someone help me block it?

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 12:04 pm
by SolidSnake
Add this to checkConditions

Code: Select all

        else if (TvTEvent.isStarted() && TvTEvent.isPlayerParticipant(player.getObjectId()))        {            player.sendMessage("You cannot teleport while you are participating in the TvT event!");            return false;        }
Remember to write the TvTEvent.java import

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 12:18 pm
by r0x
thanks!
and you know tell me how can I block within the area of boss? :roll:

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 12:24 pm
by SolidSnake
If they teleport to a grandboss' area, they should be teleported away automatically :|

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 1:05 pm
by Zoey76
New version attached to my previous post. :P

Re: Script not working on Freya

Posted: Sat Nov 20, 2010 1:26 pm
by r0x
Zoey76 wrote:New version attached to my previous post. :P
was very good :D