Помогите Как игрок в радиусе отправить на спавн

Статус
Закрыто для дальнейших ответов.

Taloff

Активный участник
Пользователь
Баллы
61
Здравствуйте, прошу подсказать, как отправить игроков на спавн в радиусе 200?
 
А можно ответ получить? Как это реализовать?
Я тебе полностью готовый код дал.
Если ты не можешь его заюзать, тебе в туториалы по джаве
Про плагины пока забудь
 
public void teleport(PlayerTeleportEvent e) {
Player p = e.getPlayer();
World w = p.getWorld();
int loc1 = p.getLocation().getBlockX();
int loc2= p.getLocation().getBlockZ();
int loc3 = p.getLocation().getBlockY();
Location l2 = new Location(w, 0, 0, 0); //Заместь нолей корды(X,Z,Y), а эту строчку можно стиреть
if(loc1 > 200 && loc2 > 200 && loc3 > 200) {
p.teleport(l2);
}
}
 
Последнее редактирование:
public void teleport(PlayerTeleportEvent e) {
Player p = e.getPlayer();
World w = p.getWorld();
int loc1 = p.getLocation().getBlockX();
int loc2= p.getLocation().getBlockZ();
int loc3 = p.getLocation().getBlockY();
Location l2 = new Location(w, 0, 0, 0); //Заместь нолей корды(X,Z,Y), а эту строчку можно стиреть
if(loc1 > 200 && loc2 > 200 && loc3 > 200) {
p.teleport(l2);
}
}
Что ты высрал
 
Будь по адекватней, ок?
Я так думаю ты Java знаешь лудше меня. Я написал есле корды игрока (X Y Z) превышают 200 то телепортировать его на кординаты указаные в l2.
 
public void teleport(PlayerTeleportEvent e) {
Player p = e.getPlayer();
World w = p.getWorld();
int loc1 = p.getLocation().getBlockX();
int loc2= p.getLocation().getBlockZ();
int loc3 = p.getLocation().getBlockY();
Location l2 = new Location(w, 0, 0, 0); //Заместь нолей корды(X,Z,Y), а эту строчку можно стиреть
if(loc1 > 200 && loc2 > 200 && loc3 > 200) {
p.teleport(l2);
}
}
Ну все - выбрасывай.
 
Будь по адекватней, ок?
Я так думаю ты Java знаешь лудше меня. Я написал есле корды игрока (X Y Z) превышают 200 то телепортировать его на кординаты указаные в l2.
Ну да, это будет работать если все 3 оси будут больше 200. И то не как задумано.

Вот что нужно похоже.
Location playerLoc = player.getLocation();
for (Player pl : Bukkit.getOnlinePlayers()) {
if (playerLoc.distance(pl.getLocation()) <= 200) {
//Телепортируй игроков куда надо.
pl.teleport(new Location(playerLoc.getWorld(), 0, 64, 0));
}
}

p.s Ты рискуешь попасть в бесконечную рекурсию, вызовом телепортации в событии телепортации.
 
Будь по адекватней, ок?
Я так думаю ты Java знаешь лудше меня. Я написал есле корды игрока (X Y Z) превышают 200 то телепортировать его на кординаты указаные в l2.
Как можно нормально отвечать двум людям, у которых есть в руках готовый рабочий код, но они не могут его заюзать?
 
Ну да, это будет работать если все 3 оси будут больше 200. И то не как задумано.

Вот что нужно похоже.
Location playerLoc = player.getLocation();
for (Player pl : Bukkit.getOnlinePlayers()) {
if (playerLoc.distance(pl.getLocation()) <= 200) {
//Телепортируй игроков куда надо.
pl.teleport(new Location(playerLoc.getWorld(), 0, 64, 0));
}
}

p.s Ты рискуешь попасть в бесконечную рекурсию, вызовом телепортации в событии телепортации.
Спасибо ты мне очень помог!
 
Как можно нормально отвечать двум людям, у которых есть в руках готовый рабочий код, но они не могут его заюзать?
Можно адекватно ответить, как это использовать и без тонких оскорблений! В ответ вам скажу из вас ужасный человек, который помогает!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх