Как связать два скрипта?

HavenS

Участник
Автор темы
76
19
Как сделать, чтобы я мог брать какие-либо данные из одного скрипта в другой, например: у меня есть скрипт script.lua и в нём есть переменная text = "Текст', и есть скрипт test.lua, в котором мне нужно вывести переменную из другого скрипт: sampAddChatMessage(text)?
 
Решение
Не работает, вот основной скрипт:

Lua:
local sampev = require "lib.samp.events"
local requests = require "requests"
local module = require(getWorkingDirectory() .. "\\modules\\test")

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("test", cmd_test)

    while true do
        wait(0)
    end
end

function cmd_test(arg)
    sampAddChatMessage(module.text, -1)
end

В папке moonloader создал папку modules, и в этой папке создал папку test, а в папке тест, init.lua, ну а в init.lua:

local module = {}
module.text = "Hello!"

return module
Ошибся, надо путь писать
local module = require("modules\\test")

Liquit

Активный
277
91
Можно сделать модули
Создаёшь в мунлоадере папку modules, в ней папку с названием модуля, в этой папке скрипт init.lua
В файле
Lua:
local module = {}
module.text = "Hello!"

return module
В основном скрипте
local module = require(getWorkingDirectory() .. "\\modules\\test"
А дальше обращаешься
sampAddChatMessage(module.text, -1)
 
  • Нравится
Реакции: moreveal

HavenS

Участник
Автор темы
76
19
Можно сделать модули
Создаёшь в мунлоадере папку modules, в ней папку с названием модуля, в этой папке скрипт init.lua
В файле
Lua:
local module = {}
module.text = "Hello!"

return module
В основном скрипте
local module = require(getWorkingDirectory() .. "\\modules\\test"
А дальше обращаешься
sampAddChatMessage(module.text, -1)
Не работает, вот основной скрипт:

Lua:
local sampev = require "lib.samp.events"
local requests = require "requests"
local module = require(getWorkingDirectory() .. "\\modules\\test")

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("test", cmd_test)

    while true do
        wait(0)
    end
end

function cmd_test(arg)
    sampAddChatMessage(module.text, -1)
end

В папке moonloader создал папку modules, и в этой папке создал папку test, а в папке тест, init.lua, ну а в init.lua:

local module = {}
module.text = "Hello!"

return module
 

Liquit

Активный
277
91
Не работает, вот основной скрипт:

Lua:
local sampev = require "lib.samp.events"
local requests = require "requests"
local module = require(getWorkingDirectory() .. "\\modules\\test")

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("test", cmd_test)

    while true do
        wait(0)
    end
end

function cmd_test(arg)
    sampAddChatMessage(module.text, -1)
end

В папке moonloader создал папку modules, и в этой папке создал папку test, а в папке тест, init.lua, ну а в init.lua:

local module = {}
module.text = "Hello!"

return module
Ошибся, надо путь писать
local module = require("modules\\test")