функции
function SetUnitModel takes integer uiobjectaddr, string s returns nothing
call WriteNullTerminatedString(s, uiobjectaddr+0x30 )
endfunction
function SetUnitModelUF takes unit u, string s returns nothing//user-friendly
call SetUnitModel(GetUnitUIDefAddr(GetUnitTypeId(u)),s)
endfunction
function SetUnitModelUFAddress takes integer address, string s returns nothing
call SetUnitModel(address,s)
endfunction
должны как я понял присваивать анимацию юниту. Но у меня они не работают. При создании эффекта, по тем же путям всё было нормально. SetUnitModelUF - сбрасывает модель юнита (модель просто пропадает)
Мне нужно реализовать эти функции, чтобы не готовить для каждого "эффекта" (юниты в роли эффектов) в РО, а использовать 1 Dammi и по ситуации присваивать ему модель
Мне нужно реализовать эти функции, чтобы не готовить для каждого "эффекта" (юниты в роли эффектов) в РО, а использовать 1 Dammi и по ситуации присваивать ему модель
Принятый ответ
странно, но в любом случае, я снова дал не ту, эта именно обновляет скин - мороз, оживление, вот это всё пересчитывает. Вот функция смены модели:
function ChangeUnitModelTo takes unit u, string modelpath returns nothing
local integer a
local integer s
set LastConvertedHandle=ConvertHandle(u)
if LastConvertedHandle>0 then
set a=RMem(LastConvertedHandle)+0x88
if a>0 then
set a=RMem(a)
if a>0 then
set s=GetStringAddress(modelpath)
call CallThisCallWith3Args(a,LastConvertedHandle,s,1)
endif
endif
endif
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Игра не будет перерисовывать модель до тех пор, пока она не будет принудительной, и мы не знаем, как ее заставить. Пока лучший подход - это изменить модель до создания единицы, тогда у него будет новая модель
и как же мне перерисовать модель?
Отредактирован DracoL1ch
Отредактирован Lenivex
ClotPh: лучше всего сразу скинуть хотя бы все обновлённые функции без Utils'ов, там ведь не так много. RMem, WMem у меня есть.
DracoL1ch: Выдаёт фатал при использовании
Отредактирован ClotPh
Лучше вот сразу в сабж мемхака по ссылке, для удобства. Или там ссылку туда.
Отредактирован Lenivex
ClotPh: архив на Google Диске. Можете писать в личку что не так, поправлю.