Восстановление Вырезанных Анимаций НПС. — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Восстановление Вырезанных Анимаций НПС. — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 5: Строка 5:
 
|Мой Тутор думаю поможет новичкам!'''
 
|Мой Тутор думаю поможет новичкам!'''
 
|-
 
|-
|<br>__________________________________<br/>
+
|__________________________________
 
|-
 
|-
 
|Первые Шаги...
 
|Первые Шаги...
Строка 37: Строка 37:
 
|pause''
 
|pause''
 
|-
 
|-
|<br>______________________<br />
+
|_____________________
 
|-
 
|-
 
| Всё запускаем бантик и появляется файл:
 
| Всё запускаем бантик и появляется файл:
Строка 53: Строка 53:
 
|Название:
 
|Название:
 
|-
 
|-
|<br>'''stalker_animation.omf'''
+
|'''stalker_animation.omf'''
 
|-
 
|-
 
|Путь:
 
|Путь:
Строка 65: Строка 65:
 
| pause''
 
| pause''
 
|-
 
|-
|Всё, запускаем бантик и перед нами файл '''stalker_animation.skls'''<br />
+
|Всё, запускаем бантик и перед нами файл '''stalker_animation.skls'''
 
|-
 
|-
|<br>_____________________________<br />
+
|_____________________________
 
|-
 
|-
 
|Выбор анимации...
 
|Выбор анимации...
Строка 79: Строка 79:
 
|'''chistit ruje_1'''
 
|'''chistit ruje_1'''
 
|-
 
|-
br>_____________________________<br />
+
|_____________________________
 
|-
 
|-
 
|Восстановление...
 
|Восстановление...
Строка 85: Строка 85:
 
|Для этого нужно два файла:
 
|Для этого нужно два файла:
 
|-
 
|-
|<br />'''state_mgr_animation_list.script'''
+
|'''state_mgr_animation_list.script'''
 
|-
 
|-
 
|'''state_lib.script'''
 
|'''state_lib.script'''
Строка 105: Строка 105:
 
|rnd = nil },''
 
|rnd = nil },''
 
|-
 
|-
|<br />
+
|
 
|-
 
|-
 
|Разъяснение:
 
|Разъяснение:
Строка 155: Строка 155:
 
|animation = "stulik"
 
|animation = "stulik"
 
|-
 
|-
|},''
+
| },''
 
|-
 
|-
 
|Здесь разъяснять без толку, т.к. тут и всё понятно!
 
|Здесь разъяснять без толку, т.к. тут и всё понятно!
Строка 220: Строка 220:
 
|-
 
|-
 
|inv_name_short =
 
|inv_name_short =
inv_weight = 10
+
|-
inv_grid_width = 3
+
|inv_weight = 10
inv_grid_height = 3
+
|-
inv_grid_x = 22
+
|inv_grid_width = 3
inv_grid_y = 29
+
|-
cost = 10000
+
|inv_grid_height = 3
can_take = false''
+
|-
 +
|inv_grid_x = 22
 +
|-
 +
|inv_grid_y = 29
 +
|-
 +
|cost = 0
 +
|-
 +
|can_take = false''
 +
|-
  
  
 +
|''[table_2]:table
 +
|-
 +
|GroupControlSection = spawn_group
 +
|-
 +
|discovery_dependency =
 +
|-
 +
|$spawn = "taburetka\table_2"
 +
|-
 +
|visual = physics\stol\stol_4.ogf -- тот же стол но с другим визуалом
 +
|-
  
''[table_2]:table
+
|[table_3]:table
GroupControlSection = spawn_group
+
|-
discovery_dependency =
+
|GroupControlSection = spawn_group
$spawn = "taburetka\table_2"
+
|-
visual = physics\stol\stol_4.ogf -- тот же стол но с другим визуалом
+
|discovery_dependency =
 
+
|-
 +
|$spawn = "taburetka\table_3"
 +
|-
 +
|visual = physics\stol\stol_7.ogf -- аналогично
 +
|-
  
[table_3]:table
+
|[stul]:table
GroupControlSection = spawn_group
+
|-
discovery_dependency =
+
|GroupControlSection = spawn_group
$spawn = "taburetka\table_3"
+
|-
visual = physics\stol\stol_7.ogf -- аналогично
+
|discovery_dependency =
 
+
|-
 
+
|$spawn = "taburetka\stul"
[stul]:table
+
|-
GroupControlSection = spawn_group
+
discovery_dependency =
+
$spawn = "taburetka\stul"
+
 
visual = physics\stul\stul_1a.ogf -- Стул''
 
visual = physics\stul\stul_1a.ogf -- Стул''
 
+
|-
Ах да! чуть не забыл!=)
+
|Ах да! чуть не забыл!=)
Нужно прописать наш файл в '''system.ltx''' чтобы спавн работал!=)
+
|-
куда-нибудь в начало пихаем вот это:
+
|Нужно прописать наш файл в '''system.ltx''' чтобы спавн работал!=)
''' #include "creatures\taburetka.ltx" ''''
+
|-
Всё сохраняем!
+
|куда-нибудь в начало пихаем вот это:
Очередь спавна:
+
|-
 
+
|''' #include "creatures\taburetka.ltx" ''''
Создаём файл в папке '' gamedata\scripts''
+
|-
Назовём его '''esc_stul.script'''
+
|Всё сохраняем!
в нём пишем:
+
|-
'''function esc_stul ()
+
|Очередь спавна:
alife():create("stul",vector():set(-X,Y,Z),l_v,g_v)
+
|-
end'''
+
|Создаём файл в папке '' gamedata\scripts''
 
+
|-
где ''XYZ'' пишем координаты места
+
|Назовём его '''esc_stul.script'''
где ''l_v g_v'' пишем левел и гейм вертексы.
+
|-
Всё Наш Чистильщик усажен на стул!=)
+
|в нём пишем:
 
+
|-
 +
|'''function esc_stul ()
 +
|-
 +
|alife():create("stul",vector():set(-X,Y,Z),l_v,g_v)
 +
|-
 +
|end'''
 +
|-
 +
|где ''XYZ'' пишем координаты места
 +
|-
 +
|где ''l_v g_v'' пишем левел и гейм вертексы.
 +
|-
 +
|Всё Наш Чистильщик усажен на стул!=)
 +
|-
 +
|}
 
Создатель:[[Участник:ФеНиКс|ФеНиКс]] 10:32, 23 ноября 2009 (UTC)<br>
 
Создатель:[[Участник:ФеНиКс|ФеНиКс]] 10:32, 23 ноября 2009 (UTC)<br>
 
{| class="standart"
 
{| class="standart"

Версия 18:32, 3 августа 2010

Редактирование Восстановление Вырезанных Анимаций НПС

Нус...Приступим=)

visual = physics\stul\stul_1a.ogf -- Стул
Мой Тутор думаю поможет новичкам!
__________________________________
Первые Шаги...
Что нам нужно???
Для восстановления Нам нужно сначала посмотреть что нужно восстанавливать! Так ведь?
1. SDK
2. Конвертер от бардака!
Ну и естественно хоть чучуть умения в обращении с этими вещами!
Просмотр Анимаций...
Делаем бантик для конвертации модели из ogf в object.
Название:
stalker_ki_mask.ogf
Путь:
Теперь очередь Бантика!
Бантик:
converter -ogf -object stalker_ki_mask.ogf
pause
_____________________
Всё запускаем бантик и появляется файл:
stalker_ki_mask.object
Открываем его в SDK и кликаем на три точки в motion reference , и снимаем все галочки!
Дальше нажимаем кнопку append и загружаем .skls файл!
чтобы получить .skls файл нам нужно создать опять же бантик и файл с анимациями!
Мы возьмём файл со сталкерскими анимациями!
Название:
stalker_animation.omf
Путь:
\gamedata\meshes\actors
Бантик:
converter -omf -skls stalker_animation.omf
pause
Всё, запускаем бантик и перед нами файл stalker_animation.skls
_____________________________
Выбор анимации...
В SDK нажимаем на Motion и перед нами появляется список анимаций!
Я нашёл вырезанную анимацию чистки ствола!
Название:
chistit ruje_1
_____________________________
Восстановление...
Для этого нужно два файла:
state_mgr_animation_list.script
state_lib.script
В первом прописываем нашу анимку вот так:
stulik = { prop = { maxidle = 1,
sumidle = 1,
rnd = 100 },
into = { [0] = {"chistit ruje_1", {a="wpn_sig220"}, "chistit ruje_1"} },
out = nil,
idle = { [0] = "chistit ruje_1" },
rnd = nil },
Разъяснение:
Толком я не понял что за что отвечает, но что-то я всё же понял...
stulik -- Здесь можно писать что угодно это название анимки которое будет использоваться при
запись в Логику...
into -- использовать
out -- выкинуть
idle -- идловые анимки.
rnd -- используется для групповых анимаций, типа повернулся влево вправо встал сел...
nil -- не использовать.
Так же Объяснения от Замечательного человека Максим Р.
into - входная анимация (начальная);
out - выходная анимация (конечная);
idle - анимация между into и out;
rnd - случайная анимация, которая будет отыгрываться во время idle случайным образом.
chistit ruje_1 -- тут думаю понятно! (сама анимка)
Т.к. я до конца не разобрался врать не буду, что-то может и не так разъяснил то за что отвечает!
В state_lib.script пишем следующее:
stulik= {weapon = "unstrapped",
movement = nil,
mental = nil,
bodystate = nil,
animstate = nil,
animation = "stulik"
},
Здесь разъяснять без толку, т.к. тут и всё понятно!
НО есть формальности из-за которых у меня и была ошибка( не появлялось оружие в руках)
Поясняю:
strapped - оружие на спине
unstrapped - оружие в руках
none - убрать вообще
drop - бросить
fire - стрелять
все в Логике НПСа пишем:
[logic]
active = remark
[remark]
anim = stulik

________________________
Вот и всё Анимация Восстановлена!=)
Ну теперь спавним для нашего Чистильщика стул!
Создаёшь файл в папке creatures
Ну допустим назовём файл taburetka.ltx
и в него конфинги:
[table]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "taburetka\table" -- тут указывается файл и секция (понадобится для спавна)
;$prefetch = 32
class = II_ATTCH
cform = skeleton
visual = physics\stol\stol_obedenniy.ogf -- Визуал стола
radius = 1
;script_binding = bind_physic_object.init
description = inventory_sakbox_01_desc
inv_name =
inv_name_short =
inv_weight = 10
inv_grid_width = 3
inv_grid_height = 3
inv_grid_x = 22
inv_grid_y = 29
cost = 0
can_take = false
[table_2]:table
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "taburetka\table_2"
visual = physics\stol\stol_4.ogf -- тот же стол но с другим визуалом
[table_3]:table
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "taburetka\table_3"
visual = physics\stol\stol_7.ogf -- аналогично
[stul]:table
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "taburetka\stul"
Ах да! чуть не забыл!=)
Нужно прописать наш файл в system.ltx чтобы спавн работал!=)
куда-нибудь в начало пихаем вот это:
#include "creatures\taburetka.ltx" '
Всё сохраняем!
Очередь спавна:
Создаём файл в папке gamedata\scripts
Назовём его esc_stul.script
в нём пишем:
function esc_stul ()
alife():create("stul",vector():set(-X,Y,Z),l_v,g_v)
end
где XYZ пишем координаты места
где l_v g_v пишем левел и гейм вертексы.
Всё Наш Чистильщик усажен на стул!=)

Создатель:ФеНиКс 10:32, 23 ноября 2009 (UTC)

Связаться со мной можно
По ICQ
№559615499
ВКонтакте
№id19647122
На СП(Сталкер-портале)
Ник:Николай ФеНиКс
Другие места
LANGUAGE