Приветствую всех!
Возможно ли во время игры менять модель юнитам?
например юнит появляется в области и ему дается случайная модель из списка,пробывал делать заменить юнит но характеристики юнита уже другие защита хп и т.д

создавайте новых юнитов ручками это будет быстрее чем вы изучите мемхак и поймёте как использовать функцию смены модели
function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
    call MakeModelAsDefault(u,modelpath)
	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

function ChangeUnitPortraitTo takes unit u, string modelpath returns nothing
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		call CallThisCallWith3Args(GameDLL+0x33ADC0,LastConvertedHandle,GetStringAddress(modelpath),1)
	endif
endfunction
В карте про сларков таком способом меняется модель лягушки после эволюции
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
33
на 126 модель менялась мемхаком... и щас меняется.. но его все бояться да и не актуально в 2019
30
на 126 модель менялась мемхаком... и щас меняется.. но его все бояться
На ваши мемхаки кукисов не напасёшся.
мне нужно тупо сменить модель без потери характеристик прежнего юнита!
Это юнит или герой? На последнем патче поля юнита можно менять, правда теряются кд и бафы. Вам с какой целью модель то менять и на каком патче?
3
Хочу разнообразить игру) чтобы каждый раз выходили новые юниты, патч 1.26+
33
создавайте новых юнитов ручками это будет быстрее чем вы изучите мемхак и поймёте как использовать функцию смены модели
function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
    call MakeModelAsDefault(u,modelpath)
	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

function ChangeUnitPortraitTo takes unit u, string modelpath returns nothing
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		call CallThisCallWith3Args(GameDLL+0x33ADC0,LastConvertedHandle,GetStringAddress(modelpath),1)
	endif
endfunction
В карте про сларков таком способом меняется модель лягушки после эволюции
Принятый ответ
30
Наштампуйте кучу одинаковых юнитов с разными моделями или используйте мемхак.
33
Хотя я смену портрета не использовал
NazarPunk, а кто проверял? но на 99% уверен что SetRealField For Model ничего просто не сделает
3
local unit u=GetTriggerUnit()
call ChangeUnitModelTo(u , "test.mdl")
правильно?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.