-- for The Tool
xr_s.init() -- портирование фреймворка событий из STALKER CS
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- не требуется (но и не мешает при повторном подключении) для OGSR (m_netpk уже есть в составе)
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно
-- 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
--/ ------------------------------------------------------------------
-- for The Tool
xr_s.on_game_load()
-- for The Tool
xr_s.on_actor_destroy()
-- for The Tool
xr_s.on_actor_update(delta)
-- for The Tool
xr_s.on_event("actor_save")
-- for The Tool
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------
-- for The Tool
function get_smart_terrains()
return smart_terrains --/>
end
function get_smart_terrains_by_name()
return smart_terrains_by_name --/>
end
-- for The Tool
xr_s.on_event("npc_update", {obj = self.object})
#include "ui\tool\game_movies.xml"
;список xml файлов, содержащих таблицы символов
files = st_tool, ; + все остальные элементы списка
[texture_desc]
files = ui_common_2, ui_pda2_noice, ; + все остальные элементы списка
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
-- for The Tool
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- если модуль нет-пакетов Артоса ещё не подключён
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно
-- 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
--/ ------------------------------------------------------------------
-- for The Tool
function get_menu_mode()
return last_mode
end
-- for The Tool
xr_s.on_event("actor_save")
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------
-- for The Tool
xr_s.on_event("npc_update", {obj = object}) --/#+# >событие: 'npc_update'
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
#include "ui\tool\game_movies.xml"
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
-- for The Tool
lua_helper.attach() -- если вспомогательный модуль Артоса ещё не подключён
m_netpk.attach() -- если модуль нет-пакетов Артоса ещё не подключён
if keylogger then keylogger.init() end -- если кейлоггер Чарси ещё не подключён
if tool then tool.init() end -- обязательно
-- 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
--/ ------------------------------------------------------------------
-- for The Tool
function get_menu_mode()
return last_mode
end
-- for The Tool
xr_s.on_event("actor_save")
--/#+# [lua_helper] ------------------------------------------------
if lua_helper.Init_ActorPStor then lua_helper.Init_ActorPStor() end
--/< ---------------------------------------------------------------
-- for The Tool
xr_s.on_event("on_meet", {obj = self.npc}) --/#+# >событие: 'on_meet'
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
#include "ui\tool\game_movies.xml"
$tool_gameplay$ = false| false| $game_config$| gameplay\
$tool_misc$ = false| false| $game_config$| misc\
Пример добавки приведён в архиве в файле fsgame_ADD.ltx
Для Смерти вопреки в центре чертовщины не подошло
Как это всё установить? Я не понимаю
Т.К. спавнер универсальный, то 1 кнопкой его не установить. Читайте инструкцию выше. Если не получается - не судьба значит)
с мизери 2.2 + ганс работать будет?
Он универсальный, если по инструкции адаптируете