Случайная подборка модов
Old Good Stalker Mod v2.4 Gold
4.2
Последняя надежда
2.4
Prosectors Project
4.0
Sigerous Mod 2.2
4.1
Путь во мгле
4.5
«Последний Сталкер»
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.

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

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  makdm
    Суббота, 08.02.2020, 16:53 | Сообщение # 6106
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    yobakun, под словом КОГО вы что имеете ввиду?
    Без уточнения, ответ очевиден - труп НПС лутает ГГ.
      Злобная реклама
    Суббота, 08.02.2020, 16:53
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  yobakun
    Суббота, 08.02.2020, 18:05 | Сообщение # 6107
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    makdm, в общем, хочу запретить лутать труп игроком, если в это время его обыскивает другой нпс. Надо получить труп как объект.
      Злобная реклама
    Суббота, 08.02.2020, 18:05
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  makdm
    Суббота, 08.02.2020, 23:22 | Сообщение # 6108
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата yobakun ()
    в общем, хочу запретить лутать труп игроком

    Даже интересно стало.
    Цитата yobakun ()
    Надо получить труп как объект.

    Допустим у вас есть объект - труп.
    Хотелось бы посмотреть на код , который запретит лутать ГГ этот объект-труп, когда какой-то из, например, пяти НПС, вдруг решит его облутать.

    З.Ы. Я знаю как это сделать и мне не нужно получать объект-труп, мне просто интересна ваша реализация этой хотелки через объект-труп.
    Сообщение отредактировал makdm - Воскресенье, 09.02.2020, 00:15
      Злобная реклама
    Суббота, 08.02.2020, 23:22
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Policai
    Воскресенье, 09.02.2020, 09:01 | Сообщение # 6109
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Народ! Существует ли вариант заменить эмбиент по спейсу?
    Локация обьеденённая с подземкой, в подземке звук с поверхности. Задача накрыть подземку спейсом и когда ГГ в спейсе проигрывается указанный эмбиент, при выходе из спейса возвращается родной с локации...
      Злобная реклама
    Воскресенье, 09.02.2020, 09:01
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  denis2000
    Воскресенье, 09.02.2020, 10:25 | Сообщение # 6110
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Policai, Косвенно можно. Для этого при заходе в рестриктор подземки меняете погоду на локации на indoor и периодически проверяете, что она не изменилась на другую рандомную, а при выходе на любую для открытых локаций.

    Сообщение отредактировал denis2000 - Воскресенье, 09.02.2020, 10:42
      Злобная реклама
    Воскресенье, 09.02.2020, 10:25
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Policai
    Воскресенье, 09.02.2020, 11:22 | Сообщение # 6111
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    denis2000,

    Спасибо. Сейчас буду пробовать.
      Злобная реклама
    Воскресенье, 09.02.2020, 11:22
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  yobakun
    Воскресенье, 09.02.2020, 12:35 | Сообщение # 6112
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    makdm, ну например так:
    Код

    -- xr_corpse_detection.script
    -- в моменте когда непись начинает лутать труп дописываем
    utils.save_var(corpse,"corpse_loot_begin",true)
    -- непись залутал труп и забрал вещи
    utils.save_var(corpse,"corpse_loot_begin",nil)

    -- actor_menu.script
    --если бы dead_body_search_wnd_opened() возвращал объект в виде трупа
    function dead_body_search_wnd_opened(obj)
    if obj and utils.load_var(obj,"corpse_loot_begin") then
        SetHudMsg(game.translate_string("st_already_looting"),8)
        local hud = get_hud()
          if (hud) then
          hud:HideActorMenu()
         end
        end
    end
      Злобная реклама
    Воскресенье, 09.02.2020, 12:35
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  makdm
    Воскресенье, 09.02.2020, 15:17 | Сообщение # 6113
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    yobakun, понятно.

    Моя версия:
    Всё делается в файле xr_corpse_detection.script
    Здесь нужно понимать, что труп НПС - это обычный инвентарный ящик.

    В эвалуаторе перед return true пишем
    self.a.corpse_npc = db.storage[self.a.selected_corpse_id] and db.storage[self.a.selected_corpse_id].object

    В экшене в методе execute ()
    self.a.corpse_npc:set_nonscript_usable(false)

    В экшене в методе finalize ()
    self.a.corpse_npc:set_nonscript_usable(true)
      Злобная реклама
    Воскресенье, 09.02.2020, 15:17
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  yobakun
    Воскресенье, 09.02.2020, 17:17 | Сообщение # 6114
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    Цитата makdm ()
    труп НПС - это обычный инвентарный ящик.

    Тогда все меняет. Даже надпись можно поставить не худовую, а нормальную через set_tip_text.

    А как убрать отмену на сбор лута? Сейчас если встать на пути нпс, тогда тот останавливается и уже не идет к трупу, а ждет пока игрок начнет диалог.
    Сообщение отредактировал yobakun - Воскресенье, 09.02.2020, 17:45
      Злобная реклама
    Воскресенье, 09.02.2020, 17:17
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  makdm
    Воскресенье, 09.02.2020, 18:53 | Сообщение # 6115
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата yobakun ()
    Сейчас если встать на пути нпс, тогда тот останавливается и уже не идет к трупу

    Быть такого не может.

    Файл xr_meet.script
    action:add_precondition (world_property(properties["corpse_exist"], false))

    Если НПС под схеиой corpse_exist( а это и есть шмон трупов ), то разговаривать он с ГГ не будет.
      Злобная реклама
    Воскресенье, 09.02.2020, 18:53
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Policai
    Понедельник, 10.02.2020, 04:07 | Сообщение # 6116
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата denis2000 ()
    Косвенно можно. Для этого при заходе в рестриктор подземки меняете погоду на локации на indoor и периодически проверяете, что она не изменилась на другую рандомную, а при выходе на любую для открытых локаций.


    Денис! Видно я что то сделал не так, не работает у меня. Есть подозрение что связано с атмосфером... В xr_conditions.script в самый конец функцию добавил, спейсом накрыл подземку, тип рестриктора нот а рестриктор, логику прописал, заменил "секция_погоды_с_эмбиентом_indoor" на " indoor_ambient"
    "секция_погоды_c_эмбиентом_outdoor" на "atmosfear" то что у меня указано в файле game_maps_single





    Сообщение отредактировал Policai - Понедельник, 10.02.2020, 05:48
      Злобная реклама
    Понедельник, 10.02.2020, 04:07
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  denis2000
    Понедельник, 10.02.2020, 09:36 | Сообщение # 6117
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Policai, В оригинале и в моде с подключенным Атмосфером функция выглядит так:
    Код
    function set_weather(actor, npc, p)
        if(p[1]) then
      if(p[2]=="true") then
       level.set_weather(p[1],true)
      else
       level.set_weather(p[1],false)
      end
        end
    end

    Почему у вас она такая и не работает мне не известно.
      Злобная реклама
    Понедельник, 10.02.2020, 09:36
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Украина  molodoy_chelovek
    Понедельник, 10.02.2020, 10:51 | Сообщение # 6118
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Policai, погоды "atmosfear", в отличии от "indoor_ambient" в оригинальном атмосфире нет, нужно создать её в configs/environment/weathers
    Сообщение отредактировал molodoy_chelovek - Понедельник, 10.02.2020, 10:53
      Злобная реклама
    Понедельник, 10.02.2020, 10:51
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Российская Федерация  Policai
    Понедельник, 10.02.2020, 11:01 | Сообщение # 6119
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    molodoy_chelovek,

    Есть и работает прекрасно всё, атмосфер у меня переделан под мод под все мои локи... Там скрипты работают. и наличие файла atmosfear в configs/environment/weathers не требуется...

    Цитата denis2000 ()
    В оригинале и в моде с подключенным Атмосфером функция выглядит так:


    Денис. Эту функцию я не трогал, как была так и перенёс в скрипт из атмосфера, Сам знаешь скриптовик из меня аховый..))) Я переносил всё точно, вплоть до отступов от начала строки..))))
    Там может быть связано с отвязками от оригинальных локаций? тоже где то скачивал правку и переносил её...
    Сейчас попробую заменить её, посмотрю результат...
    Сообщение отредактировал Policai - Понедельник, 10.02.2020, 11:03
      Злобная реклама
    Понедельник, 10.02.2020, 11:01
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Украина  molodoy_chelovek
    Понедельник, 10.02.2020, 11:07 | Сообщение # 6120
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Цитата Policai ()
    atmosfear в configs/environment/weathers не требуется...
    странно, но при попытке поставить погоду atmosfear через set_weather мне в консоли пишет
    Цитата
    ! Invalid weather name: atmosfear
      Злобная реклама
    Понедельник, 10.02.2020, 11:07
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Поиск: