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

Определение координат границ локации в MMORPG


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

Помогите, пожалуйста, достигнуть общего понимания, каким методом\способом можно определять границы локации (карты) из памяти игры в таких играх, как, например: ArcheAge, Lineage 2, Path of Exile, WoW и т.д.?

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

Теоретически. Как пример для любой игры сингловой или мультиплеерной:

 

1. Ищем адрес координат игрока

2. Ставим брейкпоинт на адрес координат игрока

3. Ищем инструкцию, которая работает со всеми координатами

4. Собираем постоянно в массив самые дальние координаты и узнаем примерную область карты.

 

Вообще зависит от движка игры. Если это Unity, то можно перебрать все коллизии с самым большим размером и дальними положениями, или если есть что-то похожее на Terrain, то найти этот компонент и получить свойства ширины и длинны.

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

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

В играх на соурс движке карта имеет формат bsp в которой прописаны все меши.

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

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

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

Способ для CE

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

8 минут назад, imaginary сказал:

например не пойти дальше, или отталкивает

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

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

  • 1 месяц спустя...
В 07.04.2019 в 14:12, partoftheworlD сказал:

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

Удалось обнаружить в памяти Texture Resource откуда передаются значения координат персонажа, интересно, возможно ли теперь как-то воссоздать эти текстуры из памяти для построения модели карты? Можете подсказать, существуют ли для этого какие-либо специальные приёмы или инструменты?

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

  • 3 месяца спустя...
В 15.05.2019 в 09:48, Merlin сказал:

Удалось обнаружить в памяти Texture Resource откуда передаются значения координат персонажа, интересно, возможно ли теперь как-то воссоздать эти текстуры из памяти для построения модели карты? Можете подсказать, существуют ли для этого какие-либо специальные приёмы или инструменты?

 

Для генерации карты я использовала buildzone софт )

координаты перемещения персонажа в line][age это float x y z )

пример поиска видео 

https://www.youtube.com/watch?v=6mTzDoaQcs0&t=669s

45ea14effa0e.png

вот я находила значения координат в игре хроники интерлюдии 

верхние это координаты передвижения персонажа 

далее название мапы где находиться персонаж пример 22.22unr это локация гирана)

 

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

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

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.