Toggle menu
14
222
68
27K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Carousel returns one of a list of image filenames.

The index of the one chosen increments every 'switchsecs', which is a parameter giving the number of seconds between switches.

  • switchsecs=3600 would switch every hour
  • switchsecs=43200 would be every 12 hours
  • switchsecs=86400 would be daily (the default)

Usage

Generic:

  • {{#invoke:carousel | main | name = name-of-data-module | switchsecs = number-of-seconds }}

Examples:

  • {{#invoke:carousel | main }} for 24 hours between switches using default list
  • {{#invoke:carousel | main | switchsecs = 10}} for 10 sec between switches using default list
  • {{#invoke:carousel | main | name= | switchsecs = 1}} 1 sec between switches using default list
  • {{#invoke:carousel | main | name=Komodobish | switchsecs = 5}} 5 sec using Komodobish's list
  • {{#invoke:carousel | main | name=54129 | switchsecs = 43200}} 12 hours using Serial Number 54129's list

The image lists are at Special:PrefixIndex/Module:Carousel/, e.g. Module:Carousel/Komodobish for name=Komodobish.

Typically it will be used with standard image syntax:



p = {}

-- carousel returns one of a list of image filenames
--
-- the index of the one chosen increments every 'switchsecs'
-- which is a parameter giving the number of seconds between switches
-- 3600 would switch every hour
-- 43200 would be every 12 hours
-- 86400 would be daily (the default)
--
-- The list of filenames is in a named submodule, so everyone can have their own list.
-- For Komodobish (the default), the module is [[Module:Carousel/Komodobish]].
-- For Serial Number 54129, the module is [[Module:Carousel/54129]].
-- See https://en.wikipedia.org/wiki/Special:PrefixIndex/Module:Carousel/
--
-- {{#invoke:carousel | main | name = name-of-datamodule | switchsecs = number-of-seconds }}
-- {{#invoke:carousel | main | name = 54129 | switchsecs = 10 }} for 10 sec switches using [[Module:Carousel/54129]]
-- {{#invoke:carousel | main }} for 24 hours between switches using the default data module
--

p.main = function(frame)
	-- get parameter switchsecs; if NaN or less than 1, set default
	local switchtime = tonumber(frame.args.switchsecs) or 86400
	if switchtime < 1 then switchtime = 86400 end

	-- get parameter dataname; if missing, use default
	local dataname = frame.args.name or mw.text.trim(frame.args[1]) or ""
	if dataname == "" then dataname = "Komodobish" end

	-- there should be a named data module as a submodule
	local imgs = require("Module:Carousel/" .. dataname)
	local numimgs = #imgs

	-- 'now' increments by 1 every switchtime seconds
	local now = math.floor( os.time() / switchtime )

	-- set an index between 1 and number of images
	local idx = now % numimgs + 1
	return imgs[idx]
end

return p
Contents