Перейти к содержанию
Asterios

Борьба с рассинхронами.


Wandy

Рекомендуемые сообщения

4 минуты назад, PageDown сказал:

до того как стали  пилить движок, после  раша/подката файт проф , даже  если скорость сильно разнилась, возможно было нанести 1 удар или скилл, даже если цель  убегала. Т.е. во время  того  как твой чар подлетал к противнику, создавались необходимые условия для использования мили умений или ударов (необходимая дистанция и тд), а докастовывался скил уже не зависимо от того на каком расстоянии была цель(хотя мб там были какие то ограничения по дистанции, скажем начало скила макс  дистанция до 60, окончание скила макс дистанция до 200).

Сейчас же  после подката, если противник бежит, ты  не можешь юзнуть мили скилл, пишет что цель слишком далека.

Вот вот

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 814
  • Создана
  • Последний ответ

Топ авторов темы

1 час назад, PageDown сказал:

до того как стали  пилить движок, после  раша/подката файт проф , даже  если скорость сильно разнилась, возможно было нанести 1 удар или скилл, даже если цель  убегала. Т.е. во время  того  как твой чар подлетал к противнику, создавались необходимые условия для использования мили умений или ударов (необходимая дистанция и тд), а докастовывался скил уже не зависимо от того на каком расстоянии была цель(хотя мб там были какие то ограничения по дистанции, скажем начало скила макс  дистанция до 60, окончание скила макс дистанция до 200).

Сейчас же  после подката, если противник бежит, ты  не можешь юзнуть мили скилл, пишет что цель слишком далека.

 

 

короче... рашу тоже нужно упреждение... т.к. на момент окончания каста ты прилетаешь туда где противника уже нет.

Изменено пользователем Wandy
Ссылка на комментарий
Поделиться на другие сайты

вчера на сливах в дв замучался "привязываться" к вл, почти всегда (или всегда) когда вл юзал раш чар "отвязывался", профа джуд, скорость бега в районе 210 (не запомнил точно), зачастую после "отвязки" чар "отказывался" следовать за вл, приходилось догонять вручную кликами по земле и потом привязываться, джудом был постоянно в 1 окно (не твинко-окно в фоне) высекал тригер по асисту/помогал импульсами/пати уд и апами поэтому было необходимо находиться рядом с вл, а сделать это кроме как по привязке невозможно (парик же не даёт по земле кликать, а вл ещё маневрирует).

 

Ссылка на комментарий
Поделиться на другие сайты

админ, а можешь время прогруза самонера (например, кота у котовода) после релога уменьшить?) а то кошка долго появляется...)

Ссылка на комментарий
Поделиться на другие сайты

Да забаньте вы этого венди, из-за него, нормально поиграть уже 2 месяца не возможно.

Из-за разницы высоты, тоже дергается.

Ссылка на комментарий
Поделиться на другие сайты

опять же качался сегодня, мобы постоянно на разном расстоянии от меня когда я их бью, от пары попугаев, до пары десятков.

а один моб бил моего пп хрен знает откуда, я по нему жамкнул и он телепортнулся

Скрытый текст

 

 

Ссылка на комментарий
Поделиться на другие сайты

В 14.04.2018 в 02:16, ЖивучийХомячок сказал:

опять же качался сегодня, мобы постоянно на разном расстоянии от меня когда я их бью, от пары попугаев, до пары десятков.

а один моб бил моего пп хрен знает откуда, я по нему жамкнул и он телепортнулся

Скрытый текст

 

 

Ничего аномального здесь не увидел. Если окно было свернуто, или смотрело в другую сторону, то это нормально.

Ссылка на комментарий
Поделиться на другие сайты

В 14.04.2018 в 03:08, Admin сказал:

Ничего аномального здесь не увидел. Если окно было свернуто, или смотрело в другую сторону, то это нормально.

невозможно ударить ближней абилой дагера по бегущей цели. на ноже blinding blow +40 скорости

и вторая часть сплошной рассинхрон прям на первых же секундах.

Скрытый текст

 

 

Ссылка на комментарий
Поделиться на другие сайты

 

В 09.04.2018 в 01:29, Admin сказал:

Проблемы, связанные с петами пока не исправлял, но подозреваю что ситуация улучшится из за этих правок. Проблема там возникает если зажать скилл пета, послав его атаковать вдаль. Причина скорее всего в слишком частых запросах на движение, движок просто не успевал. Но теперь возможно будет успевать. Нужны тесты.

Всё ещё актуально:

В 06.04.2018 в 16:12, Chaotic сказал:
  Показать содержимое

 

 

Изменено пользователем Chaotic
Ссылка на комментарий
Поделиться на другие сайты

абилы по-прежнему не бьют по бегущей цели.

Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, ЖивучийХомячок сказал:

абилы по-прежнему не бьют по бегущей цели.

 

Когда танки жаловались на невозможность бить по убегающим ты с пеной у рта уверял, что так и надо. Теперь, когда твои абилы мисают по убегающим, то это уже недоработка. Вот уж любитель двойных стандартов. :facepalm:

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, canis сказал:

 

Когда танки жаловались на невозможность бить по убегающим ты с пеной у рта уверял, что так и надо. Теперь, когда твои абилы мисают по убегающим, то это уже недоработка. Вот уж любитель двойных стандартов. :facepalm:

я говорил бейте скилами, скилы достают.

но починили так, что поломались скилы по движущимся целям, зато атака бьет...

Изменено пользователем ЖивучийХомячок
Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, ЖивучийХомячок сказал:

я говорил бейте скилами, скилы достают.

но починили так, что поломались скилы по движущимся целям, зато атака бьет...

Через неделю после того как Админ начал чинить расинхрон было нереально бить скилами если цель шла прямо, изменилось чтото или нет с того времени неизвестно.

Тоже было и с автоатакой просто догоняешь и тупишь долбя текстурами убегающего противника, На тот момент было прикольно смотреть как дестр на фул лимитах носился за хилом и  пока тот бегал орк его ударить ни1го раза не мог хотя разница в скорости там была более 20 ед - но админ также писал что 20 едениц это малая разница и что наносить урон на такой разнице сомнительно-прискорбно.

 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Admin сказал:

А можно текст ошибки сюда скопировать, для интереса?

скопирую как повторится, переписывать с видио муторно.

Ссылка на комментарий
Поделиться на другие сайты

В 15.04.2018 в 23:10, Oro4i сказал:

Через неделю после того как Админ начал чинить расинхрон было нереально бить скилами если цель шла прямо, изменилось чтото или нет с того времени неизвестно.

что неизвестного, я вчера видео снял

В 15.04.2018 в 00:20, ЖивучийХомячок сказал:

невозможно ударить ближней абилой дагера по бегущей цели. на ноже blinding blow +40 скорости

Скрытый текст

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

11 минуту назад, ЖивучийХомячок сказал:

что неизвестного, я вчера видео снял

 

Ну вот значит для абил ничего не поменялось еше со времен начала правок.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Admin сказал:

А можно текст ошибки сюда скопировать, для интереса?

а есть смысл рассматривать криты клиента у человека с взломанным клиентом?

Скрытый текст

VVGNmN5.jpg

 

 

Ссылка на комментарий
Поделиться на другие сайты

Ну админ в праве не рассматривать эти криты, я и не навязываюсь особо то, но и у меня хватает мозгов правильно раскрасить и сохранить иконки, чтоб не критовать себе же во вред.

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, Wandy сказал:

а есть смысл рассматривать криты клиента у человека с взломанным клиентом?

  Скрыть содержимое

VVGNmN5.jpg

 

 

Самое интересное, что для Админа скидывается кусок где нет абузной 5-й панельки(которая тоже под номером 1) :D А в другой темке заливается скрин с 5 панельками все ок, главное не палиться)

Ссылка на комментарий
Поделиться на другие сайты

просто тесей дурачек. не может не похвастаться. а потом плачет что у него критует.

Изменено пользователем Wandy
Ссылка на комментарий
Поделиться на другие сайты

ну так ты же про криты плачешь. напомнить как ты оправдывался что криты не изза твоего патча на музыку? что потом выяснилось?

Ссылка на комментарий
Поделиться на другие сайты

В 13.04.2018 в 01:16, Wandy сказал:

еще две проблемки.

подойти впритык к препятствию получается только со второго клика в нужную точку.

если чаром подойти впритык к препятствию он застряет при попытке обхода за угол этого препятствия. в любые другие направления чар движется нормально.

Это потому, что вы кликаете не в пол, а в недоступную, недосягаемую клетку. Куда по-вашему механизм поиска должен прокладывать путь? Вы указали заранее недосягаемую точку, путь туда не находится поэтому. Вы скажете, что логично было бы прокладывать путь в точку рядом с кликом. Но в какую, с какой стороны от стены? А может, это и не стена вовсе, а вы пытаетесь залезть на вершину башни? Поиск не знает и не может знать.

 

Я конечно когда-то давно уже, сделал механизм специальный, для коррекции целевых координат, в случае если вы кликнули в стену, и отдельный механизм на случай если вы кликнули куда-то вдаль за кучу препятствий.

В первом случае он исправляет ваш косяк, и находит доступную точку рядом со стеной. Но он не может сдетектить эту проблему, если вы кликнули ниже чем 32 от пола. Вот посмотрите, как приходится извращаться, чтобы вам было удобно кликать куда попало в стену:

			// Корректировка целевых координат при щелчке по стене
			if(_moveMovement != 0 && !activeChar.isFlying() && water_z == Integer.MIN_VALUE)
			{
				int geoIndex = activeChar.getGeoIndex();
				int geo_z = GeoEngine.getHeight(_targetLoc, geoIndex);
				if(Math.abs(geo_z - _targetLoc.z) > 32) // Щелчек по стене
				{
					GArray<Location> list = new GArray<Location>(8); // Ищем все точки вокруг

					list.add(new Location(_targetLoc.x - 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x - 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x - 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					list.add(new Location(_targetLoc.x, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					list.add(new Location(_targetLoc.x + 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x + 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x + 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					GArray<Location> list2 = new GArray<Location>(8);
					for(Location loc : list)
						// Отсеиваем неподходящие точки
						if(loc.z <= _targetLoc.z && GeoEngine.getNSWE(loc.x, loc.y, loc.z, geoIndex) != GeoEngine.NSWE_NONE)
							list2.add(loc);

					if(!list2.isEmpty())
					{
						Location best = null;
						for(Location loc : list2)
							if(best == null || activeChar.getDistance(loc) < activeChar.getDistance(best)) // Возможно, стоит добавить другие критерии поиска
								best = loc;
						if(best != null)
							_targetLoc = best;
					}
				}
				else
					_targetLoc.z = geo_z; // Клиент всегда присылает увеличенный Z, примерно на 24-32, что вредит алгоритмам движения
			}
		}

 

 

Во втором случае все еще сложнее. Вы кликнули куда-то вперед, или вообще в небо. Куда идти? Путь не находится, точка недосягаема. Специальный механизм разбивает путь на проходимые отрезки, и строит маршрут к самой дальней досягаемой точке, перебирая все отрезки начиная от самого дальнего.

 

Кликайте нормально, в пол. Или если уж кликаете куда-то в стену, то хотя-бы не в плинтус, стоя за углом этой же стены. Ну или мне придется разработать отдельный механизм, который будет пытаться сдетектить клик по плинтусу из за угла, и пытаться понять, что же на самом деле хотел сделать игрок.

Ссылка на комментарий
Поделиться на другие сайты

37 минут назад, Admin сказал:
Скрытый текст

 

Это потому, что вы кликаете не в пол, а в недоступную, недосягаемую клетку. Куда по-вашему механизм поиска должен прокладывать путь? Вы указали заранее недосягаемую точку, путь туда не находится поэтому. Вы скажете, что логично было бы прокладывать путь в точку рядом с кликом. Но в какую, с какой стороны от стены? А может, это и не стена вовсе, а вы пытаетесь залезть на вершину башни? Поиск не знает и не может знать.

 

Я конечно когда-то давно уже, сделал механизм специальный, для коррекции целевых координат, в случае если вы кликнули в стену, и отдельный механизм на случай если вы кликнули куда-то вдаль за кучу препятствий.

В первом случае он исправляет ваш косяк, и находит доступную точку рядом со стеной. Но он не может сдетектить эту проблему, если вы кликнули ниже чем 32 от пола. Вот посмотрите, как приходится извращаться, чтобы вам было удобно кликать куда попало в стену:



			// Корректировка целевых координат при щелчке по стене
			if(_moveMovement != 0 && !activeChar.isFlying() && water_z == Integer.MIN_VALUE)
			{
				int geoIndex = activeChar.getGeoIndex();
				int geo_z = GeoEngine.getHeight(_targetLoc, geoIndex);
				if(Math.abs(geo_z - _targetLoc.z) > 32) // Щелчек по стене
				{
					GArray<Location> list = new GArray<Location>(8); // Ищем все точки вокруг

					list.add(new Location(_targetLoc.x - 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x - 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x - 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					list.add(new Location(_targetLoc.x, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					list.add(new Location(_targetLoc.x + 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x + 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex));
					list.add(new Location(_targetLoc.x + 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex));

					GArray<Location> list2 = new GArray<Location>(8);
					for(Location loc : list)
						// Отсеиваем неподходящие точки
						if(loc.z <= _targetLoc.z && GeoEngine.getNSWE(loc.x, loc.y, loc.z, geoIndex) != GeoEngine.NSWE_NONE)
							list2.add(loc);

					if(!list2.isEmpty())
					{
						Location best = null;
						for(Location loc : list2)
							if(best == null || activeChar.getDistance(loc) < activeChar.getDistance(best)) // Возможно, стоит добавить другие критерии поиска
								best = loc;
						if(best != null)
							_targetLoc = best;
					}
				}
				else
					_targetLoc.z = geo_z; // Клиент всегда присылает увеличенный Z, примерно на 24-32, что вредит алгоритмам движения
			}
		}

 

 

Во втором случае все еще сложнее. Вы кликнули куда-то вперед, или вообще в небо. Куда идти? Путь не находится, точка недосягаема. Специальный механизм разбивает путь на проходимые отрезки, и строит маршрут к самой дальней досягаемой точке, перебирая все отрезки начиная от самого дальнего.

 

Кликайте нормально, в пол. Или если уж кликаете куда-то в стену, то хотя-бы не в плинтус, стоя за углом этой же стены. Ну или мне придется разработать отдельный механизм, который будет пытаться сдетектить клик по плинтусу из за угла, и пытаться понять, что же на самом деле хотел сделать игрок.

 

 

 

такие застрявания происходят иногда и при преследовании цели. так что не уверен что клик в плинтус главная проблема.

 

более того если чар оббегает чтото типа неширокого забора , т.е. разворачивается на 180 - тоже зачастую на повороте идет застрявание, хотя никакого клика " в плинтус" не было.

Изменено пользователем Wandy
Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, Wandy сказал:

 

такие застрявания происходят иногда и при преследовании цели. так что не уверен что клик в плинтус главная проблема.

 

более того если чар оббегает чтото типа неширокого забора , т.е. разворачивается на 180 - тоже зачастую на повороте идет застрявание, хотя никакого клика " в плинтус" не было.

Ну я о том, что конкретный пример на видео к этому вообще отношения не имеет, и все что показано на видео - работает именно так как спроектировано.

 

Насчет каких-то новых проблем, связанных с коллизиями для геодаты/поиска - я планирую просто добавить повторный поиск пути без коллизий, в случае неудачного поиска с коллизиями. Это решит любые такие проблемы.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Admin сказал:

Ну я о том, что конкретный пример на видео к этому вообще отношения не имеет, и все что показано на видео - работает именно так как спроектировано.

 

Насчет каких-то новых проблем, связанных с коллизиями для геодаты/поиска - я планирую просто добавить повторный поиск пути без коллизий, в случае неудачного поиска с коллизиями. Это решит любые такие проблемы.

А что насчет мили скилов и преследования-попадания?

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Oro4i сказал:

А что насчет мили скилов и преследования-попадания?

Завтра вероятно станет получше, т.к. я добавил запас аж в 96 единиц (был 64) для момента, когда персонаж уже догнал цель и должна начаться атака. Хотя, и 64 должно было хватать. Но это только для случая, когда вы уже догнали цель. Если же разница в скоростях незначительная, то вы просто не успеваете ее догнать, для этого нужно упреждение, мб сейчас займусь.

 

Так же, вернул корректировку положения чаров на поворотах (я ее убирал с неделю назад). Скорее всего, именно из за ее отсутствия были проблемы с беганием вокруг столбов и атакой как бы через столб. Но использовал на этот раз другой метод корректировки, чар при этом практически не дергается.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Admin сказал:

Завтра вероятно станет получше, т.к. я добавил запас аж в 96 единиц (был 64) для момента, когда персонаж уже догнал цель и должна начаться атака. Хотя, и 64 должно было хватать. Но это только для случая, когда вы уже догнали цель. Если же разница в скоростях незначительная, то вы просто не успеваете ее догнать, для этого нужно упреждение, мб сейчас займусь.

сделайте еще что то с рашем, он не позволяет атаковать цель после раша если цель движется, как вариант сделать так что бы раш перемещал не к ближайшей точке врага а именно перед его лицом, по аналогии с шадоу степом который перемещает за спину, в итоге будет подобие упреждения 

Ссылка на комментарий
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...