Перейти к содержанию

Рекомендуемые сообщения

 
 

Как исправить данный баг?
Перед этим я удалил строчку из движка, вызывающий звук actor\breath_1.ogg
Это мне нужно было чтобы сделать 2 варианта озвучки и по условиям.
Пробовал перед функцией вызова звука (xr_sound.set_sound_play) ставить return, но ничего не менялось.
Даже если прописывать вместо секции путь до файла со звуком, ничего не меняется.

 

Спойлер

Проблема в том, что звук не зацикливается, хотя вызов данной функции происходит в апдейт игрока (несколько десятков раз в секунду!). Если вместо функции set_sound_play применять play_sound_looped, то звук будет проигрываться с того места где БЫЛ актёр на момент вызова функции.
По моей задумке при окончании звука сразу же должен воспроизводиться точно такой же звук (зацикливаться) до тех пор, пока выносливость ГГ менее 18%.


Свойства звуков:

[breath_low]
type = actor
npc_prefix = false
path = actor\breath_1
shuffle = rnd
idle = 1,1,100

[breath_very]
type = actor
npc_prefix = false
path = actor\breath_2
shuffle = rnd
idle = 1,1,100

Изменено пользователем Winzor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте.

Как проверить что секция предмета который я спавню существует? Чтобы в противном случае игра не вылетала по причине can't open section.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
47 минут назад, Крим сказал:

Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал?

В spawn_section пропишите это:

[Ваш NPC]:stalker_silent
$spawn                     = "respawn\Ваш NPC"


AI is new feature

 

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
47 минут назад, Крим сказал:

Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал?

Взять профиль сталкера за основу stalker_silent в файле spawn_sections_$
Например:
[pri_a17_military_colonel_kovalski]:stalker_silent
$spawn                     = "respawn\pri_a17_military_colonel_kovalski"
story_id = pri_a17_military_colonel_kovalski
character_profile     = pri_a17_military_colonel_kovalski


Дополнено 1 минуту спустя
1 минуту назад, Winzor сказал:

Взять профиль сталкера за основу stalker_silent в файле spawn_sections_$
Например:
[pri_a17_military_colonel_kovalski]:stalker_silent
$spawn                     = "respawn\pri_a17_military_colonel_kovalski"
story_id = pri_a17_military_colonel_kovalski
character_profile     = pri_a17_military_colonel_kovalski

Не успел написать раньше, чем RoboCat.

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
23 минуты назад, molodoy_chelovek сказал:

Как проверить что секция предмета который я спавню существует?

local ini = system_ini()
if ini:section_exist(section_name) then
	alife():create(section_name,***,***,***)
end

 

  • Лайк 2

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Доброго времени суток, можно ли сделать так к перемеру.

Чтобы не компилировать локацию, просто перенести её из чн  в зп.

Открыть её в СДК удалить все спавн элементы, поставить, актёра и скомпилировать только all.spawn, дабы не компилировать всю локацию?

Изменено пользователем Novik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Novik такие вопросы надо задавать в теме по SDK. 

18 минут назад, Novik сказал:

Открыть её в СДК удалить все спавн элементы, поставить, актёра и скомпилировать только all.spawn, дабы не компилировать всю локацию?

Можно. Только ещё и AI-сетку нужно скомпилить.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RoboCat  Думаю на кухне  тоже нет плаката что нельзя сходить по маленкому, и бываешь там чаще чем в туалете...
Просто давайте сами не будем мешать всё в кучу,  чтоб потом материться при поиске нужного в профильной теме.
Вопросы по сдк задаём в теме по сдк, вопросы по модострою тут... Если вам не ответили  в профильной теме значит не знают ответа... а не из за того что там никого нету...
 


Дополнено 3 минуты спустя

То же самое по модострою на разных платформах, есть ТЧ, есть СОС, спрашивать нужно в соответствующей теме.
А сейчас получается так, нашёл поиском ответ на свой вопрос, и сидишь гадаешь, к какой платформе  это относится...


DCM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 24.08.2020 в 06:02, Neptun сказал:

gamedata\scripts\xr_effects.script
Функция damage_actor_items_on_start

Вписал стартовые предметы и их состояние - не работает, всё равно всё целое на 100%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
42 минуты назад, molodoy_chelovek сказал:

Novik такие вопросы надо задавать в теме по SDK. 

Можно. Только ещё и AI-сетку нужно скомпилить.

Тоесть ставим спавн элементы, билдем локацию, компилируем ai сетку, затем компилируем, спавн, верный порядок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Novik сказал:

Тоесть ставим спавн элементы, билдем локацию, компилируем ai сетку, затем компилируем, спавн, верный порядок?

Есть отдельная тема с вопросами в SDK.
Полная компиляция локации


Дополнено 1 минуту спустя
21 минуту назад, Gerbys сказал:

Вписал стартовые предметы и их состояние - не работает, всё равно всё целое на 100%

Это скрипт который должен вызываться из рестриктора.
В оригинальной игре он вызывается рестриктором zat_a1_logic.
Строка вызова из рестриктора:
on_info = {=actor_on_level(zaton)} sr_idle@game_start_2 %=damage_actor_items_on_start%

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 минуты назад, Winzor сказал:

Есть отдельная тема с вопросами в SDK.
Полная компиляция локации


Мне совсем не это нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Novik Я делал так: ставил актора и граф поинты, потом Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
9 минут назад, molodoy_chelovek сказал:

Novik Я делал так: ставил актора и граф поинты, потом Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build.

Не чего не получилось при загрузке уровня.

Expression    : cross_table().header().level_guid() == level_graph().header().guid()
Function      : CAI_Space::load
File          : D:\prog_repository\sources\trunk\xrGame\ai_space.cpp
Line          : 113
Description   : cross_table doesn't correspond to the AI-map

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
51 минуту назад, molodoy_chelovek сказал:

Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой

Его там нет(


Дополнено 2 минуты спустя
53 минуты назад, molodoy_chelovek сказал:

Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой

При компиляци сетки 

Initializing File System...
using fs-ltx fsgame.ltx
FS: 14331 files cached 0 archives, 2148Kb memory used.
Init FileSystem 1.033723 sec
'xrCore' build 0, (null)

true
0
Loading DLL: xrSE_Factory.dll
'xrCore' build 0, (null)

-----loading c:\xraycopsdk\editors\gamedata\configs\system.ltx
"LevelBuilder v4.1" beta build
Compilation date: Dec 10 2009

Startup time: 13:21:03
 
* New phase started: Loading level...
stack trace:

0023:0278CE10 xrCore.dll, IReaderBase<IReader>::find_chunk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
53 минуты назад, Novik сказал:

Его там нет

Да его нужно скомпилировать, раз уж сетку меняли.

А вылет при компиляции сетки свидетельствует, что либо нет файлов build.aimap и build.cform, либо локация не прописана в конфигах: game_levels.ltx, game_maps_single.ltx

Изменено пользователем denis2000

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

@Novik Если ты не собираешься изменять локацию, а только изменять Spawn и Waypoint, то нужно было сделать всего лишь один пункт Compile -> Make Game (Лучше заново перекомпилируй, ну или попробуй скинуть папку с локацией в SDK Gamedata)

После этого редактируем: "4 - Компиляция спавна x64.cmd" и пишем туда локацию: "@start bin\compilers_x64\xrAI.exe -no_separator_check -s Название_Локации -out all" и запускаем этот cmd,

Далее заходим в SDK Gamedata и берем от туда all.spawn и перекидываем к себе в игру. 

Саму папку с локацией (из levels) можно взять из ЧН и просто скинуть в ЗП (то есть не брать её из SDK), так как наше действие не сильно повлияло (на всякий случай стоит взять level.spawn из SDK Gamedata, после создания all.spawn)

Для создание all.spawn требуется 2 граф поинт (ничего туда вписывать не нужно) и actor (По-умолчанию спавниться рандомный профиль, нужно выбрать вместо default => actor в настройках)

Изменено пользователем RoboCat

AI is new feature

 

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
13 минут назад, RoboCat сказал:

то нужно было сделать всего лишь один пункт Compile -> Make Game

Сколько раз пробовал не компилить заново сетку - игра вылетала по причине

1 час назад, Novik сказал:

cross_table doesn't correspond to the AI-map

 

Изменено пользователем molodoy_chelovek
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

molodoy_chelovek Это потому, что АИ-сетка и геймграф связаны при помощи таблицы cross_table, которая строиться на базе графпоинтов локаций (это узлы геймграфа), а значит изменения в АИ-сетке или конфигурации графпоинтов будет требовать перекомпиляцию как сетки, так и спавна.

Изменено пользователем denis2000
  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

 

11 минут назад, molodoy_chelovek сказал:

Сколько раз пробовал не компилить заново сетку - игра вылетала по причине

 

Я делаю так, кидаю локу в sdk, дикомпилирую её, затем открываю её в LE удаляю все спавн элементы, ставлю граф поинт, ставлю актёра, проделываю эти действия (Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build)

Затем запускаю батник Компиляция_спавна.cmd.

Но он не компилирует спавн.

FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : CGraphMerger::CGraphMerger
[error]File          : D:\prog_repository\sources\trunk\utils\xrAI\xr_graph_merge.cpp
[error]Line          : 597
[error]Description   : tpGraphs.size()

А вот что в папке с level,lom

image.thumb.png.82f1167cef98f86293e1a8fe41825dba.pngimage.thumb.png.6c63e81627ce9e812850a8d97280b829.png

Изменено пользователем Novik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Novik сказал:

Но он не компилирует спавн.

level.ai отсутсвует! Сетка не скомпилирована - спавн собрать невозможно.

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
48 минут назад, Novik сказал:

0023:0278CE10 xrCore.dll, IReaderBase<IReader>::find_chunk

Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня!

Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия с сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку!

Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах.


Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform!

  • Жму руку 1
  • Хабар 1
  • Спасибо 1

c01570bf2e07524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, Overfirst сказал:

Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня!

Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку!

Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах.


Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform!

Спасибо всем огромное! всё получилось.

  • Аплодисменты 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн