С чем связана телепортация моба при взятии в таргет?

verbrannt

Выдающийся
Местный
Сообщения
180
Розыгрыши
0
Репутация
503
Реакции
199
Баллы
1 358
Яркий пример в Giant Cave на Младших Гигантах.
Они там все активно двигаются, некоторые даже в стену, и когда я беру в моба в таргет, он как бы телепортируется на свое реальное место.
Понятно, что на серверной стороне он находился в нужном месте.
Никто не разбирался с этим косяком?
Сборка GF PTS, клиент GF. А вообще замечал такое на многих серверах, а вот на оффе не припомню.
 

Яркий пример в Giant Cave на Младших Гигантах.
Они там все активно двигаются, некоторые даже в стену, и когда я беру в моба в таргет, он как бы телепортируется на свое реальное место.
Понятно, что на серверной стороне он находился в нужном месте.
Никто не разбирался с этим косяком?
Сборка GF PTS, клиент GF. А вообще замечал такое на многих серверах, а вот на оффе не припомню.
При взятии в таргет отправляется пакет ValidateLocation, т.к расположение моба не совпадает на клиенте и сервере моб прыгает, а дальше копать скорее всего в мувинг или иные причины несовпадения координат
 
Теперь интересно, фиксил ли это кто-нибудь из местных на PTS? :)
 
Это не сервер, а клиент. И никакой validatelocation не отправляется. Отправляется action и приходит targetselected с оригинальными координатами.
 
  • Мне нравится
Реакции: risi
Это не сервер, а клиент. И никакой validatelocation не отправляется. Отправляется action и приходит targetselected с оригинальными координатами.
У меня в хлапе на птсе при выделении в таргет стабильно прилетает от сервера к клиенту ValidateLocation, правда птс не финал. В целом не настаиваю тк с птсом дел не имел дальше разбора пакетов.
 
Попробуйте синхронизацию включить если она есть, в птсе не знаю настроек
Часто замечали потому что люди запустить могу, а дальше что с этим делать хз
 
Попробуйте синхронизацию включить если она есть, в птсе не знаю настроек
Часто замечали потому что люди запустить могу, а дальше что с этим делать хз
Какая синхронизация? Зачем советовать то, что в глаза не видел?(
 
  • Мне нравится
Реакции: risi
Яркий пример в Giant Cave на Младших Гигантах.
Они там все активно двигаются, некоторые даже в стену, и когда я беру в моба в таргет, он как бы телепортируется на свое реальное место.
Понятно, что на серверной стороне он находился в нужном месте.
Никто не разбирался с этим косяком?
Сборка GF PTS, клиент GF. А вообще замечал такое на многих серверах, а вот на оффе не припомню.
Возможно проблема в L2NPC ( не проходит проверку, либо не все что нужно приходит в L2Server , позиция меняется но без валидации) , в PTS'e он отвечает за передвижение мобов, нпц и прочего. Хотя в клиенте так же есть заскриптованный метод patrooling ( наследует всем классам крипов, нцп) который самовольно может двигать нпц и мобов, только на стороне клиента, но вроде бы он всегда отключен и не работает.
 
На клиенте, ибо на другом окне моб может быть в другом месте и не двигаться, например. Это конечно не отменяет того, что сервер может разные координаты передавать разным клиентам, но это менее вероятно :)
Ладно, буду копать, спасибо.
 
На клиенте, ибо на другом окне моб может быть в другом месте и не двигаться, например. Это конечно не отменяет того, что сервер может разные координаты передавать разным клиентам, но это менее вероятно :)
Ладно, буду копать, спасибо.
Логично предположить что проблема в этом случае не в сервере, а клиенте
 
Это может быть и совсем нето,
но все же, если срабатывает Event HitWall
Код:
event bool NotifyHitWall(vector HitNormal, actor Wall)
{
    // get pawn moving along wall
    Pawn.Velocity = Pawn.Velocity + HitNormal * (HitNormal Dot Pawn.Velocity);
    Pawn.Acceleration = Pawn.AccelRate * Normal(Pawn.Velocity);
    Destination = Pawn.Location + 6 * Pawn.GroundSpeed * Pawn.Acceleration;
    FocalPoint = Destination;
    return true;
}
То Pawn.Velocity,Pawn.Acceleration на стороне клиента будет изменен ! Что в свою очередь заставит монстра двигаться не так как нужно .
Полный метод
И на сколько известно HerdMonster унаследован для всех крипов
Код:
defaultproperties
{
ControllerClass=Class'HerdMonster'
}
У нпц класс называется HerdNpc, функция та же .
Можно попробовать это исправить указав в Npcgrp.dat для ID(Тех монстров) не существующий класс(самая первая строка до запятой ), естественно в игре могут возникнуть проблемы с этими монстрами(скорее всего они будут изменены на класс rabbit, либо просто не будут отображаться , но для быстрого теста это может и подойдет).
Да и как по мне это может не иметь ничего общего с реальной проблемой, NCSOFT бы не стали такое оставлять в клиентских файлах(еслиб оно реально влияло на передвижение крипов даже только на стороне клиента), скорее всего чего то просто не хватает на сервере.
 
замечал это на Advex + смартгуард.
и на ява серверах много где замечал и тоже с защитой клиентской. (но с ява дел имел очень мало)
 
Назад
Сверху Снизу