av661194 50 Опубликовано 5 Апреля @Kirgudu На Зов Припяти нет планов сделать подобное? Поделиться этим сообщением Ссылка на сообщение
av661194 50 Опубликовано 26 Апреля @Kirgudu 22 часа назад, Kirgudu сказал: поскольку это немодифицированный старый ТЧ, пространство имён IO недоступно Чтобы добавить для лицензионных движков ТЧ пространство имён IO можно использовать расширитель Lua от RvP - http://code.google.com/p/xrluafix/ Или подобную версию от Artos - https://modsfire.com/DZ87vPi78892CkC Скрытый текст xrLuaFix - расширитель Lua для S.T.A.L.K.E.R SHoC|CS|CoP (ТЧ/ЧН/ЗП) xrLuaFix базируются на исходниках: http://code.google.com/p/xrluafix/ (by RvP) и совместима со всеми официальными версиями S.T.A.L.K.E.R : ТЧ, ЧН и ЗП (соответственно). Краткое описание: ----------------- Добавляемые в игру функции: глобальное пространство имен: void logf(string1 [, string2, string3, ...]) -- вывод в лог аргументов, каждый аргумент в новой строке. void LuaFix([arg]) -- открывает доп. пространства имен io, os, package и debug. void LuaExt() -- расширяет пространства имен math, string, table и добавляет функции куйлоггера. set_vKeyCB() -- запуск обработчика нажатия клавиш get_vKeyCB() -- запрос из обработчика о нажатых клавишах. out: table[vk] = true vKeyPressed(vk1[,vk2]) -- запрос о нажатой клавише (двух славишах) Дополнительные/возвращенные пространства имен: os -- для ТЧ io -- для ТЧ package -- для ТЧ (добавляет и глобальную функцию require) debug -- опционально Расширители пространств: math.random([a[, b]]) -- замена стандартной функции, более быстрая. Использование прежнее math.randomseed(x) -- замена стандартной функции генератора псевдослучайных чисел string.trim(str) -- обрезка строки string.trim_l(str) -- обрезка строки слева string.trim_r(str) -- обрезка строки справа string.trim_w(str) -- обрезка строки по первому слову table.keys(t) -- возвращает таблицу ключей таблицы table.values(t) -- возвращает таблицу значений таблицы table.size(t) -- возвращает реальный размер таблицы table.random(t) -- возвращает случайный елемент таблицы lfs -- Оригинальная Lua библиотека. Подробное описание и использование: http://keplerproject.github.com/luafilesystem/ Установка: ---------- Для ТЧ (SHoC) (path 1.0004 и выше): В папке "bin" переименовать файл "xrLua.dll" в "xrLua_GSC.dll" и на его место скопировать xrLuaFix.dll, переименовав его в "xrLua.dll". Т.е. исходный файл переименовывается (не удалять!), а вместо него копируется модифицированный. Наличие "xrLua_GSC.dll" - обязательно! Вышеуказанное можно выполнить ввтоматически, скопировав файлы в папку 'bin' и запустив xrLuaFix_install.bat. Для ЧН/ЗП (CS/CoP): Скопировать в папку 'bin' соответствующую версию файла 'xrLuaFix.dll' из папок архива 'bin_CS' или 'bin_CoP'. Внимание: Все исходные библиотеки игры НЕ заменяются. Использование: -------------- Для ЧН/ЗП (CS/CoP): Для подключения библиотеки расширителя (DLL) требуется после запуска игры из скриптов вызвать функцию: require("xrLuaFix") Для активизации дополнительных расширений требуется после запуска игры (и подключения DLL в ЧН/ЗП) из скриптов вызвать функцию: "LuaFix()" -- аргументы опциональны Для расширения пространств math, string, table и добавления функций кейлоггера требуется из скриптов вызвать функцию: LuaExt() Варианты вызова функции LuaFix: ---------------------------- Вариант 1: Только восстановление namespace: io|os|package (for SHoC) LuaFix() --/ or local build_version = LuaFix() - вернет версию библиотеки которая должжна соответствовать xrGame.dll Вариант 2: Дополнительно к вар.1 добавляется namespace debug LuaFix("debug") --/ or LuaFix(true) Вариант 3: Дополнительно к вар.1/2 создается дебаговый лог-файл local fname = getFS():update_path("$logs$", "xray_debug.log") --/ путь и имя дебаг-файла лога LuaFix(fname) --/ or LuaFix(fname, '[%x %X]\t') Практические примеры использования см. в файле: lua_fix.script ------------------------------------------------------------------ 12.10.2012 Artos Добавление в игру очень простое (справятся даже новички), На ранних патчах не проверял, но на 1.0004-1.0006 работает 100%. Поделиться этим сообщением Ссылка на сообщение