Случайная подборка модов
Время Альянса
2.9
Возвращение Шрама
3.9
История Борова
3.5
В западне
3.9
Хроники Зоны: Viam Fata
3.0
Я - Призрак
2.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
    Великобритания  Voland-777
    Среда, 06.02.2019, 11:20 | Сообщение # 3076
    Статус:
    Новичок:
    Сообщений: 246
    Награды: 2
    Регистрация: 12.04.2016

    denis2000, в СГМ-опциях, в разделе "Оптимизация", есть пункт "Удалить СГМ-мины", он никак не влияет на мины, которые заспавнены на новых локациях.
      Злобная реклама
    Среда, 06.02.2019, 11:20
    Статус:
    Сообщений: 666
    Регистрация: 12.04.2016
    Российская Федерация  denis2000
    Среда, 06.02.2019, 15:39 | Сообщение # 3077
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Voland-777, По этой опции запускается скрипт который чистит объекты имеющие в своей секции строку: "_mine_trap_"

    Проверяйте конфиг файл config_minetraps.ltx видимо там неспокойно.
    Сообщение отредактировал denis2000 - Среда, 06.02.2019, 15:48
      Злобная реклама
    Среда, 06.02.2019, 15:39
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Великобритания  Voland-777
    Среда, 06.02.2019, 18:05 | Сообщение # 3078
    Статус:
    Новичок:
    Сообщений: 246
    Награды: 2
    Регистрация: 12.04.2016

    denis2000, в sgm_objects.ltx создал такую секцию, по которой оформлены и секции для мин Затона, Юпитера и Припяти

    Потом в configs_minetraps.ltx делаю непосредственно сами мины на локациях:

    Что тут еще не так?
      Злобная реклама
    Среда, 06.02.2019, 18:05
    Статус:
    Сообщений: 666
    Регистрация: 12.04.2016
    Российская Федерация  Policai
    Среда, 06.02.2019, 18:40 | Сообщение # 3079
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Народ!

    Подскажите причину вылета:

    Получено достижение "Отмеченный зоной" Во время выброса падает здоровье, но не умираю, в конце иконка про выброс - "Задание выполнено" и вылет:

    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ... - dead city breakthrough\gamedata\scripts\_g.script:492: bad argument #2 to 'format' (string expected, got nil)

    Где искать проблемы, файлы относящиеся к выбросу и достижениям не трогал, всё родное ЗП.
      Злобная реклама
    Среда, 06.02.2019, 18:40
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  sergej5500
    Среда, 06.02.2019, 19:59 | Сообщение # 3080
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата Voland-777 ()
    Это пробная мина:
    [e_minetrap_1]:e_minetrap


    Цитата denis2000 ()
    запускается скрипт который чистит объекты имеющие в своей секции строку: "_mine_trap_"


    Вроде все очевидно. Чистятся предметы с названием _mine_trap_. Твоя мина называется _minetrap_.

    Добавлено (06.02.2019, 20:04)
    ---------------------------------------------

    Цитата Policai ()
    Где искать проблемы, файлы относящиеся к выбросу и достижениям не трогал, всё родное ЗП.


    Выложи функцию из g.scripts, в которой есть 492 строка.
      Злобная реклама
    Среда, 06.02.2019, 19:59
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Policai
    Среда, 06.02.2019, 20:08 | Сообщение # 3081
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата sergej5500 ()
    Выложи функцию из g.scripts, в которой есть 492 строка.


    Да это вывод лога

    490 -- Крешнуть игру (после вывода сообщения об ошибке в лог)
    function abort(fmt, ...)
    local reason = string.format(fmt, ...)
    --error_log(reason)
    end
      Злобная реклама
    Среда, 06.02.2019, 20:08
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  sergej5500
    Среда, 06.02.2019, 20:12 | Сообщение # 3082
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Policai,

    Ещё пара вопросов.

    До получения достижения "Отмеченный Зоной" такие вылеты были?

    Вылеты наблюдаются на всех локациях, или на какой-то одной?
      Злобная реклама
    Среда, 06.02.2019, 20:12
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Policai
    Среда, 06.02.2019, 20:15 | Сообщение # 3083
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Вылет только этот, впервые.
      Злобная реклама
    Среда, 06.02.2019, 20:15
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  sergej5500
    Среда, 06.02.2019, 20:17 | Сообщение # 3084
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Policai,

    Вероятнее всего, проблема с логикой НПС или рестриктора. После выброса кто-то переходит на несуществующую или ошибочную секцию. Проверяй логику на локации, на которой случился вылет.
      Злобная реклама
    Среда, 06.02.2019, 20:17
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  denis2000
    Среда, 06.02.2019, 20:36 | Сообщение # 3085
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Voland-777,
    Скриптом чистятся объекты содержащие в секции текст: "_mine_trap_"
    Вы создаете мины с именем секции: "esc_mine_trap". Тут явно что-то не так.


    Policai, Функция abort - универсальное средство прервать выполнение в случае обнаружения ошибки в скрипте, эту функцию могут вызвать множество других, а для определения подробностей раскоментируйте вывод сообщения об ошибке
    Код
    --error_log(reason)
    теперь вы будете получать внятный текст в случае вызова этой функции.
    Сообщение отредактировал denis2000 - Среда, 06.02.2019, 20:44
      Злобная реклама
    Среда, 06.02.2019, 20:36
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Великобритания  Voland-777
    Среда, 06.02.2019, 21:41 | Сообщение # 3086
    Статус:
    Новичок:
    Сообщений: 246
    Награды: 2
    Регистрация: 12.04.2016

    denis2000, пытался привязать даже на секцию мин с Затона - без толку, переименовывал под образец все, что возможно - опция убора мин все ровно игнорирует эти мины. Даже попытался пропихнуть в список мин Припяти - без толку, похоже, дело не в названии, а в каком-то ограничении. Возможно, где-то надо еще новые уровни прописать? Ведь в оригинале, например, мина в пещере на Болотах так же игнорировалась.
    Сообщение отредактировал Voland-777 - Среда, 06.02.2019, 22:33
      Злобная реклама
    Среда, 06.02.2019, 21:41
    Статус:
    Сообщений: 666
    Регистрация: 12.04.2016
    Российская Федерация  sergej5500
    Среда, 06.02.2019, 22:31 | Сообщение # 3087
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Voland-777,

    А в sgm_objects уровень прописан?
      Злобная реклама
    Среда, 06.02.2019, 22:31
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Великобритания  Voland-777
    Среда, 06.02.2019, 22:36 | Сообщение # 3088
    Статус:
    Новичок:
    Сообщений: 246
    Награды: 2
    Регистрация: 12.04.2016

    sergej5500, прописывал туда для каждой локации отдельную секцию мины, сверял, чтобы не было несоответствий (впрочем, в таких случаях у меня выкидывала игра с руганью на несуществующую секцию). Думал, что в них проблема, вбил мины сначала на базе локаций ЗП, потом мины на Кордоне закинул в список мин Припяти - все так же не реагирует на опцию.
      Злобная реклама
    Среда, 06.02.2019, 22:36
    Статус:
    Сообщений: 666
    Регистрация: 12.04.2016
    Российская Федерация  sergej5500
    Среда, 06.02.2019, 23:10 | Сообщение # 3089
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата Voland-777 ()
    Припяти - все так же не реагирует на опцию.


    Могу предложить еще поправить скрипт. Вместо string.find(obj:section_name(),"_mine_trap_") напиши

    (string.find(obj:section_name(),"_mine_trap_") or string.find(obj:section_name(),"_minetrap_"))

    Посмотри, что будет.
      Злобная реклама
    Среда, 06.02.2019, 23:10
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  makdm
    Среда, 06.02.2019, 23:54 | Сообщение # 3090
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата Voland-777 ()
    опция убора мин все ровно игнорирует эти мины.

    Цитата sergej5500 ()
    Могу предложить еще поправить скрипт


    Метод, удаляющий мины из игры находится в файле ui_mod_optimization.script
    Метод вызывает функцию clear_all_objects("mine"), которая находится в файле _g.script
    function mod_optimization:func_clean_mines()
    clear_all_objects("mine")
    --
    --

    В файле _g.script проверка на удаление мин в функции clear_all_objects выглядит так:

    elseif victim_type=="mine" then
    for a=1,65534 do
    local obj=alife():object(a)
    if obj and obj:section_name()~=nil and string.find(obj:section_name(),"_mine_trap_") then
    if range_min==nil and range_max==nil then
    remove_object_by_id(obj.id)
    --
    --
    Что тут непонятно?
    Идет "перебор" всех объектов в игре и удаляются те объекты, которые в названии секции имеют шаблон "_mine_trap_"
    Всё!!!
    Ничего и нигде дополнительно прописывать не нужно. Единственное условие озвучено выше.
      Злобная реклама
    Среда, 06.02.2019, 23:54
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Поиск: