Показать сообщение отдельно
Непрочитано 16.11.2013, 05:51   #1
Заинтересовавшийся

Автор темы (Топик Стартер) Запрет телепорта во время боя Community Board

Доброго времени суток.
У меня сборка на основах ядра фениксов, l2p. Epilogue

Ранее в зборке стоял запрет на использование community board если персонаж находиться в режиме боя, то есть оно даже не открывалось.
Я это все дело в ядре поправил, и прикрутил к конфигу. Все стало окей, пользоваться СВ в режиме боя можно.

Но появился следующий вопрос.
Теперь во время боя можно телепортироваться, бафаться.
Где и как это поправить в ядре?
За телепорт отвечает мультиселл с байпасами типа -h _bbsteleport_goto x y z
Вот так я попытался запретить доступ к байпасу во время определенных действий в ядре с файлом RequestByPassToServer.
Цитата:
else if(bypass.startsWith("_goto"))
{
if( (activeChar.isDead() && !Config.communityInTeleport) || (activeChar.isAlikeDead() && !Config.communityInTeleport) || (activeChar.isCastingNow() && !Config.communityInTeleport) || (activeChar.isInCombat() && !Config.communityInTeleport) || (activeChar.isAttackingNow() && !Config.communityInTeleport) || (activeChar.isInOlympiadMode() && !Config.communityInTeleport) || (activeChar.isFlying() && !Config.communityInTeleport) || (activeChar.isInFlyingTransform() && !Config.communityInTeleport) || (activeChar.isEvent() && !Config.communityForEventPvP))
{
activeChar.sendMessage("Телепорт нельзя использовать в данных условиях.");
return;
}
if( !Config.communityInInstances && activeChar.getReflectionId() > 0)
{
activeChar.sendMessage("Телепорт нельзя использовать в инстах.");
return;
}
mICommunityHandler mICommunityHandler = mCommunityHandler.getInstance().getHandler(bypass) ;
if(mICommunityHandler != null)
{
mICommunityHandler.useHandler(activeChar.getObject Id(), bypass);
}
}
Метод && !Config.communityInTeleport) контролирует значение true or false.
Но при том или ином значении ничего не меняется.


Помогите решить)
the2fantasy вне форума Ответить с цитированием