Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Не знаю, нашел видео на просторах интернетаНичесе, пошел проверять
Проверил, это точно лиру скади х300 было?
если есть DefaultAI, то там от люцеры уже мало что осталось)) А так да, открой Creature, найди moveToLocation\followToCharacter или что там у тебя и просто посмотри где оно вызывается. Именно там в параметрах определяется искать ли дальше путь или нет.
Я бы смотрел в первую очередь в сторону L2CharacterAIВы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Только вот такие файлы есть у меня, Creature я видел только в ребоподобных сборках
А в какой сборке это реализовано?в большинстве случаев все же лечится в пакете ValidatePosition нормальными проверками и расчетами на разницу в расстоянии между сохраненной и текущей позицией (той что проверяется в пакете).
просто в большинстве сборок в расчеты не принимаются такие данные как к примеру величина пинга между клиентом и сервером, или например скорость движения игрока.
в L2CharacterAI я нашел только метод onIntentionMoveTo, в ПВсофте при аналогичном поиске пути какого то хрена путь мобы ищут, причем довольно таки неплохо кстати.Я бы смотрел в первую очередь в сторону L2CharacterAI
ну в том же овере оно в виде TODO'шки естьА в какой сборке это реализовано?
else if(diff > 256)
{
//TODO реализовать NetPing и вычислять предельное отклонение исходя из пинга по формуле: 16 + (ping * activeChar.getMoveSpeed()) / 1000
activeChar.validateLocation(1);
}
а как должна выглядеть такая проверка?ну в том же овере оно в виде TODO'шки есть
я примерно по такой, ну почти, формуле у себя проверку максимальньно допустимой разницы расстояний сделалКод:else if(diff > 256) { //TODO реализовать NetPing и вычислять предельное отклонение исходя из пинга по формуле: 16 + (ping * activeChar.getMoveSpeed()) / 1000 activeChar.validateLocation(1); }
в итоге вроде жалобы на отбрасывание при передвижении почти пропали - в основном остались только у тех у кого инет вобще с конским пингом и потерями пакетов.
else if(diff > 256)
{
int ping = 16 + (L2GameClient.getPing() * activeChar.getMoveSpeed()) / 1000;
if (diff > ping)
{
activeChar.validateLocation(1);
}
}
Да, вот только у ТСа акисыМожет здесь проблема с прерыванием движения? Был такой бажок у оверов.
А ну тут по накатанной shift+delДа, вот только у ТСа акисы
А я вижу Вы профессионал... Вас не смущает что данный баг есть на 99% сборках? Хотя о чём я говорю, раз вижу такие сообщенияА ну тут по накатанной shift+del
Это наверное самый проверенный фикс для этой сборочки
Да нет, просто постоянно именно с этой сборкой темы подобные, ничего личного)А я вижу Вы профессионал... Вас не смущает что данный баг есть на 99% сборках? Хотя о чём я говорю, раз вижу такие сообщения
прости, 90% сборок сейчас разрабатываются на овере. мы не говорим за мусор вроде интерлюда, потому что там что игроки что админы из каменного века всё ещё не вышли, а овер уже давно лыжей назвать нельзя.проблемы с L2JServer ом, на котором основаны 80% сборок которые на данный момент разрабатываются... А отсюда и баги
типа того, так же желательно реализовать счетчик количества отклонений, и при достижении определенного порога принудительно синхронизировать клиент, или же при получении последующих правильных координат обнулять егоа как должна выглядеть такая проверка?
вот так?Код:else if(diff > 256) { int ping = 16 + (L2GameClient.getPing() * activeChar.getMoveSpeed()) / 1000; if (diff > ping) { activeChar.validateLocation(1); } }
int ping = 256 + (L2GameClient.getPing() * activeChar.getMoveSpeed()) / 1000;
else if(diff > ping)
{
activeChar.validateLocation(1);
}
в моем случае мув контроллер настолько убогий что откидывает даже с такой проверкойтипа того, так же желательно реализовать счетчик количества отклонений, и при достижении определенного порога принудительно синхронизировать клиент, или же при получении последующих правильных координат обнулять его
Код:int ping = 256 + (L2GameClient.getPing() * activeChar.getMoveSpeed()) / 1000; else if(diff > ping) { activeChar.validateLocation(1); }
Ну все же хипстеры с подворотамимы не говорим за мусор вроде интерлюда, потому что там что игроки что админы из каменного века всё ещё не вышли