S
Size: a a a
S
SH
S
SH
SH
S
S
RM
RM
RM
RM
return object, а в другом скрипте решили в спейсе просто создавать local myObject = requires(....)
1) Хотелось бы узнать, такой подход хороший или нет?RM

return, но вот тут он вписал еще glow, rates типы тоже, хотя они нужны только текущему скрипту. S
*localization.lua*
local en = {
low_hp = "Eat something!",
...
use_cloak_on_seiling = "Cannot use while sailing!",
use_cloak_on_locked_inventory = "Please unlock inventory!",
use_cloak_on_wrong_item = "Cannot use %s on %s!"
}
local ru = {
low_hp = "Ты почти умер, жуй!",
...
use_cloak_on_seiling = "Невозможно использовать во время плавания!",
use_cloak_on_locked_inventory = "Разблокируйте инвентарь!",
use_cloak_on_wrong_item = "Невозможно использовать %s на предмет %s!"
}
local langs = {ru = ru, en = en}
langs.current = langs.en
return langs
*cloak.lua*
local cloakSystem = {
capeID = 7596,
dustyID = 7597,
...
}
local lang = require'localization'
cloakSystem.event = {}
cloakSystem.event.sailing = function(self)
Say(lang.current.use_cloak_on_seiling)
end
cloakSystem.event.use = function(self, other)
Say(lang.current.use_cloak_on_seiling:format(self.name, other.name))
endVM
S
RM
RM
RM
S
Решили мы значит выбрать такой подход, если что-то надо использовать снаружи (в других скриптах), то мы создаем объект локальный в lua и возвращаем его через return object, а в другом скрипте решили в спейсе просто создавать local myObject = requires(....)
Да, так и происходит. В модулях у тебя грубо говоря конструкторы объектов, в нужных местах ты их реквайришь и делаешь конкретные объекты.*vec.lua*
local Vec = newClass(...)
function Vec:new(x, y)
self.x, self.y = x, y
end
return vec
*otherclass.lua*
local vec = require"vec"
local OtherClass = newClass(...)
function OtherClass:new(x, y)
self.coord = vec:new(x, y)
self.dimensions = vec:new(20, 20)
end
return OtherClass