Нужна программа Gimp.Сначало рисуешь рисунок или несколько однотипных,но с разными движениями.Потом все это впихиваешь в программу и запускаешь проссмотр.
Влад-Счастливчик
ТЫ чё с луны Свалился!?
Вы чё все таки умы...
Я про одно он мне про другое!
Мне анимационные картинки в ж..у не нужны! я их делаю секунд за 5!
Я про игру!
добавлено спустя 48 секунд
Губка Боб
чё те надо ты толком можешь объяснить?
отредактировал(а) Николай ФеНиКс: 05-10-2009 16:12 GMT3 час.
Николай ФеНиКс
могу подсказать тока сложный вариант - когда для этого тебе понадобиться писать сложную схему логики с переходами из одной схемы в другую.
Просто если в логике NPC всего одна схема - то и анимация будет повторяться бесконечно (если она не выключается автономно)
Хочешь чтобы она проигралась тока один раз - пиши вторую схему, в которую непись перейдет после anim_end - конца анимации типа так
on_signal = animation_end| имя схемы (например remark@2)
и в этой схеме remark@2 пишешь уже не пишешь анимку. (или пишешь другую)
а чтобы анимка опять повторилась после этого - в этой схеме ставишь условие для перехода обратно в первую схему. Условий может быть масса
on_info = {+имя поршня} имя схемы --- при условии получения поршня
on_timer = время в сек| имя схемы
on_signal = sound_end| имя схемы -- на конец реплики
on_actor_dist_le = 2| имя схемы - на дистанцию приближения
on_actor_dist_ge = 2| имя схемы - на дистанцию удаления
и т.д.
смотря чего именно ты хочешь добиться - по твоему вопросу не совсем это понятно - какая анимка должна отыграться, у какого непися - волкера, кемпера, или просто стоячего чувака.
какие условия для повтора анимки, если она должна повториться.
смотри схемы логики в файлах гулагов - в папке misc - там много разных вариантов перехода из одной схемы в другую - с разными анимками.
А если по уму делать - то надо бы узнать у знатоков анимаций, что означает в библиотеке анимок (файл state_lib) параметр reset у некоторых анимок - как мне кажется - это значит что анимка выключается после одного раза проигрывания. Но я не знаю как этот параметр можно использовать - и можно ли его вписать и другим анимкам.
зайди в топик Анимации NPC - и спроси там - может кто подскажет.
Да что вы все насели на Губку Боба? Человек не смыслит даже в принципе построения модов для Сталкера. Чем собачиться, лучше бы объяснили, как вообще это делается.
Губку Боб Если хочешь научиться модмейкерству, то пройди по этой ссылке
singapur22
Ну знаешь просто это так ГЛУПО!
можно прочитать Фак прочитать статьи на виках, а потом уже идти сюда и спрашивать у знающих людей то чего не понял или не знаешь.
Ну не знать что для модостроя надо распаковщик для игры блокнот(самый простой способ)
и всё это просто Тупо!
[meet]
meet_state = 2|wait@wait -- если не нужна активная анимка в этой секции можно написать wait и вместо реплики то ж самое
meet_state_wpn = 10|wait@реплика| 5|salut_free@реплика -- вместо реплики можно wait
victim = 2|actor
victim_wpn = 10|actor
snd_anim_synс = true -- это не обязательно вообще писать
use = true
use_wpn = true
meet_dialog = escape_lager_guard_start_dialog
-- в общем там где не нужна реплика или активная анимка пишешь wait - это и анимка ожидания и отсутствие фразы
[remark@1]
no_move = true
anim = wait
meet = no_meet -- если так - то в этой схеме он вообще не будет общаться с ГГ
если надо чтобы общался - пиши секцию meet как в первой ремарке
Ок=)
А как мне пос эффект сделать на поподание в ГГ
Вот я попытался сделать,но....вылет.
вот скрипт:
--/-------------------------------------------------------------------
--/ Эффекты от критического ранения ГГ
--/-------------------------------------------------------------------
function act01_wounded_pp()
local actor = db.actor
local snd_obj = sound_object("heart\\2")
if actor.health < 0.2 then
if not flg_blood then
--level.add_pp_effector("red_fade_out.ppe", 1999, true)
level.add_pp_effector("bloody.ppe", 1999, true)
level.set_pp_effector_factor(1999, 5.0)
if not snd_obj:playing() then
snd_obj:play_at_pos(actor, actor:position(), 1, sound_object.looped)
end
flg_blood = true
elseif snd_obj:playing() then
snd_obj:set_position(actor:position())
if math.random() < 0.1 then
drop_active_item() --/ "потеря" активного предмета
end
end
elseif flg_blood then
level.remove_pp_effector(1999)
if snd_obj:playing() then
snd_obj:stop()
end
flg_blood = false
end
end
--/ эффект от ранения (материалы AMK Team)
function act02_wounded_pp()
local actor = db.actor
if actor then
local health_act = actor.health
if health_act < health_sav - 0.05 then
level.add_pp_effector("shoot.ppe", 2011, false)
level.set_pp_effector_factor(2011,(health_sav - health_act)*100)
if health_act < health_sav - 0.3 then
level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "")
local snd_obj = sound_object("actor\\pain_3")
snd_obj:play_no_feedback(actor, sound_object.s2d, 0, vector(), 1.0)
if math.random() < 0.1 then
drop_active_item() --/ "потеря" активного предмета
end
end
end
health_sav = health_act
end
end
--/ "потеря" активного предмета
function drop_active_item()
local item = db.actor:active_item()
if item then
local section = item:section()
if section and
section ~= "bolt" and
section ~= "wpn_binoc" and --/?
section ~= "wpn_knife"
then
db.actor:drop_item(item)
end
end
end
Активировал каждую функцию через бинд сталкер вылет с логом типо нулевое значение в первой функции так же наверное и во всех енды вроде правильно выставил..
Struck
не обязательно - я их логику не помню, а у непися в логике может также стоять функция возвращающая true или false на предмет можно ли базарить с игроком.
Николай ФеНиКс
ну во первых
переменные flg_blood и health_sav не заданы вообще
нужно вверху над функцией написать
local health_sav = 1
local flg_blood = false
а вторых переменная health_act, которая у тебя используется - нигде не прописана, а в симбионе она задается в другой функции, которую ты не взял.
поправка:
хотя - нет, она задана у тебя.
function act01_wounded_pp()
local actor = db.actor
local snd_obj = sound_object("heart\\2")
local health_sav = 1
local flg_blood = false
if actor.health < 0.2 then
if not flg_blood then
--level.add_pp_effector("red_fade_out.ppe", 1999, true)
level.add_pp_effector("bloody.ppe", 1999, true)
level.set_pp_effector_factor(1999, 5.0)
if not snd_obj:playing() then
snd_obj:play_at_pos(actor, actor:position(), 1, sound_object.looped)
end
flg_blood = true
elseif snd_obj:playing() then
snd_obj:set_position(actor:position())
if math.random() < 0.1 then
drop_active_item() --/ "потеря" активного предмета
end
end
elseif flg_blood then
level.remove_pp_effector(1999)
if snd_obj:playing() then
snd_obj:stop()
end
flg_blood = false
end
end
и чё мне делать тогда с этой переменной health_act ?