New command for players. now they can teleport desirable town/village.
package handlers.voicedcommandhandlers;
import java.util.StringTokenizer;
import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
public class TeleportPalace implements IVoicedCommandHandler
{
private boolean EnabledScript = true;
private static final String[] VOICED_COMMANDS =
{
"teleport"
};
private static final String[][] PALACES =
{
{"Aden", "147450 27064 -2208"},
{"Dion", "18748 145437 -3132"},
{"FloranVillage", "17144 170156 -3502"},
{"Giran", "82698 148638 -3473"},
{"Gludin", "-83063 150791 -3133"},
{"Gludio", "-14225 123540 -3121"},
{"Goddard", "147725 -56517 -2780"},
{"Heine", "111115 219017 -3547"},
{"Oren", "82321 55139 -1529"},
{"Rune", "44070 -50243 -796"},
{"Schuttgart", "87358 -141982 -1341"},
{"HunterVillage", "116589 76268 -2734"},
{"TalkingIsland", "-82687 243157 -3734"},
{"DwarvenVillage", "116551 -182493 -1525"},
{"ElvenVillage", "45873 49288 -3064"},
{"KamaelVillage", "-116934 46616 368"},
{"OrcVillage", "-44133 -113911 -244"},
{"DarkElvenVillage", "12428 16551 -4588"}
};
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
{
if(!EnabledScript)
return false;
StringTokenizer st = null;
String palace = null;
if(!params.equalsIgnoreCase(""))
st = new StringTokenizer(params);
if (st.hasMoreTokens())
palace = st.nextToken();
if(palace.equalsIgnoreCase(""))
{
activeChar.sendMessage("-- BAD TELEPORT PALACE --");
for (int i=0; i<PALACES.length; i++)
{
activeChar.sendMessage("-- ." + VOICED_COMMANDS[0] + " " + PALACES[i][0]);
}
return false;
}
for (int i=0; i<PALACES.length; i++)
{
if(PALACES[i][0].equalsIgnoreCase(palace))
{
TeleportTo(activeChar, PALACES[i][1]);
break;
}
}
return true;
}
public void TeleportTo(L2PcInstance activeChar, String cord)
{
activeChar.sendMessage("Selected by the teleport a success.");
StringTokenizer st = new StringTokenizer(cord);
activeChar.teleToLocation(Integer.getInteger(st.nextToken()), Integer.getInteger(st.nextToken()), Integer.getInteger(st.nextToken()));
}
@Override
public String[] getVoicedCommandList()
{
return VOICED_COMMANDS;
}
}
Credits to Mentor.