Module:SlabStuff

From IdleOn MMO Wiki
Revision as of 09:52, 7 April 2023 by Kiokurashi (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:SlabStuff/doc

local slab = {}
local cargo = mw.ext.cargo

local function explode(list, delimiter)
    if delimiter == nil then
		delimiter = "%s"
	end
	t = {}
	for str in string.gmatch(list, "([^" .. delimiter .. "]+)") do
		table.insert(t, str)
	end
	return t
end

function slab.slabOrderList(frame) 
	local bigList = frame.args.OrderList
	local tableList = explode(bigList, ',')
	local ret = ''
	for i = 1, #tableList do
		frame:expandTemplate{ title = 'SlabOrder/store', args = { Item = tableList[i], Number = i } }
	end
	
	return ret
end

function slab.SlabNumGrab(frame)
	local item = frame.args.Item
	local tables = 'SlabOrder'
    local fields = 'Number'
    local args = {
        where = 'SlabOrder.Item="'.. item ..'"',
		orderBy = 'SlabOrder.Number',
		default = ''
    }
    local results = cargo.query( tables, fields, args )
    if #results == 0 then return '' end -- if no results, return original string and continue.
    mw.ext.VariablesLua.vardefine('SlabNum', results[1].Number)
    return ''
end

return slab