RU/Resource:Runcode: Difference between revisions
m (replaced http links with https) |
|||
Line 19: | Line 19: | ||
==Веб-интерфейс== | ==Веб-интерфейс== | ||
Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует [ | Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует [https://codepress.org CodePress] для подсветки синтаксиса, включая все используемые Lua и MTA функции. | ||
[[en:Resource:Runcode]] | [[en:Resource:Runcode]] |
Latest revision as of 00:47, 3 January 2022
runcode - ресурс, который позволяет динамически выполнять код Lua, введенный из игровой консоли, консоли сервера или через веб-интерфейс. В принципе, эту возможность следует ограничивать для администрации сервера.
Консольные команды
Для выполнения кода могут быть использованы три команды:
/run <lua code>: выполняет кусок серверного кода и информирует об этом всех игроков.
/srun <lua code>: выполняет кусок серверного кода "тихо" (выводит результат команды только для игрока, который ее ввел).
/crun <lua code>: выполняет кусок клиентского кода для игрока, который ввел команду.
Пожалуйста заметьте, что чаще всего мы также хотим получить результат, который вернул нам код, и в связи с этим он автоматически возвращается для всех трех команд выше (то самое, "return " в начале кода). Если это повлечет за собой постоянное выведение сообщения с "return", будет выведена ошибка, ответственная за случаи, когда код стоит внутри структуры языка, которая не возвращает значений (напр. присвоение или цикл с for). Для таких случаев, вы можете использовать следущее:
loadstring("ваш код в виде строки")()
Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее так, чтобы возможно было вернуть результат.
Веб-интерфейс
Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует CodePress для подсветки синтаксиса, включая все используемые Lua и MTA функции.