1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как отследить стрелка?

Тема в разделе "Разработка плагинов для новичков", создана пользователем pro100koder, 15 июн 2018.

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

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

    Баллы:
    76
    Не знаю, почему не получается сделать это так:
    Код:
    public void onPlayerDeath(PlayerDeathEvent e){
                if(p.getKiller() instanceof Arrow){
                Player pl = (Player) ((Projectile) p.getKiller()).getShooter();
                pl.sendMessage(ChatColor.GREEN + "Вы застрелили игрока" + ChatColor.DARK_RED + p.getName() + ChatColor.GREEN + ". " + ChatColor.GOLD + "+1 монетка!");
            }
            }
    , но по какой-то, наверное, грубейшей/тупейшей ошибке моей невнимательности, этот код не находит стрелка и не пишет ему ничего в чат. Ошибок нет, другие версии убийств работают, но со стрелой проблемы.
     
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ну... Можно потанцевать с бубном, чтобы получить стрелу которая убила игрока
    PHP:
    public void onPlayerDeath(PlayerDeathEvent e){
        
    Player player e.getPlayer();
        
    EntityDamageEvent ldc player.getLastDamageCause();
        if(
    ldc instanceof EntityDamageByEntityEvent) {
            
    EntityDamageByEntityEvent ev = (EntityDamageByEntityEventldc;
            if(
    ev.getDamager() instanceof Arrow) {
                
    Arrow arrow = (Arrowev.getDamager();
                if(
    arrow.getShooter() instanceof Player) {
                    
    Player shooter = (Playerarrow.getShooter();
                }
            }
        }
     
  3. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Через нмс же стрелок берётся, не?
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Нет.
     
Статус темы:
Закрыта.

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