Fazer scripts LUA compartilhar dados
Enviado: 16 Ago 2018, 14:22
Não vi muitos scripts com isto fora os dos exemplos em russo, então não é muito testado creio eu. Usando isto é possível fazer com que um script lua possa compartilhar informações com outros scripts até de outros autores.
Como exemplo usarei 2 scripts, o que contem os valores a ser exportados
A table
a table
Como funciona?
Até agora o script só iniciara e mostrara uma mensagem que o sera exports.lua dinheiro no bolso R$25.00 e apenas isto porque este script não faz mais absolutamente nada.
Ai que entra a segunda parte que é o script
como visto o foco aqui é isto
através do comando
Onde algo do tipo poderia ser usado?
Em um mod de posto de gasolina por exemplo, o primeiro que fiz não me agradou. através disto outros scripts poderia pegar a quantidade de combustível nos veículos.
É algo simples testando na pratica, já que não sou bom em explicar. caso tenha maneira mais simples que esta seria bom saber.
Como exemplo usarei 2 scripts, o que contem os valores a ser exportados
exports.lua
Código: Selecionar tudo
local t_values = {
['money'] = 25;
}
EXPORTS = {
get = function(index) return t_values[index] end;
set = function(index,value) t_values[index] = value end;
}
function main()
printStringNow('~y~exports.lua ~w~~n~dinheiro no bolso ~g~R$'..t_values.money..'.00',3000);
while true do
wait(4);
end
end
A table
t_values
contem as informações que irei exportar, usei uma table porque fica mais fácil da forma que consegui fazer. a table
EXPORTS
como pode ver é uma variável global e não local, esta table é a que realmente fara com que os dados sejam exportáveis, no caso eu exportarei 2 funções deste script que são get
e set
.Como funciona?
Até agora o script só iniciara e mostrara uma mensagem que o sera exports.lua dinheiro no bolso R$25.00 e apenas isto porque este script não faz mais absolutamente nada.
Ai que entra a segunda parte que é o script
import.lua
Código: Selecionar tudo
local imports = import('exports.lua');
function main()
while true do
wait(4);
if wasKeyPressed(0x50) then -- tecla P
local money = imports.get('money');
printStringNow('~y~import.lua ~w~~n~dinheiro no bolso ~p~R$'..money..'.00',3000);
end
if wasKeyPressed(0x4F) then -- tecla O
local money = imports.get('money');
imports.set('money',money+4);
printStringNow('~y~import.lua ~w~~n~dinheiro no bolso ~b~R$'..money..'.00',3000);
end
end
end
como visto o foco aqui é isto
Código: Selecionar tudo
local imports = import('exports.lua');
através do comando
import
o script import.lua importa os dados de exports.lua que estão na table EXPORTS
. Desta forma a table imports
tera as funções get e set que podem serem usadas pera pega e setar valores da table t_values
que esta no script exports.lua.Onde algo do tipo poderia ser usado?
Em um mod de posto de gasolina por exemplo, o primeiro que fiz não me agradou. através disto outros scripts poderia pegar a quantidade de combustível nos veículos.
É algo simples testando na pratica, já que não sou bom em explicar. caso tenha maneira mais simples que esta seria bom saber.