SoFace 315 Опубликовано 14 октября, 2013 И еще раз здравствуйте. В прошлый раз я выложил скрипт Donate Scroll'а. В этот раз скрипт Teleport'а.) Суть скрипта такова, персонаж юзает одну из команд представленных в скрипте, и телепортируется в определенное место (Координаты которого указаны в скрипте). Покажу как использовать: TELEPORTS.put("название команды", new TelePoint(координаты x,координаты y,координаты z)); Так же можно сделать платный телепорт (Т.е. за него будет требоваться определенный предмет): TELEPORTS.put("название команды", new TelePoint(координаты x,координаты y,координаты z, ID предмета который будет требоваться за телепорт, количество предмета)); Создаем класс Teleport.java в scripts\commands\voice. package commands.voice; import javolution.util.FastMap; import net.sf.l2j.gameserver.cache.Static; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.util.Location; import scripts.commands.IVoicedCommandHandler; import scripts.commands.VoicedCommandHandler; public class Teleport implements IVoicedCommandHandler { private final static FastMap<String, TelePoint> TELEPORTS = new FastMap<String, TelePoint>().shared("Teleport.TELEPORTS"); private static String[] VOICED_COMMANDS = null; class TelePoint { public Location loc; public int coin = 0; public int price = 0; public TelePoint(int x, int y, int z) { this.loc = new Location(x, y, z); } public TelePoint(int x, int y, int z, int itemId, int price) { this.loc = new Location(x, y, z); this.coin = itemId; this.price = price; } } public Teleport() { TELEPORTS.put("pvp", new TelePoint(183549,20233,-3173)); VOICED_COMMANDS = TELEPORTS.keySet().toArray(new String[TELEPORTS.size()]); VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this); } public boolean useVoicedCommand(String command, L2PcInstance player, String target) { if (player == null) return false; if (player.isCursedWeaponEquiped() || player.getKarma() > 0 || player.getPvpFlag() > 0) { player.sendMessage("Игрокам с кармой запрещено телепортироваться."); player.sendPacket(Static.NO_KARRMA_TELE); return false; } TelePoint tp = TELEPORTS.get(command); if (tp == null) return false; // tp.coin.id > 0 платный телепорт if (tp.coin > 0 && !player.destroyItemByItemId("voiced.Teleport", tp.coin, tp.price, player, true)) return false; player.teleToLocation(tp.loc.x, tp.loc.y, tp.loc.z); return true; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main (String... arguments ) { new Teleport(); } } 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ExClow 3 Опубликовано 14 октября, 2013 Спс большое нужный скрипт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ExstazI 99 Опубликовано 27 декабря, 2013 а автор шары где ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Main 85 Опубликовано 27 декабря, 2013 а автор шары где ? Автор шары FOXTROT. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты