RU/Resource:Runcode: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
Для выполнения кода могут быть использованы три команды: | Для выполнения кода могут быть использованы три команды: | ||
'''/run <lua code>''': | '''/run <lua code>''': выполняет кусок серверного кода и информирует всех игроков. | ||
'''/srun <lua code>''': | '''/srun <lua code>''': выполняет кусок серверного кода тихо (только выводит результат команды для игрока, который ввел команду). | ||
'''/crun <lua code>''': | '''/crun <lua code>''': выполняет кусок клиентского кода для игрока, который ввел команду. | ||
Please note that, more often that not, we want to get the value returned by our code, and due to this, the value of the input expression is automatically returned by runcode for all of these commands (this is, "return " is appended to the beginning of the code). While this saves constant typing of the "return" expression, it will produce an error when the code consists in a language construct that does not yield a value (e.g an assignment or a for statement). For these cases, you can input the following statement: | Please note that, more often that not, we want to get the value returned by our code, and due to this, the value of the input expression is automatically returned by runcode for all of these commands (this is, "return " is appended to the beginning of the code). While this saves constant typing of the "return" expression, it will produce an error when the code consists in a language construct that does not yield a value (e.g an assignment or a for statement). For these cases, you can input the following statement: | ||
Line 16: | Line 16: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее, так что возможно вернуть результат. | |||
== | ==Веб-интерфейс== | ||
HTTP интерфейс также дает возможность админам запускать куски кода серверно, что более удобно. Он использует [http://codepress.org CodePress] для подсветки синтаксиса, включая все используемые Lua и MTA функции. | |||
[[en:Resource:Runcode]] | [[en:Resource:Runcode]] |
Revision as of 11:54, 25 April 2009
runcode - ресурс, который позволяет динамически выполнять код Lua, введенны из игровой консоли, серверной консоли или через веб-интерфейс. Эту возможность следует ограничить для серверных админов.
Console commands
Для выполнения кода могут быть использованы три команды:
/run <lua code>: выполняет кусок серверного кода и информирует всех игроков.
/srun <lua code>: выполняет кусок серверного кода тихо (только выводит результат команды для игрока, который ввел команду).
/crun <lua code>: выполняет кусок клиентского кода для игрока, который ввел команду.
Please note that, more often that not, we want to get the value returned by our code, and due to this, the value of the input expression is automatically returned by runcode for all of these commands (this is, "return " is appended to the beginning of the code). While this saves constant typing of the "return" expression, it will produce an error when the code consists in a language construct that does not yield a value (e.g an assignment or a for statement). For these cases, you can input the following statement:
loadstring("your code here as a string")()
Это позволит загрузить кусок вашего кода как новую функцию и выполнить ее, так что возможно вернуть результат.
Веб-интерфейс
HTTP интерфейс также дает возможность админам запускать куски кода серверно, что более удобно. Он использует CodePress для подсветки синтаксиса, включая все используемые Lua и MTA функции.