Случайная подборка модов
Ночь Перед Рождеством 3
4.4
Призраки Прошлого 2
3.0
AVS "Закон Меченого" 2 части
3.4
Эхо Чернобыля 2
3.7
Радар - глухой лес
2.6
Lost World Troops of Doom
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
    Российская Федерация  artem23780
    Понедельник, 20.07.2020, 23:38 | Сообщение # 7906
    Статус:
    Гость:
    Сообщений: 67
    Награды: 2
    Регистрация: 26.05.2014

    Здравствуйте. Я тут задумался...
    Вот надо мне подключить новый скрипт к игре, следовательно, я прописываю его определенную функцию в, например, actor_binder:update из bind_stalker - это очевидно.
    Но нельзя ли пойти от обратного? Нет ли способа, скажем, внутри нового скрипта создать вставку для того же actor_binder:update, не трогая ванильные скрипты?
    Сообщение отредактировал artem23780 - Вторник, 21.07.2020, 03:29
      Злобная реклама
    Понедельник, 20.07.2020, 23:38
    Статус:
    Сообщений: 666
    Регистрация: 26.05.2014
    Российская Федерация  Neptun
    Вторник, 21.07.2020, 03:51 | Сообщение # 7907
    Связной
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 9
    Регистрация: 25.03.2012

    Цитата artem23780 ()
    Но нельзя ли пойти от обратного? Нет ли способа, скажем, внутри нового скрипта создать вставку для того же actor_binder:update, не трогая ванильные скрипты?

    А откуда будет вызываться скрипт? Например, с помощью определённой функции из, допустим, xr_effects. Всё зависит от назначения скрипта: если требуется разовый вызов, то можно и не прописывать в биндер; если требуется постоянный вызов, то что может быть лучше биндера?
      Злобная реклама
    Вторник, 21.07.2020, 03:51
    Статус:
    Сообщений: 666
    Регистрация: 25.03.2012
    Российская Федерация  artem23780
    Вторник, 21.07.2020, 03:59 | Сообщение # 7908
    Статус:
    Гость:
    Сообщений: 67
    Награды: 2
    Регистрация: 26.05.2014

    Neptun, да я не спорю с тем, что не стоит изобретать велосипед - биндер, разумеется, все нужды удовлетворяет. Но всё же, чисто из интереса, задумался о возможности создания неких вставок, при этом не редактируя другие скрипты - насколько это вообще реализуемо (речь идёт о постоянном вызове). Типа что-то завязанное на передаче аргументов в функцию другого скрипта. Хотя тут понятно, что для такой передачи (даже если это реализовать) нужно, опять же, вызвать этот скрипт :D. Короче муть.
    Сообщение отредактировал artem23780 - Вторник, 21.07.2020, 04:13
      Злобная реклама
    Вторник, 21.07.2020, 03:59
    Статус:
    Сообщений: 666
    Регистрация: 26.05.2014
    Российская Федерация  denis2000
    Вторник, 21.07.2020, 10:01 | Сообщение # 7909
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата artem23780 ()
    задумался о возможности создания неких вставок, при этом не редактируя другие скрипты - насколько это вообще реализуемо (речь идёт о постоянном вызове)

    Если именно в такой реализации: вызов апдейта не редактируя оригинальные скрипты, то это просто:
    1. В конфиге делаете например рестриктор с биндером в качестве которого будет выступать ваш скрипт
    2. Спавните объект любым удобным способом.
    3. В вашем скрипте-биндере регистрируете вызов колбэка update данного объекта
    4. В той функции которая зарегистрирована как колбэк update выполняете необходимые действия.

    Как передать параметры в функцию не редактируя ее:
    1. Если переменные которые нужно передать в функцию я не являются локальными, то их можно изменить из другого скрипта (пример такой переменной db.actor). Вообще может быть скрипт (-ты) который хранит все важные переменные других скриптов (пример реализации в SGM 2.2).
    2. Если функция читает параметры из конфига, то другой скрипт, в принципе, может изменить параметры в этом конфиге и стало быть повлиять на выполнение другого скрипта (хотя только после обновления данных в ini)

    А вообще функции из скриптов могут быть вызваны движком или другим скриптом, других вариантов нет.
    Сообщение отредактировал denis2000 - Вторник, 21.07.2020, 10:02
      Злобная реклама
    Вторник, 21.07.2020, 10:01
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  OP_artovod
    Вторник, 21.07.2020, 21:59 | Сообщение # 7910
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    гаспада есть возможность сделать смену визуала оружия при установке апгрейда?
      Злобная реклама
    Вторник, 21.07.2020, 21:59
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  Winsor
    Вторник, 21.07.2020, 22:00 | Сообщение # 7911
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Как редактировать координаты расположения вот этих точек? Легко ли это делать?
    Прикрепления: 7323303.png (181.9 Kb)
      Злобная реклама
    Вторник, 21.07.2020, 22:00
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  denis2000
    Вторник, 21.07.2020, 22:35 | Сообщение # 7912
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата OP_artovod ()
    есть возможность сделать смену визуала оружия при установке апгрейда?

    Да, это можно провернуть редактированием нетпакета оружия. Насколько я помню реализовано например в оружейной сборке от Albor.


    Winsor, Редактируется в inventory_upgrade.xml и inventory_upgrade_16.xml параметры point_x, point_y.
    Сообщение отредактировал denis2000 - Вторник, 21.07.2020, 23:41
      Злобная реклама
    Вторник, 21.07.2020, 22:35
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Winsor
    Четверг, 23.07.2020, 12:04 | Сообщение # 7913
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Как убрать ВСЕ такие текстуры с надписью: заменить или удалить.
    Это встретилось на новой локации, перенесённой из другого мода.
    Есть уже готовая правка?
    Прикрепления: 3574765.jpg (516.2 Kb)
      Злобная реклама
    Четверг, 23.07.2020, 12:04
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  sergej5500
    Четверг, 23.07.2020, 13:32 | Сообщение # 7914
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата Winsor ()
    Как убрать ВСЕ такие текстуры с надписью: заменить или удалить.


    Нужно в СДК определить, как называется текстура, привязанная к этому предмету. Затем взять нужную из мода-исходника. Или отредактировать текстуру.
      Злобная реклама
    Четверг, 23.07.2020, 13:32
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  OP_artovod
    Четверг, 23.07.2020, 16:50 | Сообщение # 7915
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    Цитата denis2000 ()
    Да, это можно провернуть редактированием нетпакета оружия

    к сожалению я понятия не имею как там что редактировать
      Злобная реклама
    Четверг, 23.07.2020, 16:50
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  Winsor
    Четверг, 23.07.2020, 21:34 | Сообщение # 7916
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Как проверить отрицательное значение денег у ГГ?
    Пробовал функцией if db.actor:money() < 0 then, ничего не работает.
    Как сделать так, чтобы сравнивалось с реальным, отрицательным числом?
    Думаю, что движок вместо отрицательного числа сравнивает с 0, наверное это сравнение не предусмотрено.
      Злобная реклама
    Четверг, 23.07.2020, 21:34
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  denis2000
    Четверг, 23.07.2020, 21:37 | Сообщение # 7917
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    OP_artovod, Вот поэтому я и привет сборку от Албора в качестве примера для изучения.


    Цитата Winsor ()
    Как проверить отрицательное значение денег у ГГ?

    Оно не бывает отрицательным это целое положительное число от 0 до 4 294 967 295.
    Сообщение отредактировал denis2000 - Четверг, 23.07.2020, 21:42
      Злобная реклама
    Четверг, 23.07.2020, 21:37
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Winsor
    Четверг, 23.07.2020, 22:05 | Сообщение # 7918
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    denis2000, Как-то получилось так, что такое число (4 294 967 295) рублей у ГГ в инвентаре отрицательное.
    Или это визуально отображается?
      Злобная реклама
    Четверг, 23.07.2020, 22:05
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  denis2000
    Четверг, 23.07.2020, 23:21 | Сообщение # 7919
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Winsor, То как это число храниться и то как оно отображается на экране разные вещи.
    Число монет свыше 4 294 967 296/2 будет отображено как отрицательное в инвентаре ГГ.
    Сообщение отредактировал denis2000 - Четверг, 23.07.2020, 23:24
      Злобная реклама
    Четверг, 23.07.2020, 23:21
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  dasehak
    Суббота, 25.07.2020, 13:24 | Сообщение # 7920
    Статус:
    Зевака:
    Сообщений: 4
    Награды: 0
    Регистрация: 25.07.2020

    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 : ...stalker zov jopi\gamedata\scripts\sound_theme.script:199: bad argument #1 to 'select_next_sound' (interval is empty)

    Что я натворил:
    1. Скачал модельку с интернета
    2. Создал и заспаунил НПС
    3. Прописал его в character_desc_pripyat.xml и там стоит звук <snd_config>characters_voice\human_02\monolith\</snd_config>

    UPDATE:
    Я понял причину вылета, это кривая анимация рта.

    Добавлено (25.07.2020, 14:36)
    ---------------------------------------------
    Почему когда я ставлю метку на НПС, на карте её нет?

    Сообщение отредактировал dasehak - Суббота, 25.07.2020, 13:35
      Злобная реклама
    Суббота, 25.07.2020, 13:24
    Статус:
    Сообщений: 666
    Регистрация: 25.07.2020
    Поиск: