Pular para o conteúdo

Funções

A referência está dividida em três grupos, de acordo com onde a função existe.

GrupoQuantidadeOnde funciona
Compartilhadas485Servidor e cliente. Servem em server_files, client_files e shared_files.
Servidor130Somente no servidor.
Cliente569Somente 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 lados
local x, y, z = getElementPosition(elemento) -- compartilhada, tudo certo
kickPlayer(jogador, "regras") -- QUEBRA no cliente: não existe lá
-- server/main.lua — só o servidor lê este arquivo
kickPlayer(jogador, "regras") -- aqui sim
-- client/main.lua — só o cliente lê este arquivo
dxDrawText("olá", 100, 100) -- desenho só existe no cliente

Quando 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.

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 devolvem nil) e registra Bad 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.

Funcionam no servidor e no cliente.

Existem apenas no servidor. É aqui que fica tudo que precisa ser confiável.

Existem apenas no cliente. É aqui que fica tudo que é visual, sonoro e de entrada — o que roda na máquina do jogador.