Привет возможно не там обратился, мне нужно чтобы предметы которые находятся в инвентаре отображались в заданной точке на экране.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
29
1 год назад
0
Версия варкрафта?
Тебе нужно переместить сами слоты или задублировать иконки?
0
8
1 год назад
0
nazarpunk, Версия 1.35 (желательно на Jass)
Нужен просто вывод иконок в заданной части экрана и по возможности с подсказками.

nazarpunk, Я имею в веду отобразить в данный момент имеющиеся предметы у героя(проще говоря продублировать иконки) на экране только в заданной мной точке.
0
29
1 год назад
0
Насколько я помню, в рефе проблемно отследить, какой именно герой выбран. Или у игрока только один герой?
0
8
1 год назад
0
nazarpunk, да герой один.
0
29
1 год назад
0
Ну тогда The Big UI-Frame Tutorial в помощь.
Или можно попытать счастья в заклинаниях на заказ.
0
8
1 год назад
0
nazarpunk, заклинания не нужны нужно просто иконки предметов продублировать.

function Trig_Update_Actions takes nothing returns nothing
    local integer i = 1
    local unit u = gg_unit_Hpal_0006
    loop
    exitwhen i > 6
        if BlzGetItemIconPath(UnitItemInSlotBJ(u, i)) == null then
            call BlzFrameSetTexture(Items[i], "Textures\\Black32.blp" , 0, true)
        else
            call BlzFrameSetTexture(Items[i], BlzGetItemIconPath(UnitItemInSlotBJ(u, i)) , 0, true)
        endif
        set i = i + 1
    endloop
endfunction

//===========================================================================
function InitTrig_Update takes nothing returns nothing
    set gg_trg_Update = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Update, 0.01 )
    call TriggerAddAction( gg_trg_Update, function Trig_Update_Actions )
endfunction

globals 
framehandle array Items
endglobals 
 
library ITEMUI initializer init

private function init takes nothing returns nothing 
set Items[1] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[1], FRAMEPOINT_TOPLEFT, 0.0136700, 0.209900) 
 call BlzFrameSetAbsPoint(Items[1], FRAMEPOINT_BOTTOMRIGHT, 0.0536700, 0.169900) 

set Items[2] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[2], FRAMEPOINT_TOPLEFT, 0.0535100, 0.209900) 
 call BlzFrameSetAbsPoint(Items[2], FRAMEPOINT_BOTTOMRIGHT, 0.0935100, 0.169900) 

set Items[3] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[3], FRAMEPOINT_TOPLEFT, 0.0933500, 0.209900) 
 call BlzFrameSetAbsPoint(Items[3], FRAMEPOINT_BOTTOMRIGHT, 0.133350, 0.169900) 

set Items[4] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[4], FRAMEPOINT_TOPLEFT, 0.133190, 0.209900) 
 call BlzFrameSetAbsPoint(Items[4], FRAMEPOINT_BOTTOMRIGHT, 0.173190, 0.169900) 

set Items[5] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[5], FRAMEPOINT_TOPLEFT, 0.173030, 0.209900) 
 call BlzFrameSetAbsPoint(Items[5], FRAMEPOINT_BOTTOMRIGHT, 0.213030, 0.169900) 

set Items[6] = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0) 
 call BlzFrameSetAbsPoint(Items[6], FRAMEPOINT_TOPLEFT, 0.212870, 0.209900) 
 call BlzFrameSetAbsPoint(Items[6], FRAMEPOINT_BOTTOMRIGHT, 0.252870, 0.169900) 

call BlzFrameSetTexture(Items[1], "Textures\\Black32.blp" , 0, true)
call BlzFrameSetTexture(Items[2], "Textures\\Black32.blp" , 0, true)
call BlzFrameSetTexture(Items[3], "Textures\\Black32.blp" , 0, true)
call BlzFrameSetTexture(Items[4], "Textures\\Black32.blp" , 0, true)
call BlzFrameSetTexture(Items[5], "Textures\\Black32.blp" , 0, true)
call BlzFrameSetTexture(Items[6], "Textures\\Black32.blp" , 0, true)
endfunction

endlibrary
Вроде как-то так

я не особо шарю в коде мне примерно объяснили получилось вот это, работает но без подсказок.

Ток фреймы не получается передвинуть.
0
22
1 год назад
0
jasonrus96, для подсказок нужен отдельные фрэйм(ы)
и крепить подсказку-фрэйм к нужному фрэйму через
native BlzFrameSetTooltip takes framehandle frame, framehandle tooltip returns nothing
0
8
1 год назад
0
PROSHELDOTU, в коде почему-то не получается фреймы передвигать.
2
29
1 год назад
2
заклинания не нужны нужно просто иконки предметов продублировать.
Любой код в варкрафте по традиции называется заклинаниями.
0
22
1 год назад
0
jasonrus96, как не получается
BlzFrameSetAbsPoint тут устанавливаются координаты твоих фрэймов на экране
собственно ты можешь поменять на свои
0
29
1 год назад
0
PROSHELDOTU, желательно указывать для одного фрэйма, а остальные просто прикрепить цепочкой.
0
8
1 год назад
0
 call BlzFrameSetAbsPoint(Items[4], FRAMEPOINT_TOPLEFT, 0.133190, 0.209900) 
 call BlzFrameSetAbsPoint(Items[4], FRAMEPOINT_BOTTOMRIGHT, 0.173190, 0.169900)
Вот пример, вписывая нужные координаты фрейм ломается.
Загруженные файлы
0
29
1 год назад
Отредактирован nazarpunk
0
0,2099 + 0,1699 = 0,3798
Неплохой таки размер у иконки получается.
0
8
1 год назад
Отредактирован jasonrus96
0
nazarpunk, странно что за место перемещения фрейма размер скидывается.
0
29
1 год назад
0
jasonrus96, Почему странно? Ты сам его таким образом привязал.
0
8
1 год назад
0
nazarpunk, я по тутору делал не совсем понимаю как это вообще заработало.
0
22
1 год назад
Отредактирован PROSHELDOTU
0
nazarpunk, там же верх 0.209900 - низ 0.169900 = 0.04, право 0.173190 - лево 0.133190 = 0.04
всё норм вроде как
0
29
1 год назад
0
я по тутору делал
Я так понимаю, картинки у тебя не загрузились.
Загруженные файлы
0
22
1 год назад
Отредактирован PROSHELDOTU
0
jasonrus96, нечем открыть
вписывая нужные координаты
нужные это какие?

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