Карта положения онлайн-игрока в игре?

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

 
ну ничего не мешает вызов какой нибудь api прикрутить и рисовать игроков =)
Или всех боссов с плашкой таймера до респауна, но кэшировано и с задержкой или кто сделает на opencv парсер и бота, будут 24/7 фармить
 
да что угодно, на что фантазии хватит
 

странно, без впн ниоткрываеццо...


это из ООГ бота вроде )

Размер больше и без названий на карте

найс) но походу обработанно нейросеткой
 
Или всех боссов с плашкой таймера до респауна
А чем это будет отличаться от того что в статистике на сервере показывают живой или мертвый бос и время до респа?
Координаты их и так все знают +-
 
Та просто кому как удобнее.
С другой стороны, это действительно не нужно когда можно прям внутри получить информацию о спавне и статус рб.
 
Делал у себя на вебе подобную карту
Формула для скейлинга координат в контейнере

JavaScript:
const x = Math.round((116 + (char.locX + 107823) / 200));
const y = Math.round((2580 + (char.locY - 255420) / 200));

Для контейнера width: 1808px; height: 2616px;

Если честно почему именно такие цифры я уже не помню, где-то записывал себе это и про*бал


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

скорее всего цифры из коэффицента размера мира через делитель 200 к размеру картинки карты + смещение начала координат
 
Оверпостинг
Для контейнера width: 1808px; height: 2616px;
Если карта (размер изображения) больше, тогда надо и скейлинг менять. Ок, понял.

Размер больше и без названий на карте
Если брать это изображение, 7908х10480
А так же за основу (считаем его рабочим)
const x = Math.round((116 + (char.locX + 107823) / 200)); const y = Math.round((2580 + (char.locY - 255420) / 200)); Для контейнера width: 1808px; height: 2616px;
И заюзать читкод на бессмертие, что бы не расчитывать самому

JavaScript:
const scaleX = 7908 / 1808;
const scaleY = 10480 / 2616;

const x = Math.round((116 * scaleX) + ((char.locX + 107823) / 200) * scaleX);
const y = Math.round((2580 * scaleY) + ((char.locY - 255420) / 200) * scaleY);
Возможно такой финт ушами и пройдет
 
Последнее редактирование:
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…