Перейти к содержанию

Neptun

Разработчики
  • Публикаций

    684
  • Зарегистрирован

  • Посещение

  • Победитель дней

    9

Весь контент Neptun

  1. В диалоге не работает следующая реплика, смотри, чтобы все условия были выполнены.
  2. Нет. НПС передвигаются по way путям. Если надо, чтобы сталкеры ходили по определённому маршруту, конкретнее прописывай им пути. Если это симуляционные НПС, значит, они обходят таким образом какую-то опасность или это оптимальный путь до точки для них.
  3. И это всё? Явно нерациональное использование апдейта для такой мелочи. Чтобы квест обновился сделай проверку на наличие предмета: {=actor_has_item(ид_предмета)}
  4. Хосподи, даже разрабы этой логикой не пользовались. Юзая такую: %=send_tip(ссылка_на_текст:иконка_сообщения)% Иконка регается в news_manager
  5. Добро. Написал такую функцию: if actor:item_in_slot(2) ~= nil then db.actor:activate_slot(2) end if actor:item_in_slot(2) == nil then if actor:item_in_slot(3) ~= nil then db.actor:activate_slot(3) end end if actor:item_in_slot(2) == nil and actor:item_in_slot(3) == nil then db.actor:activate_slot(0) end Суть её в том, что, если в первом слоте есть ствол, ГГ его достанет, если нет, он достанет из второго слота, если и там тоже нет оружия, ГГ должен достать нож. Проблема: оружия из первого слота ГГ достаёт, всё остальное почему-то не работает. Вопрос: как реализовать задуманное?
  6. О, отлично. Кинул ссылку в лс, как скачаешь - отпишись как-нибудь.
  7. А каким образом неписи заспавнены? Если сквадами, то таких проблем не должно быть. Проблема, видимо, в том, как сделать проверку, что предмет внутри ящика. function is_item_in_inventory_box(actor, npc, p) local inv_box = get_story_object(p[1]) local item_in_box = false local function compare_item(inv_box, item) if item:section() == p[2] then item_in_box = true end end inv_box:iterate_inventory_box(compare_item, inv_box) return item_in_box end =is_item_in_inventory_box(предмет:ящик)
  8. Создаёшь рестриктор, его логику заполняешь так: [logic] active = sr_crow_spawner [sr_crow_spawner] max_crows_on_level = 15 spawn_path = имя_crow_spawn_1, имя_crow_spawn_2 Создаёшь точки в небе в way (имя_crow_spawn_1), штук пять точек сделай по всей локации Дополнено 10 минуты спустя Причём этот list в функции ни разу не вызывается, и да, он выглядит подозрительно. Лучше работать с таким вариантом: local list = {} list["helm_respirator"] = true list["helm_hardhat"] = true list["helm_tactic"] = true и т. д. if actor:item_in_slot(12) ~= nil and list[actor:item_in_slot(12):section()] == true then
  9. Создание сквада сталкеров (НПС) Создание смарт торрейна (smart_terrain)
  10. С помощью какой программы осуществляется чтение этого файла?
  11. Что имеется ввиду? Например, есть такой вариант: [simulation_stalker_1]:online_offline_group faction = stalker npc_random = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_3, sim_default_stalker_3, sim_default_stalker_4 npc_in_squad = 2, 3 В данном случае заспавнится сквад из 2 или 3 НПС из списка npc_random Дополнено 1 минуту спустя Есть ли вариант заставить кровососа проиграть определённую анимацию, как-то: удар или поза к атаке?
  12. Функции: Включить эмбиент. function sg_ambient_normal(actor,npc,p) local v = xr_logic.pstor_retrieve(actor, 'sg_snd_volume_music', get_console():get_float("snd_volume_music")) get_console():execute("snd_volume_music "..tostring(v)) end Выключить эмбиент. function sg_ambient_none(actor,npc,p) local v = get_console():get_float("snd_volume_music") xr_logic.pstor_store(actor, 'sg_snd_volume_music', v) get_console():execute("snd_volume_music "..tostring(0)) end
  13. Игрок значится в такой-то группировке: function actor_in_группировка(actor, npc) for k,v in pairs(sim_board.get_sim_board().players) do if v.community_player == true and v.player_name == "группировка" then return true end end return false end Игрок НЕ значится в такой-то группировке: function actor_not_in_группировка(actor, npc) for k,v in pairs(sim_board.get_sim_board().players) do if v.community_player == true and v.player_name == "группировка" then return false end end return true end
  14. Регистрация логики та же, что и для НПС. В строке suitable, как правило, прописывается сквад: suitable = {=target_squad_name(ид_сквада_мутантов)} Само наполнение несильно отличается, например: [mob_walker] - движение мутантов, строится по тем же принципам, что и для НПС. [mob_home] - такая зона, где тусуются мутанты, параметры: path_home = путь_way aggressive = true ; приоритет атаки home_min_radius = 5 home_max_radius = 25
  15. Neptun

    Связной

    «Связной» — это пролог к модификации «Плохая компания», — в нем рассказывается о том, кто такой Масон, и как он нажил себе кучу проблем и врагов, или друзей. Главный герой игры— наемник, его задача — внедриться в группировку диггеров, и выяснить все их планы. Помимо основного сюжета, в модификации представлены параллельно еще несколько веток, которые по ходу прохождения будут, так или иначе, напрашиваться на их прохождение. А все действия мода развернутся на билдовской версии локации Свалка.
  16. Создавая эту модификацию, разработчик делал акцент именно на сюжет, на его составляющие, а также на свободное прохождение. Для игроков предоставлено 20 заданий, но пройти можно лишь 18 квестов, так как, для прохождения доступно три концовки. И на протяжении всей игры Вы будете принимать жизненно-важные решения, влияющие на исход игры.