Pular para o conteúdo

Resources

Servidor

Um resource é um valor userdata, igual ao MTA. getThisResource() devolve o próprio resource, e getResourceName transforma ele no nome da pasta que aparece no console e no server.cfg.

local este = getThisResource()
getResourceName(este) -- "meu-resource"
getResourceState(este) -- "running"
tostring(este) -- "resource: meu-resource"

O mesmo resource é sempre o mesmo valor, então == e chaves de tabela funcionam como você espera. Como extensão do MTAX, toda função que recebe um resource também aceita o nome puro, o que mantém funcionando os scripts escritos antes deste tipo existir:

getResourceState("scoreboard") -- igual a getResourceState(getResourceFromName("scoreboard"))

A classe Resource também está disponível: Resource.getThis(), res:getName(), res.state, res.rootElement.

Cada resource roda no seu próprio ambiente Lua, isolado dos demais. Para atravessar essa fronteira existe call e a forma exports.

Estas 11 funções existem somente no servidor. Chamá-las de um script de cliente resulta em erro de valor nulo.

Veja também as funções compartilhadas de Resources, que funcionam nos dois lados.