function CreateStatus(name, default, color, visible, tickCallback) local self = {} self.val = default self.name = name self.default = default self.color = color self.visible = visible self.tickCallback = tickCallback self._set = function(k, v) self[k] = v end self._get = function(k) return self[k] end self.onTick = function() self.tickCallback(self) end self.set = function(val) self.val = val end self.add = function(val) if self.val + val > Config.StatusMax then self.val = Config.StatusMax else self.val = self.val + val end end self.remove = function(val) if self.val - val < 0 then self.val = 0 else self.val = self.val - val end end self.getPercent = function() return (self.val / Config.StatusMax) * 100 end return self end