Funções
A referência está dividida em três grupos, de acordo com onde a função existe.
Os três grupos
Seção intitulada “Os três grupos”| Grupo | Quantidade | Onde funciona |
|---|---|---|
| Compartilhadas | 485 | Servidor e cliente. Servem em server_files, client_files e shared_files. |
| Servidor | 130 | Somente no servidor. |
| Cliente | 569 | Somente no cliente. |
São 1184 funções no total.
É essa divisão que decide onde você pode chamar cada coisa:
-- shared/util.lua — este arquivo roda nos dois ladoslocal x, y, z = getElementPosition(elemento) -- compartilhada, tudo certokickPlayer(jogador, "regras") -- QUEBRA no cliente: não existe lá
-- server/main.lua — só o servidor lê este arquivokickPlayer(jogador, "regras") -- aqui sim
-- client/main.lua — só o cliente lê este arquivodxDrawText("olá", 100, 100) -- desenho só existe no clienteQuando uma categoria tem funções de mais de um tipo, ela aparece em mais de um grupo — Veículos existe nos três: 83 compartilhadas, 17 de servidor e 61 de cliente. As páginas se referenciam.
Convenções
Seção intitulada “Convenções”Cada função tem a sua própria página. As páginas abaixo são o índice de cada grupo: elas mantêm a explicação de como o grupo funciona e apontam para uma página por função. A página de uma função fica em …/functions/<grupo>/<nomeDaFuncao>/, então dá para linkar e compartilhar cada uma separadamente.
Abaixo do título, cada página diz onde a função roda — Compartilhada, Servidor ou Cliente —, a qual grupo ela pertence e quais são as formas orientadas a objeto. Depois vem sempre a mesma ordem: Sintaxe, Parâmetros, Retorno, Exemplo, Veja também.
Todas as páginas seguem o mesmo formato de assinatura:
tipoRetornado nomeDaFuncao ( tipo argumentoObrigatorio [, tipo argumentoOpcional = padrão ] )- Argumentos entre
[colchetes]são opcionais; o valor após=é o padrão. ...indica um número variável de argumentos.- Quando algo dá errado — argumento de tipo inválido, elemento destruído — a maioria das funções devolve
false(algumas devolvemnil) e registraBad argument @ '<função>' [...]no console de debug. Elas não interrompem o script. - A exceção é um conjunto de funções com checagem estrita de argumentos, a maioria no cliente: elas lançam um erro Lua com a mesma mensagem, o que interrompe o código que as chamou, a não ser que a chamada esteja dentro de um
pcall. As páginas delas avisam isso. - Todo nome de função escrito em código, como
getElementPosition, leva para a página dela.
Compartilhadas
Seção intitulada “Compartilhadas”Funcionam no servidor e no cliente.
Servidor
Seção intitulada “Servidor”Existem apenas no servidor. É aqui que fica tudo que precisa ser confiável.
Cliente
Seção intitulada “Cliente”Existem apenas no cliente. É aqui que fica tudo que é visual, sonoro e de entrada — o que roda na máquina do jogador.