DataForMap и всё что с этим связано

вечер добрый
недавно я начал разбираться в механике карты (High Five) и наглухо встрял в одном моменте

поясню подробнее:

Есть у нас код такого вида
данный кусок вбрасывает плюсики (не суть важно что) на минимап
C#:
            ParamAdd(DataforMap, "Index", "8888");
            ParamAdd(DataforMap, "WorldX", "13187");
            ParamAdd(DataforMap, "WorldY", "246159");
            ParamAdd(DataforMap, "BtnTexNormal", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue");
            ParamAdd(DataforMap, "BtnTexPushed", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Down");
            ParamAdd(DataforMap, "BtnTexOver", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Over");
            ParamAdd(DataforMap, "BtnWidth", "33");
            ParamAdd(DataforMap, "BtnHeight", "33");
            ParamAdd(DataforMap, "Description", "");
            ParamAdd(DataforMap, "DescOffsetX", "0");
            ParamAdd(DataforMap, "DescOffsetY", "0");
            ParamAdd(DataforMap, "Tooltip", "");
            m_MiniMap.AddRegionInfo(DataforMap);

сложность возникла в том,что возможно я дурачок,но не смог понять,по какому принципу работает намазывание кнопок на карту
повторив данное выше (создал отдельный стринг,записал парамы и типа добавил в карту через AddRegionInfo) ,у меня ничего нового не появилось

игрался с индексом, X\Y - ноль эмоций по всей карте
может я чего-то упускаю?

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

вечер добрый
недавно я начал разбираться в механике карты (High Five) и наглухо встрял в одном моменте

поясню подробнее:

Есть у нас код такого вида
данный кусок вбрасывает плюсики (не суть важно что) на минимап
C#:
            ParamAdd(DataforMap, "Index", "8888");
            ParamAdd(DataforMap, "WorldX", "13187");
            ParamAdd(DataforMap, "WorldY", "246159");
            ParamAdd(DataforMap, "BtnTexNormal", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue");
            ParamAdd(DataforMap, "BtnTexPushed", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Down");
            ParamAdd(DataforMap, "BtnTexOver", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Over");
            ParamAdd(DataforMap, "BtnWidth", "33");
            ParamAdd(DataforMap, "BtnHeight", "33");
            ParamAdd(DataforMap, "Description", "");
            ParamAdd(DataforMap, "DescOffsetX", "0");
            ParamAdd(DataforMap, "DescOffsetY", "0");
            ParamAdd(DataforMap, "Tooltip", "");
            m_MiniMap.AddRegionInfo(DataforMap);

сложность возникла в том,что возможно я дурачок,но не смог понять,по какому принципу работает намазывание кнопок на карту
повторив данное выше (создал отдельный стринг,записал парамы и типа добавил в карту через AddRegionInfo) ,у меня ничего нового не появилось

игрался с индексом, X\Y - ноль эмоций по всей карте
может я чего-то упускаю?

кароче реквестирую работяг на помощь,вдруг кто знает
а то тут какая-то система нипель,как я понял
копал в сторону "Index"? хотя скорее всего бред сморозил, попробуй следом вызвать UpdateRegionInfo
 
копал в сторону "Index"?
ну я больше всего склонялся именно к индексу,не даром он там указывается
но понять чё оно и зачем не смог

ну собсна вот и тред в итоге :(

пойду ещё попинаю
 
ну я больше всего склонялся именно к индексу,не даром он там указывается
но понять чё оно и зачем не смог

ну собсна вот и тред в итоге :(

пойду ещё попинаю
что-то мне еще подсказывает что это все не без zonename-(e/ru).dat делается :)
 
и над этим тоже к слову думал,кароче ночка весёлая будет
слава корейским девелоперам
ну все-таки некоторые моменты они довольно хорошо реализовали, но иной раз на такой упоротый код натыкаюсь, что боюсь даже представить какой наркоман его писал :D
 
вечер добрый
недавно я начал разбираться в механике карты (High Five) и наглухо встрял в одном моменте

поясню подробнее:

Есть у нас код такого вида
данный кусок вбрасывает плюсики (не суть важно что) на минимап
C#:
            ParamAdd(DataforMap, "Index", "8888");
            ParamAdd(DataforMap, "WorldX", "13187");
            ParamAdd(DataforMap, "WorldY", "246159");
            ParamAdd(DataforMap, "BtnTexNormal", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue");
            ParamAdd(DataforMap, "BtnTexPushed", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Down");
            ParamAdd(DataforMap, "BtnTexOver", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Over");
            ParamAdd(DataforMap, "BtnWidth", "33");
            ParamAdd(DataforMap, "BtnHeight", "33");
            ParamAdd(DataforMap, "Description", "");
            ParamAdd(DataforMap, "DescOffsetX", "0");
            ParamAdd(DataforMap, "DescOffsetY", "0");
            ParamAdd(DataforMap, "Tooltip", "");
            m_MiniMap.AddRegionInfo(DataforMap);

сложность возникла в том,что возможно я дурачок,но не смог понять,по какому принципу работает намазывание кнопок на карту
повторив данное выше (создал отдельный стринг,записал парамы и типа добавил в карту через AddRegionInfo) ,у меня ничего нового не появилось

игрался с индексом, X\Y - ноль эмоций по всей карте
может я чего-то упускаю?

кароче реквестирую работяг на помощь,вдруг кто знает
а то тут какая-то система нипель,как я понял
Я конечно не эксперт , но индекс 8888 неспроста занят ZoneTitle !
Проще всего проверить влияет ли это или нет, выставив 1 или 0 вместо 8888 в функции HandleZoneTitle .
И если влияет, то вполне возможно по индексу в Nwindow.dll распределяются определенные иконки, может быть я и не прав, но лучше работать и тестировать оригинальные функции и смотреть меняются ли они, а потом пробовать добавлять свое.
 
вечер добрый
недавно я начал разбираться в механике карты (High Five) и наглухо встрял в одном моменте

поясню подробнее:

Есть у нас код такого вида
данный кусок вбрасывает плюсики (не суть важно что) на минимап
C#:
            ParamAdd(DataforMap, "Index", "8888");
            ParamAdd(DataforMap, "WorldX", "13187");
            ParamAdd(DataforMap, "WorldY", "246159");
            ParamAdd(DataforMap, "BtnTexNormal", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue");
            ParamAdd(DataforMap, "BtnTexPushed", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Down");
            ParamAdd(DataforMap, "BtnTexOver", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Over");
            ParamAdd(DataforMap, "BtnWidth", "33");
            ParamAdd(DataforMap, "BtnHeight", "33");
            ParamAdd(DataforMap, "Description", "");
            ParamAdd(DataforMap, "DescOffsetX", "0");
            ParamAdd(DataforMap, "DescOffsetY", "0");
            ParamAdd(DataforMap, "Tooltip", "");
            m_MiniMap.AddRegionInfo(DataforMap);

сложность возникла в том,что возможно я дурачок,но не смог понять,по какому принципу работает намазывание кнопок на карту
повторив данное выше (создал отдельный стринг,записал парамы и типа добавил в карту через AddRegionInfo) ,у меня ничего нового не появилось

игрался с индексом, X\Y - ноль эмоций по всей карте
может я чего-то упускаю?

кароче реквестирую работяг на помощь,вдруг кто знает
а то тут какая-то система нипель,как я понял
а вот так?
C#:
/loc    X = -47986 - (REGIONINFO_OFFSETX = 225) = (-48211)
/loc    Y = 137078 - (REGIONINFO_OFFSETY = 400) = (136678)

    в конце function HandleZoneTitle()
    
            ParamAdd(DataforMap, "Index", "8888");
            ParamAdd(DataforMap, "WorldX", "-48211");
            ParamAdd(DataforMap, "WorldY", "136678");
            ParamAdd(DataforMap, "BtnTexNormal", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue");
            ParamAdd(DataforMap, "BtnTexPushed", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Down");
            ParamAdd(DataforMap, "BtnTexOver", "l2ui_ct1.MiniMap_DF_PlusBtn_Blue_Over");
            ParamAdd(DataforMap, "BtnWidth", "33");
            ParamAdd(DataforMap, "BtnHeight", "33");
            ParamAdd(DataforMap, "Description", "");
            ParamAdd(DataforMap, "DescOffsetX", "0");
            ParamAdd(DataforMap, "DescOffsetY", "0");
            ParamAdd(DataforMap, "Tooltip", "");
            m_MiniMap.AddRegionInfo(DataforMap);
 

Вложения

  • MinimapPlus.webp
    MinimapPlus.webp
    4,2 КБ · Просмотры: 19
Таким образом как вы делаете добавляются кнопки на миникарту. Если вам нужно разворачивание через + как для кат сделано, тут нужно все делать в dat. Там же прописывается и карта которая будет показываться после нажатия на кнопку.
А так можно делать только кнопки к примеру как в хрониках выше. При наведении на нее будет показываться тултип- а рядом с кнопкой описание(название), ну и смещения описания по отношению к самой кнопке.
Если тема актуальна еще отпишите в ЛС на чем застряли- помогу.
По поводу Index - тут можно использовать любой индекс, для каждой кнопки свой индекс. Иначе перезапишется. Главное чтобы не повторялся.
 
Таким образом как вы делаете добавляются кнопки на миникарту. Если вам нужно разворачивание через + как для кат сделано, тут нужно все делать в dat. Там же прописывается и карта которая будет показываться после нажатия на кнопку.
А так можно делать только кнопки к примеру как в хрониках выше. При наведении на нее будет показываться тултип- а рядом с кнопкой описание(название), ну и смещения описания по отношению к самой кнопке.
Если тема актуальна еще отпишите в ЛС на чем застряли- помогу.
По поводу Index - тут можно использовать любой индекс, для каждой кнопки свой индекс. Иначе перезапишется. Главное чтобы не повторялся.
чёто я ваще про тред забыл с этими новыми годами,нужно будет дальше поковыряться,благо инфы накинули

да я в целом-то и хотел забубенить тултипов на карте,по типу навёл на замок - узнал микроинфу и т.п.
 
чёто я ваще про тред забыл с этими новыми годами,нужно будет дальше поковыряться,благо инфы накинули

да я в целом-то и хотел забубенить тултипов на карте,по типу навёл на замок - узнал микроинфу и т.п.
Тогда просто берети иконку замка выставляете ей координаты- можете название сделать- это
ParamAdd(DataforMap, "Description", "");
Ну а при наведении тут кастом тултип свой реализовать и записывать в него строку с нужным вам разделениями, переносами, выделениями.
ParamAdd(DataforMap, "Tooltip", "");
В интерлюде насколько знаю там при добавлении лишних плюсиков есть баг))) Пропадают старые. Хотя не проверял)
Главное индексы разные ставить)
 
ну кароче наконец дошел и разобрался до конца
корректно работает этот вариант, а большего мне и не надо

адекватно схватился индекс от 100, почему то индексы в несколько тысячи ведут себя неадекватно
C#:
function DrawNewIcon()
{
    local string DataforMap;
    local int i;
    local int _X[10];
    local int _Y[10];

    _X[0] = 12345;
    _X[1] = 12345;
    _X[2] = 12345;
    _X[3] = 12345;
    _X[4] = 12345;
    _X[5] = 12345;
    _X[6] = 12345;
    _X[7] = 12345;
    _X[8] = 12345;
    _X[9] = 12345;

    _Y[0] = 12345;
    _Y[1] = 12345;
    _Y[2] = 12345;
    _Y[3] = 12345;
    _Y[4] = 12345;
    _Y[5] = 12345;
    _Y[6] = 12345;
    _Y[7] = 12345;
    _Y[8] = 12345;
    _Y[9] = 12345;

//AddDataForMap(int index, int X, int Y, string BtnNormal, string BtnPush, string BtnOver, int BtnWidth, int BtnHeight, string Tooltip, out string OutParam)
    for(i=0;i<11;i++)
    {
        AddDataForMap(100 + i, _X[i], _Y[i], "l2UI_CT1.Buff.Button_DF_BuffMore", "l2UI_CT1.Buff.Button_DF_BuffMore_Down", "l2UI_CT1.Buff.Button_DF_BuffMore_Over", 14, 14, "test tooltip №" $ i, DataforMap);
        m_MiniMap.AddRegionInfo(DataforMap);
    }   
}


это просто упрощение в районе коммонапи для уменьшения портянок выгрузки параметра
смещения в глобальной карте примерно -3200 \ -3500, во городских картах что то другое
C#:
function AddDataForMap(int index, int X, int Y, string BtnNormal, string BtnPush, string BtnOver, int BtnWidth, int BtnHeight, string Tooltip, out string OutParam)
{
    local string Param;
    Param = "";

    ParamAdd(Param, "Index", string(index));
    ParamAdd(Param, "WorldX", string(x- 3200));
    ParamAdd(Param, "WorldY", string(y - 3500));
    ParamAdd(Param, "BtnTexNormal", BtnNormal);
    ParamAdd(Param, "BtnTexPushed", BtnPush);
    ParamAdd(Param, "BtnTexOver", BtnOver);
    ParamAdd(Param, "BtnWidth", string(BtnWidth));
    ParamAdd(Param, "BtnHeight", string(BtnHeight));
    ParamAdd(Param, "Description", "");
    ParamAdd(Param, "DescOffsetX", "0");
    ParamAdd(Param, "DescOffsetY", "0");
    ParamAdd(Param, "Tooltip", Tooltip);
    OutParam = Param;
}
 
Назад
Сверху Снизу