Перейти к контенту

Уроки по модостроению


Zeka1996Korneev

Рекомендуемые сообщения

Всем привет… Я долго искал статью по созданию работающего радио в ЗП, это было бессмысленно, пришлось учиться самому…


Итак приступим…

Для того что бы сделать новое РАБОТАЮЩЕЕ радио нам понадобятся файлы:
all.spawn (распакованный)
sound_theme.script
Итак сначала заходим в файл alife_zaton.ltx (он находится в распакованном all.spawn)
И добавляем в конец вот такие строки:
[1866]
; cse_abstract properties
section_name = physic_object
name = zaton_radio
position = 131.13690185547,-6.1206126213074,177.25036621094
direction = 0,2.40000009536743,0
; cse_alife_object properties
game_vertex_id = 296
distance = 0.400000005960464
level_vertex_id = 1189961
object_flags = 0xffffff3a
custom_data = <<END
[logic]
cfg = scripts\zaton_radio.ltx
END
; cse_visual properties
visual_name = dynamics\el_tehnika\priemnik_gorizont
; cse_ph_skeleton properties
skeleton_flags = 1
; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link

Теперь сохраняем и можно собирать all.spawn он нам больше не нужен(не забывайте ставить его на место переименовывая из файла new в all.
Так теперь по порядку все объясню:

[1866] – номер секции, он не должен повторяться.Если у вас чистый all то номер будет 1866
; cse_abstract properties
section_name = physic_object
name = zaton_radio – уникальное имя
position = 131.13690185547,-6.1206126213074,177.25036621094 - координаты
direction = 0,2.40000009536743,0
; cse_alife_object properties
game_vertex_id = 296 – координаты вертикс
distance = 0.400000005960464
level_vertex_id = 1189961 - координаты уровня
object_flags = 0xffffff3a
custom_data = <<END
[logic]
cfg = scripts\zaton_radio.ltx – путь к логике
END
; cse_visual properties
visual_name = dynamics\el_tehnika\priemnik_gorizont – путь визуалу модели ogf причем заметьте что ogf т.е. формат писать не надо
; cse_ph_skeleton properties
skeleton_flags = 1
; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link

Редактируем только те места которые я откомментировал!!!

Так теперь самое главное… Логика
Заходим в папку gamedata//configs//scripts создаём там файл zaton_radio.ltx и в нём пишем:

[logic]
active = ph_sound
[ph_sound]
snd = music_radio
looped = false
min_idle = 300
max_idle = 500
random = true

Сохраняем…
Теперь заходим в папку gamedata\\ sound\\ characters_voice\\scenario\\ и создаем там папку zaton_radio после чего кидаем в эту папку музыкальные файлы в формате ogg и назовем их примерно так:

zaton_1, zaton_2, zaton_3, zaton_4, zaton_5

(я написал только 5 названий песен, потому что вам для начало и 5 треков хватит)
Все с музыкальными файлами закончили…

Теперь открываем файл gamedata\\script\\sound_theme.script и в самом начале после строчки theme = {} пишем вот это:

ph_snd_themes = {}
ph_snd_themes["music_radio"] = {
"characters_voice\\scenario\\zaton_radio\\zaton_5",
"characters_voice\\scenario\\zaton_radio\\zaton_4",
"characters_voice\\scenario\\zaton_radio\\zaton_3",
"characters_voice\\scenario\\zaton_radio\\zaton_2",
"characters_voice\\scenario\\zaton_radio\\zaton_1"
}

Сохраняем…После последней строчки запятую ставить не надо!!!

Всё можно идти на и слушать радио (оно появится в скадовске на столе)
(Теперь для тех, кто ещё не понял, строки в виде: "characters_voice\\scenario\\zaton_radio\\zaton_1" - это списки песен, которые будет проигрывать наше радио)
Внимание: этот метод проверялся на чистом сталкере зов припяти версии 1.6.00
На некоторых модах может не работать из-за не совместимости
Статья от Akella-96

 

Изменено пользователем World_Stalker
  • Согласен 1

AWRP : Re - Load 0.2 ©

Поделиться этим сообщением


Ссылка на сообщение

Вывод сообщения о малом ХП (рабочая функция)
Автор статьи - Akella-96 aka SvD

Всем привет, помню на Сталкер - Вики была статья про это, но насколько я знаю, она не рабочая. Сегодня я попробовал разобраться в структуре этой функции, но ни чего не понял. Вскоре я создал рабочую функцию на основе уже существующей - вывод сообщения при большой радиации

Итак, начнем :

Сперва находим в

gamedata\scripts\bind_stalker.script вот эту функцию
--[[
    --' Вывод сообщения о большой радиации
    if self.object.radiation >= 0.7 then
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("cs_radiation_danger")
        if custom_static == nil then
            hud:AddCustomStatic("cs_radiation_danger", true)
            hud:GetCustomStatic("cs_radiation_danger"):wnd():TextControl():SetTextST("st_radiation_danger")
        end
    else
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("cs_radiation_danger")
        if custom_static ~= nil then
            hud:RemoveCustomStatic("cs_radiation_danger")
        end
    end
]]--

И после неё пишем

-----------------------------------------------------------------------------------------------------------
    --' Вывод сообщения о малом ХП автор - Akella-96 aka SvD
    if self.object.health <= 0.3 then
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("cs_health_danger")
        if custom_static == nil then
            hud:AddCustomStatic("cs_health_danger", true)
            hud:GetCustomStatic("cs_health_danger"):wnd():TextControl():SetTextST("st_health_danger")
        end
    else
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("cs_health_danger")
        if custom_static ~= nil then
            hud:RemoveCustomStatic("cs_health_danger")
        end
    end
----------------------------------------------------------------------------------------------------------

Потом идем в gamedata\configs\ui\ui_custom_msgs.xml и в самом начале пишем

        <cs_health_danger  x="262" y="50" width="500" height="20" complex_mode="1">
                <text font="graffiti22"  r="255" g="0" b="0" a="255" align="c"/>
        </cs_health_danger>

Далее идем в gamedata\configs\text\rus\ui_st_screen.xml в самый конец, перед </string_table> добавляем

         <string id="st_health_danger">
        <text>У вас мало здоровья! Примите аптечку!</text>
    </string>

Все. Теперь при состоянии здоровья, меньшего 30% будет выводиться сообщение.

 

Изменено пользователем World_Stalker
  • Полезно 3

AWRP : Re - Load 0.2 ©

Поделиться этим сообщением


Ссылка на сообщение

Небольшой пак уроков от меня (всего два урока, позже будут еще). Оба урока в формате .doc.

• Добавление абсолютно новых ящиков на классе inventory_box

• Показываем состояние здоровья ГГ в процентах

Надеюсь, они окажутся полезными.

Скачать : http://rghost.ru/48034494

Изменено пользователем World_Stalker
  • Нравится 3

AWRP : Re - Load 0.2 ©

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...