Случайная подборка модов
Reach mod + Slenderman
3.5
SRP mod
3.9
Another Zone Mod. Пролог
4.2
Большая Зона
3.4
Ветер времени
4.5
Old Story
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Поиск: