Случайная подборка модов
Doomed to Eternal Torment
3.9
Смерти вопреки. В центре чертовщины
4.1
Chernobyl Chronicles
4.2
Опасный Вирус
2.4
AVS "Закон Меченого" 2 части
3.4
Ночь перед Рождеством
3.3
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Поиск: