Координаты TownMap из L2Font в клиенте ГК

Rolo

Верховньій Интерлюд Викинг
Викинги Рулона
Победитель в номинации 2023
Старожил I степени
Признанный автор
Знаток Lineage2
Разработчик
За знание датапака
За знание ядра
Просветитель
Медаль Благодарности
За заслуги перед форумом
Преподаватель
За веру и верность форуму
Веселый флудер
Медаль за активность на Форуме
Клиент разработчик
Магистр реакций
Стальной Визионер
Знаток письма
Архивариус
Победитель в номинации 2022
Победитель в номинации 2021
Мастер реакций
Стратег Данных
Любитель реакций
Куратор Данных
Неукротимое пламя
Победитель в номинации 2020
Сообщения
899
Розыгрыши
6
Решения
28
Репутация
1 960
Реакции
2 253
Баллы
1 063
Подскажите, пожалуйста, где указаны координаты крепления всплывающей карты городов в клиенте ГК?
В датниках что-то не удалось найти - хреново искал?
 
Mafioz1k, а у Вас точно ГК датник открыт? )
 
Mafioz1k, вроде как да, но на ГК в датниках нет упоминаний об уровнях ФОГа, например. )
 
ZoneName_begin ID=62 MapX=18 MapY=14 Top=30000.0 Bottom=-30000.0 Name=[Деревня Орков] TownBtnLocX=602 TownBtnLocY=743 TownMapX=-58176 TownMapY=-123072 TownMapWidth=1024 TownMapHeight=1024 TownMapScale=0.05 TownMapTex=[map_orc_village] Color=255 Continent=0 CurrentLayer=0 TotalLayers=0 TownCenterX=-44277 TownCenterY=-113673 ZoneName_end
курсивом - в каких кординатах по идее срабатывает автопоказ карты локации при открытии окна карты. ну и для диапазона срабатывания вроде как еще TownMapScale и TownCenterX/TownCenterY задействованы
жирным - с каким смещением на текстуре основной карты показывается кнопка карты локации.

Mafioz1k, вроде как да, но на ГК в датниках нет упоминаний об уровнях ФОГа, например. )
Top и Bottom для того чтобы клиент понял какую из карт показать в зависимости от текущей координаты z игрока.

для фога правда карта локации в ГК не задана, хз почему
 
Последнее редактирование:
Gaikotsu, спасибо большое за ответ!

Я тем временем в поисках координат (один фиг нужный мне ФОГ не найти, а качать свежее клиенты слишком лениво :D) ответа соорудил себе в интерфейсе кнопочки под радар, чтобы "налету" двигать карту и чекать ее текущую позицию, может кому пригодится. ))
C++:
class RoloOtladka extends UICommonAPI;

var RadarMapWnd radar;

function OnLoad()
{
    radar = RadarMapWnd(GetScript("RadarMapWnd"));
}


function OnClickButton( string strID )
{ 
    switch( strID )
    {
    case "plusX":
        if(Rolo()){
            radar.LocalMapY = radar.LocalMapY;
            radar.LocalMapX += 100;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "munusX":
        if(Rolo()){
            radar.LocalMapY = radar.LocalMapY;
            radar.LocalMapX -= 100;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "plusY":
        if(Rolo()){
            radar.LocalMapX = radar.LocalMapX;
            radar.LocalMapY += 100;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "munusY":
        if(Rolo()){
            radar.LocalMapX = radar.LocalMapX;
            radar.LocalMapY -= 100;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "plusX1":
        if(Rolo()){
            radar.LocalMapY = radar.LocalMapY;
            radar.LocalMapX += 1000;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "munusX1":
        if(Rolo()){
            radar.LocalMapY = radar.LocalMapY;
            radar.LocalMapX -= 1000;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    case "plusY1":
        if(Rolo()){
            radar.LocalMapX = radar.LocalMapX;
            radar.LocalMapY += 1000;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      y: "$radar.LocalMapY$"");
        }
    break;
    case "munusY1":
        if(Rolo()){
            radar.LocalMapX = radar.LocalMapX;
            radar.LocalMapY -= 1000;
            SetChatMessage("текущий x: "$radar.LocalMapX$"      текущий y: "$radar.LocalMapY$"");
        }
    break;
    }
}



defaultproperties
{
}

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

Посмотреть вложение bandicam 2021-09-12 17-35-57-335.mp4
 
Последнее редактирование:
Хм... А использовать команду /loc - думаю сразу и X и Y и Z показывает.
Только не помню сколько слешей.
А чтобы вам добавить новую карту к показу- то просто добавляете ее координаты корректно и все.
 
  • Мне нравится
Реакции: Rolo
BadStealth, один слеш. ) Дело в том, что я сразу проверяю координаты куда зацепилась карта (и тут же ее двигаю и смотрю как персонаж по ней бегает), за неимением точных координат - это быстрее, чем каждый раз наугад пытаться карту зацепить и обнаруживать, что персонаж прошел сквозь стену, судя по карте. )
 
Этажи подземелий выводятся через разницу в Z координате (Top=30000.0 Bottom=-30000.0). Маску можно одноцветную при этом оставить.
 
  • Мне нравится
Реакции: Rolo
deMEV, ух, у Вас прям до пикселя отточено все. ) Я в целом понимаю как на моих хрониках это все устроено, просто у меня был клиент Гранд Крусейд под рукой, в мини картах я там нашел ФОГ, и решил что не плохо бы попробовать координаты слизать, вдруг выйдет, потом с удивлением не нашел их нигде в зон нейме, это меня удивило и сбило с толку. )
 
Назад
Сверху Снизу