SoC. Звуковая дорожка — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Loxotron (обсуждение | вклад) |
RedPython (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | '''Привет всем!''' Предлагаю желающим повторить моё нововведение в СТАЛКЕРе | + | '''Привет всем!''' Предлагаю желающим повторить моё нововведение в СТАЛКЕРе. |
| − | Возле Волка на Кордоне( | + | Возле Волка на Кордоне ('''А''') после согласия отбить Шустрого('''Б''') появляется приёмник «Горизонт» ('''В'''), исполняющий музыку, заранее сконвертированную Вами через СДК в .ogg и положенную в папку ''gamedata\sounds'' ('''Г'''). Наподобие матюгальника блокпоста, наш приёмник глохнет от меткого выстрела ГГ по нему ('''Д''').В других вариациях это может быть и рупор (там, где его сроду не было), да хоть даже поющий холодильник, если прописать предмету «patefon» соответствующий visual. |
| − | + | '''А'''->: создать '''moi_mod.script''': | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| + | <lua> | ||
| + | function spawn_patefon() | ||
| + | local item = "patefon" | ||
| + | alife():create(item,vector():set(-203.64045715332,-20.349802017212,-147.30645751953),49119,57) | ||
end | end | ||
| + | </lua> | ||
| − | + | '''Б'''->: изменить '''escape_dialog.script''': | |
| + | <lua> | ||
function give_weapon_to_actor (trader, actor) | function give_weapon_to_actor (trader, actor) | ||
| − | + | dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in") | |
| − | dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in") | + | dialogs.relocate_item_section(trader, "wpn_pm", "in") |
| − | + | dialogs.relocate_item_section(trader, "wpn_knife", "in") | |
| − | dialogs.relocate_item_section(trader, "wpn_pm", "in") | + | moi_mod.spawn_patefon() |
| − | + | ||
| − | dialogs.relocate_item_section(trader, "wpn_knife", "in") | + | |
| − | + | ||
| − | + | ||
| − | + | ||
end | end | ||
| + | </lua> | ||
| − | + | '''В'''->: создать новую секцию в ''config\misc\items.ltx'': | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| + | <pre> | ||
| + | [patefon]:identity_immunities | ||
| + | GroupControlSection = spawn_group | ||
discovery_dependency = | discovery_dependency = | ||
| − | + | $spawn = "food and drugs\patefon" | |
| − | $spawn | + | |
| − | + | ||
cform = skeleton | cform = skeleton | ||
| − | + | class = P_DSTRBL | |
| − | class | + | |
| − | + | ||
visual = physics\decor\priemnik_gorizont.ogf | visual = physics\decor\priemnik_gorizont.ogf | ||
| − | |||
custom_data = scripts\'''esc_patefon_data.ltx''' | custom_data = scripts\'''esc_patefon_data.ltx''' | ||
| − | + | attach_angle_offset = -1.651084, -1.341824, 1.200789 | |
| − | attach_angle_offset | + | |
| − | + | ||
attach_position_offset = 0.077492, -0.030020, 0.090059 | attach_position_offset = 0.077492, -0.030020, 0.090059 | ||
| + | attach_bone_name = bip01_l_hand | ||
| + | auto_attach = false | ||
| + | remove_time = 60 | ||
| + | script_binding = bind_physic_object.init | ||
| + | </pre> | ||
| − | + | '''Г'''->: создать в '''sound_theme.script''' по аналогии с существующими такую конструкцию: | |
| − | + | <lua> | |
| − | + | ph_snd_themes["muzon"] = { "название_вашего_трека", -- в папке \sounds | |
| − | + | "название_вашего_трека2", | |
| − | + | "название_вашего_трека3" -- и так далее.. (последний - без запятой) | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | ph_snd_themes[" | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
} | } | ||
| + | </lua> | ||
| + | '''Д'''->: создать в ''config\scripts\'' файл '''esc_patefon_data.ltx''': | ||
| − | + | <pre> | |
| − | + | ||
[logic] | [logic] | ||
| − | |||
active = ph_sound@muzik | active = ph_sound@muzik | ||
| − | |||
on_hit = hit | on_hit = hit | ||
[ph_sound@muzik] | [ph_sound@muzik] | ||
| − | + | snd = muzon | |
| − | snd = | + | |
| − | + | ||
on_signal = sound_end|ph_idle@wait | on_signal = sound_end|ph_idle@wait | ||
| − | |||
on_info = {+esc_patefon_off} nil | on_info = {+esc_patefon_off} nil | ||
[ph_idle@wait] | [ph_idle@wait] | ||
| − | |||
on_timer = 5000| ph_sound@muzik | on_timer = 5000| ph_sound@muzik | ||
| − | |||
on_info = {+esc_patefon_off} nil | on_info = {+esc_patefon_off} nil | ||
[hit] | [hit] | ||
| + | on_info = %+esc_patefon_off% | ||
| + | </pre> | ||
| − | + | Не забудьте добавить в ''config\gameplay\info_l01escape.xml'' вот это: | |
| − | + | <xml> | |
| − | + | ||
<info_portion id="'''esc_patefon_off'''"></info_portion> | <info_portion id="'''esc_patefon_off'''"></info_portion> | ||
| + | </xml> | ||
| − | Вроде ничего не забыл, удачи всем, J_DLRN. | + | Вроде ничего не забыл, удачи всем, '''J_DLRN'''. |
[[Категория:Скрипты]] | [[Категория:Скрипты]] | ||
Версия 14:06, 30 июня 2010
Привет всем! Предлагаю желающим повторить моё нововведение в СТАЛКЕРе.
Возле Волка на Кордоне (А) после согласия отбить Шустрого(Б) появляется приёмник «Горизонт» (В), исполняющий музыку, заранее сконвертированную Вами через СДК в .ogg и положенную в папку gamedata\sounds (Г). Наподобие матюгальника блокпоста, наш приёмник глохнет от меткого выстрела ГГ по нему (Д).В других вариациях это может быть и рупор (там, где его сроду не было), да хоть даже поющий холодильник, если прописать предмету «patefon» соответствующий visual.
А->: создать moi_mod.script:
function spawn_patefon() local item = "patefon" alife():create(item,vector():set(-203.64045715332,-20.349802017212,-147.30645751953),49119,57) end
Б->: изменить escape_dialog.script:
function give_weapon_to_actor (trader, actor) dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in") dialogs.relocate_item_section(trader, "wpn_pm", "in") dialogs.relocate_item_section(trader, "wpn_knife", "in") moi_mod.spawn_patefon() end
В->: создать новую секцию в config\misc\items.ltx:
[patefon]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "food and drugs\patefon" cform = skeleton class = P_DSTRBL visual = physics\decor\priemnik_gorizont.ogf custom_data = scripts\'''esc_patefon_data.ltx''' attach_angle_offset = -1.651084, -1.341824, 1.200789 attach_position_offset = 0.077492, -0.030020, 0.090059 attach_bone_name = bip01_l_hand auto_attach = false remove_time = 60 script_binding = bind_physic_object.init
Г->: создать в sound_theme.script по аналогии с существующими такую конструкцию:
ph_snd_themes["muzon"] = { "название_вашего_трека", -- в папке \sounds "название_вашего_трека2", "название_вашего_трека3" -- и так далее.. (последний - без запятой) }
Д->: создать в config\scripts\ файл esc_patefon_data.ltx:
[logic]
active = ph_sound@muzik
on_hit = hit
[ph_sound@muzik]
snd = muzon
on_signal = sound_end|ph_idle@wait
on_info = {+esc_patefon_off} nil
[ph_idle@wait]
on_timer = 5000| ph_sound@muzik
on_info = {+esc_patefon_off} nil
[hit]
on_info = %+esc_patefon_off%
Не забудьте добавить в config\gameplay\info_l01escape.xml вот это:
<info_portion id="'''esc_patefon_off'''"></info_portion>
Вроде ничего не забыл, удачи всем, J_DLRN.