Случайная подборка модов
OGSE 0.6.9.2
4.1
NZK MOD 1.3
3.2
Путь во мгле
4.5
Ф.О.Т.О.Г.Р.А.Ф
4.2
Dragon`s MOD
2.5
Парадокс: Начало
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
    Украина  AziatkaVictor
    Вторник, 14.01.2020, 13:40 | Сообщение # 5701
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    Overfirst, ну, посути, инфопоршни как переменные, инфопоршень либо есть, либо его нет, тоесть 1 или 0. А такие значения практически ничего не весят... Тем более, раз уж даже ОП 2.1 может исправно работать при таком количестве инфопоршней, то у нас и подавно)
    Цитата denis2000 ()
    Весь вопрос где и при каких обстоятельствах упремся в этот предел
    думаю, не скоро, чтобы достичь предела, полагаю, нужно будет окола 1000 квестов или больше. Вообщем, просто невообразимое количество.)
      Злобная реклама
    Вторник, 14.01.2020, 13:40
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Украина  Warpony_Garro
    Вторник, 14.01.2020, 13:46 | Сообщение # 5702
    Статус:
    Зевака:
    Сообщений: 6
    Награды: 1
    Регистрация: 08.01.2020

    Цитата sergej5500 ()
    Откуда движок игры узнает о том, что существует файл drink.script?


    Ну дык. Скрипт к движку постучится попросит значения. В наличии они есть. wacko Я ж говорю, я не уверен ибо играю на сборке и только пару недель назад допустил неосторожность окунуться в доработку напильником. Вполне возможно что там уже сборщики вписали в корень. Или запилили какой-нить автоподхват нового хлама.
    Сообщение отредактировал Warpony_Garro - Вторник, 14.01.2020, 13:48
      Злобная реклама
    Вторник, 14.01.2020, 13:46
    Статус:
    Сообщений: 666
    Регистрация: 08.01.2020
    Российская Федерация  Overfirst
    Вторник, 14.01.2020, 14:37 | Сообщение # 5703
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата AziatkaVictor ()
    ну, посути, инфопоршни как переменные, инфопоршень либо есть, либо его нет

    Есть или нет - это одно, а сама последовательность символов, из которых состоит инфопорция - другое. Размер одного символа в нашем случае будет один равен восьми битам. Вот и считайте, что вы там хотите, однако смысла в этом нет никакого.
      Злобная реклама
    Вторник, 14.01.2020, 14:37
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Stalker_Одиночка
    Вторник, 14.01.2020, 18:01 | Сообщение # 5704
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 6
    Регистрация: 16.12.2017

    Цитата Warpony_Garro ()
    Цитата Stalker_Одиночка ()
    Файл drink.script должен как-то совмещаться с другими файлами.

    Так он совмещен сам в себе. Из основы он только id итемов и значения самочувствия берет. А все остальные эффекты он в себе же и рассчитывает и на выходе дает конкретное влияние на конкретные существующие параметры. Типа хп, усталости и т.д.

    Мб конечно я не прав, но вроде нигде сам скрипт регестрировать не нужно. Он сам тянет нужные ему калбеки и проч.


    Окей! Будем проверять...
    Сообщение отредактировал Stalker_Одиночка - Вторник, 14.01.2020, 18:03
      Злобная реклама
    Вторник, 14.01.2020, 18:01
    Статус:
    Сообщений: 666
    Регистрация: 16.12.2017
    Российская Федерация  sergej5500
    Вторник, 14.01.2020, 20:31 | Сообщение # 5705
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Добрый вечер.

    Тестирую функции очистки инвентарного ящика от хабара. Функции вызываются из логики этого бокса.

    1. Первая функция:

    function test_rukzak_1_clean_1(actor, box)
    local function calc(box,item)
    if item~=nil then
    if alife():object(item:id()) then
    alife():release(alife():object(item:id()),true)
    end
    end
    end
    box:iterate_inventory_box(calc,box)
    end

    2. Вторая функция:

    function test_rukzak_1_clean_2(actor, box, p)
    local function calc(box,item)
    if item~=nil and item:section_name() = p then
    if alife():object(item:id()) then
    alife():release(alife():object(item:id()),true)
    end
    end
    end
    box:iterate_inventory_box(calc,box)
    end

    Первая функция чистит все и работает отлично. Вторая должна удалить только определенные предметы. Вместо этого дает жука:

    FATAL ERROR

    [error]Expression : !m_error_code
    [error]Function : raii_guard::~raii_guard
    [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    [error]Line : 748
    [error]Description : ...lishing\Зов Припяти\gamedata\scripts\xr_logic.script:648: attempt to index global 'xr_effects' (a nil value)


    stack trace:

    Вызывал её строкой =test_rukzak_1_clean_2(wpn_ak74). В бокс специально положил автомат.

    Логика бокса простейшая.

    [logic]
    active = ph_idle

    [ph_idle]
    nonscript_usable = true
    tips = st_default_rukzak
    on_info = {+test_rukzak_1_clean -test_rukzak_1_clean_1} %+test_rukzak_1_clean_1 =test_rukzak_1_clean_2(wpn_ak74) =scenario_autosave(st_test_rukzak_1_clean)%

    Выдача инфопорции горячей клавишей. После чего очистка рюкзака и автосейв для контроля. Вместо этого жук.

    Как исправить функцию?
      Злобная реклама
    Вторник, 14.01.2020, 20:31
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Украина  molodoy_chelovek
    Вторник, 14.01.2020, 21:12 | Сообщение # 5706
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Цитата sergej5500 ()
    item:section_name() = p

    я не силён в луа синтаксисе, но разве тут не должно быть двойное равно? "=="
    Цитата AziatkaVictor ()
    molodoy_chelovek, нет, тут идет присваивание, когда 2 ровно это сравнение.

    Цитата sergej5500 ()
    if item~=nil and item:section_name() = p then


    Внимательнее. Это и есть сравнение.
    Сообщение отредактировал molodoy_chelovek - Вторник, 14.01.2020, 21:46
      Злобная реклама
    Вторник, 14.01.2020, 21:12
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Украина  Warpony_Garro
    Вторник, 14.01.2020, 21:21 | Сообщение # 5707
    Статус:
    Зевака:
    Сообщений: 6
    Награды: 1
    Регистрация: 08.01.2020

    Цитата Stalker_Одиночка ()
    Окей! Будем проверять...


    Это лучший выбор для разъяснения истины.
      Злобная реклама
    Вторник, 14.01.2020, 21:21
    Статус:
    Сообщений: 666
    Регистрация: 08.01.2020
    Украина  AziatkaVictor
    Вторник, 14.01.2020, 21:31 | Сообщение # 5708
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    molodoy_chelovek, нет, тут идет присваивание, когда 2 ровно это сравнение.
      Злобная реклама
    Вторник, 14.01.2020, 21:31
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  sergej5500
    Вторник, 14.01.2020, 23:48 | Сообщение # 5709
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата molodoy_chelovek ()
    разве тут не должно быть двойное равно? "=="


    Для пробы переделал функцию.

    Сначала так:

    function test_rukzak_1_clean_2(actor, box, p)
    local function calc(box,item)
    if item~=nil and item:section() == p then
    if alife():object(item:id()) then
    alife():release(alife():object(item:id()),true)
    end
    end
    end
    box:iterate_inventory_box(calc,box)
    end

    Она не сработала. Но вылет пропал.

    Затем написал так:
    прямо указал автомат

    function test_rukzak_1_clean_2(actor, box, p)
    local function calc(box,item)
    if item~=nil and item:section() == "wpn_ak74" then
    if alife():object(item:id()) then
    alife():release(alife():object(item:id()),true)
    end
    end
    end
    box:iterate_inventory_box(calc,box)
    end

    В таком виде она работает. Автомат удалился.

    Что надо дописать, что функция видела параметр р?
      Злобная реклама
    Вторник, 14.01.2020, 23:48
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Украина  molodoy_chelovek
    Среда, 15.01.2020, 00:08 | Сообщение # 5710
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Цитата sergej5500 ()
    Что надо дописать, что функция видела параметр р?

    Попробуйте так:
    Цитата
    if item~=nil and item:section() == p[1] then


    P.S и вставляйте, пожалуйста, код в спойлер, или как я выше - в цитату... Так удобнее
    Сообщение отредактировал molodoy_chelovek - Среда, 15.01.2020, 00:13
      Злобная реклама
    Среда, 15.01.2020, 00:08
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Российская Федерация  sergej5500
    Среда, 15.01.2020, 00:19 | Сообщение # 5711
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    molodoy_chelovek,

    Спасибо. Последний вариант сработал.

    Цитата molodoy_chelovek ()
    if item~=nil and item:section() == p[1] then
      Злобная реклама
    Среда, 15.01.2020, 00:19
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Украина  AziatkaVictor
    Среда, 15.01.2020, 03:27 | Сообщение # 5712
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    А где менять fov? Поставил SWTC, но уж больно Fov большой, или это правки движка? Заранее спасибо! biggrin
      Злобная реклама
    Среда, 15.01.2020, 03:27
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  Policai
    Среда, 15.01.2020, 06:23 | Сообщение # 5713
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    AziatkaVictor,
    Консолька fov - угол обзора. hud_fov - руки. Это при условии что правленый файл xrGame.dll
      Злобная реклама
    Среда, 15.01.2020, 06:23
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  Крим
    Среда, 15.01.2020, 15:14 | Сообщение # 5714
    Статус:
    Новичок:
    Сообщений: 231
    Награды: 1
    Регистрация: 21.04.2019

    Всем здравствуйте. У меня возникли проблемы с квестом:*Дойти до места*. Сначала, я создал рестриктор, зарегистрировал его, прописал ему логику:
    - в логике сказано, что при вхождения игрока в него будет выдаваться инфопоршень, выполняющий этот квест.
    Но тут возникли проблемы в игре. Когда квест выдается, он моментально выполняется, то есть игрок даже не вошел в рестриктор, а квест каким-то образом выполнился. Я сам понять не могу в чем дело. Вроде все прописано правильно.

    Квест в tm_escape:


    Функция для выдачи квеста:
      Злобная реклама
    Среда, 15.01.2020, 15:14
    Статус:
    Сообщений: 666
    Регистрация: 21.04.2019
    Украина  molodoy_chelovek
    Среда, 15.01.2020, 15:18 | Сообщение # 5715
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Крим,
    Цитата
    {=actor_in_zone(esc_der_restr)} sr_idle@end %+esc_der_bza_road_quest%
    Сообщение отредактировал molodoy_chelovek - Среда, 15.01.2020, 15:19
      Злобная реклама
    Среда, 15.01.2020, 15:18
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Поиск: