Shared
Este módulo é carregado por padrão.
require
Carrega o módulo especificado. A função verifica a tabela loaded para determinar se modname já foi carregado. Se já estiver, require retorna o valor armazenado em loaded[modname].
- Os nomes de módulo são caminhos para arquivos relativos ao recurso.
- O nome do módulo deve apontar para um arquivo
.lua. - Use
.para separar diretórios em um caminho. - Módulos podem ser carregados de recursos externos usando
@resource.modname.
require 'modname'⚠️
Módulos do cliente devem ser definidos na seção file do manifesto do recurso.
fxmanifest.lua
file 'modname.lua'
-- ou
files {
'modname.lua'
}Exemplo de uso
- resources/
- mylib/
- import.lua
- data/
- events.lua
- myresource/
- server.luamylib/import.lua
local mylib = {
events = require 'data.events'
}
print('Loaded mylib')
return mylibmylib/data/events.lua
return {
disconnect = 'onPlayerDropped',
}myresource/server.lua
local mylib = require '@mylib.import'
print(mylib.events.disconnect)lib.load
Carrega e executa um arquivo Lua no caminho fornecido. Diferente de require, o chunk não é cacheado para uso futuro.
lib.load(filePath, env)- filePath:
string- Um caminho para o arquivo Lua, seguindo as mesmas regras de
require.
- Um caminho para o arquivo Lua, seguindo as mesmas regras de
- env?:
table- Uma tabela a ser usada como ambiente global, por padrão
_ENV.
- Uma tabela a ser usada como ambiente global, por padrão
Exemplo de uso
myresource/import.lua
local events = lib.load('data.events')
print('Loaded events')myresource/data/events.lua
return {
disconnect = 'onPlayerDropped',
}lib.loadJson
Carrega um arquivo JSON no caminho especificado e decodifica-o como uma tabela.
lib.loadJson(filePath)- filePath:
string- Um caminho para o arquivo JSON, seguindo as mesmas regras de
require.
- Um caminho para o arquivo JSON, seguindo as mesmas regras de
Exemplo de uso
myresource/import.lua
local events = lib.loadJson('data.events')
print('Loaded events')myresource/data/events.json
{
"disconnect": "onPlayerDropped"
}