Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

CraftCoder

Старожил
Пользователь
Баллы
108
Имя в Minecraft
CraftCoderr
В моем плагин полностью переделана система урона и брони, т.е. я при событии урона я устанавливаю урон в ноль(event.setDamage(0)) ну и самостоятельно отнимаю хп игроку, если нужно отнять больше, чем есть хп у игрока, то убиваю его так player.setHealth(0), при этом игрок либо не умирает либо умерает 100500 раз. Как с этим бороться?
 
В моем плагин полностью переделана система урона и брони, т.е. я при событии урона я устанавливаю урон в ноль(event.setDamage(0)) ну и самостоятельно отнимаю хп игроку, если нужно отнять больше, чем есть хп у игрока, то убиваю его так player.setHealth(0), при этом игрок либо не умирает либо умерает 100500 раз. Как с этим бороться?
Если он умирает 100500 раз --> ты вызываешь этот метод 100500 раз --> нужно вызвать его 1 раз и на этом успокоиться. В большинстве плагинов именно так и убивают setHealth(0);
 
Если он умирает 100500 раз --> ты вызываешь этот метод 100500 раз --> нужно вызвать его 1 раз и на этом успокоиться. В большинстве плагинов именно так и убивают setHealth(0);
По идее же, после первого убийства продамажить этому игроку уже будет не возможно.
Понял в чем проблема тысячи смертей, но есть другая проблема, т.к. система урона полностью переписана, об этом я писал в первом посте, то когда я уже убиваю игрока(setHealth(0)), у него почему-то полностью восстанавливаются хп и он остается жив, хотя эвент смерти срабатывает и вещи выпадают.
Может NMS'ники посоветуют как ижектить мою систему урона в ядро?
 
По идее же, после первого убийства продамажить этому игроку уже будет не возможно.
Понял в чем проблема тысячи смертей, но есть другая проблема, т.к. система урона полностью переписана, об этом я писал в первом посте, то когда я уже убиваю игрока(setHealth(0)), у него почему-то полностью восстанавливаются хп и он остается жив, хотя эвент смерти срабатывает и вещи выпадают.
Может NMS'ники посоветуют как ижектить мою систему урона в ядро?
круто, хп 0, вещи выпали, а игрок жив? типа экран смерти не появляется? о, значит ты вызвал баг майна, вот эт да. ну тогда можешь написать еще функцию, чтобы он тогда просто отправлялся на спавн после смерти. Тоесть сдох и сразу на спавн, без экрана смерти, будет круто, хоть такой плагин уже есть, но ты его заново написал :D
ну или я ниче не поял, ну ладно.. ._.
 
круто, хп 0, вещи выпали, а игрок жив? типа экран смерти не появляется? о, значит ты вызвал баг майна, вот эт да. ну тогда можешь написать еще функцию, чтобы он тогда просто отправлялся на спавн после смерти. Тоесть сдох и сразу на спавн, без экрана смерти, будет круто, хоть такой плагин уже есть, но ты его заново написал :D
ну или я ниче не поял, ну ладно.. ._.
Ты все правильно понял, я как раз хотел сделать телепортацию на спавн, но если сервер чуть-чуть подлагнет, то игрок успеет подобрать свои вещи, ну или хотя бы их часть.
 
Ты все правильно понял, я как раз хотел сделать телепортацию на спавн, но если сервер чуть-чуть подлагнет, то игрок успеет подобрать свои вещи, ну или хотя бы их часть.
Он не сможет подобрать дроп, пока сервер не ответит ему, что дроп был взят. Зайди на лагучий сервер, сломай блок или выброси предмет, во время лагов он у тебя не поднимется.
 
Никак не могу пофиксить это, вариант с телепортом работает, но вызывает конфликты с многими плагинами. Возможно дело в событии дамага, суть в том, что мне нужно чтобы при дамаге урон считался по моей формуле и игрок так же натурально откидывался и краснел, поэтому я не отменяю эвент, а просто ставлю setDamage(0) и хп отнимаю игроку сам. Может есть другие способы обработки события? Может нужно приоритет какой поставить?

P.S. Где можно узнать какие приоритеты что дают?
 
Никак не могу пофиксить это, вариант с телепортом работает, но вызывает конфликты с многими плагинами. Возможно дело в событии дамага, суть в том, что мне нужно чтобы при дамаге урон считался по моей формуле и игрок так же натурально откидывался и краснел, поэтому я не отменяю эвент, а просто ставлю setDamage(0) и хп отнимаю игроку сам. Может есть другие способы обработки события? Может нужно приоритет какой поставить?

P.S. Где можно узнать какие приоритеты что дают?
Ну по идее типа ты должен не отнимать хп, устанавливая его кол-во или уменьшая, а вызвать событие, которое используется при получении урона игроком от чего-либо.
 
Ну по идее типа ты должен не отнимать хп, устанавливая его кол-во или уменьшая, а вызвать событие, которое используется при получении урона игроком от чего-либо.
Ну так если я при дамаге, буду вызывать событие дамага, то баккит будет сам считать броню, а мне нужно по моей формуле.
 
Фигачь его уроном бездны. Это тот вид урона, который никакие плагины не должны изменять(по логике вещей), ведь если игрок упал из мира, то он должен умереть, а не скитаться в бездне вечно... По моему весьма логичный способ.
 
Фигачь его уроном бездны. Это тот вид урона, который никакие плагины не должны изменять(по логике вещей), ведь если игрок упал из мира, то он должен умереть, а не скитаться в бездне вечно... По моему весьма логичный способ.
А броня будет считаться? Просто мне нужно игроку в броне нанести урон так, как буд-то на нем ее нет.
 
А броня будет считаться? Просто мне нужно игроку в броне нанести урон так, как буд-то на нем ее нет.
По умолчанию ничто не блокирует урон от бездны(не должно, всё на совести плагинописцев/мододелов).
 
Для кого придумали модификаторы урона а?
Попробовал сделать так: event.setDamage(DamageModifier.ARMOR, damage); но дамажит на какие-то левые очки дамага
Ну так как продамажить сквозь броню.
 
Попробовал сделать так: event.setDamage(DamageModifier.ARMOR, damage); но дамажит на какие-то левые очки дамага
Ну так как продамажить сквозь броню.
Кажется, зелья наносят прямой дамаг.
Еще, не полохой способ, вручную ставить здоровье и наносить урон 0.
 
Еще, не полохой способ, вручную ставить здоровье и наносить урон 0.
Из-за этого и баг. А зелья попробую.
Кажется, зелья наносят прямой дамаг.
Еще, не полохой способ, вручную ставить здоровье и наносить урон 0.
Если ставить модификатор MAGIC, то не зависимо от дамага отнимается два сердца. Что делать?
@fromgate @Den_Abr @BeYkeR
 
В моем плагин полностью переделана система урона и брони, т.е. я при событии урона я устанавливаю урон в ноль(event.setDamage(0)) ну и самостоятельно отнимаю хп игроку, если нужно отнять больше, чем есть хп у игрока, то убиваю его так player.setHealth(0), при этом игрок либо не умирает либо умерает 100500 раз. Как с этим бороться?
p.damage(p.getHealth());
 

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

Назад
Верх