Config.Licenses = { weapon = { id_length = 5, -- random number generated label = "Orozni list", manager = { 'gunclub' }, -- the shop or manager menu in Config.Manager job = { 'gunclub' }, -- the job that can revoke the license validFor = 31, -- valid for how many days? price = 0, lostPrice = 0, -- Price to retrieve the license when the card is lost (will be enabled if Config.inventory is true) illegalPrice = 30000 }, identification = { id_length = 10, label = "Identification Card", manager = 'public', job = 'police', validFor = 31, price = 100, lostPrice = 50 }, } Config.JobLicenses = {} for k, v in pairs(Config.Licenses) do if type(v.job) == 'string' and Config.JobLicenses[v.job] then Config.JobLicenses[v.job][#Config.JobLicenses[v.job] + 1] = k elseif type(v.job) == 'string' then Config.JobLicenses[v.job] = { k } elseif type(v.job) == 'table' then for _, job in pairs(v.job) do if Config.JobLicenses[job] then Config.JobLicenses[job][#Config.JobLicenses[job] + 1] = k else Config.JobLicenses[job] = { k } end end end if type(v.manager) == 'string' and Config.Manager[v.manager] then if Config.Manager[v.manager].licenses then Config.Manager[v.manager].licenses[k] = v Config.Manager[v.manager].licenses[k].illegalPrice = v.illegalPrice or v.price elseif Config.Manager[v.manager] then Config.Manager[v.manager].licenses = {} Config.Manager[v.manager].licenses[k] = v Config.Manager[v.manager].licenses[k].illegalPrice = v.illegalPrice or v.price end elseif type(v.manager) == 'table' then for _, manager in pairs(v.manager) do if Config.Manager[manager].licenses then Config.Manager[manager].licenses[k] = v Config.Manager[manager].licenses[k].illegalPrice = v.illegalPrice or v.price elseif Config.Manager[manager] then Config.Manager[manager].licenses = {} Config.Manager[manager].licenses[k] = v Config.Manager[manager].licenses[k].illegalPrice = v.illegalPrice or v.price end end else print(string.format('[^1ERROR^0]: Please make sure ^2%s^0 in the license ^2%s^0 exists in the ^3manager.lua', v.manager, k)) end end