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

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


Zeka1996Korneev

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

В файле

spawn_sections.ltx пишем конфиг тайника:
[s_inventory_box7]:kostya_box  -- в квадратных скобках уникальная секция тайника
visual = equipments\item_rukzak
radius = 1
custom_data = scripts\s_inventory_box7.ltx   -- файл с наполнением тайника

Файл s_inventory_box7.ltx содержит следующее:

[spawn]
mutant_gigant_cocoon = 1
mutant_poltergeist_cocoon = 1
af_armor_3 = 3
strelok_taynik_pda30

То есть, в тайнике будут лежать указанные в этом файле предметы: пара эмбрионов монстров, 3 артефакта Панцирь и ПДА. Теперь, если мы после спавна этого тайника хотим туда еще что-то добавить в зависимости от диалога, прохождения и прочего, то мы можем это сделать с помощью следующего скрипта:

    -- спавним наш тайник
    local obj = alife():create("s_inventory_box7",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id())
    -- в нужном нам месте вызываем функцию спавна дополнительного хабара в тайник:
    function dospavn(section, obj)
        alife():create(section,vector():set(0,0,0),0,0,obj.id)
    end

В функцию передается секция предмета и ссылка на тайник, полученная с помощью команды создания тайника alife():create(). Координаты тайника не нужны. Когда в функции alife():create() задан последний параметр, так называемый parent или родитель создаваемого объекта, то координаты игнорируются - новый предмет будет в рюкзаке.

        local obj = alife():create("esc_stalker_respawn_1",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id())
        local tbl = amk.read_stalker_params(obj)
        tbl.health = 0.1
        tbl.updhealth = 0.05
        amk.write_stalker_params(tbl, obj)

В результате выполнения этого кода рядом с ГГ появится раненый сталкер и будет просить аптечку. Для использования этого кода нужны функции АМК.

 

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

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


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

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