function onScriptTerminate(script, quit)
if not quit then
if script.filename == 'скрипт.lua' then -- если имя файла скрипта == скрипт.lua
script:reload()
elseif script.name == 'тест' then -- если имя скрипта == тест (имя задается функцией 'script_name'. Если имя не задано используется название файла)
script:reload()
end
end
end
function onScriptTerminate(script, quit)
if not quit then script:reload() end
end
И как мне с помощью этого перезагрузить другой нужный мне скрипт?Перезагрузит любой крашнувшийся скрипт (даже сам себя!)
Lua:function onScriptTerminate(script, quit) if not quit then script:reload() end end
оно перезагрузит ЛЮБОЙ крашнувшийся скрипт, вот тебе готовый вариант, просто создай новый файл и вставь туда кодИ как мне с помощью этого перезагрузить другой нужный мне скрипт?
function main()
wait(-1)
end
function onScriptTerminate(script, quit)
if not quit then script:reload() end
end
Так мне как раз и не нужно любой, мне нужен конкретный.оно перезагрузит ЛЮБОЙ крашнувшийся скрипт, вот тебе готовый вариант, просто создай новый файл и вставь туда код
Lua:function main() wait(-1) end function onScriptTerminate(script, quit) if not quit then script:reload() end end
function onScriptTerminate(script, quit)
if not quit then
if script.filename == 'скрипт.lua' then -- если имя файла скрипта == скрипт.lua
script:reload()
elseif script.name == 'тест' then -- если имя скрипта == тест (имя задается функцией 'script_name'. Если имя не задано используется название файла)
script:reload()
end
end
end
А если скрипт лёг минут 5 назад и только сейчас его нужно воскресить?Lua:function onScriptTerminate(script, quit) if not quit then if script.filename == 'скрипт.lua' then -- если имя файла скрипта == скрипт.lua script:reload() elseif script.name == 'тест' then -- если имя скрипта == тест (имя задается функцией 'script_name'. Если имя не задано используется название файла) script:reload() end end end
оно срабатывает как только скрипт отключается, т.е если он лёг 5 минутназад и функция не сработала, то так уже не получится, только если перезапустить ВСЕ скриптыА если скрипт лёг минут 5 назад и только сейчас его нужно воскресить?
Мне не нужно чтобы оно сработало сразу, только тогда когда это будет нужно.оно срабатывает как только скрипт отключается, т.е если он лёг 5 минутназад и функция не сработала, то так уже не получится, только если перезапустить ВСЕ скрипты
script.load("moonloader/filename.lua") -- запустить отдельно и всё
-- или
dofile("moonloader/filename.lua") -- загрузить и выполнить (таким образом можно перехватывать глобалки другого скрипта)
К сожалению этот вариант мне не очень подходит, так как он по имяни файла.Lua:script.load("moonloader/filename.lua") -- запустить отдельно и всё -- или dofile("moonloader/filename.lua") -- загрузить и выполнить (таким образом можно перехватывать глобальные функции и переменные другого скрипта)
а как тебе тогда нужноК сожалению этот вариант мне не очень подходит, так как он по имяни файла.
Тогда записывай в таблицу значение script и когда надо перебирай таблицу и если значание в таблице.name == 'название скрипта' тогда перезагружайК сожалению этот вариант мне не очень подходит, так как он по имяни файла.
Ну я уже понял, просто я думал что это тип хендл скрипта и по нему нельзя получить имя.Тогда записывай в таблицу значение script и когда надо перебирай таблицу и если значание в таблице.name == 'название скрипта' тогда перезагружай