15.02.2002, 23:07
Повесть о playanimation ... гигантский размер и невероятная подробность
@PlayAnimation (unit : object , anim : string)
Воспроизводит анимацию - движение частей тела и сопутствующие звуковые эффекты.
unit - юнит, который будет воспроизводить анимацию.
Где брать anim:
Сначала надо определиться с юнитом, который надо привести в движение. Потом в lmpdatabaseMapObjectsRaceModels.txt найти Name этого юнита. Теперь посмотрите, что стоит в колонке Mask name. Нам нужен файл с таким названием и расширением adb, он находится в resdatabase.res . Открываем этот файл блокнотом и видим среди мешанины значков некие связные элементы - это и есть anim'ы данного типа юнита.
Я проверял на примере орка-шамана:
Name = LMP Orc Male Tatoo
Mask name = unorma
Файл = resdatabase.resunorma.adb
Выковыренные оттуда anim'ы:
uattack01..09 - Атака различным оружием. Юнит машет "топором", натягивает "тетиву", тыкает "копьем".
udeath01..31 - Смерть. Падения вперед / назад / всторону, на бегу / на ходу / при ползании, с агонией / резко / медленно.
cidle01..09 - Оглядывание, переступание с ноги на ногу. То, что делает перс, когда долго стоит на месте.
ucast01..04 - Колдование. Эффектов типа шарика стихии не появляется, только движение тела.
uhit01..21 - Попадание по юниту. Также как и смерть, из любых положений.
crun01..02 - Бег. Под ногами появляются следы.
cwalk01..09 - Юнит идет, крадется. Есть анимации как бы раненой походки, усталой, хромой.
ccrawl01 - Юнит ползет.
ucross01..09 - Переходы между стоячим / крадущимся / лежачим положением юнита.
scross01..09 - Одна фаза шагания / ползания etc. Полный шаг, либо один рывок в сторону.
crest - Юнит садится отдыхать.
Кроме них, в "человеческом" файле unhuma.adb я нашел: (не проверял)
ubriefing## - Движения во время диалогов.
uspecial## - Отдает честь, кланяется, стоит по стойке смирно, etc.
cspecial## - Некие занятия наподобие точения меча, сидения на бревне, etc.
Первые буквы анимаций - указатели:
u - действие произойдет один раз, затем юнит вернется в исходное состояние
с - действие повторяется непрерывно, юнит не реагирует на указание другой анимации. Если в это время ударить юнит или показаться на глаза (враждебному), он не станет реагировать. Если замороженный анимацией объект бить, он будет отшатываться и потом снова выполнять заданную командой анимацию. Если убить, умрет как обычно и ляжет трупом.
s - аналогично u.
При вводе неправильного anim не происходит ничего.
Если юнит во время применения процедуры двигался, то он остановится, проиграет анимацию и потом пойдет дальше. (в случае анимации с буквой с он остановится навечно)
[ 22 апреля 2002: Изменил: Holy Warrior ]</p>
@PlayAnimation (unit : object , anim : string)
Воспроизводит анимацию - движение частей тела и сопутствующие звуковые эффекты.
unit - юнит, который будет воспроизводить анимацию.
Где брать anim:
Сначала надо определиться с юнитом, который надо привести в движение. Потом в lmpdatabaseMapObjectsRaceModels.txt найти Name этого юнита. Теперь посмотрите, что стоит в колонке Mask name. Нам нужен файл с таким названием и расширением adb, он находится в resdatabase.res . Открываем этот файл блокнотом и видим среди мешанины значков некие связные элементы - это и есть anim'ы данного типа юнита.
Я проверял на примере орка-шамана:
Name = LMP Orc Male Tatoo
Mask name = unorma
Файл = resdatabase.resunorma.adb
Выковыренные оттуда anim'ы:
uattack01..09 - Атака различным оружием. Юнит машет "топором", натягивает "тетиву", тыкает "копьем".
udeath01..31 - Смерть. Падения вперед / назад / всторону, на бегу / на ходу / при ползании, с агонией / резко / медленно.
cidle01..09 - Оглядывание, переступание с ноги на ногу. То, что делает перс, когда долго стоит на месте.
ucast01..04 - Колдование. Эффектов типа шарика стихии не появляется, только движение тела.
uhit01..21 - Попадание по юниту. Также как и смерть, из любых положений.
crun01..02 - Бег. Под ногами появляются следы.
cwalk01..09 - Юнит идет, крадется. Есть анимации как бы раненой походки, усталой, хромой.
ccrawl01 - Юнит ползет.
ucross01..09 - Переходы между стоячим / крадущимся / лежачим положением юнита.
scross01..09 - Одна фаза шагания / ползания etc. Полный шаг, либо один рывок в сторону.
crest - Юнит садится отдыхать.
Кроме них, в "человеческом" файле unhuma.adb я нашел: (не проверял)
ubriefing## - Движения во время диалогов.
uspecial## - Отдает честь, кланяется, стоит по стойке смирно, etc.
cspecial## - Некие занятия наподобие точения меча, сидения на бревне, etc.
Первые буквы анимаций - указатели:
u - действие произойдет один раз, затем юнит вернется в исходное состояние
с - действие повторяется непрерывно, юнит не реагирует на указание другой анимации. Если в это время ударить юнит или показаться на глаза (враждебному), он не станет реагировать. Если замороженный анимацией объект бить, он будет отшатываться и потом снова выполнять заданную командой анимацию. Если убить, умрет как обычно и ляжет трупом.
s - аналогично u.
При вводе неправильного anim не происходит ничего.
Если юнит во время применения процедуры двигался, то он остановится, проиграет анимацию и потом пойдет дальше. (в случае анимации с буквой с он остановится навечно)
[ 22 апреля 2002: Изменил: Holy Warrior ]</p>