Как получить количество убийств и смертей?

kolis1on

Активный участник
Пользователь
Баллы
76
Как получить количество убийств и смертей? И какие ивенты использывать
 
Как получить количество убийств и смертей? И какие ивенты использывать
PHP:
p.getStatistic(Statistic.PLAYER_KILLS); //киллы игроков
p.getStatistic(Statistic.DEATHS); //смерти
Работает при включенной статистике на сервере:
upload_2021-6-16_16-17-12.png
И встречный вопрос какой ивент ты хочешь?
 
Допустим, когда игрок убивает другогоэ
когда игрок ударяет другого игрока
PHP:
    @EventHandler
    public void handler(EntityDamageByEntityEvent e) {
        if(e.getDamager() instanceof Player) {
            if(e.getEntity() instanceof Player) {
               //to do
            }
     }
}
смерть игрока
PHP:
    @EventHandler
    public void handler(PlayerDeathEvent e) {
        e.getEntity().getPlayer(); //получить того кто умер
        e.getEntity().getKiller(); //получить того кто убил
 //to do
    }
 
когда игрок ударяет другого игрока
PHP:
    @EventHandler
    public void handler(EntityDamageByEntityEvent e) {
        if(e.getDamager() instanceof Player) {
            if(e.getEntity() instanceof Player) {
               //to do
            }
     }
}
смерть игрока
PHP:
    @EventHandler
    public void handler(PlayerDeathEvent e) {
        e.getEntity().getPlayer(); //получить того кто умер
        e.getEntity().getKiller(); //получить того кто убил
 //to do
    }
забыл сказать что убийцей может быть не всегда игрок такчто если игрок умер от падения то Player p = (Player) e.getEntity().getKiller() выдаст тебе ошибку чтобы такого небыло нужно добавить проверку убийца ли игрок
PHP:
if(e.getEntity().getKiller() instanceof Player) {
//todo
}
сказал чтобы потом вопросов небыло
 
забыл сказать что убийцей может быть не всегда игрок такчто если игрок умер от падения то Player p = (Player) e.getEntity().getKiller() выдаст тебе ошибку чтобы такого небыло нужно добавить проверку убийца ли игрок
PHP:
if(e.getEntity().getKiller() instanceof Player) {
//todo
}
сказал чтобы потом вопросов небыло
Еще он может умереть от снаряда и с него придется получить шотера и так же проверять на плеера)
 
Спасибо, для себя полезное взял. Тема закрыта
 
Назад
Верх