Близы забросили игру и к сожалению в реальном редакторе мы такого не увидим, и так встречайте, Фреймы на русском ГУИ, любой может без знаний джасс и кода и знаний синтаксиса создать свой первый фрейм
К сожалению всё очень топорно, по русский больше на албанский похож, многое мне не удалось к сожалению, но в целом всё возможно и легко
Чтобы активировать эти фреймы в своём редакторе нужно в папке 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
Но лично я это доделывать никогда не буду, может быть если только за денги.
Ред. PROSHELDOTU
мне интересно кому это реально надо, покажите мне этого типа
который будет этим пользоваться
Технически это позволяет лишь добавить в GUI функции твоей библиотеки, но не их начинку.
NazarPunk:
Тут основная проблема в том что все это дело нужно распихивать в один единственный текстовый файл (в два, если с подсказками), да еще по заранее определенным секциям. Рядовой гуишник в этом деле запутается если будет использовать больше одной сторонней библиотеки.
NazarPunk:
NazarPunk:
Ред. Берги