Можно ли сменить модель героя при получении опред. предмета?
Например, при поднятии условной "брони эльфа", модель сменится на гонца, а после потери, снова на первоначальную.
Пытался провернуть с помощью способности "тёмный", однако, багается урон и хп (если поднимать и выкидывать предмет).

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

function SetUnitBaseModel takes unit u, string model returns nothing

Новый патч - скины
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
  1. Чтобы иметь и модель с обычной текстурой и с другой, с помощью программы для извлечения моделей из Warcraft 3 (я пользуюсь обычно Warcraft 3 Viewer, поищи на сайте), там ищешь справа в папках твою модель, извлекаешь её к себе на компьютер.
  1. Потом открываешь программой mdlvis (основная программа для моделлинга, тоже здесь есть) модель, сразу выделяешь её и нажимаешь кнопку UV-карты или модули - редактор текстур.
  1. Внизу есть путь для текстуры, измени на название скачанной. Нажми enter, сохрани модель.
  1. Если текстура специально для той модели, переходи к следующему пункту.
  1. Кинь текстуру и модель в папку с вариком и открывай WE. У тебя стандартная модель и модель с другой текстурой.

Возможно, звучит сложно, но я привык, несколько кликов - и текстура изменена.
ответ
Есть способность "Тёмный", если дать её юниту, то он заменится на юнит указанный в способности.У такого варианта наименьшее число неудобств.
ответ
Если смена модели должна пройти без потери функциональности юнита - морфом или способностью "тёмный".
ответ
создавайте новых юнитов ручками это будет быстрее чем вы изучите мемхак и поймёте как использовать функцию смены модели
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
В карте про сларков таком способом меняется модель лягушки после эволюции
ответ
Яд, и всё работает.

0
32
4 года назад
Отредактирован Берги
0
function SetUnitBaseModel takes unit u, string model returns nothing

Новый патч - скины
Принятый ответ
2
16
4 года назад
2
проще в предмет запилить эффект-аттачмент, не?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.