Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Датапак например отсюда GitHub - master-toma/l2datapack: Data package for LineageII
Механика и все внешнее да, сравнивается с оригинальным сервером в процессе разработки.
После того как я сделал синхрон по передвижению то в java я заглядываю только за структурой пакета) Да и самому интересно что-то строить и проектировать)
А про интеллект. Уже сейчас можно добавлять что-то. По одному "компоненту". А уже потом оглядываясь делать рефакторинг. Сразу написать...
Вопрос про лайв и не стоит в ближайшее время. Так как нет основы.
Для примера есть клиент на javascript. Он не доделан, но можно писать свои скрипты. И тем самым интерес проявлять к проекту и расширение сообщества.
Может кто-то для себя захочет тестировать что-то в L2 в экспериментальных...
Расширение (Extends)
Если заглядывать на будущее. На сколько эта тема может быть интересной, чтобы у сервера было API и возможность без исправление исходных кодов писать собственные extends скрипты?
Step by step
До корабля и виверн есть обработка Z кординат. Геодаты и поиск пути)))
А пока ближайшие цели:
Перемещение NPC(Это уже есть),
Интеллект NPC(Одно действие - перемещение в случайную точку)
Ответ на атаку игрока(остановится и атаковать нападающего)
Преследовать игрока если в...
Точность не одна миллисекунда а 118(про данные из статьи)
Главное было понять проблему с бегом и решить ее. Потом можно все на воркеры перевести. Это дело 10ое
"Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout"
Обратите внимание на последние gif файлы. Точность...
Промежуточный итог:
Микро-расхождения есть. Связанны со скоростью ходьбы. Сначала персонаж идет и плавно перетекает в бег.
Если сделать скорость шага и бега равной то все тайминги отлично подходят и включаются когда надо.
Какие есть идеи как можно сделать бег по таймеру учитывая начало шага...
...(126 human figther минимальный бег) ~ 992mc
125000 / 500 = 250mc
Даже если взять 125000 / 1000 = 125мс (Такой бег невозможен но синхронизация с аденой(DropItem) *идеальная)
*На старте. Потом происходит лаг пакета. Думаю такое фиксить через validate position чтобы корректировать позицию игрока.
Путем подбора формула времени вызова выглядит специфично но подходит
При 123456 / 126 = 979мс
При 123456 / 500 = 246мс
Так же для теста использую DropItem и если монета падает перед персонажем в бегу то персонаж ее задевает и она к нему "прилипает". Может баг может совпадение но при формулах...
Нашёл в чем проблема. Задача по времени отрабатывает идеально. Осталось формулу подогнать (я так понимаю она линейна)
Проблема была в последней task'e она рандомила)
Мне помог DropItem. Чар пока идёт выкидывает адену.
...перемещение на сервере? Атака при перемещении.
Само перемещение работает корректно. А если с атакой то есть расхождение.
Я сделал так
* RequestAttack
* Делаю задачу на перемещение. При скорости Human Fighter 126 время между тиками ~900mc
Каждые 900mc идет изменение координат на сервере.
*...
Update
* Перемещение через tasks (создается задача на перемещение по вектору до конечных координат. Персонаж не телепортируется для сервера а идет по шагам.)
* Атака. Проверка на дистанцию. Перемещение. (В работе. Есть моменты, когда не до конца доходит)
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.