Версия v1.0.5a
Дополнительные функции для редактирования стандартного интерфейса Варкрафта
212 47K
20
Было бы полезно отображать аттачи на портрете.
17
в мультиплеере работает не на всех компах, а точнее они вылетают
2
ENAleksey, Можешь когда будет время ввести заморозку курсора в мемхак?тобишь чтобы он был по центру.Было бы неплохо увидеть такое без стороннего по )
17
я так понял с adicparser эта штука работать не хочет(у меня не получилась с ним сохранить ),а возможно это дело засунуть в карту тем же способом каким пользуются читеры перенести напрямую в .j через mpq
хех получилось так в карту запихнуть,но вот проблема при наводке на спел невидно описания,и золота дерева и мясо тоже хотелось бы видеть
33
Clamp:
Кет, что же это, "Колдуна" оживляешь?
Угу, не покладая рук =D На самом деле вчера открыл, почитал код, погонял, понял, что не знаю, с чего начать и закрыл.
Просто думаю, что предполагаемый его геймплей с помощью этих функций будет более лучше реализовать.
13
Ige, добавлю в следующую версию.
set address_GetFrameTextAddress = address_GameBase + 0x61C7B0

function GetFrameTextAddress takes string name, integer id returns integer
	return fast_call2(address_GetFrameTextAddress, GetStringAddress(name), id)
endfunction
Deleted.
Что-то я сглупил: написал функцию для скрытия курсора, а оказалось, что она полностью идентична стандартной функции EnableUserControl.
7
ENAleksey, в мемхаке есть функции
function GetFrameTextAddress takes string name, integer id returns integer
function GetFrameItemAddress takes string name, integer id returns integer
function GetFrameSkinAddress takes string name, integer id returns integer
С их помощью можно получить кое-какие адреса
GetFrameTextAddress("ResourceBarGoldText", 0)
GetFrameTextAddress("ResourceBarLumberText", 0)
GetFrameTextAddress("ResourceBarSupplyText", 0)
GetFrameTextAddress("ResourceBarUpkeepText", 0)

GetFrameTextAddress("InfoPanelIconHeroStrengthLabel", 6) //Сила (текст)
GetFrameTextAddress("InfoPanelIconHeroStrengthValue", 6) //Сила (значение)
GetFrameTextAddress("InfoPanelIconHeroAgilityLabel", 6) //Ловкость (текст)
GetFrameTextAddress("InfoPanelIconHeroAgilityValue", 6) //Ловкость (значение)
GetFrameTextAddress("InfoPanelIconHeroIntellectLabel", 6) //Разум (текст)
GetFrameTextAddress("InfoPanelIconHeroIntellectValue", 6) //Разум (значение)

GetFrameTextAddress("InfoPanelIconLabel", 0) //Атака 1
GetFrameTextAddress("InfoPanelIconLabel", 1) //Атака 2
GetFrameTextAddress("InfoPanelIconLabel", 2) //Защита
GetFrameTextAddress("InfoPanelIconLabel", 3) //Ранг
GetFrameTextAddress("InfoPanelIconLabel", 4) //Пища
GetFrameTextAddress("InfoPanelIconLabel", 5) //Золото
// и соответственно
GetFrameTextAddress("InfoPanelIconValue", 0) //значение Атака 1
GetFrameTextAddress("InfoPanelIconLevel", 0) //уровень Атака 1
13
function GetHeroBarButton takes integer id returns integer
Да, позже добавлю.
Ige:
function GetUpperButtonBarText takes integer id returns integer
function GetResourceBarText takes integer id returns integer
function GetResourceBarIcon takes integer id returns integer
function GetInfoBarText takes integer id returns integer
function GetInfoBarIcon takes integer id returns integer
А вот эти фреймы я пока не искал.
Кстати, могу выложить .idb файл game.dll для IDA Pro, вдруг кто-нибудь захочет помочь искать новые адреса. Я уже восстановил некоторые имена функций, переменных, структуры.
Построение основного интерфейса происходит в функции BuildUI.
7
ENAleksey, несколько предложений/просьб от меня :)
function GetHeroBarButton takes integer id returns integer // не хотелось бы терять аж 7 кнопок!
А еще я заметил, что отсутствуют функции, работающие с иконками и текстом. Например, что-то типа такого
function GetUpperButtonBarText takes integer id returns integer
function GetResourceBarText takes integer id returns integer
function GetResourceBarIcon takes integer id returns integer
function GetInfoBarText takes integer id returns integer
function GetInfoBarIcon takes integer id returns integer
13
Следующим шагом будет добавление следующих функций в RenderEdge_mini.dll:
раскрыть
function GetMouseTerrainX takes nothing returns real
function GetMouseTerrainY takes nothing returns real
function GetMouseTerrainZ takes nothing returns real
function IsMouseOverUI takes nothing returns boolean
function BlockMouse takes boolean bBlock returns nothing
function GetWheelDelta takes nothing returns integer
function SetMousePos takes integer x, integer y returns nothing
function TriggerRegisterMouseWheelEvent takes trigger trig returns nothing
function TriggerRegisterMouseMoveEvent takes trigger trig returns nothing
function TriggerRegisterMouseEvent takes trigger trig, integer iButton, integer state returns nothing

function GetTriggerKey takes nothing returns integer
function IsKeyDown takes integer iKey returns boolean
function TriggerRegisterKeyEvent takes trigger trig, integer iKey, integer state returns nothing

function TriggerRegisterWindowResizeEvent takes trigger trig returns nothing