Lineage2JS

Lineage2JS

Разработка эмулятора сервера для Lineage 2 C1 на JavaScript(Node js) https://github.com/lineage2js
На Пикабу
Дата рождения: 5 мая
483 рейтинг 4 подписчика 3 подписки 13 постов 2 в горячем
13

Жарко летом? Охладись

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

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

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью 1
274

Ответ на пост «Почему Россия - самая классная страна»34

Почему Северная Корея — самая счастливая страна в мире

1. У нас самые преданные граждане!Достаточно просто выйти на улицу — и ты уже в колонне торжественного марша!

2. Мы можем читать в оригинале идеи Чучхэ — западные философы нервно курят в сторонке.

3. У нас всегда стабильный интернет — ровно 28 сайтов, и ни одного лишнего!

4. Мы смотрим лучшие фильмы — например, документальные хроники о Великом Вожде (спойлер: все концовки счастливые).

5. В нашей стране самый честный спорт — все атлеты побеждают на соревнованиях, даже не участвуя!

6. Количество красивых мест просто зашкаливает — целых три разрешённых для туристов улицы в Пхеньяне!

7. У нас самые длинные каникулы — правда, только у тех, кто работает на благо Родины (остальные — на благо Родины без каникул).

8. Наши дети мечтают только о правильных вещах — например, стать генералом или… ну, в общем, стать генералом.

9. У нас самые честные выборы — 100% явка, 100% результат, 100% гордость за Родину!

10. Наш аналог YouTube (Корейская Центральная Телерадиокомпания) — реально удобнее и правдивее любых западных платформ!

🇰🇵 Слава Великому Вождю! 🇰🇵

Не меняется ник

Через настройки пытаюсь поменять ник

Во-первых никаких всплывающих сообщений об ошибке.

Во-вторых приходится открывать консоль разработчика и там видеть ошибку.

message: "Вы слишком часто меняете никнейм. Попробуйте позже."

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

8

Видите разницу? А она есть!

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

Видите разницу? А она есть! Разработка, Программирование, MMORPG, Lineage 2, Javascript, Nodejs, Gamedev

В первом же квесте Fighter's Tutorial (даёт SP и карту мира) столкнулся с любопытным моментом. Охота на внешне одинаковых NPC, но на деле разных!

Речь пойдет только о квесте для людей на острове Talking Island Village.

В чём подвох?

В мире Lineage есть два NPC с одинаковым именем - Bearded Keltir.
Внутри сервера это разные NPC: ID 12082(tuto_keltir) и ID 481(keltir).
По квесту Fighter's Tutorial надо добыть Keltir Fang.

Убивайте Bearded Keltir, пока не получите Keltir Fang x4.

Как различать Bearded Keltir?

У этих NPC есть несколько зон spawn'a. Некоторые зоны пересекаются и в одной зоне могут находиться разные Bearded Keltir.
Так например если вы решите проходить квест возле Talking Island Village то вот на что надо обратить внимание:
* Keltir Fang падает с шансом в 100%. Если не упал, то вы убили не того NPC.
* С нужного Bearded Keltir не падает дроп. Дроп у ID 12082(tuto_keltir) отсутствует.

Вывод

Лучше всего проходить квест возле Cedric's Training Hall так как там одна из зон появления Bearded Keltir они же ID 12082(tuto_keltir).

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью
0

Баг или фича?

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект


При добавлении SoulShot функционала не добавил проверку не только на наличие оружия, но и кто атакует — игрок или NPC. Как итог теперь все атакуют с помощью SoulShot.

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью
7

"Гарри Поттер" в Lineage 2

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

"Гарри Поттер" в Lineage 2 Разработка, Программирование, Lineage 2, Javascript, Nodejs, Гарри Поттер, Gamedev

Копаясь в серверных файлах наткнулся на пасхалку.

На острове Talking Island Village в храме Einhasad есть два NPC, которые стоят рядом друг с другом и имеют имена Harrys и Petron.

У каждого NPC на сервере есть цифровой ID и текстовый ID.
Так, например, для Harrys(ID 7035) его текстовый ID - Harry, а для Petron(ID 7036) - Potter
Таким образом, если сложить их ID, получится - Harry Potter

npc_begin
guild_coach
7035
[harry]
level=70
...
npc_end

npc_begin

guild_coach

7036

[potter]

level=70

...

npc_end

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью
7

Оптимизация сервера Lineage 2: внедрение VisibilityManager

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

Оптимизация сервера Lineage 2: внедрение VisibilityManager Программирование, Разработка, Lineage 2, Javascript, Nodejs, Видео, Короткие видео, Длиннопост

Хорошие новости: Теперь сервер не грузит всех NPC подряд, а только тех, кто рядом с игроком. Это значит:

* Меньше лагов – сервер не тратит силы на то, что далеко от игрока.
* Плавнее игра – особенно в городах и массовых сражениях.
* Стабильнее мир – больше NPC вокруг, но без нагрузки на клиент.

Как работает VisibilityManager?

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

* Каждые 3 секунды система проверяет, какие NPC или игроки находятся в зоне видимости.
* Неважно, кто к кому подходит – хоть игрок к мобу, хоть моб к игроку, если он в радиусе, сервер его "увидит" и сообщит игроку.
* Всё лишнее – выгружается – зачем держать в памяти то, что далеко и не влияет на игру?

Итог:
* Меньше тормозов – клиент не грузит 3D-модели тех NPC, которых игрок не видит.
* Экономия трафика – сервер не отправляет игроку данные о мобах на другом конце карты.

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью 1
Отличная работа, все прочитано!