Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
luaoop静态对象值_Oop_Lua_Static_Grand Theft Auto_Fivem - Fatal编程技术网

luaoop静态对象值

luaoop静态对象值,oop,lua,static,grand-theft-auto,fivem,Oop,Lua,Static,Grand Theft Auto,Fivem,如何使self.character.data().bank对类的所有实例都相同 即使在使用功能setBank?当前使用setBank时,如果有意义,它仅在一个实例上更新self.character.data().bank _G.GetUser = { users = {}, users_group = {}, userData = {}, CurrentCharacter = {} } _G.GetUserMethods = {} GetUserMethods

如何使
self.character.data().bank
对类的所有实例都相同 即使在使用功能
setBank
?当前使用
setBank
时,如果有意义,它仅在一个实例上更新
self.character.data().bank

_G.GetUser = {
    users = {},
    users_group = {},
    userData = {},
    CurrentCharacter = {}
}

_G.GetUserMethods = {}

GetUserMethods.__call = function(self, source)
    local o = setmetatable({}, {
        __index = self
    })

    o.src = source

    o.id = self.users[o.src]

    o.rank = self.users_group[o.src]

    return o
end

GetUserMethods.__index = {
    getCurrentCharacter = function(self)
        self.character = {}

    self.character.id = self.CurrentCharacter[self.id]

    self.character.data = function()
        return self.userData[self.character.id]
    end

    self.character.setBank = function(v)
        if self.character.data() then
            self.character.data().bank = v
        end
    end
        
    self.character.getBank = function()
        if self.character.data() then
            return self.character.data().bank
        end
        
        return nil
    end

        return self.character
    end
}

setmetatable(GetUser, GetUserMethods)
替换

importClass {'getuser'}

在每个文件中。

替换

importClass {'getuser'}


在每个文件中。

Hmm不起作用,也没有更聪明的替代方案,因为self.userData包含现金、银行、饥饿、口渴、压力、库存。如果k==“现金”等,
不起作用
-请提供更多详细信息。你能给出你的代码的最小工作示例吗?它仍然不能像在类的一个实例上更改银行一样工作,它不能将银行更改为在另一个实例上更改的值,与现金、饥饿、口渴一样,压力,这是有问题的,因为我需要将数据保存到数据库中,但当它不包含相同的数据,并且不确定您对工作的想法时,会有点困难示例没有按预期工作,但这里是一个粘贴器1)我的答案是错误的。2) 您的原始代码看起来不错。3) 什么意思是导入类只加载文件?是否在此“importClass”中的每个文件中创建新的全局表
\u G.GetUser
?必须使用
require
导入类。提供“importClass”的文档链接Hmm不起作用,也没有更聪明的替代方案。用户数据包含现金、银行、饥饿、口渴、压力、库存。如果k==“现金”等…
不起作用
-请提供更多详细信息。你能给出你的代码的最小工作示例吗?它仍然不能像在类的一个实例上更改银行一样工作,它不能将银行更改为在另一个实例上更改的值,与现金、饥饿、口渴一样,压力,这是有问题的,因为我需要将数据保存到数据库中,但当它不包含相同的数据,并且不确定您对工作的想法时,会有点困难示例没有按预期工作,但这里是一个粘贴器1)我的答案是错误的。2) 您的原始代码看起来不错。3) 什么意思是导入类只加载文件?是否在此“importClass”中的每个文件中创建新的全局表
\u G.GetUser
?必须使用
require
导入类。提供“importClass”文档的链接