Есть ли функция в мемхаке позволяющий менять атаку. Ибо сферы не подходит так как выбирает постояно индекс 2 если менял его на 1 все равно не меняет.. Вот и ишу способ как менять....

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

че-то действительно, поле вроде бы и отображает активную атаку, но не является её определителем, т.е. менять его бесполезно. ок, тогда пока нет решения на мх

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
16
7 лет назад
1
GetUnitAttackEnabledIndex
по аналогии сделать Set
0
23
7 лет назад
0
DracoL1ch, спасибо! Он работает если юнит ранее созданый или можно редактировать везде?
DracoL1ch, Хоть я с ней недавно изучаю, но правильно ли так??
native MergeUnits takes integer qty, integer a, integer b, integer make returns boolean
native ConvertUnits takes integer qty, integer id               returns boolean
native IgnoredUnits takes integer unitid returns integer

function GetUnitAttackAbilityForAddress takes integer pConvertedHandle returns integer
	return Memory[pConvertedHandle/4+0x1e8/4]
endfunction

function GetUnitAttackAbility takes unit u returns integer
	return GetUnitAttackAbilityForAddress(ConvertHandle(u))
endfunction

function GetUnitAttackEnabledIndex takes unit u returns integer
	return Memory[GetUnitAttackAbility(u)/4 + 0x104/4]
endfunction

function SetUnitAttackEnabledIndex takes unit u, integer index returns nothing
    call WriteMemory(Memory[GetUnitAttackAbility(u)/4 + 0x104/4], index)
endfunction
0
16
7 лет назад
0
верно, но для работы нужно весь верхний кусок переносить, где и производится вся суть хака. ты лишь выделил функции, которые их расширяют
0
13
7 лет назад
Отредактирован Nelloy
0
И лучше брать хак из последнего коммента в той теме. без деления на 4 который
0
23
7 лет назад
0
Nelloy, не понял суть последнный хак!!!! и чем плохо с делением?
DracoL1ch, чета не пашет фатал еррор!
Сделал так без фатала но не че не происходит с индекс атакой!
function SetUnitAttackIndex takes unit u, integer index returns nothing
        local integer h = ConvertHandle(u)
        if h > 0 then
            call WMem( RMem(h + 0x1e8) + 0x104, index )
        endif
endfunction
Все нашел спасибо
Вот рабочий код
function SetUnitAttackIndex takes unit u, integer index returns nothing
    set LastConvertedHandle = ConvertHandle( u )

    if LastConvertedHandle > 0 then
        call WMem(LastConvertedHandle + 0x1e8, index)
    endif
endfunction
Если задать 0 index то пропадет атака информации но команда атаковать останется в силе это как исправить?
а если число 1 или 2 и любые будет фатал
А также при получение урона у врага они убегают как бродячий!
0
21
7 лет назад
0
дорвались до хака)). Какие-то вещи решаются и без него, разве нет? (я не про сабж, а сопутствующее)
4
12
7 лет назад
4
awesomesk1ll:
дорвались до хака)). Какие-то вещи решаются и без него, разве нет? (я не про сабж, а сопутствующее)
Смена атаки штатными способами имеет известные недостатки
0
16
7 лет назад
0
че-то действительно, поле вроде бы и отображает активную атаку, но не является её определителем, т.е. менять его бесполезно. ок, тогда пока нет решения на мх
Принятый ответ
0
32
7 лет назад
0
А нужно переключение для 1 юнита или 100500? Еще есть возможность морфить одного юнита в другого.
0
23
7 лет назад
0
quq_CCCP, есть уже! Просто думал будет проше без мемхак =) А так морф останет менять 4 героя по тип брони элемента еше умножить тип урона элемента итог 5 * 5 = 25 герой
по 12 герой итог 12 * 25 = 300 герой понимаеш?
А также ближный бой или дальный бой зависит героя
0
32
7 лет назад
0
Viktor19, мб сделать сразу 2 атаки и редактировать цели через мемхак?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.