Pular para o conteúdo

call

Compartilhada Resources

Chama uma função exportada por outro resource.

any call ( resource oResource, string nomeDaFuncao [, ... ] )
NomeTipoPadrãoDescrição
oResourceresource—Resource que contém a função.
nomeDaFuncaostring—Nome da função a chamar.
...any—Argumentos repassados à função.

Tudo o que a função devolver, na mesma ordem. Se ela não devolver nada, call responde true no servidor e nada no cliente. Se o resource não estiver rodando, a função não existir lá ou ela der erro, o retorno é false e o motivo vai para o console de debug.

No cliente o primeiro argumento precisa ser um valor de resource — use getResourceFromName; o nome puro só funciona no servidor.

A função chamada precisa ser uma global no mesmo lado do outro resource: uma chamada feita no servidor procura a global do servidor, e uma chamada feita no cliente procura a global do cliente. call e exports nunca atravessam a fronteira cliente/servidor. Declare o nome em exports no manifest — veja Resources e mtaxmanifest.lua.

-- resource "contas", server/main.lua
function getSaldo(jogador)
return contas[jogador] or 0
end
-- em outro resource
local saldo = call(getResourceFromName("contas"), "getSaldo", jogador)