• SiteAnalyzer, технический и SEO-анализ сайтов

Прописать invul на время

  • Автор темы Автор темы novich
  • Дата начала Дата начала
Можно ли к этому теперь добавить табличку с таймером и выбором воскрешения?
 
ага, теперь просто убери строки которые добавил PlayerReviveService
Это какие? Я ничего не трогал, там у меня 1 отличие в instanceRevive, try:

public static final void instanceRevive(Player player) {
// Revive in Instances
try {
if (player.getPosition().getWorldMapInstance().getInstanceHandler().onReviveEvent(player)) {
return;
}
} catch (Exception ex) {
log.warn("[PlayerReviveService] Error call onReviveEvent player: " + player.getName());
bindRevive(player);
return;
}

заменил на лайтов, гружусь


public static final void instanceRevive(Player player) {
// Revive in Instances
if (player.getPosition().getWorldMapInstance().getInstanceHandler().onReviveEvent(player)) {
return;
}
 
Тебя не поймешь, то тебе одно теперь все вернуть как было, а не проще выключить это все? зайди в PlayerMoveController и закоментируй StatFunctions.calculateFallDamage(owner, fallDistance, false);
 
Это какие? Я ничего не трогал, там у меня 1 отличие в instanceRevive, try:

public static final void instanceRevive(Player player) {
// Revive in Instances
try {
if (player.getPosition().getWorldMapInstance().getInstanceHandler().onReviveEvent(player)) {
return;
}
} catch (Exception ex) {
log.warn("[PlayerReviveService] Error call onReviveEvent player: " + player.getName());
bindRevive(player);
return;
}

заменил на лайтов, гружусь


public static final void instanceRevive(Player player) {
// Revive in Instances
if (player.getPosition().getWorldMapInstance().getInstanceHandler().onReviveEvent(player)) {
return;
}
Да не эти строки а те что ты добавил в calculateFallDamage
 
Да не эти строки а те что ты добавил в calculateFallDamage
Как как у меня было - это двойная смерть. Мне надо чтобы была обычная смерть с обычным воскрешением у кибелиска/ники/саморесом, то что у лайтов - это моментальное тп к кибелиску, не выбрать саморес/нику
Ну а выключать его не вариант, нужен
 
Да не эти строки а те что ты добавил в calculateFallDamage
Смотри, у меня персонаж когда падает, он дохнет и висит табличка с выбором реса. Но: на месте он сразу же опять падает, бесконечно при чем как в мертвой зоне, а при тп к кибелиску или ники он дохнет там второй раз. У лайтов в падении сразу же телепорт к кибелиску идет
Мне нужно, чтобы при падении персонаж дох и висела табличка с выбором реса, он не дох при воскрешении на месте, не дох второй раз у кибелиска/ники/спавна данжа. От этого спасает //invul
 
В смысле с выбором реса на месте он умирает опять, как в мертвой зоне
 
меня вот что смущает:
Код:
//TODO [AT] don't call onDie directly - better reduce HP!
player.getController().onDie(player, false);
 
Как как у меня было - это двойная смерть. Мне надо чтобы была обычная смерть с обычным воскрешением у кибелиска/ники/саморесом, то что у лайтов - это моментальное тп к кибелиску, не выбрать саморес/нику
Ну а выключать его не вариант, нужен
Так а ничего, что это по оффу?
 
Сделай так и не будет двойной смерти:
В PlayerMoveController добавь :
public void setLastFallZ(float lastFallZ) {
this.lastFallZ = lastFallZ;
}
А в StatFunctions в calculateFallDamage
//TODO [AT] don't call onDie directly - better reduce HP!
player.getMoveController().setLastFallZ(0);
player.getController().die();
 
ну я думал создать какой-то щит, вешающий инвул, но не думаю что реализовать смогу
В дате сервера таких щитов с версии 4.х аж 4 штуки есть) выбирай любой ввиде скилла все. Просто вешаешь на перса как баф на определенное время и все
 
Назад
Сверху