Случайная подборка модов
ABC Inferno
3.9
Пространственная аномалия (Update 3)
4.0
Апокалипсис
4.0
Call of Misery
4.1
We Are Not Alone
4.0
Народная Солянка 2010
4.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Поиск: