« Module:Compétences » : différence entre les versions

De Starfield Wiki
Page créée avec « local p = {} -- Merci de conserver le tri et la casse -- ["nom"] = ["lien"] -- TODO: Traduire les compétences une fois le jeu sorti local SKILLS = { ["astrodynamics"] = "Astrodynamics", ["botany"] = "Botany", ["lasers"] = "Lasers", ["leadership"] = "Leadership", } -- Génère une liste des compétences avec leur niveau. -- Fonction à appeler depuis un autre module -- L'utilisateur doit passer un tableau associatif des compétences qu'il... »
 
Aucun résumé des modifications
Ligne 17 : Ligne 17 :
-- La compétence est ignorée si elle n'existe pas.
-- La compétence est ignorée si elle n'existe pas.
function p._skills_list(args)
function p._skills_list(args)
local res = mw.html.create('ul'):addClass('liste-simple')
local list = mw.html.create('ul')
for name, value in pairs(args) do
for name, value in pairs(args) do
Ligne 24 : Ligne 24 :
-- TODO: Améliorer le visuel
-- TODO: Améliorer le visuel
text = "[[" .. link .. "]] ➡️ "  .. tostring(value)
text = "[[" .. link .. "]] ➡️ "  .. tostring(value)
res :tag('li')
list:tag('li')
:wikitext(text)
:wikitext(text)
:done()
:done()
Ligne 30 : Ligne 30 :
end
end
res :allDone()
list:allDone()
return res
local wrapper = mw.html.create('div')
:addClass('liste-simple')
:node(list)
:done()
return tostring(wrapper)
end
end



Version du 17 juin 2023 à 15:13

Documentation[voir] [modifier] [purger]

Ce module implémente le modèle {{Compétences}}.

Ajouter une compétence

Il suffit d'ajouter la ligne suivante dans la table SKILLS.

["<nom_compétence_minuscule>"] = "<lien_page_compétence>",
  • <nom_compétence_minuscule> désigne le paramètre que doit entrer l'utilisateur pour utiliser cette compétence.
  • <lien_page_compétence> doit correspondre au nom de l'article associé à la compétence. Il est possible d'utiliser la barre verticale | pour afficher le lien différemment.

Merci d'aligner le symbole = avec les reste de lignes et de toujours trier les compétences dans l'ordre alphabétique.


local p = {}

-- Merci de conserver le tri et la casse
--  ["nom"] = ["lien"]
-- TODO: Traduire les compétences une fois le jeu sorti
local SKILLS = {
	["astrodynamics"] = "Astrodynamics",
	["botany"]        = "Botany",
	["lasers"]        = "Lasers",
	["leadership"]    = "Leadership",
}

-- Génère une liste des compétences avec leur niveau.
-- Fonction à appeler depuis un autre module
-- L'utilisateur doit passer un tableau associatif des compétences qu'il
-- veut afficher au format `{["nom_compétence"]="niveau_compétence"}`.
-- La compétence est ignorée si elle n'existe pas.
function p._skills_list(args)
	local list = mw.html.create('ul')
	
	for name, value in pairs(args) do
		link = SKILLS[name:lower()]
		if link then
			-- TODO: Améliorer le visuel
			text = "[[" .. link .. "]] ➡️ "  .. tostring(value)
			list:tag('li')
					:wikitext(text)
					:done()
		end
	end
	
	list:allDone()
	
	local wrapper = mw.html.create('div')
		:addClass('liste-simple')
		:node(list)
		:done()
	return tostring(wrapper)
end

-- Génère une liste des compétences avec leur niveau.
-- Fonction à appeler depuis un modèle
function p.skills_list(frame)
	local args = {}
	local argsParent = frame:getParent().args
	for cle, val in pairs(argsParent) do
		if val then
			args[cle] = mw.text.trim(val)
		end
	end
	return p._skills_list(args)
end

return p