Случайная подборка модов
Долина Шорохов
4.5
Судьба Зоны 0.5
3.9
Обречённый город
4.2
Old Good Stalker Mod v2.4 Gold
4.2
Зачистка
4.0
Время перемен v3.0
3.6
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Российская Федерация  denis2000
    Воскресенье, 09.02.2020, 10:25 | Сообщение # 6031
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 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 | Сообщение # 6032
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    denis2000,

    Спасибо. Сейчас буду пробовать.
      Злобная реклама
    Воскресенье, 09.02.2020, 11:22
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  yobakun
    Воскресенье, 09.02.2020, 12:35 | Сообщение # 6033
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 6034
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 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 | Сообщение # 6035
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 6036
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 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 | Сообщение # 6037
    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 | Сообщение # 6038
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 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 | Сообщение # 6039
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 6040
    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 | Сообщение # 6041
    Статус:
    Новичок:
    Сообщений: 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
    Российская Федерация  Neptun
    Понедельник, 10.02.2020, 13:33 | Сообщение # 6042
    Связной
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 9
    Регистрация: 25.03.2012

    Добро. Есть аномальная зона, прописана она по всем правилам, в ней спавнятся только определённые артефакты из списка. А вот я хочу дописать в неё другие арты, но не сразу, а чтобы, например, после получения инфопорции в аномальной зоне стали появляться и другого рода артефакты.
      Злобная реклама
    Понедельник, 10.02.2020, 13:33
    Статус:
    Сообщений: 666
    Регистрация: 25.03.2012
    Российская Федерация  denis2000
    Понедельник, 10.02.2020, 13:36 | Сообщение # 6043
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Policai ()
    Эту функцию я не трогал, как была так и перенёс в скрипт из атмосфера

    Какая версия Атмосфера?
    В Атмосфере V.3 файл xr_effects.script не затронут и соотвественно функция set_weather не изменилась с оригинального ЗП.
    У вас помимо того что затронут файл xr_effects.script в частности функция set_weather, НО файл level_weathers.script при этом не содержит заявленных функций.
      Злобная реклама
    Понедельник, 10.02.2020, 13:36
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Policai
    Понедельник, 10.02.2020, 13:39 | Сообщение # 6044
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата molodoy_chelovek ()
    ! Invalid weather name: atmosfear


    У тебя не работает атмосфер, неверная адаптация, у меня консоль чистая, а было такое когда начинал переносить. Я недели 3 наверно сидел с ним, Каждый файл который у меня уже был в моде, по одному сравнивал и переносил... Потом делал файлы погодные для каждой локации отдельно и добавлял. В моде 27 локаций и на каждой своя погода, каждая настраивается, делал для каждой локи отдельные файлы. Но зато сейчас работает всё как часы, в настройках атмосфера настраиваются все локи по отдельности, видео есть на ютубе...и не жрёт ресурсы практически, по крайней мере на моём калькуляторе просадок фпс не заметил ощутимых. В game_maps_single на наземных локах везде прописана atmosfear, на подземных indoor_ambient...

    Добавлено (10.02.2020, 13:49)
    ---------------------------------------------
    denis2000,

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

    Убей не могу сообразить откуда взялись эти правки в скриптах, я точно не менял сам, и тем более скрипта нет в оригинале атмосфера, значит я точно его не трогал при переносе.. а учитывая что работу с модом начинал с оригинальных файлов и просто добавлял постепенно нужное, то вообще в тупике откуда это..(((

    Осталась функция

    function ret_weather()
    level_weathers.get_weather_manager():return_weather()
    end

    В оригинале её нет совсем, откуда она взялась у меня непойму..((((
    К слову сейчас открыл оригинальные скрипты из ЗП, там и
    function set_weather нету, вернее она прописана, но закоментирована и не работала в оригинале...



    Стоит AtmosFear_3_CoP + поверх правки атмосфера из Absolute_Nature_4.01_CoP..., сейчас глянул. Absolute_Nature_4.01_CoP меняет только некоторые конфиги и текстуры...
    Сообщение отредактировал Policai - Понедельник, 10.02.2020, 14:11
      Злобная реклама
    Понедельник, 10.02.2020, 13:39
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  denis2000
    Понедельник, 10.02.2020, 14:09 | Сообщение # 6045
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

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

    Это потому, что нет файла погоды atmosfear! Об этом вам уже говорили ставьте например dynamic_default (если ее полностью не вырезали) или то что есть в Absolute_Nature: имя файла без расширения из configs\environment\weathers.


    Neptun, Для этого требуется либо переделать бинер аномальных зон bind_anomaly_zone.script либо удалять старую зону и спавнить новую с другими настройками при вашем условии.
    Сообщение отредактировал denis2000 - Понедельник, 10.02.2020, 14:18
      Злобная реклама
    Понедельник, 10.02.2020, 14:09
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Поиск: