RU/Resource:Runcode: Difference between revisions
(Blanked the page) |
m (replaced http links with https) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
{{RU/Resource page}} | |||
'''runcode''' - ресурс, который позволяет динамически выполнять код Lua, введенный из игровой консоли, консоли сервера или через веб-интерфейс. В принципе, эту возможность следует ограничивать для администрации сервера. | |||
==Консольные команды== | |||
Для выполнения кода могут быть использованы три команды: | |||
'''/run <lua code>''': выполняет кусок серверного кода и информирует об этом всех игроков. | |||
'''/srun <lua code>''': выполняет кусок серверного кода "тихо" (выводит результат команды только для игрока, который ее ввел). | |||
'''/crun <lua code>''': выполняет кусок клиентского кода для игрока, который ввел команду. | |||
Пожалуйста заметьте, что чаще всего мы также хотим получить результат, который вернул нам код, и в связи с этим он автоматически возвращается для всех трех команд выше (то самое, "return " в начале кода). Если это повлечет за собой постоянное выведение сообщения с "return", будет выведена ошибка, ответственная за случаи, когда код стоит внутри структуры языка, которая не возвращает значений (напр. присвоение или цикл с for). Для таких случаев, вы можете использовать следущее: | |||
<syntaxhighlight lang="lua"> | |||
loadstring("ваш код в виде строки")() | |||
</syntaxhighlight> | |||
Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее так, чтобы возможно было вернуть результат. | |||
==Веб-интерфейс== | |||
Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует [https://codepress.org CodePress] для подсветки синтаксиса, включая все используемые Lua и MTA функции. | |||
[[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 функции.