Инструмент - Универсальный спавнер

Разное

11 МБ
Скачать
  • Описание
  • Отзывы
  • Правки
  • Сборки
  • Прохождения
Информация:
Платформа: Тени Чернобыля (1.0006), OGSR x64 v2.1.416 (+), Чистое небо (1.5.10), Зов Припяти (1.6.02)
Дата сборки: 2024-05-25

1. В подпапке Ready - готовые комплекты для:
- оригинальных версий Теней Чернобыля (1.0006) и Чистого Неба (1.5.10) и Зова Припяти (1.6.02);
- OGSR x64 v2.1.416;
- Объединённого Пака v2.2 patch 2023-03-15.
2. The.Tool.SoC.Constructor.rar, The.Tool.CS.Constructor.rar и The.Tool.CoP.Constructor.rar - архивы с конструктором Инструмента для модов на платформах ТЧ/OGSR, ЧН и ЗП соответственно.
3. readme.SoC.txt, readme.CS.txt и readme.CoP.txt - описание и инструкция для ТЧ, ЧН и ЗП соответственно.

Мод имеет модульную структуру, при которой каждый раздел Инструмента реализован в своём, отдельном, скриптовом файле, подключаемом к общему файлу-менеджеру.
Настройка производится в конфигурационном файле configs\misc\tool.ltx, а именно:
В секции [settings] можно настроить раздел по умолчанию, включить или выключить сохранение состояния диалога, а также настроить расположение кнопок разделов.
В секции [tabs] можно каждый из модулей включить или выключить, поменять их порядок, расположение кнопки в диалоге (см. скриншоты ниже).
В секции [key_bindings] можно настроить клавиши, которые будут автоматически назначены для внутриигрового вызова диалога Инструмента, а также показа отладочной информации.
Описание:
Мод имеет модульную структуру, при которой каждый раздел Инструмента реализован в своём, отдельном, скриптовом файле, подключаемом к общему файлу-менеджеру.

Настройка производится в конфигурационном файле configs\misc\tool.ltx, а именно:
В секции [settings] можно настроить раздел по умолчанию, включить или выключить сохранение состояния диалога, а также настроить расположение кнопок разделов.
В секции [tabs] можно каждый из модулей включить или выключить, поменять их порядок, расположение кнопки в диалоге (см. скриншоты ниже).
В секции [key_bindings] можно настроить клавиши, которые будут автоматически назначены для внутриигрового вызова диалога Инструмента, а также показа отладочной информации.

Ниже идёт описание каждого модуля в отдельности
О проекте:
Модуль "Переход"
Раздел предназначен для быстрого перемещения в разные точки Зоны.
Дополнительная настройка модуля: configs\misc\tool\teleport.ltx
Можно выбрать целевую локацию (список слева), в пределах каждой локации доступен как список стандартных смартов, так и список произвольных точек, заранее перечисленных в конфигурационном файле модуля. Перемещение происходит по нажатию кнопки Перейти или при двойном клике мышью на выбранную точку в списке.
Телепорт - особый подраздел в списке локаций слева, предназначенный для быстрого телепорта по произвольным координатам. Их можно вписать в соответствующие поля вручную, взять из текущего положения игрока а также воспользоваться режимом облёта камеры (кроме ЗП), нажав на "глаз", найти нужную целевую точку, выйти из режима облёта путём нажатия на клавишу Esc и автоматически получить конечные координаты облёта после чего произвести перемещение по указанным координатам, нажав кнопку Перейти.
Произвольные точки можно сохранять и удалять, а также восстанавливать из них сохранённые координаты. Точки сохраняются в отдельном конфиге: configs\misc\tool\teleport_custom.ltx (вариант для Чистого Неба, Зова Припяти или Теней Чернобыля с поддержкой пространства имён IO) или очищаются после загрузки (вариант для оригинальных Теней Чернобыля без поддержки IO).
Список произвольных точек поддерживает двойной клик мышью на элементе списка, при этом координаты выбранной точки будут подставлены в соотв. поля аналогично нажатию кнопки Загрузить.
Также доступен автоматический прыжок героя на указанное в специальном поле расстояние в направлении вперёд, назад, влево или вправо от текущего положения. Таким образом можно, например, выйти за забор базы Чистого Неба на Болотах, не прибегая к услугам проводника и не используя другие способы перемещения.
В варианте Инструмента для Чистого Неба особенный смысл имеет поле "Симулировать историю при смене локации". В некоторых случаях при переходе на другую локацию разработчику мода бывает необходимо воспроизвести также все события, которые должны были предшествовать этому переходу в том случае, если бы игра шла штатным образом. Также бывает, что при быстром телепорте в точку, находящуюся рядом с враждебными игроку НПС, из-за того, что симуляция войны группировок ещё не была запущена, происходит сбой логики этих НПС, конфликт, вызванный враждебным к игроку отношением с одной стороны, и отсутствием симуляционных инструкций с другой. Во многих случаях это приводит к вылету. Чтобы избежать симуляционного вылета, или чтобы воспроизвести плавное течение истории при быстром переходе, для этого и следует ставить отметку в поле "симулировать историю".
Модуль "Объекты"
Раздел предназначен для создания разных игровых объектов в разных состояниях в инвентаре героя или в окружающем мире.
Дополнительная настройка модуля: configs\misc\tool\spawn.ltx Предустановленный список типов и секций спавна содержится в конфигурационном файле модуля. В диалоге доступен поиск нужного предмета по секции или его наименованию.
НПС (персонажей и монстров) можно создавать как живыми, так и виде трупов. Предметы (броню, оружие, боеприпасы, артефакты и т. д.) можно создавать в окружающем мире или складывать в инвентарь, также можно указывать их кол-во. Аномалиям при их создании можно задать радиус.
По умолчанию для спавна объектов в окружающем мире берётся точка в нескольких метрах впереди текущего положения героя, автоматически проставленные в соотв. полях координаты можно изменить вручную или воспользоваться стрелками автоматического сдвига координат на указанное расстояние в одном из четырёх направлений относительно направления взгляда.
В варианте Инструмента для Чистого Неба добавлена возможность создавать отряды, список секций которых автоматически читается из распакованных конфигурационных файлов \configs\misc\squad_descr*.ltx. Создание отряда будет происходить в пределах выбранной территории (смарта) из списка всех зарегистрированных игровых территорий. При желании можно автоматически выбрать ближайшую к игроку территорию, нажав на кнопку "Найти рядом".
Во избежание вылетов из игры принят ряд условий, соблюдающихся при создании отряда, а именно:
- одна территория (смарт) не может быть заселена отрядами, принадлежащими к разным группировкам, даже дружественным друг к другу;
- на одной территории не может быть создано отрядов больше, чем максимальное количество отрядов, которые территория может вместить;
- отряд с определённым идентификатором секции не может быть создан, если в игре уже существует отряд с аналогичным идентификатором.
При возникновении одного из этих условий игроку будет выведено соответствующее предупреждение, а в случае с дублем секции отряда - диалог с выбором дальнейших действий.
Модуль "Инвентарь"
Раздел предназначен для просмотра полного списка предметов, находящихся в настоящий момент в инвентаре героя (включая слоты), а также их состояния (цветовая дифференциация). Каждый предмет можно удалить (произойдёт полное удаление объекта из игры), для оружия и брони можно просмотреть текущее состояние и установить новое.
Для любого предмета, состояние которого изменяется, можно поставить отметку в поле Фиксировать - тогда выбранное значение будет заморожено и не изменится в процессе игры вплоть до ближайшей загрузки или до момента, когда флажок Фиксировать будет снят и снова нажата кнопка Установить, либо когда предмет станет недоступен онлайн в результате продажи, удаления или перемещения за пределы Alife-радиуса.
Модуль "Фракции" (только для Сталкер Чистое Небо)
Раздел предназначен для управления взаимоотношениями героя со всеми группировками, присутствующими в игре. В группировку можно вступить (только ЧН), отношение группировки к герою при этом автоматически изменится на дружеское. Из группировки можно выйти, отношение при этом изменится на нейтральное (если не произошло одновременного вхождения во враждебную группировку, в этом случае и отношение сменится на враждебное).
Кроме того, можно изменить числовое отношение любой группировки к игроку.
Модуль "Игрок"
Раздел предназначен для управления личными параметрами героя.
Дополнительная настройка модуля: configs\misc\tool\actor.ltx Доступны для изменения: деньги, ранг, репутация, здоровье, пси-здоровье, энергия, уровень облучения (радиация).
При установке значений здоровья, пси-здоровья, энергии и радиации можно поставить отметку в соотв. поле Фиксировать - тогда выбранное значение будет заморожено и не изменится в процессе игры вплоть до ближайшей загрузки или до момента, когда флажок Фиксировать будет снят и снова нажата кнопка Установить.
Кнопка "ЧИТБОКС" служит для автоматического создания в инвентаре игрока заранее составленного списка предметов.
Модуль "Инфо"
Раздел предназначен для управления игровыми инфопорциями. В варианте Инструмента для оригинальных Теней Чернобыля список доступных инфопорций представлен в конфигурационном файле config\misc\tool\info.ltx и взят из файлов оригинальной игры config\gameplay\info_*.xml.
В случае Инструмента для Чистого Неба или Теней Чернобыля с модифицированным движком, поддерживающим пространство имён IO, необходимо иметь в виду один важный момент. Для чтения списка инфопорций применяется скриптовый xml парсер, который умеет работать только с распакованными физическими копиями xml, подробнее см. тут: AMK форум
Попытка прочесть файлы, находящиеся в игровых архивах, на ванильном движке приводит к немедленному вылету. Поэтому для того, чтобы иметь возможность прочесть инфопорции, необходимо все xml файлы, их содержащие, распаковать из игровых архивов и положить в папку \configs\gameplay\.
При этом полный список инфопорций, который можно прочитать из этих файлов, очень большой. Если читать их в UI список полностью, это приводит к неоправданным задержкам в отрисовке диалога, доходящим до десятка секунд и более. Чтобы этого избежать, был добавлен фильтр, требующий ввода трёх и более символов для показа отфильтрованного списка инфопорций. Можно вводить любую часть наименования, поиск будет произведён по вхождению в любой части строки. Статус инфопорций в списке будет показан цветом (выданные - зелёные). Любую инфопорцию можно выбрать и затем выдать или отменить, воздействуя таким образом на течение сюжетной линии.
Список инфопорций поддерживает двойной клик мышью на элементе списка, при этом состояние выбранной инфопорции будет переключено на противоположное: выданная отменится, а невыданная будет активирована.
Модуль "Погода"
Раздел предназначен для быстрой установки любого типа погоды, включая характерные для выброса.
Предустановленный список погодных типов содержится в конфигурационном файле модуля: configs\misc\tool\weather.ltx Список погоды поддерживает двойной клик мышью на элементе списка, при этом выбранная погода будет активирована аналогично действию кнопки Установить.
Нажатие кнопки Выброс приведёт к немедленному запуску катаклизма вместе со всеми сопровождающими его событиями (изменение заданий, поиск укрытия и т. д.).
Модуль "Разное"
Раздел предназначен для второстепенных или чисто информационных вещей и в настоящее время содержит в себе три подраздела.
Дополнительная настройка модуля: configs\misc\tool\misc.ltx
Время: можно установить любой таймфактор (но имеются предельные границы), ускорить или замедлить с учётом выбранного коэффициента, а также сбросить на игровое значение по умолчанию. Музыка: можно принудительно запустить на проигрывание любой музыкальный фрагмент из списка, предустановленный список содержится в конфигурационном файле модуля. Доступен двойной клик мышью на элементе списка, при котором выбранный музыкальный фрагмент будет запущен или остановлен в зависимости от его текущего состояния. Видео: можно принудительно запустить на проигрывание любой видео фрагмент из списка, предустановленный список содержится в конфигурационном файле модуля. Доступен двойной клик мышью на элементе списка, при котором выбранный видео фрагмент будет запущен аналогично нажатию кнопки Запустить.
Использование в игре
При настройках горячих клавиш по умолчанию (менять в misc\tool.ltx):
"J" - показ диалога Инструмента
"K" - показ/скрытие отладочной информации на худе
"T" (Тени Чернобыля) или "H" (Чистое Небо, Зов Припяти) - показ/скрытие отладочной информации об НПС вместо подсказки
Благодарности
monk - за возможность разрабатывать Инструмент на площадке сборника и за бесконечное терпение при тестировании внедрённых в Инструмент и отбракованных механизмов.
*Shoker* - за Повелителя зоны, давшего львиную долю идей и примеров.
Artos - за модуль работы с нет-пакетами и вспомогательные модули.
Charsi - за кейлоггер.
VENOM - за метод показа информации об НПС.
OGSM Team - за некоторые другие использованные в Инструменте хитрости.
А также всем остальным, чьи работы полностью или частично могли быть использованы в Инструменте, но кого по незнанию или забывчивости не упомянул.
Установка:
Порядок установки готового комплекта:
Содержимое соответствующего архива записать в папку игры с заменой имеющихся файлов (если есть).

Порядок работы с конструктором для модов:
1. Содержимое папки gamedata_REPLACE из архива скопировать как есть в папку gamedata игры. Если Инструмент устанавливается поверх другого мода, в который уже интегрированы модули от Artos (модуль нет-пакетов m_netpk, вспомогательные модули lua_extension и lua_helper) и/или кейлоггер от Charsi (модуль keylogger) - перезаписать их поверх или, если имеющиеся файлы изменены после авторов, совместить правки.
1.1. Если Инструмент устанавливается для Теней Чернобыля, но при этом не на движке OGSR, содержимое папки gamedata_EXCEPT_OGSR из архива скопировать как есть в папку gamedata игры. Напротив, в OGSR модуль m_netpk не только интегрирован, но и модифицирован, поэтому его замена модулем из Инструмента в OGSR запрещена.
2. Вытащить из игровых архивов и записать в папку gamedata\configs\gameplay файлы инфопорций info_*.xml, а в папку gamedata\configs\misc (кроме Сталкер Тени Чернобыля) - конфигурационные файлы отрядов squad_descr*.ltx. В архиве Инструмента в папках gamedata_OPTIONAL\configs\gameplay и gamedata_OPTIONAL\configs\misc (кроме Сталкер Тени Чернобыля) лежат файлы из оригинальной игры - можно взять их, но соответствие списка инфопорций и секций отрядов вашему моду в таком случае не гарантируется.
3. В отдельные файлы оригинальной игры или вашего мода внести изменения согласно примерам, перечисленным в папке архива gamedata_ADD. А именно:
Для Сталкер Тени Чернобыля/OGSR
3.1. В файле gamedata\scripts\_g.script в конце функции start_game_callback() перед закрывающим end добавить:
-- for The Tool
xr_s.init() -- портирование фреймворка событий из Сталкер CS
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- не требуется (но и не мешает при повторном подключении) для OGSR (m_netpk уже есть в составе)
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно

Если вспомогательные модули Артоса ещё не подключены, в файле gamedata\scripts\_g.script в самом конце добавить:
-- for The Tool
--/-------------------------------------------------------------------
--/#+# initialize modules [lua_helper/lua_extensions]
--/-------------------------------------------------------------------
prefetch("lua_extension") --/#+# подключение модуля расширений Lua
prefetch("lua_helper") --/#+# подключение модуля 'общих' хелп-функций

--/ ------------------------------------------------------------------
--/ print-log (вывод отладочной информации)
--/-------------------------------------------------------------------
local console
--/ функция вывода сообщения в игровую консоль
to_log = function(fmt,...)
if not console then console = get_console() end
console:execute("load ~:"..string.exformat(fmt,...))
end
--/-------------------------------------------------------------------
--/ Принудительное прерывание игры при фатальных ошибках
--/-------------------------------------------------------------------
abort = function(fmt,...)
to_log(string.rep("~",86))
to_log("[error]ABORT CALLED:\n" .. string.exformat(fmt, ...))
to_log("ATTENTION! Game is interrupted! The information in lines above.")
to_log(string.rep("~",86))
get_console():execute('flush')
exit() --/#!# interrupt game in case of fatal errors
end
--/ ------------------------------------------------------------------

3.2. В файле gamedata\scripts\bind_stalker.script в конце функции actor_binder:net_spawn(data) перед конечным return true добавить:
-- for The Tool
xr_s.on_game_load()

В конце функции actor_binder:net_destroy() перед закрывающим end добавить:
-- for The Tool
xr_s.on_actor_destroy()

В конце функции actor_binder:update(delta) перед закрывающим end добавить:
-- for The Tool
xr_s.on_actor_update(delta)

В самом начале функции actor_binder:save(packet) добавить:
-- for The Tool
xr_s.on_event("actor_save")

Если вспомогательные модули Артоса ещё не подключены, в конце функции actor_binder:reinit() перед закрывающим end добавить:
-- for The Tool
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------

3.3. В файле gamedata\scripts\smart_terrain.script в самом конце добавить:
-- for The Tool
function get_smart_terrains()
return smart_terrains --/>
end
function get_smart_terrains_by_name()
return smart_terrains_by_name --/>
end

3.4. В файле gamedata\scripts\xr_motivator.script в конце функции motivator_binder:update(delta) перед закрывающим end добавить:
-- for The Tool
xr_s.on_event("npc_update", {obj = self.object})

3.5. В файле gamedata\config\ui\game_tutorials.xml в конце файла перед закрывающим тегом window добавить:

#include "ui\tool\game_movies.xml"

3.6. В файле gamedata\config\ui\ui_custom_msgs.xml в конце файла перед закрывающим тегом header добавить:
3.7. В файле gamedata\config\localization.ltx в опции files в начале или конце добавить новое значение st_tool:
;список xml файлов, содержащих таблицы символов
files = st_tool, ; + все остальные элементы списка

3.8. В файле gamedata\config\system.ltx в секции [texture_desc] в опции files в начале или конце добавить новые значения ui_common_2 и ui_pda2_noice:
[texture_desc]
files = ui_common_2, ui_pda2_noice, ; + все остальные элементы списка

3.9. В корневой папке игры в файле fsgame.ltx добавить синонимы для прямого нерекурсивного доступа к папкам gamedata\configs\gameplay и gamedata\configs\misc:
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
Для Сталкер Чистое Небо
3.1. В файле gamedata\scripts\_g.script в конце функции start_game_callback() перед закрывающим end добавить:
-- for The Tool
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- если модуль нет-пакетов Артоса ещё не подключён
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно

Если вспомогательные модули Артоса ещё не подключены, в файле gamedata\scripts\_g.script в самом конце добавить:
-- for The Tool
--/-------------------------------------------------------------------
--/#+# initialize modules [lua_helper/lua_extensions]
--/-------------------------------------------------------------------
prefetch("lua_extension") --/#+# подключение модуля расширений Lua
prefetch("lua_helper") --/#+# подключение модуля 'общих' хелп-функций

--/ ------------------------------------------------------------------
--/ print-log (вывод отладочной информации)
--/-------------------------------------------------------------------
local console
--/ функция вывода сообщения в игровую консоль
to_log = function(fmt,...)
if not console then console = get_console() end
console:execute("load ~:"..string.exformat(fmt,...))
end
--/-------------------------------------------------------------------
--/ Принудительное прерывание игры при фатальных ошибках
--/-------------------------------------------------------------------
abort = function(fmt,...)
to_log(string.rep("~",86))
to_log("[error]ABORT CALLED:\n" .. string.exformat(fmt, ...))
to_log("ATTENTION! Game is interrupted! The information in lines above.")
to_log(string.rep("~",86))
get_console():execute('flush')
exit() --/#!# interrupt game in case of fatal errors
end
--/ ------------------------------------------------------------------

3.2. В файле gamedata\scripts\actor_menu.script в самом конце добавить:
-- for The Tool
function get_menu_mode()
return last_mode
end

3.3. В файле gamedata\scripts\bind_stalker.script в самом начале функции actor_binder:save(packet) добавить:
-- for The Tool
xr_s.on_event("actor_save")

Если вспомогательные модули Артоса ещё не подключены, в конце функции actor_binder:reinit() перед закрывающим end добавить:
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------

3.4. В файле gamedata\scripts\xr_motivator.script в конце функции motivator_binder:update(delta) перед закрывающим end добавить:
-- for The Tool
xr_s.on_event("npc_update", {obj = object}) --/#+# >событие: 'npc_update'

3.5. В файле gamedata\scripts\xr_s.script содержимое функции register_callback(name,func,userobj) заменить на это:
function register_callback(name,func,userobj) -- + поддержка произвольных событий (замена оригинальной функции)
if callbacks[name]==nil then
-- abort("register_callback: callback name '%s' is unknown.", name)
callbacks[name] = {} -- создаём новый массив для произвольного события с указанным именем
end
callbacks[name][func]={userobj=userobj} -- Чтобы можно было регистрировать каллбэки с userobj==nil
end
Там же в конце файла добавить новую функцию:
function on_event(name, data) -- произвольное событие
if not name or not callbacks[name] then return end --/> нет зарегистрированных коллбэков
for func,o in pairs(callbacks[name]) do
func(o.userobj, data)
end
end

3.6. В файле gamedata\configs\ui\game_tutorials.xml в конце файла перед закрывающим тегом window добавить:

#include "ui\tool\game_movies.xml"

3.7. В файле gamedata\configs\ui\ui_custom_msgs.xml в конце файла перед закрывающим тегом header добавить: 3.8. В корневой папке игры в файле fsgame.ltx добавить синонимы для прямого нерекурсивного доступа к папкам gamedata\configs\gameplay и gamedata\configs\misc:
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
Для Сталкер Зов Припяти
3.1. В файле gamedata\scripts\_g.script в конце функции start_game_callback() перед закрывающим end добавить:
-- for The Tool
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- если модуль нет-пакетов Артоса ещё не подключён
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно

Если вспомогательные модули Артоса ещё не подключены, в файле gamedata\scripts\_g.script в самом конце добавить:
-- for The Tool
--/-------------------------------------------------------------------
--/#+# initialize modules [lua_helper/lua_extensions]
--/-------------------------------------------------------------------
prefetch("lua_extension") --/#+# подключение модуля расширений Lua
prefetch("lua_helper") --/#+# подключение модуля 'общих' хелп-функций

--/ ------------------------------------------------------------------
--/ print-log (вывод отладочной информации)
--/-------------------------------------------------------------------
local console
--/ функция вывода сообщения в игровую консоль
to_log = function(fmt,...)
if not console then console = get_console() end
console:execute("load ~:"..string.exformat(fmt,...))
end
--/-------------------------------------------------------------------
--/ Принудительное прерывание игры при фатальных ошибках
--/-------------------------------------------------------------------
abort = function(fmt,...)
to_log(string.rep("~",86))
to_log("[error]ABORT CALLED:\n" .. string.exformat(fmt, ...))
to_log("ATTENTION! Game is interrupted! The information in lines above.")
to_log(string.rep("~",86))
get_console():execute('flush')
exit() --/#!# interrupt game in case of fatal errors
end
--/ ------------------------------------------------------------------

3.2. В файле gamedata\scripts\actor_menu.script в самом конце добавить:
-- for The Tool
function get_menu_mode()
return last_mode
end

3.3. В файле gamedata\scripts\bind_stalker.script в самом начале функции actor_binder:save(packet) добавить:
-- for The Tool
xr_s.on_event("actor_save")

Если вспомогательные модули Артоса ещё не подключены, в конце функции actor_binder:reinit() перед закрывающим end добавить:
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------

3.4. В файле gamedata\scripts\xr_meet.script в конце функции Cmeet_manager:update() перед закрывающим end добавить:
-- for The Tool
xr_s.on_event("on_meet", {obj = self.npc}) --/#+# >событие: 'on_meet'

3.5. В файле gamedata\scripts\xr_s.script содержимое функции register_callback(name,func,userobj) заменить на это:
function register_callback(name,func,userobj) -- + поддержка произвольных событий (замена оригинальной функции)
if callbacks[name]==nil then
-- abort("register_callback: callback name '%s' is unknown.", name)
callbacks[name] = {} -- создаём новый массив для произвольного события с указанным именем
end
callbacks[name][func]={userobj=userobj} -- Чтобы можно было регистрировать каллбэки с userobj==nil
end
Там же в конце файла добавить новую функцию:
function on_event(name, data) -- произвольное событие
if not name or not callbacks[name] then return end --/> нет зарегистрированных коллбэков
for func,o in pairs(callbacks[name]) do
func(o.userobj, data)
end
end

3.6. В файле gamedata\configs\ui\game_tutorials.xml в конце файла перед закрывающим тегом window добавить:

#include "ui\tool\game_movies.xml"

3.7. В файле gamedata\configs\ui\ui_custom_msgs.xml в конце файла перед закрывающим тегом header добавить: 3.8. В корневой папке игры в файле fsgame.ltx добавить синонимы для прямого нерекурсивного доступа к папкам gamedata\configs\gameplay и gamedata\configs\misc:
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
Скриншоты
Скачать через:
Материал обновлен: 2025-11-25 15:56:55

Для Смерти вопреки в центре чертовщины не подошло

2024-09-29 21:39:18

Как это всё установить? Я не понимаю

2024-05-12 13:03:02

Т.К. спавнер универсальный, то 1 кнопкой его не установить. Читайте инструкцию выше. Если не получается - не судьба значит)

2024-05-12 13:12:17

с мизери 2.2 + ганс работать будет?

2024-04-30 14:34:03

Он универсальный, если по инструкции адаптируете

2024-04-30 15:27:47
Вы не можете отправлять комментарии так, как не АВТОРИЗОВАНЫ
> stalkeropatriot, по дороге*
2025-11-29 20:21:55
> Ognom, Я чего-то не понял твоё сообщение. Что такое дороша 6?
2025-11-29 15:59:28
> Maxadoow, 🤝💪
2025-11-29 13:30:48
> Керчик-Перчик, 🤝
2025-11-29 13:02:46
> Maxadoow, ну, теперь понимаю, почему настолько разное описание модов, мы друг другу толковали, для меня вот наоборот наиболее известен Апокалипсис от Зауруса, хотя вроде-бы, и сам помнил, что ещё где-то, точно был Апокалипсис
2025-11-29 11:59:36
знаешь меня удивляет что на форуме столько народа сидит) и хоть бы кто сказал, что Апокалипсис глобал мод который, развивался параллельно с всем известным ОП, фактически всё1 что от DoD там) и трилогия вообще разные моды
2025-11-29 11:18:59
тоже самое с ЗШ.З, проходил всё это, когда они только вышли, и знаю что в крайних версиях только оптимизацию правили, скрипты ровняли и подобное.
2025-11-29 11:08:56
> Керчик-Перчик, ну теперь понятно о чем речь, и о чем ты толкуешь. 2 разных мода. Я тебе говорю о моде от DoD, а ты о модах от Зауруса) Сейчас более детально глянул, да, есть у Зауруса группировка Апокалипсис, события совпадают и лор один и тот же. Апокалипсис от Зауруса мало известен. Поэтому и недопонимание возникло. Просто мод от DoD он на слуху, то как основа ОП и Солянка, общая база у них, глобал мод.
Вообщем ты мне о квадратном, я тебе о круглом))
2025-11-29 10:55:17
> Maxadoow, и по УЗЧН в разделе прохождения написано - "Модификация Упавшая Звезда . Честь наемника это продолжение сюжетной линии трилогии «Апокалипсис»"
2025-11-29 00:59:45
> Maxadoow, ну, кстати Золотой Шар, буквально зайди в категорию Прохождения - Золотой Шар. Завершение - Второстепенные Сюжетные Линии
2025-11-29 00:58:02
> Maxadoow, блин, да я моды только отсюда качаю
2025-11-29 00:50:12
> stalkeropatriot, продолжение, где профукана ещё одна часть по дороше6
2025-11-28 23:44:37
> Maxadoow, Так ты что? УЗЧН это реально продолжение истории трилогии Апокалипсиса. Там в начале игры показывается что произошло в прошлых частях. А так да УЗЧН почти отдельный мод от трилогии. Однако всё равно является продолжение линейки-трилогии Зауруса. С ПС почти такое же.
2025-11-28 22:40:17
> Керчик-Перчик, однако могу предположить что Апокалипсис(в который играл наверное один раз) есть в разных версиях и сборках, возможно есть какие то экспериментальные моды которые были соединены, в любом случаи это не оригинал мод. Поэтому может возникнуть путаница. Есть так же фанатские сборки УЗ и репаки. Оригинал на движке OGSR тоже можно считать оригинальным, потому что нет изменений по гейм плею и сюжетке, всё остальное фанмоды, там всё что угодно может быть.
2025-11-28 20:24:09
> Maxadoow, > Керчик-Перчик,спасибо, всё перечисленное пройдено. Можно что-то из нового? Если конечно такое есть.
2025-11-28 20:23:02
> Керчик-Перчик, те кто хочет разобраться это сделали, Когда хочешь узнать человека кто он есть, начинаешь общаться, поэтому и пишу тебе. Я не доказываю тебе своё, а отвечаю задавшему вопрос, и если вижу бредок, не могу пройти, то как это связано с моим ответом. Тут доказывать нечего, всё есть в гугл. Отвечаю тебе очень корректно и сдержанно.
2025-11-28 20:13:29
> Maxadoow, Я не играл в Историю Путника, и никогда не слышал даже, ты не заметил что делаешь то же самое что и я? Каждый своё доказывает, нам даже ни кто ничего в чате по этому поводу не пишет, т.к. выглядит как диалог двух гениев
2025-11-28 20:06:16
даже если человек чтото путает, бывает, есть гугл, глянь проясни для себя ошибочность или правоту своих слов, а не страдать какими то придумками жить и выдавать это за чистую монету, доказывая своё
2025-11-28 19:51:53
> Керчик-Перчик, тоже самое хотел написать, реально, просто абсурд доказывать непойми что 3 дня о ЗШ Завершение, когда на деле выясняется что это ЗШ История Путника. Тоже самое здесь, оригинальный УЗ.ЧН и Апокалипсис не имеют ничего общего, привел тебе аргументы которые ниже.
2025-11-28 19:48:51
> Maxadoow, блин... короче нам с друг другом смысла говорить нет воопще по поводу того что к чему относится... это будет бесконечный бессмысленный спор...
2025-11-28 19:20:41
Авторизация