Цитата:
Сообщение от AndruliKxD
Доброго дня
Может кто-нибудь сталкивался с подобной проблемой...
В общем когда устанавливаю игроку невидимость, а потом делаю опять видимым - он становится каким-то хе*** неуязвимым
Пробовал устанавливать также и setInvul(false)
Ничего не помогает...
Сборка L2jFrozen
Делаю невидимым так:
Код:
player.getAppearance().setInvisible();
player.broadcastUserInfo();
player.decayMe();
player.broadcastUserInfo();
player.spawnMe();
player.broadcastUserInfo();
видимым так:
Код:
player.getAppearance().setVisible();
player.broadcastUserInfo();
player.setIsInvul(false);
И пожалуйста подскажите назначение метода broadcastUserInfo
|
Алый крестоносец! Чёрт бы меня побрал! Причём здесь инвул? ;D
Покажу пример на эффектах в методе onStart():
//проверяем будущего инвизера на состояние инвиза, если цель уже находится в таком состоянии то незачем ей его давать.
Код:
if(!getTarget().isVisible())
return false;
//потрясный эффект стелса на инвизера
Код:
targetPlayer.stopAbnormalEffect(AbnormalEffect.STEALTH);
//присваиваем переменной invisible = true
Код:
targetPlayer.getAppearance().setInvisible();
//отсылаем пакет на делит инвизера
Код:
L2GameServerPacket del = new DeleteObject(targetPlayer);
//сбрасываем таргеты и абортим атаку у всех тех мудил, кто нас избивал и калечил
Код:
for (L2Character target : targetPlayer.getKnownList().getKnownTypeInRadius(L2Character.class, 1000))
{
try
{
if (target.getTarget() == targetPlayer)
{
target.breakAttack();
target.abortCast();
target.setTarget(null);
target.getAI().setIntention(CtrlIntention.IDLE);
}
if (target instanceof Player)
target.sendPacket(del);
}
catch (NullPointerException e)
{
log.warn("Exception found in {} {}",getClass().getSimpleName(),e);
}
}
Тадаааааам. Не факт что я предусмотрел всё, например поулчение урона в АОЕ зоне и или Intention порядок, который по логике - тоже должен проверяться. Или ту же атаку (сброс инвиза в момент атаки цели инвизером). Но это уже явно не моё дело.
На будущее: invulnerable (корот. invul) переводится как неуязвимый. Прежде чем задействовать переменные, которые вы явно не знаете, надо посмотреть, где они хотя бы используются, ибо есть вероятность, что там где они используются - будет написан какой-нибудь комментарий, который поможет вам понять что это за переменная.