Перейти к содержанию
Авторизация  
SoFace

[Pw Soft] Teleport

Рекомендуемые сообщения

И еще раз здравствуйте. В прошлый раз я выложил скрипт 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();
}
}

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а автор шары где ?

Автор шары FOXTROT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...