Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите [РЕШЕНО]Локальный спавн игрока после смерти

Тема в разделе "Разработка плагинов для новичков", создана пользователем capone641693, 9 янв 2015.

Статус темы:
Закрыта.
  1. Автор темы
    capone641693

    capone641693 Активный участник Пользователь

    Баллы:
    68
    Здравствуйте разработчики. Есть дополнительный мир с своим спавном, после смерти в этом мире игрок появляется либо на спавне обычного мира, либо дома, либо у кровати, а как сделать чтобы игрок появлялся на спавне мира в котором умер ?

    Такой код по моему мнению должен был решить проблему с появлением у кровати, но нет не помогло
    Код:
    World w=Bukkit.getWorld("mir") ;
    @EventHandler
    public void onPlayerChangedWorldEvent(PlayerChangedWorldEvent e)
    {
    e.getPlayer().setBedSpawnLocation(w.getSpawnLocation() );
    }
    
     
  2. Хостинг MineCraft
    <
  3. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Попробуй ловить ивент смерти и телепортировать игрока, куда тебе нужно[DOUBLEPOST=1420823182,1420820860][/DOUBLEPOST]@capone641693 , ау
     
  4. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    То есть, ты хочешь взять мертвого игрока и телепортировать его?
     
  5. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Тогда ивент возрождения.
     
  6. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Вот теперь правильно.
     
  7. Автор темы
    capone641693

    capone641693 Активный участник Пользователь

    Баллы:
    68
    Консоль пишет Cannot find player specifed

    Код:
    World w=Bukkit.getWorld("mir") ;
    Player p;
    
    @EventHandler
    public void onPlayerDeathEvent(PlayerDeathEvent e)
    {
    if(e.getEntity().getWorld()==w)
    {
      p=e.getEntity().getPlayer();
    }
    }
    
    @EventHandler
    public void onPlayerRespawnEvent(PlayerRespawnEvent e)
    {
      if(e.getPlayer()==p)
      {
       p.teleport(w.getSpawnLocation());
      }
    }
     
  8. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    На какой строчке?
    И что ты хочешь сделать? Зачем игрока сохранять в переменной? Это бессмысленно.
     
  9. Автор темы
    capone641693

    capone641693 Активный участник Пользователь

    Баллы:
    68
    Ошибки в консоли сервера нет, только это сообщение: Cannot find player specifed
    Переменная игрока для использования в двух разных событиях, под бессмысленностью Вы имеете ввиду что после смерти игрока переменная очистится ? Сделать пытался выше указанным кодом: 1- определить какой игрок подох, 2-при респавне телепортировать подохшего игрока на спавн в мир где он подох.
     
Статус темы:
Закрыта.

Поделиться этой страницей