Случайная подборка модов
Хроники Кайдана
3.6
Блудный сын
2.8
Закон Дегтярева
3.5
Зачистка
4.0
Путь Бандита
2.0
Погоня за Праздником
3.8
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Украина  Warpony_Garro
    Вторник, 14.01.2020, 12:16 | Сообщение # 5656
    Статус:
    Зевака:
    Сообщений: 6
    Награды: 1
    Регистрация: 08.01.2020

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


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





    Мб конечно я не прав, но вроде нигде сам скрипт регестрировать не нужно. Он сам тянет нужные ему калбеки и проч.
    Сообщение отредактировал Warpony_Garro - Вторник, 14.01.2020, 12:17
      Злобная реклама
    Вторник, 14.01.2020, 12:16
    Статус:
    Сообщений: 666
    Регистрация: 08.01.2020
    Российская Федерация  denis2000
    Вторник, 14.01.2020, 12:22 | Сообщение # 5657
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата sergej5500 ()
    как писал выше Денис - (на инфопорции для игрока есть лимит) - то и на квесты места может не хватить.

    Я еще не слышал, чтобы кто-то уткнулся в лимит инфопорций. Даже та приблизительная цифра котрую я привел - огромная. При этом инфопорции могут выдаваться не только actor-у, но и другим объектам (рестрикторам, ящикам, НПС, мутантам...).
    Цитата sergej5500 ()
    Если секционное имя у всех ящиков будет одинаковое

    Важный коментарий: имя секционное одинаковое, но имя объекта уникальное, за счет ид-объекта, как и сказал уважаемый makdm.
    Сообщение отредактировал denis2000 - Вторник, 14.01.2020, 12:25
      Злобная реклама
    Вторник, 14.01.2020, 12:22
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  sergej5500
    Вторник, 14.01.2020, 12:25 | Сообщение # 5658
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Денис, Дмитрий - спасибо за ответы.

    Warpony_Garro,

    Ваши скрипты меня заинтересовали. Один вопрос. Откуда движок игры узнает о том, что существует файл drink.script?
      Злобная реклама
    Вторник, 14.01.2020, 12:25
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Украина  AziatkaVictor
    Вторник, 14.01.2020, 12:36 | Сообщение # 5659
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    sergej5500, как я понял, это прописывают в файле bind_stalker.script (вроде так).
      Злобная реклама
    Вторник, 14.01.2020, 12:36
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  Overfirst
    Вторник, 14.01.2020, 12:52 | Сообщение # 5660
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Ограничений на количество инфопорций нет. Они хранятся в динамической памяти, сейчас узнавал. Но лучше всё же не злоупотреблять количеством. Сейчас выдал более 100К инфопорций, так у меня сейв в пять раз больше среднего стал весить. Грузиться такой будет на порядок дольше. smile
      Злобная реклама
    Вторник, 14.01.2020, 12:52
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  denis2000
    Вторник, 14.01.2020, 13:07 | Сообщение # 5661
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Overfirst ()
    Ограничений на количество инфопорций нет.

    Все имеет свои ограничения в ПК (даже наша вселенная считается не бесконечной). Динамическая память, дисковое пространство, размер файлов, разрядность переменных. Весь вопрос где и при каких обстоятельствах упремся в этот предел biggrin
    Сообщение отредактировал denis2000 - Вторник, 14.01.2020, 13:10
      Злобная реклама
    Вторник, 14.01.2020, 13:07
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Overfirst
    Вторник, 14.01.2020, 13:18 | Сообщение # 5662
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    denis2000, это ясное дело. Но забить хотя бы мегабайт памяти инфопорциями - это надо уметь, так что можно сказать, что ограничения несущественны. biggrin
      Злобная реклама
    Вторник, 14.01.2020, 13:18
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Украина  AziatkaVictor
    Вторник, 14.01.2020, 13:40 | Сообщение # 5663
    Статус:
    Опытный:
    Сообщений: 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 | Сообщение # 5664
    Статус:
    Зевака:
    Сообщений: 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 | Сообщение # 5665
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

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

    Есть или нет - это одно, а сама последовательность символов, из которых состоит инфопорция - другое. Размер одного символа в нашем случае будет один равен восьми битам. Вот и считайте, что вы там хотите, однако смысла в этом нет никакого.
      Злобная реклама
    Вторник, 14.01.2020, 14:37
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Stalker_Одиночка
    Вторник, 14.01.2020, 18:01 | Сообщение # 5666
    Статус:
    Отмычка:
    Сообщений: 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 | Сообщение # 5667
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 5668
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 5669
    Статус:
    Зевака:
    Сообщений: 6
    Награды: 1
    Регистрация: 08.01.2020

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


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

    molodoy_chelovek, нет, тут идет присваивание, когда 2 ровно это сравнение.
      Злобная реклама
    Вторник, 14.01.2020, 21:31
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Поиск: