- 3
- 0
- Версия MoonLoader
- Другое
Решил написать код, который выполняет запросы для командной строки Windows прямо в SA:MP, но столкнулся с большой проблемой, обнаружив, что при выполнении в игре функции io.popen() неизбежно открываеться окно консоли как при открытии bat-файла, что приводит к принудительному сворачиванию игры, и это, очевидно, крайне неудобно (даже при переводе окна консоли в "nul 2>&1" игра все равно сворачивается хоть уже и без самого окошка). Хотел бы спросить: возможно ли это избежать и по моей задумке выполнять команды и получать вывод с этих команд? Буду очень благодарен любому решению, мне хочется как минимум понять что можно попробовать.
Lua:
require("lib.moonloader")
require("lib.sampfuncs")
function main()
while not isSampAvailable() do wait(123) end
-- начать выполнение
sampRegisterChatCommand('Test', function()
exec = lua_thread.create(exectest)
end)
wait(-1)
end
function exectest()
-- выполнение команды
local handle = io.popen("help")
-- вывод результата построчно
while true do
wait(0)
local line = handle:read()
if line == nil then
break
end
sampAddChatMessage(line)
end
handle:close()
end