RU/Resource:Runcode: Difference between revisions
(Blanked the page) |
|||
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 интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует [http://codepress.org CodePress] для подсветки синтаксиса, включая все используемые Lua и MTA функции. | |||
[[en:Resource:Runcode]] |
Revision as of 03:05, 1 April 2016
runcode - ресурс, который позволяет динамически выполнять код Lua, введенный из игровой консоли, консоли сервера или через веб-интерфейс. В принципе, эту возможность следует ограничивать для администрации сервера.
Консольные команды
Для выполнения кода могут быть использованы три команды:
/run <lua code>: выполняет кусок серверного кода и информирует об этом всех игроков.
/srun <lua code>: выполняет кусок серверного кода "тихо" (выводит результат команды только для игрока, который ее ввел).
/crun <lua code>: выполняет кусок клиентского кода для игрока, который ввел команду.
Пожалуйста заметьте, что чаще всего мы также хотим получить результат, который вернул нам код, и в связи с этим он автоматически возвращается для всех трех команд выше (то самое, "return " в начале кода). Если это повлечет за собой постоянное выведение сообщения с "return", будет выведена ошибка, ответственная за случаи, когда код стоит внутри структуры языка, которая не возвращает значений (напр. присвоение или цикл с for). Для таких случаев, вы можете использовать следущее:
loadstring("ваш код в виде строки")()
Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее так, чтобы возможно было вернуть результат.
Веб-интерфейс
Страница HTTP интерфейса также дает возможность админам запускать куски кода серверно, что более удобно. Она использует CodePress для подсветки синтаксиса, включая все используемые Lua и MTA функции.