Module:TableGenerator: Difference between revisions

From AoP Wiki
Testing
Tier should be greater then 0.
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:
local p = {}
local p = {}


local function getAmmoTable()
function p.getAmmoTable()
local records = mw.ext.externalData.getExternalData 'http://localhost/foaop/planner/ammo.json'.__json
--local records = mw.ext.externalData.getExternalData 'http://localhost/foaop/planner/ammo.json'.__json
local length = 0
local records = mw.ext.externalData.getExternalData {
source = 'ammo'
}.__json
 
local ammoTable = {}
local ammoTable = {}
for k,v in pairs(records) do
for k,v in pairs(records) do
if v.Tier then
if v.Tier and v.Tier > 0 then
table.insert(ammoTable, v)
table.insert(ammoTable, v)
length = length +1
end
end
end
if length == 5 then
--mw.logObject(ammoTable)
function sortingFunction(a, b)
return ammoTable
if a.Tier ~= b.Tier then
return a.Tier < b.Tier
else
return a.Name < b.Name
end
end
end
end
return false
table.sort(ammoTable, sortingFunction)
end
 
if not ammoTable then
function p.getAmmoList()
    local ammoList = getAmmoList()
   
    if not ammoList then
         return "No ammo data available."
         return "No ammo data available."
     end
     end
      
      
     local output = ""
     local output = ""
     for _, ammo in ipairs(ammoList) do
     for _, ammo in ipairs(ammoTable) do
     output = output .."{{!}}-".."\n"
     output = output .."|-".."\n"
output = output .."{{!}}".. ammo.ProtoId .."\n"
output = output .."|".. ammo.Tier .."\n"
output = output .."{{!}}".. ammo.Tier .."\n"
output = output .."|[[".. ammo.Name .."]]\n"
output = output .."{{!}}[[".. ammo.Name .."]]\n"
output = output .."|https://uralez.de/foaop/planner/".. ammo.PicInv .."\n"
output = output .."{{!}}https://uralez.de/foaop/planner/".. ammo.PicInv .."\n"
     end
     end
     return output
     return output
end
end


function p.main(frame)
function p.main(frame)

Latest revision as of 18:13, 24 February 2025

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

--print(), mw.log() and mw.logObject()

local p = {}

function p.getAmmoTable()
	--local records = mw.ext.externalData.getExternalData 'http://localhost/foaop/planner/ammo.json'.__json
	
	local records = mw.ext.externalData.getExternalData {
	source = 'ammo'
	}.__json

	local ammoTable = {}
	
	for k,v in pairs(records) do
		if v.Tier and v.Tier > 0 then
			table.insert(ammoTable, v)
		end
	end
	
	function sortingFunction(a, b)
		if a.Tier ~= b.Tier then
			return a.Tier < b.Tier
		else
			return a.Name < b.Name
		end
	end
	table.sort(ammoTable, sortingFunction)
	
	if not ammoTable then
        return "No ammo data available."
    end
    
    local output = ""
    for _, ammo in ipairs(ammoTable) do
    	output = output .."|-".."\n"
		output = output .."|".. ammo.Tier .."\n"
		output = output .."|[[".. ammo.Name .."]]\n"
		output = output .."|https://uralez.de/foaop/planner/".. ammo.PicInv .."\n"
    end
    return output
end

function p.main(frame)
   local args = frame.args
   
   
   local records = mw.ext.externalData.getExternalData 'http://localhost/foaop/planner/ammo.json'.__json
   
   
   local id = 29
	local record = mw.ext.externalData.getExternalData {
	source = 'http://localhost/foaop/planner/ammo.json',
	format = 'json with jsonpath',
	data = { record = '$[?(@.ProtoId == ' .. tostring (id) .. ')]' }
	}.record

	mw.logObject(record2)
   
   return args[1]..args["sep"]..args[2]
end
return p