Случайная подборка модов
Новое Время
3.2
История Конвона. Часть первая
3.1
Paradise Lost
3.7
Тайный путь
3.6
История Борланда.Пролог
3.8
Кровавый закат 2
3.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Российская Федерация  RoboCat
    Среда, 17.06.2020, 14:02 | Сообщение # 7381
    Статус:
    Новичок:
    Сообщений: 300
    Награды: 9
    Регистрация: 07.01.2017

    Цитата AziatkaVictor ()
    В СДК не так уж и сложно прогнать Wav файлы

    Там ещё много параметром писать
    Инструкция
    Сообщение отредактировал RoboCat - Среда, 17.06.2020, 14:03
      Злобная реклама
    Среда, 17.06.2020, 14:02
    Статус:
    Сообщений: 666
    Регистрация: 07.01.2017
    Сомали  WolfHeart
    Среда, 17.06.2020, 16:33 | Сообщение # 7382
    Статус:
    Опытный:
    Сообщений: 3154
    Награды: 18
    Регистрация: 06.06.2017

    Цитата RoboCat ()
    Там ещё много параметром писать

    Так в этом и заключается правильная настройка звуков.
    Что бы избитая фраза: "С чем пожаловал", не звучала на всю локацию. biggrin
    А если посмотреть внимательно, то в Инструкции, можно увидить раздел "Шаблоны для начинающих", всего-то 6-ть параметров. wink
    Сообщение отредактировал WolfHeart - Среда, 17.06.2020, 16:33
      Злобная реклама
    Среда, 17.06.2020, 16:33
    Статус:
    Сообщений: 666
    Регистрация: 06.06.2017
    Украина  AziatkaVictor
    Среда, 17.06.2020, 16:43 | Сообщение # 7383
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    RoboCat, не так уж и много, тем более, их не так уж и долго писать. А скачивать какую-то прогу, если есть уже готовый и простой вариант - такое себе.
      Злобная реклама
    Среда, 17.06.2020, 16:43
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  Winsor
    Среда, 17.06.2020, 16:47 | Сообщение # 7384
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Почему при наведении курсором по предмету не высвечивается нужная надпись, которая написана в секции предмета(inv_name_short)?
    Я специально прописывал короткие названия предметам в st_items_equipment. И в самой секции прописывал ссылку на тег.

    Как восстановить эту функцию?
    Прикрепления: 4676007.jpg (429.9 Kb) · 8273677.jpg (373.7 Kb)
    Сообщение отредактировал Winsor - Среда, 17.06.2020, 16:48
      Злобная реклама
    Среда, 17.06.2020, 16:47
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  sergej5500
    Среда, 17.06.2020, 17:33 | Сообщение # 7385
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

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

    Допустим, в рюкзаке ГГ есть патроны - ammo_5.45x39_fmj - 227 шт (условно). С помощью какой функции можно изъять из рюкзака от 30 до 60 патронов - число рандомно. Функция должна вызывается из логики рестриктора.
      Злобная реклама
    Среда, 17.06.2020, 17:33
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Украина  AziatkaVictor
    Среда, 17.06.2020, 19:01 | Сообщение # 7386
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    sergej5500, ТЫК. А саму функцию по изьятию предмета можно в интернете найти.
      Злобная реклама
    Среда, 17.06.2020, 19:01
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  denis2000
    Среда, 17.06.2020, 21:04 | Сообщение # 7387
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    sergej5500, Поштучно удалить патроны, просто так нельзя, можно только пачку. Конечно можно перед удалением пачки считать через нетпакет сколько там патронов, а потом добавлять разницу или удалять еще одну пачку если не хватило этой. Точно нужен такой гемор?


    Сообщение отредактировал denis2000 - Четверг, 18.06.2020, 09:29
      Злобная реклама
    Среда, 17.06.2020, 21:04
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  sergej5500
    Среда, 17.06.2020, 21:30 | Сообщение # 7388
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата denis2000 ()
    Точно нужен такой гемор?


    Да не особо. Идея была такая.

    В Зове Припяти игрок осуществляет переходы между локациями с Лоцманом. Или внутрилокационные переходы со случайными сквадами сталкеров.

    Задумали при каждом таком переходе рандомно изнашивать оружие и броню в активных слотах. Как будто при переходе бывают разные случайности. И снаряга изнашивается.

    Функцию для рандомного износа снаряги написать несложно.

    Как приложение к этой функции была задумка удалить из инвентаря некоторое кол-во патронов. Будто бы их расстреляли. Но для этого патроны желательно удалять поштучно.

    Ну нет такой функции - так нет. И без неё обойдемся.

    Добавлено (17.06.2020, 23:01)
    ---------------------------------------------
    Добрый вечер.

    Можно ли прописать бустеру - аптечке - ухудшение здоровья ГГ и заражение ГГ радиацией.

    Прописал в конфиг отрицательные числа

    boost_health_restore = -0.5
    boost_radiation_restore = -0.9

    Результат нулевой. Это вообще сработает?

      Злобная реклама
    Среда, 17.06.2020, 21:30
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  denis2000
    Четверг, 18.06.2020, 09:27 | Сообщение # 7389
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата sergej5500 ()
    Ну нет такой функции - так нет.

    Почему нет? Я вам ее привел, только ее допилить требуется в части получения количества патронов в пачке через нетпакет.
    Не устраивает такая функция просто перед переходом разряжаете скриптом активный ствол (или ствол из нужного слота) и прячете ствол за спину ГГ (это все скриптово легко реализуется) вот вам и будут отстрелянные патроны.
    В конце концов удаляйте одну пачку и получите от рандом отстрелянных патронов 1 до объема пачки.

    Цитата sergej5500 ()
    Это вообще сработает?

    Нет конечно, вы же это сами проверили! Судя по всему движек не ожидает там отрицательных параметров, вот и не реагирует. Значит придется делать это через скрипты, отрабатывая колбек на использования предметов-бустеров.
      Злобная реклама
    Четверг, 18.06.2020, 09:27
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  OP_artovod
    Четверг, 18.06.2020, 09:53 | Сообщение # 7390
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : ..\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ...call of pripyat\gamedata\scripts\bind_stalker.script:507: attempt to concatenate field '?' (a nil value)

    что за вылет? при любой загрузке сейва, при любом переходе он.
      Злобная реклама
    Четверг, 18.06.2020, 09:53
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  sergej5500
    Четверг, 18.06.2020, 11:29 | Сообщение # 7391
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата denis2000 ()
    Судя по всему движек не ожидает там отрицательных параметров, вот и не реагирует. Значит придется делать это через скрипты, отрабатывая колбек на использования предметов-бустеров.


    Спасибо. Я примерно так и подумал. Просто хотел еще раз уточнить, прежде чем лезть в скрипты.

    Цитата OP_artovod ()
    Description : ...call of pripyat\gamedata\scripts\bind_stalker.script:507: attempt to concatenate field '?' (a nil value)


    Хотелось бы посмотреть на 507 строку из вашего bind_stalker. Какой то параметр не определен.
      Злобная реклама
    Четверг, 18.06.2020, 11:29
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Winsor
    Четверг, 18.06.2020, 11:48 | Сообщение # 7392
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Два вопроса всё ещё остаются без ответа.
    Вопрос 1: Жми
    Вопрос 2: Жми (Ссылка не найдена/истёк срок скачивания.)
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
    OP_artovod, Если правил bind_stalker то пиши сразу, какая строка, а то гадать придётся.
    В оригинальном файле 507 строчка:
    for i = 1,count do
    в функции function spawn_achivement_items
    Сообщение отредактировал Winsor - Четверг, 18.06.2020, 11:49
      Злобная реклама
    Четверг, 18.06.2020, 11:48
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  OP_artovod
    Четверг, 18.06.2020, 13:29 | Сообщение # 7393
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    function actor_binder:load(reader)
    set_save_marker(reader, "load", false, "actor_binder")
    object_binder.load(self, reader)
    --' Загружаем уровень сложности
    local game_difficulty = reader:r_u8()
    printf("load game_difficulty %s", tostring(game_difficulty))
    вот это 507 строка get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty])
    local stored_input_time = reader:r_u8()
    if stored_input_time == true then
    self.st.disable_input_time = utils.r_CTime(reader)
    end
    xr_logic.pstor_load_all(self.object, reader)
    self.weather_manager:load(reader)
    release_body_manager.get_release_body_manager():load(reader)
    -- self.surge_manager:initialize()
    -- AtmosFear
    self.atmosfear:load(reader)
    self.psi_storm_manager:load(reader)
    self.fallout_manager:load(reader)
    self.f_psi_storm_manager_loaded = true
    -- End AtmosFear
    self.surge_manager:load(reader)
    self.f_surge_manager_loaded = true
    sr_psy_antenna.load(reader)
    sim_board.get_sim_board().simulation_started = reader:r_bool()

    xr_sound.actor_load(reader)
    local n = reader:r_stringZ()
    if(n~="nil") then
    self.last_level_name = n
    end
    xr_statistic.load(reader)
    treasure_manager.get_treasure_manager():load(reader)
    n = reader:r_u8()
    for i = 1,n do
    db.script_ids[reader:r_u16()] = reader:r_stringZ()
    end

    task_manager.get_task_manager():load(reader)

    -- self.actor_weapon_on_start = reader:r_bool()

    self.loaded_active_slot = reader:r_u8()

    self.loaded_slot_applied = false

    local b = reader:r_bool()
    if(b) then
    self.deimos_intensity = reader:r_float()
    end

    local stored_achievement_time = reader:r_bool()
    if stored_achievement_time == true then
    self.last_detective_achievement_spawn_time = utils.r_CTime(reader)
    end
    stored_achievement_time = reader:r_bool()
    if stored_achievement_time == true then
    self.last_mutant_hunter_achievement_spawn_time = utils.r_CTime(reader)
    end
    set_save_marker(reader, "load", true, "actor_binder")
    end
      Злобная реклама
    Четверг, 18.06.2020, 13:29
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  denis2000
    Четверг, 18.06.2020, 13:47 | Сообщение # 7394
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    OP_artovod, Типичная проблема битых сейвов! В строке local game_difficulty = reader:r_u8() из нетпакета актора считывается значение переменной от 0 до 3 (в цифровом виде значение уровня сложности игры) но считанное значение не попало в указанный диапазон, в результате вылет. Нужно искать причину краша сохранений, а это не тривиальная и очень увлекательная задача.


    Winsor, Вопрос 2: Мод Медицина
    Сообщение отредактировал denis2000 - Четверг, 18.06.2020, 15:37
      Злобная реклама
    Четверг, 18.06.2020, 13:47
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Winsor
    Четверг, 18.06.2020, 17:01 | Сообщение # 7395
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Как разрешить НПС кидать дымовые гранаты и по возможности не дать видеть им сквозь дым?
      Злобная реклама
    Четверг, 18.06.2020, 17:01
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Поиск: