Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Core » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Coordonnées
Hiob (discussion | contributions)
Aucun résumé des modifications
Ligne 55 : Ligne 55 :
             body:node(sectionDiv)
             body:node(sectionDiv)
         end
         end
        -- Vérifier si on doit afficher les coordonnées automatiquement
        local hasCoordinates = args.x and args.x ~= '' and args.y and args.y ~= '' and args.z and args.z ~= ''
        local coordinatesDisplayed = false


         for _, champ in ipairs(section.champs or {}) do
         for _, champ in ipairs(section.champs or {}) do
             -- Cas spécial pour les coordonnées de spawn
             -- Détection automatique des coordonnées
             if champ.cle == 'spawn' and args.x and args.x ~= '' and args.y and args.y ~= '' and args.z and args.z ~= '' then
             if hasCoordinates and not coordinatesDisplayed and (champ.cle == 'x' or champ.cle == 'y' or champ.cle == 'z' or champ.cle == 'spawn' or champ.cle == 'coordonnees') then
                 local rowDiv = mw.html.create('div')
                 local rowDiv = mw.html.create('div')
                     :addClass('infobox-row')
                     :addClass('infobox-row')
Ligne 64 : Ligne 68 :
                 local labelDiv = mw.html.create('div')
                 local labelDiv = mw.html.create('div')
                     :addClass('infobox-label')
                     :addClass('infobox-label')
                     :wikitext(champ.label)
                     :wikitext('Coordonnées')
                  
                  
                 local valueDiv = mw.html.create('div')
                 local valueDiv = mw.html.create('div')
                     :addClass('infobox-value')
                     :addClass('infobox-value')
                  
                  
                 -- Construction du lien vers la carte
                 -- Construction du lien vers la carte si le paramètre monde existe
                 local mapUrl = string.format('[https://map.nefald.fr/?worldname=%s&mapname=surface&zoom=4&x=%s&y=%s&z=%s %s, %s, %s]',
                 if args.monde and args.monde ~= '' then
                    args.monde or '', args.x, args.y, args.z, args.x, args.y, args.z)
                    local mapUrl = string.format('[https://map.nefald.fr/?worldname=%s&mapname=surface&zoom=4&x=%s&y=%s&z=%s %s, %s, %s]',
               
                        args.monde, args.x, args.y, args.z, args.x, args.y, args.z)
                valueDiv:wikitext("''" .. mapUrl .. "''")
                    valueDiv:wikitext("''" .. mapUrl .. "''")
                else
                    -- Affichage simple sans lien
                    valueDiv:wikitext(string.format('%s, %s, %s', args.x, args.y, args.z))
                end
                  
                  
                 rowDiv:node(labelDiv):node(valueDiv)
                 rowDiv:node(labelDiv):node(valueDiv)
                 body:node(rowDiv)
                 body:node(rowDiv)
                coordinatesDisplayed = true
                  
                  
             -- Traitement normal des autres champs
             -- Traitement normal des autres champs (en excluant x, y, z individuels si coordonnées affichées)
             elseif args[champ.cle] and args[champ.cle] ~= '' then
             elseif not (hasCoordinates and (champ.cle == 'x' or champ.cle == 'y' or champ.cle == 'z')) and args[champ.cle] and args[champ.cle] ~= '' then
                 local rowDiv = mw.html.create('div')
                 local rowDiv = mw.html.create('div')
                     :addClass('infobox-row')
                     :addClass('infobox-row')
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.