Всем привет, нужен адресс кнопки M - move . Помогите пожалуйста)

Varzik, в мемхаке есть, 'Amov' называется, она как и прочие базовые абилки лежит по одному и тому же оффсету от адреса юнита.
/pointer to 'Amov' is located at offset 123 of unit object, Aatk is at offset 122, and AInv is offset 124

//Hides all command buttons and sets the Ward flag. Unit will keep its current order, and player can’t give new orders
//Notice the the unit can’t be ordered with triggers as well. To issue an order you need to temporarily reenable control
function DisableUnitControl takes unit u returns nothing
	local integer pUnit = ConvertHandle(u)
	local integer flags
	local integer Amov
	local integer Aatk
	local integer AInv
	if pUnit > 0 then
		set flags = RMem(pUnit+0x248)
		set Amov = RMem(pUnit+0x1EC)
		set Aatk = RMem(pUnit+0x1E8)
		set AInv = RMem(pUnit+0x1F8)
	//	call echo("disabled on "+GetUnitName(u))
		if not IsFlagBitSet(flags,512) then
			call WMem(pUnit+0x248, flags + 512)
		endif
		if Amov >0 then
			call WMem(Amov+0x40, RMem(Amov+0x40) + 1)
		endif
		if Aatk >0 then
			call WMem(Aatk+0x40, RMem(Aatk+0x40) + 1)
		endif
		if AInv >0 then
			call WMem(AInv+0x3C, RMem(AInv+0x3C) + 1)
		endif
		
	endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
26
Путь к иконке - ReplaceableTextures\CommandButtons\BTNMove.blp
Положение иконки - [0;0]
1
Путь к иконке - ReplaceableTextures\CommandButtons\BTNMove.blp
Положение иконки - [0;0]
Вообще не то, нужен адресс абилки

0x0036EAC0 пример
32
Varzik, в мемхаке есть, 'Amov' называется, она как и прочие базовые абилки лежит по одному и тому же оффсету от адреса юнита.
/pointer to 'Amov' is located at offset 123 of unit object, Aatk is at offset 122, and AInv is offset 124

//Hides all command buttons and sets the Ward flag. Unit will keep its current order, and player can’t give new orders
//Notice the the unit can’t be ordered with triggers as well. To issue an order you need to temporarily reenable control
function DisableUnitControl takes unit u returns nothing
	local integer pUnit = ConvertHandle(u)
	local integer flags
	local integer Amov
	local integer Aatk
	local integer AInv
	if pUnit > 0 then
		set flags = RMem(pUnit+0x248)
		set Amov = RMem(pUnit+0x1EC)
		set Aatk = RMem(pUnit+0x1E8)
		set AInv = RMem(pUnit+0x1F8)
	//	call echo("disabled on "+GetUnitName(u))
		if not IsFlagBitSet(flags,512) then
			call WMem(pUnit+0x248, flags + 512)
		endif
		if Amov >0 then
			call WMem(Amov+0x40, RMem(Amov+0x40) + 1)
		endif
		if Aatk >0 then
			call WMem(Aatk+0x40, RMem(Aatk+0x40) + 1)
		endif
		if AInv >0 then
			call WMem(AInv+0x3C, RMem(AInv+0x3C) + 1)
		endif
		
	endif
endfunction
Принятый ответ
26
Вообще не то, нужен адресс абилки
Аа, ну сорян тогда)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.