citadel
Heir
Что-то пошло не так)По хорошему, самое безопасное, назначать в передаваемом скрипте какой то парам игроку (получил степ квеста допустим, да хоть чего угодно в целом, можешь заюзать этот скрипт с телепортом), скажем он получил такой то степ и далее в него запихивать допустим координаты, и ими уже оперировать.
Но в целом это рабочий вариант, обери его по своему желанию дополнительными проверками или что то в этом духе
Крит сервера - [12:05:24] ERROR Script class MyTeleport not found!
package Functions;
import l2.gameserver.cache.Msg;
import l2.gameserver.model.Player;
import l2.gameserver.scripts.Functions;
import l2.gameserver.utils.Location;
public class MyTeleport extends Functions
{
public void Gatekeeper(String[] param)
{
if(param.length < 3)
throw new IllegalArgumentException();
Player player = getSelf();
if(player == null)
return;
long price = Long.parseLong(param[param.length - 1]);
if(price > 0 && player.getAdena() < price)
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
if(player.getMountType() == 2)
{
show("scripts/wyvern-no.htm", player);
return;
}
int x = Integer.parseInt(param[0]);
int y = Integer.parseInt(param[1]);
int z = Integer.parseInt(param[2]);
Location pos;
pos = new Location(x, y, z).correctGeoZ();
if(price > 0)
player.reduceAdena(price, true);
player.teleToLocation(pos);
}
}