↑ ↓

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

Тема в разделе "Помощь", создана пользователем novich, 25 июн 2018.

  1. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Ну это я уже не знаю что до меня там чудили
     
  2. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    не наблюдал такого
     
  3. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    FallEffect тоже один и тот же
     
  4. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Т.е. просто падаешь потом ресаешься и снова труп?)
     
  5. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Ну ты пишешь, как я понял, про мертвую зону. А у меня проблема в том, что даже над землей, не долетев из-за предела/падая с верхнего абиса до ока, ну 60 метров выставил на тесты предел, на 61 метре умираешь.
    Если вставать там же саморесом - эффект 1в1 как в мертвой зоне - встал и упал моментально.
    Если вставать у ники/кибелиска/в данже - встаешь на респе и сразу же умираешь там. Второй раз встаешь уже нормально
     
  6. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Насчет ока в старом геодвиге идет аишка как только влетаешь тебе смерть, в новом геодвиге должно дамажить скиллом при входе в око и входе на территорию крепы чужой расы. Походу когда там умираешь тебя не сразу убирает с ObserveController'a и при респе он еще думает что ты в оке\крепе где нельзя вот и килляет
     
  7. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Да я просто как пример, око тут не при чем
     
  8. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Просто предел падения багнут. Если умереть от предела падения, то нельзя встать на месте, а на респе умираешь повторно.
     
  9. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Тут как раз скорее всего при респе кто-то думает что персонаж еще падает и убивает его снова. Даже когда он уже у кибелиска находится, может не получает новых координат?
     
  10. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Я уже стул прожжег неделю эту херню копать, как можно было такое начудить.. Все вышеописанные файлы - дефолтные лайты 2.7
     
  11. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Это StatFunction -> calculateFallDamage а вызывается метод в PlayerMoveController
     
  12. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    StatFunctions? Вот он отличается от лайтов:

    Код:
    	public static boolean calculateFallDamage(Player player, float distance, boolean stoped) {
    		if (player.isInvul()) {
    			return false;
    		}
    
    		if (distance >= FallDamageConfig.MAXIMUM_DISTANCE_DAMAGE || !stoped) {
    			player.getController().onStopMove();
    			player.getFlyController().onStopGliding(false);
    			player.getLifeStats().reduceHp(player.getLifeStats().getMaxHp() + 1, player);
    			return true;
    		} else if (distance >= FallDamageConfig.MINIMUM_DISTANCE_DAMAGE) {
    			float dmgPerMeter = player.getLifeStats().getMaxHp() * FallDamageConfig.FALL_DAMAGE_PERCENTAGE / 100f;
    			int damage = (int) (distance * dmgPerMeter);
    			player.getLifeStats().reduceHp(damage, player);
    			PacketSendUtility.sendPacket(player, new SM_ATTACK_STATUS(player, SM_ATTACK_STATUS.TYPE.FALL_DAMAGE, 0, -damage));
    		}
    
    		return false;
    	}
    Лайты:
    Код:
    	public static boolean calculateFallDamage(Player player, float distance, boolean stoped) {
    		if (player.isInvul()) {
    			return false;
    		}
    
    		if (distance >= FallDamageConfig.MAXIMUM_DISTANCE_DAMAGE || !stoped) {
    			player.getController().onStopMove();
    			player.getFlyController().onStopGliding(false);
    			//TODO [AT] don't call onDie directly - better reduce HP!
    			player.getController().onDie(player, false);
    
    			if (player.isInInstance())
    				PlayerReviveService.instanceRevive(player);
    			else if (player.getKisk() != null)
    				PlayerReviveService.kiskRevive(player);
    			else
    				PlayerReviveService.bindRevive(player);
    			return true;
    		}
    		else if (distance >= FallDamageConfig.MINIMUM_DISTANCE_DAMAGE) {
    			float dmgPerMeter = player.getLifeStats().getMaxHp() * FallDamageConfig.FALL_DAMAGE_PERCENTAGE / 100f;
    			int damage = (int) (distance * dmgPerMeter);
    
    			player.getLifeStats().reduceHp(damage, player);
    			PacketSendUtility.sendPacket(player, new SM_ATTACK_STATUS(player, SM_ATTACK_STATUS.TYPE.FALL_DAMAGE, 0, -damage));
    		}
    
    		return false;
    	}

    Сейчас пошаманю
     
  13. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Сделай как у лайтов, нужно чтобы работал метод onDie а не reduceHp
     
  14. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Нелегче выдавать просто баф, который вещает щит, который нельзя сбить и т.д.?
     
  15. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Я так понимаю у них корректное воскрешение в падении моей идеей реализовано, накидывать инвул во время реса?
    if (player.isInvul()) {
    return false;
    }
     
  16. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    Ну там щит вряд ли защитит от смерти кода, инвул разве что
     
  17. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Это не рес а падение и если в инвуле то падай сколько хочешь и не умрешь
     
  18. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    а да, точно. там в инвуле только мертвая зона убивает
     
  19. Offline

    <AL>

    74
    2
    9
    Кредиты:
    $175,00
    Репутация:
    0
    Замени свой метод на лайтовский и все
     
  20. TopicStarter Overlay
    Offline

    novich Рядовой

    212
    1
    46
    Кредиты:
    $134,00
    Репутация:
    -2
    меняю, не компилится че-то