Случайная подборка модов
NEYA: Thunderstorm
2.9
Lost World 3.0
3.9
Prosectors Project
4.0
АльтернативА 1.3.2
3.2
Время перемен v1.0
3.8
Под прикрытием смерти
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Российская Федерация  SozdateL
    Понедельник, 29.04.2019, 18:47 | Сообщение # 3556
    Статус:
    Зевака:
    Сообщений: 3
    Награды: 0
    Регистрация: 27.04.2019

    Всем привет посоны! Увлекся моддингом совсем недавно (неделя), навыков программиста тоже нет, так что если я несу полную дичь, просьба отнестись с пониманием и объяснить.
    Главный вопрос: какой нужен скрипт, чтобы title и target обновлялись, при наличии нужного кол-ва одинаковых предметов и как его прописать в title и target в файле tm_zaton.ltx
    Вообщем суть такая:
    Есть квест на поиск 10 артефактов "Кристалл". Для проверки их наличия (в диалоге, в прекондишине, дабы стал доступен диалог на их передачу) использую такой скрипт:

    Код

    function zaton_tremor_quest_have_10_kristall(first_speaker, second_speaker)
    local item_sections = {"af_cristall"}
    local needed = 10
    local count = 0
    local item_section
    local function calc(temp, item)
    if item:section() == item_section then
    count = count + 1
    end
    end
    for k,v in pairs(item_sections) do
    item_section = v
    get_story_object("actor"):iterate_inventory(calc, actor)
    end
    return count >= needed
    end


    Все работает без нареканий.
    Но при попытке вписать эту функцию в строку "title" или "target"(в файле tm_zaton.ltx) получаю вылет. Пробовал ее по всякому туда впихать - все тщетно, максимум чего удалось добиться это не правильная работа, т.е. она срабатывает независимо от того есть 10 кристаллов или нет(вар 2). Начал догадываться, что этот скрипт не годится в данной ситуации?

    Код


    title = {=zaton_tremor_quest_have_10_kristall} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0    //1 вар

    title = {zaton_tremor_quest_have_10_kristall(true)} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0  //2 вар


    Так же нашел в каком то гайде такой скрипт:

    Код


    fucntion has_item_by_count(actor, npc, p)
        if p[1] == nil or p[2] == nil then abort("Error in fucntion has_item_by_count") end
        local need_cnt = tonumber(p[2]) or 1
        local cnt = 0
        local function iter_inv(t, item)
      if item:section() == p[1] then
       cnt = cnt + 1
      end
        end
        actor:iterate_inventory(iter_inv, actor)
    return cnt >= need_cnt
    end


    В квесте он там был прописан так:

    Код
    title = {=has_item_by_count(kolbasa:5)}quest_5_kolbas_gavay_tit_2, quest_5_kolbas_gavay_tit_1


    тут речь шла о колбасе, не стал ничего менять, в рамках теста, скопипастил все как есть - вылет.

    И вообще инфы на эту тему крайне мало нашел, либо вообще не говорят про это, либо говорят что это слишком сложно, бред. Не думал что это станет такой проблемой, выручайте!
      Злобная реклама
    Понедельник, 29.04.2019, 18:47
    Статус:
    Сообщений: 666
    Регистрация: 27.04.2019
    Российская Федерация  denis2000
    Понедельник, 29.04.2019, 19:30 | Сообщение # 3557
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    SozdateL, Получаете вылет - вкладываете свои правки подробно и лог вылета.
    Зачем изобретать велосипед если нужную функцию вы сами приводите?
    Код
    title = {=has_item_by_count(af_cristall:10)} title_2, title_1
    target = {=has_item_by_count(af_cristall:10)} target_2, target_1


    Функции кондлистов (кондлист или conditions list - это то что фигурирует в скобках {}) всегда беруться из скрипта xr_conditions.script. В данный скрипт предусмотрена передача параметров указанных в круглых скобках в виде таблицы.
    Функции же упоминаемые в диалогах берутся из указанного в префиксе функции скрипта:
    Код
    <precondition>dialogs_jupiter.jup_b47_employ_squad</precondition>

    тоесть скрипт dialogs_jupiter.script функция jup_b47_employ_squad и передача дополнительных параметров не предусмотрена.
    Сообщение отредактировал denis2000 - Понедельник, 29.04.2019, 19:39
      Злобная реклама
    Понедельник, 29.04.2019, 19:30
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Gajaba
    Понедельник, 29.04.2019, 23:25 | Сообщение # 3558
    Статус:
    Отмычка:
    Сообщений: 92
    Награды: 1
    Регистрация: 19.02.2017

    Какие именно параметры нужно редактировать и какие значения ставить, чтобы НПС могли умирать от кровотечений, как в dead air? И люди, и мутанты, все.
      Злобная реклама
    Понедельник, 29.04.2019, 23:25
    Статус:
    Сообщений: 666
    Регистрация: 19.02.2017
    Российская Федерация  Крим
    Вторник, 30.04.2019, 01:06 | Сообщение # 3559
    Статус:
    Новичок:
    Сообщений: 231
    Награды: 1
    Регистрация: 21.04.2019

    Скомпилировал локацию и все остальное. Перенес их в игру. При загрузочном экране происходит вылет. Окно с вылетом открыть не могу, видимо не хочет. Помогите, пожалуйста?
    Прикрепления: 9182393.png (928.2 Kb)
      Злобная реклама
    Вторник, 30.04.2019, 01:06
    Статус:
    Сообщений: 666
    Регистрация: 21.04.2019
    Российская Федерация  Policai
    Вторник, 30.04.2019, 03:57 | Сообщение # 3560
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Народ! Что то туплю, напомните плиз как убрать карканье ворон с лаем собак и ветер с листвой, на подземной локе.. бокс nosun стоит, амбиент вроде где то прописывать нужно но не помню где.
      Злобная реклама
    Вторник, 30.04.2019, 03:57
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  denis2000
    Вторник, 30.04.2019, 08:27 | Сообщение # 3561
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Policai, В конфиге game_maps_single.ltx:
    Код
    weathers = indoor_ambient

    или
    Код
    weathers = indoor

    аналогично и в game_levels.ltx
    Сообщение отредактировал denis2000 - Вторник, 30.04.2019, 09:01
      Злобная реклама
    Вторник, 30.04.2019, 08:27
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Policai
    Вторник, 30.04.2019, 08:40 | Сообщение # 3562
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата
    weathers = indoor_ambient


    Точно.. спасибо Денис. Вылетело из головы, тестирую на оригинале ЗП не распакованном, файл на глаза не попался...
      Злобная реклама
    Вторник, 30.04.2019, 08:40
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  denis2000
    Вторник, 30.04.2019, 09:33 | Сообщение # 3563
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Gajaba ()
    Какие именно параметры нужно редактировать и какие значения ставить, чтобы НПС могли умирать от кровотечений, как в dead air?

    Параметры кровотечения:
    Код
    bleeding_v = 0.04    ;потеря крови при номинальной ране в секунду
    wound_incarnation_v    = 0.05  ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
    min_wound_size = 0.01 ;минимальный размер раны

    Но насколько мне не изменяет память смерть от кровотечения отключена в движке, возможно я не прав.
      Злобная реклама
    Вторник, 30.04.2019, 09:33
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Беларусь  sektor_aka
    Вторник, 30.04.2019, 12:19 | Сообщение # 3564
    Статус:
    Опытный:
    Сообщений: 1343
    Награды: 6
    Регистрация: 07.03.2016

    Крим, если хочешь моддить, то следует знать мат. часть. А именно, где хранятся все логи: https://modders.pro/Поиск_решения_вылета
      Злобная реклама
    Вторник, 30.04.2019, 12:19
    Статус:
    Сообщений: 666
    Регистрация: 07.03.2016
    Российская Федерация  StalkerSnowy
    Вторник, 30.04.2019, 13:18 | Сообщение # 3565
    Статус:
    Зевака:
    Сообщений: 18
    Награды: 0
    Регистрация: 17.06.2018

    Вот зарегистрировал я в скриптах новый вид анимпоинта, в тех же скриптах, что и оригинальные анимпоинты. Анимации на месте (они оригинальные, sit_ass и ему подобные). Но в игре нпс проигрывает анимацию занимания анимпоинта, и игра вылетает с логом:
    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ... pripyat\gamedata\scripts\state_mgr_animation.script:248: attempt to index local 'state' (a nil value)

    На несколько раз проверял, код точно правильный. Из CoC даже вытаскивал такой же анимпоинт, но вылет тот же
      Злобная реклама
    Вторник, 30.04.2019, 13:18
    Статус:
    Сообщений: 666
    Регистрация: 17.06.2018
    Российская Федерация  Крим
    Вторник, 30.04.2019, 13:35 | Сообщение # 3566
    Статус:
    Новичок:
    Сообщений: 231
    Награды: 1
    Регистрация: 21.04.2019

    Неудачник Крим вернулся с новой ошибкой, помогите решить, пожалуйста:
      Злобная реклама
    Вторник, 30.04.2019, 13:35
    Статус:
    Сообщений: 666
    Регистрация: 21.04.2019
    Российская Федерация  Gajaba
    Вторник, 30.04.2019, 15:21 | Сообщение # 3567
    Статус:
    Отмычка:
    Сообщений: 92
    Награды: 1
    Регистрация: 19.02.2017

    Цитата denis2000 ()
    Но насколько мне не изменяет память смерть от кровотечения отключена в движке, возможно я не прав

    Не знаю. Я в теме Dead Air (в моде реализовано кровотечение и смерть от него) спрашивал - мне сказали что эта фича есть изначально даже в ваниле. И сюда направили со всеми вопросами, чтобы не оффтопил.
    Сообщение отредактировал Gajaba - Вторник, 30.04.2019, 15:29
      Злобная реклама
    Вторник, 30.04.2019, 15:21
    Статус:
    Сообщений: 666
    Регистрация: 19.02.2017
    Российская Федерация  Aurelio
    Вторник, 30.04.2019, 15:35 | Сообщение # 3568
    Статус:
    Зевака:
    Сообщений: 21
    Награды: 0
    Регистрация: 15.04.2019

    Есть ли способ управлять доступностью для определенной фракции/блокировать отдельные граф-пойнты? К примеру чтобы заблокировать переход Кордон/Болота через тоннель для всех кроме военных/экологов/мутантов или переход МГ/Янтарь для гуманоидов при условии работающего выжигателя?
      Злобная реклама
    Вторник, 30.04.2019, 15:35
    Статус:
    Сообщений: 666
    Регистрация: 15.04.2019
    Беларусь  sektor_aka
    Вторник, 30.04.2019, 15:35 | Сообщение # 3569
    Статус:
    Опытный:
    Сообщений: 1343
    Награды: 6
    Регистрация: 07.03.2016

    Цитата Крим ()
    UIMapWnd.cpp

    https://modders.pro/UIMapWnd.cpp

    Рекомендовал бы не спрашивать о вылетах в теме, а прежде самому искать их.
    В ссылке что я приводил выше, прочитай раздел "поиск по сайту".
      Злобная реклама
    Вторник, 30.04.2019, 15:35
    Статус:
    Сообщений: 666
    Регистрация: 07.03.2016
    Российская Федерация  denis2000
    Вторник, 30.04.2019, 15:45 | Сообщение # 3570
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Gajaba ()
    мне сказали что эта фича есть изначально даже в ваниле

    Значит, параметры я привел, разбирайтесь и правьте. А если утверждается, что работает даже в оригинале, то ваш вопрос смысл теряет!


    StalkerSnowy, Все таки не до прописали анимпоинт.
    Сообщение отредактировал denis2000 - Вторник, 30.04.2019, 15:54
      Злобная реклама
    Вторник, 30.04.2019, 15:45
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Поиск: