Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Игровой клиент (https://forum.zone-game.info/forumdisplay.php?f=54)
-   -   Скорость движения мобов не совпадает с анимацией (https://forum.zone-game.info/showthread.php?t=27555)

krisadr 20.03.2013 01:35

Скорость движения мобов не совпадает с анимацией
 
Сообственно больше всего в java сборках меня раздражает что почти все мобы при ходьбе как бы проскальзывают делая лунную походку лицом... очень некрасиво и неприятно... начал разбираться.
подумал что датапакеты jServer что то напутали
взял Nos (рогач) посмотрел в бд его скорость хотьбы - 19, но с такой скоростю на сервере анимация не совпадает - приходиться увеличивать.
НО если зайти в dev режим l2 и уже в клиенте взять Носа - дать ему анимацию хотьбы, дать скорость 19 и при этом пойти, то анимация совпадет со скоростью...

KID 20.03.2013 10:48

Re: Скорость движения мобов не совпадает с анимацией
 
С этим я столкнулся, при написании гонки монстров.
формула расчета пройденного пути при маленьких скоростях просто не может работать, а коэффициент скорости анимации и вовсе статичен

Tassadar999 20.03.2013 12:08

Re: Скорость движения мобов не совпадает с анимацией
 
в npcgrp.dat есть столбик npc_speed и параметр стоит 1.0000 если поставить 2.0000 все анимации моба (для которого Вы поставите) будет проигрываться в 2 раза быстрее. Думаю можно подправить с помощью этого чтобы лунной походки не было.

Zubastic 20.03.2013 13:58

Re: Скорость движения мобов не совпадает с анимацией
 
Тут скорее проблемы с синхронизацией и пакеткой ;)

krisadr 20.03.2013 17:10

Re: Скорость движения мобов не совпадает с анимацией
 
Цитата:

Сообщение от Zubastic (Сообщение 285741)
Тут скорее проблемы с синхронизацией и пакеткой ;)

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

если какой нить объект на сервере движется, то сервер посылает клиенту пакет "двигаться к координате", а еще раньше посылает его скорость, тем самым получается что клиент сам высчитывает координату в "клиенте" в момент времени, пока этот объект движется... на сколько я понимаю, сервер тоже параллельно высчитывает эти координаты разумеется с какой то периадичностью (не может же он каждую наносекунду обновлять координаты)... проблема может быть в формуле типа
Код:

x1 = (distance + x0) * cos(угол поворота персонажа)
y1 = (distance + y0) * sin(угол поворота персонажа)

так как синусы и косинусы можно с разной точностью...

это всего лишь мои предположения

из за того что клиент просчитывает одно, а сервер может просчитать другое какраз на мой взгляд и вызывает "резкие скачки мобов"
а что касается СловМоушен так я думаю просто скорость 20 в клиенте !=20 на сервере...


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

Добавлено через 1 минуту
если я ошибаюсь прошу не губить карму)

acmi 20.03.2013 17:30

Re: Скорость движения мобов не совпадает с анимацией
 
Насколько я помню, сервер шлет модификаторы скорости анимации бега и атаки в *Info пакетах.

krisadr 20.03.2013 17:48

Re: Скорость движения мобов не совпадает с анимацией
 
да.. но это не меняет проблемы, если вы вчитались в поток моих мыслей)

Respect 21.03.2013 23:53

Re: Скорость движения мобов не совпадает с анимацией
 
Вообще AnimRate выставляется либо в UnrealED либо в .u скрипте.

Но в .ini есть яркий пример еще 1 способа (сам не испытывал):

LineageMonster.ini

Цитата:

[young_fox]
WalkAnimName[0]=walk
RunAnimName[0]=run
WaitAnimName[0]=wait
AtkWaitAnimName[0]=atkwait
Atk01AnimName[0]=atk01
Atk02AnimName[0]=atk01
Atk03AnimName[0]=atk01
DeathAnimName[0]=death
DeathWaitAnimName[0]=deathwait


WalkAnimRate[0]=1.42857
RunAnimRate[0]=1.42857

Думаю что надо делать сами догадаетесь...


Текущее время: 13:53. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot