Близы забросили игру и к сожалению в реальном редакторе мы такого не увидим, и так встречайте, Фреймы на русском ГУИ, любой может без знаний джасс и кода и знаний синтаксиса создать свой первый фрейм
К сожалению всё очень топорно, по русский больше на албанский похож, многое мне не удалось к сожалению, но в целом всё возможно и легко
Чтобы активировать эти фреймы в своём редакторе нужно в папке C:\Games\Warcraft III\_retail_ создать папку ui поместить туда мой triggerdata
Не скажу что тут тонна работы проделана, но добавил:
Чтобы активировать эти фреймы в своём редакторе нужно в папке C:\Games\Warcraft III\_retail_ создать папку ui поместить туда мой triggerdata
Не скажу что тут тонна работы проделана, но добавил:
Пару функций
// Frame actions
BlzHideOriginFrames=0,boolean
_BlzHideOriginFrames_DisplayName="Отключение оригинальных фреймов"
_BlzHideOriginFrames_Parameters="Отключить оригинальные фремы?: ",~Enable
_BlzHideOriginFrames_Defaults=FALSE
_BlzHideOriginFrames_Category=TC_FRAMES
BlzCreateFrameByTypeBJ=0,string,string,framehandle,string,integer
_BlzCreateFrameByTypeBJ_DisplayName="Создать фрейм по типу из шаблона"
_BlzCreateFrameByTypeBJ_Parameters="Создать фрейм типа ",~String," по имени ",~String," От фрейма родителя ",~framehandle," По шаблону ",~String," В контекст ",~Integer
_BlzCreateFrameByTypeBJ_Defaults="BACKDROP","FaceButtonIcon",,"",0
_BlzCreateFrameByTypeBJ_Category=TC_FRAMES
BlzFrameSetAllPoints=0,framehandle,framehandle
_BlzFrameSetAllPoints_DisplayName="Сопоставить позиции фреймов"
_BlzFrameSetAllPoints_Parameters="Фрейм ",~framehandle, "сопоставить с",~framehandle
_BlzFrameSetAllPoints_Category=TC_FRAMES
BlzFrameSetTexture=0,framehandle,string,integer,boolean
_BlzFrameSetTexture_DisplayName="Установить текстуру для фрейма"
_BlzFrameSetTexture_Parameters="Установить для ",~framehandle," текстуру пути ",~String," с каким-то флагом ",~integer," и включить смешивание? ",~boolean
_BlzFrameSetTexture_Defaults=,"ReplaceableTextures\CommandButtons\BTNSelectHeroOn",0,TRUE
_BlzFrameSetTexture_Category=TC_FRAMES
BlzFrameSetSize=0,framehandle,real,real
_BlzFrameSetSize_DisplayName="Масштабировать фрейм"
_BlzFrameSetSize_Parameters="Для фрейма ",~framehandle," установить масштаб по x ",~real," и по y ",~real
_BlzFrameSetSize_Defaults=,0.039,0.039
_BlzFrameSetSize_Category=TC_FRAMES
BlzFrameSetAbsPoint=0,framehandle,framepointtype,real,real
_BlzFrameSetAbsPoint_DisplayName="Установить абсолютную позицию фрейма"
_BlzFrameSetAbsPoint_Parameters="Для фрейма ",~framehandle," центрировать позицию в ",~framepointtype, по х ,~real, и по у ,~real
_BlzFrameSetAbsPoint_Defaults=,FRAMEPOINT_CENTER,0.4,0.3
_BlzFrameSetAbsPoint_Category=TC_FRAMES
BlzGetOriginFrameBJ=0,originframetype,integer
_BlzGetOriginFrameBJ_DisplayName="Получить оригинальный фрейм"
_BlzGetOriginFrameBJ_Parameters=" Получить фрейм типа ",~originframetype," по индексу ",~integer
_BlzGetOriginFrameBJ_Defaults=ORIGIN_FRAME_GAME_UI,0
_BlzGetOriginFrameBJ_Category=TC_FRAMES
Пару типов данных
framehandle=1,1,0 ,"Frame Handle"
framepointtype=1,1,0 ,"Frame Point Type"
originframetype=1,1,0 ,"Frame Type Origin"
И пару хинтов
// FramePointType
FRAMEPOINT_TOPLEFT=0,framepointtype,FRAMEPOINT_TOPLEFT,"Вверх-лево"
FRAMEPOINT_TOP=0,framepointtype,FRAMEPOINT_TOP,"Вверх"
FRAMEPOINT_TOPRIGHT=0,framepointtype,FRAMEPOINT_TOPRIGHT,"Вверх-право"
FRAMEPOINT_LEFT=0,framepointtype,FRAMEPOINT_LEFT,"Лево"
FRAMEPOINT_CENTER=0,framepointtype,FRAMEPOINT_CENTER,"По центру"
FRAMEPOINT_RIGHT=0,framepointtype,FRAMEPOINT_RIGHT,"Право"
FRAMEPOINT_BOTTOMLEFT=0,framepointtype,FRAMEPOINT_BOTTOMLEFT,"Низ-лево"
FRAMEPOINT_BOTTOM=0,framepointtype,FRAMEPOINT_BOTTOM,"Вниз"
FRAMEPOINT_BOTTOMRIGHT=0,framepointtype,FRAMEPOINT_BOTTOMRIGHT,"Низ-Право"
// Originframetype
ORIGIN_FRAME_GAME_UI=0,originframetype,ORIGIN_FRAME_GAME_UI,"ORIGIN_FRAME_GAME_UI"
ORIGIN_FRAME_COMMAND_BUTTON=0,originframetype,ORIGIN_FRAME_COMMAND_BUTTON,"ORIGIN_FRAME_COMMAND_BUTTON"
ORIGIN_FRAME_HERO_BAR=0,originframetype,ORIGIN_FRAME_HERO_BAR,"ORIGIN_FRAME_HERO_BAR"
ORIGIN_FRAME_HERO_BUTTON=0,originframetype,ORIGIN_FRAME_HERO_BUTTON,"ORIGIN_FRAME_HERO_BUTTON"
ORIGIN_FRAME_HERO_HP_BAR=0,originframetype,ORIGIN_FRAME_HERO_HP_BAR,"ORIGIN_FRAME_HERO_HP_BAR"
ORIGIN_FRAME_HERO_MANA_BAR=0,originframetype,ORIGIN_FRAME_HERO_MANA_BAR,"ORIGIN_FRAME_HERO_MANA_BAR"
ORIGIN_FRAME_HERO_BUTTON_INDICATOR=0,originframetype,ORIGIN_FRAME_HERO_BUTTON_INDICATOR,"ORIGIN_FRAME_HERO_BUTTON_INDICATOR"
ORIGIN_FRAME_ITEM_BUTTON=0,originframetype,ORIGIN_FRAME_ITEM_BUTTON,"ORIGIN_FRAME_ITEM_BUTTON"
ORIGIN_FRAME_MINIMAP=0,originframetype,ORIGIN_FRAME_MINIMAP,"ORIGIN_FRAME_MINIMAP"
ORIGIN_FRAME_MINIMAP_BUTTON=0,originframetype,ORIGIN_FRAME_MINIMAP_BUTTON,"ORIGIN_FRAME_MINIMAP_BUTTON"
ORIGIN_FRAME_SYSTEM_BUTTON=0,originframetype,ORIGIN_FRAME_SYSTEM_BUTTON,"ORIGIN_FRAME_SYSTEM_BUTTON"
ORIGIN_FRAME_TOOLTIP=0,originframetype,ORIGIN_FRAME_TOOLTIP,"ORIGIN_FRAME_TOOLTIP"
ORIGIN_FRAME_UBERTOOLTIP=0,originframetype,ORIGIN_FRAME_UBERTOOLTIP,"ORIGIN_FRAME_UBERTOOLTIP"
ORIGIN_FRAME_CHAT_MSG=0,originframetype,ORIGIN_FRAME_CHAT_MSG,"ORIGIN_FRAME_CHAT_MSG"
ORIGIN_FRAME_UNIT_MSG=0,originframetype,ORIGIN_FRAME_UNIT_MSG,"ORIGIN_FRAME_UNIT_MSG"
ORIGIN_FRAME_TOP_MSG=0,originframetype,ORIGIN_FRAME_TOP_MSG,"ORIGIN_FRAME_TOP_MSG"
ORIGIN_FRAME_PORTRAIT=0,originframetype,ORIGIN_FRAME_PORTRAIT,"ORIGIN_FRAME_PORTRAIT"
ORIGIN_FRAME_WORLD_FRAME=0,originframetype,ORIGIN_FRAME_WORLD_FRAME,"ORIGIN_FRAME_WORLD_FRAME"
ORIGIN_FRAME_SIMPLE_UI_PARENT=0,originframetype,ORIGIN_FRAME_SIMPLE_UI_PARENT,"ORIGIN_FRAME_SIMPLE_UI_PARENT"
ORIGIN_FRAME_PORTRAIT_HP_TEXT=0,originframetype,ORIGIN_FRAME_PORTRAIT_HP_TEXT,"ORIGIN_FRAME_PORTRAIT_HP_TEXT"
ORIGIN_FRAME_PORTRAIT_MANA_TEXT=0,originframetype,ORIGIN_FRAME_PORTRAIT_MANA_TEXT,"ORIGIN_FRAME_PORTRAIT_MANA_TEXT"
ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR=0,originframetype,ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR,"ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR"
ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR_LABEL=0,originframetype,ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR_LABEL,"ORIGIN_FRAME_UNIT_PANEL_BUFF_BAR_LABEL"
Ну и пришлось добавить свои BJ функции в нестандартный код карты
globals
framehandle bj_lastLastCreatedFrameHandle=null
endglobals
function GetLastCreatedFrameHandle takes nothing returns framehandle
return bj_lastLastCreatedFrameHandle
endfunction
function BlzCreateFrameByTypeBJ takes string typeName, string name, framehandle owner, string inherits, integer createContext returns framehandle
set bj_lastLastCreatedFrameHandle=BlzCreateFrameByType(typeName, name, owner, inherits, createContext)
return bj_lastLastCreatedFrameHandle
endfunction
function BlzGetOriginFrameBJ takes originframetype frameType, integer index returns framehandle
set bj_lastLastCreatedFrameHandle=BlzGetOriginFrame(frameType, index)
return bj_lastLastCreatedFrameHandle
endfunction
Но лично я это доделывать никогда не буду, может быть если только за денги.
Ред. Берги
На старкрафте в общем в 1 строчку такое делается, так что сё таки придётся писать свои BJ, а то на стандарте будет по 10 строк
Ред. nazarpunk
Напримерм выбор героя на фрэймах сделать, а из гуи только функции: