RU/Resource:Runcode

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

runcode - ресурс, который позволяет динамически выполнять код Lua, введенный из игровой консоли, консоли сервера или через веб-интерфейс. В принципе, эту возможность следует ограничивать для администрации сервера.

Консольные команды

Для выполнения кода могут быть использованы три команды:

/run <lua code>: выполняет кусок серверного кода и информирует об этом всех игроков.

/srun <lua code>: выполняет кусок серверного кода "тихо" (выводит результат команды только для игрока, который ее ввел).

/crun <lua code>: выполняет кусок клиентского кода для игрока, который ввел команду.

Пожалуйста заметьте, что чаще всего мы также хотим получить результат, который вернул нам код, и в связи с этим он автоматически возвращается для всех трех команд выше (то самое, "return " в начале кода). Если это повлечет за собой постоянное выведение сообщения с "return", будет выведена ошибка, ответственная за случаи, когда код стоит внутри структуры языка, которая не возвращает значений (напр. присвоение или цикл с for). Для таких случаев, вы можете использовать следущее:

loadstring("ваш код в виде строки")()

Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее так, чтобы возможно было вернуть результат.

Веб-интерфейс

Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует CodePress для подсветки синтаксиса, включая все используемые Lua и MTA функции.