Не знаком с мемхаком, но с данной штукой разобрался, но понял, что нет многих фреймов. Есть ли возможность найти фрейм с иконкой и значением золота? Еще бы не помешала атака/защита и характеристики. Был бы очень благодарен.

Принятый ответ

KaneThaumaturge, в мемхаке unryze, есть готовые функции для UI. Только разобратся с некоторими сложнее будет. Но можно создавать свои фреймы с "блекджеком и шлюхами".
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
27
3 года назад
Отредактирован MpW
0
пример <= первая карта. возможна там есть другие версии
статьи
все функции даны. А тех, что нет, можно покопаться в fdf-files. И найти имя, чтобы обратиться к этому фрейму
пример <= рефорджете. но все константы в фрейме вроде есть, они выведены в виде отдельных функции. даже больше функции в мемхаке.

ResourceBarFrame - полоса ресурсов
ResourceBarFrame, 0
ResourceBarGoldText, 0
ResourceBarLumberText, 0
ResourceBarSupplyText, 0
ResourceBarUpkeepText, 0

теперь надо найти именную функцию в мемхаке. мы могли использовать в рефорджете такую функцию
BlzGetFrameByName("name",argument)
В мемхаке это может быть
GetCFrameByName?
типа если нужно изменить значение золота, то мы обращаемся к текстовому фрейму ResourceBarGoldText
GetCFrameByName("ResourceBarGoldText",0)
можем спрятать, изменить текст. и даже удалить или передвинуть

если что я в мемхаке не знаю как это должно быть. это надо тестить. так ли функция и прочее. Но так по идее работает.
0
19
3 года назад
Отредактирован KaneThaumaturge
0
МрачныйВорон, Делаю что-то типо такого, нихуя не выходит.
кат

Че я такой тупой, ничего не понятно

Наверное пока оставлю стандартный интерфейс и не стану дрочиться с этим.(
Загруженные файлы
0
27
3 года назад
Отредактирован MpW
0
framepoints
constant integer ANCHOR_TOPLEFT = 0
constant integer ANCHOR_TOP = 1
constant integer ANCHOR_TOPRIGHT = 2
constant integer ANCHOR_LEFT = 3
constant integer ANCHOR_CENTER = 4
constant integer ANCHOR_RIGHT = 5
constant integer ANCHOR_BOTTOMLEFT = 6
constant integer ANCHOR_BOTTOM = 7
constant integer ANCHOR_BOTTOMRIGHT = 8
set gold = GetCFrameByName("ResourceBarGoldText",0)
call ClearFrameAllPoints(gold)
call SetFrameAbsolutePoint(gold,ANCHOR_CENTER,0.4,0.3)
чтобы сдвинуть фрейм необходимо чистить точки сначала. просто фреймы привязаны друг другом framepoints. Если пытаешься сдвинуть, то у вас не получится или фрейм растягивается. короче статьи не читаем и лень
0
19
3 года назад
0
МрачныйВорон, не робит. Щас буду думать.
0
27
3 года назад
Отредактирован MpW
0
мб инфы много навалил в один док. стоило разбить на части. источник
тфу попробуй ResourceBarFrame?

у вас была
	function GetCFrameByName takes string name, integer id returns integer
        if pGetCFrameByName > 0 then
            if name != "" then
                return fast_call_2( pGetCFrameByName, GetStringAddress( name ), id )
            endif
        endif

        return 0
	endfunction
попробуй еще другие функции. в мемхаке кучу функции.
	function GetFrameByName takes string name, integer id returns integer
        return GetCFrameByName( name, id )
	endfunction
тут оферист кучу примеров выкладывал. надо там в примерах заглянуть. если что
0
19
3 года назад
Отредактирован KaneThaumaturge
0
МрачныйВорон, а знаешь что делает LoadTOCFile?

тфу попробуй ResourceBarFrame?
не

МрачныйВорон, null получает.
kat
Загруженные файлы
0
27
3 года назад
Отредактирован MpW
0
KaneThaumaturge, загружаем в указанном toc-file fdf-files. Все написано в разделе UI: Reading a FDF и UI: toc-Files
пояснения LoadTOCFile
Файл TOC - это файл со списком одного или нескольких файлов fdf (расширение фрейма, можете блокнотом открыть). Каждая строка - это путь к одному файлу fdf. Каждый fdf - это отдельный файл. В Warcraft 3 эти TOC-файлы используются для загрузки перечисленных файлов fdfs.
В варкрафте много fdf-files. В них записаны параметры фреймов: размеры, привязка,границы, фон или изображение, шрифт/техт и многое чего другое. Все фреймы поделены на типы. И иеще они могут иметь связи родитель-потомки. главный фрейм - родитель. внутри тела - потомки. Часто просто чтобы не прописывать одни и те же параметры, есть шаблоны. Очень много шаблонов. fdf-files очень много. В игре не все fdf-files могут быть включены игрой, разработчиками они могут быть выключены. Чтобы заимствовать параметры из fdf-files, нужно подключить/загрузить в игру. А помогает нам этот toc-file. Достаточно один раз загрузить при инициализации, и всю игру работает.
При создании фреймов мы часто указываем в триггерах шаблон из fdf-file. его можно указать, или можно не указывать, тогда у вас станд фрейм. В fdf-files часто используют наследования

KaneThaumaturge, может быть стоит обращаться к фрейму не при инициализации, а спустя какое то время со старта. Обычно может быть фрейм не инициализирован. Такое тоже бывает. Так у меня больше нет идеи почему не работает, надо самому смотреть =((
0
19
3 года назад
Отредактирован KaneThaumaturge
0
МрачныйВорон, так и делаю, хз

МрачныйВорон, Я вывел золото с помощью renderedge мемхака. Вывел весь ресурс бар и спрятал лишнее. Но вот что делать с атакой и защитой?
kat
Загруженные файлы
0
27
3 года назад
Отредактирован MpW
0
точно работает золото? какие проблемы с атакой и защитой? подсказать названия фреймов?

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

BottomCenterUI инфу смотреть тут
"SimpleInfoPanelUnitDetail",0 - панель юнита
SimpleInfoPanelIconDamage,0-1 - информация об атаке и уроне. Тут показан тип атаки, урон. Тут два index = 0 и 1, дело в том, что могут быть показаны две атаки, как у ледяных змеи или химер. Атака мб выключена, и тогда фреймы не отображают инфу.
SimpleInfoPanelIconArmor,2 - информация об защите юнита. Тут показан тип брони и кол-во защиты. Эта броня есть у любого юнита.
У этих фреймов есть дочерние фреймы с одинаковыми именами, отличается только createContext.
"InfoPanelIconBackdrop" the image
"InfoPanelIconLevel" the shown techLevel (text)
"InfoPanelIconLabel" Damage/Armor..
"InfoPanelIconValue" the amount
типа для 1 атаки и 2 атаки context 0-1
"InfoPanelIconBackdrop", 0-1
"InfoPanelIconLevel", 0-1
"InfoPanelIconLabel",0-1
"InfoPanelIconValue", 0-1
а для защиты
"InfoPanelIconBackdrop", 2
"InfoPanelIconLevel", 2
"InfoPanelIconLabel", 2
"InfoPanelIconValue", 2
Перемещение этих фреймов лучше всего выполнять путем перемещения IconFrame «InfoPanelIconBackdrop», поскольку тексты позиционируются относительно IconFrame, а фреймы-родители контейнера, такие как «SimpleInfoPanelIconDamage», часто меняют положение в зависимости от выбранного юнита (если у него нет атаки, то атака выключена, и фрейм атаки тоже).
Можно разрушить положение всех фреймов. К примеру, хотел спрятать атаку, ибо BlzFrameSetVisible скрывает частично, моргает, поэтому спрятал так:
BlzFrameSetScale(BlzGetFrameByName("SimpleInfoPanelIconDamage",0), 0.001)
Фрейм атаки спрятал, но таким образом другие фреймы потеряли прежние позиции, и магнитом прилипли в одной точке
0
19
3 года назад
0
МрачныйВорон, бля. Но я делаю не через мемхак Unryze, а который тут. Сейчас попробую как-то информацию обработать и применить.

Вот как вычисляли вот это?
Загруженные файлы
0
27
3 года назад
Отредактирован MpW
0
KaneThaumaturge, спроси у этого человека он у нас специалист. он кучу наработок с фреймами недавно выложил с мемхаком. я мемхак не понимаю. я в рефорджете сижу. и мне нужно мемхаковские настройки применять, сбрасывать регистр с рефорджа, качать p/jass и прочкк =(
у офериста в ресурсах смотри. и он там описал. там нуен мемхак анрайза. я вот его скачал, но мне его не запустить
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.