Aller au contenu

[1.10.2] ★ SKcm choix multiples ★ 1.0.2

   (0 avis)

bonjour
Voici ma première publication en Skript,
Une liste déroulante sur un panneau

[IMG]
 

Spoiler: testé avec

- Minecraft 1.10.2
- skript 2.2 dev 29
- wildSKript 1.9
- SkQuery 1.10
- SkRayFall 1.9.10
- tuSKe 1.8.2 dev 4

 

Spoiler: vidéo de présentation

 

 https://youtu.be/w-0Rp-DQdtk

Spoiler: Addon nécessaires

-wildskript gestion des fichiers yaml
- SkQuery pour les subroutines
- skUtilities 0.9.0
- SkRayFall pour les scoreboards
- tuSKe pour le gui


Liste des permission: une seule permission sk.admin

DIVERS
Les listes sont sauvegardées en format yaml et lors du premier démarrage une liste appelée nombres est crée
- a la création d'une liste la valeur 1 est crée avec comme valeur VIDE un simple /cm replacevalue <liste> <Ancienne valeur> <Nouvelle Valeur> suffit.
- clic droit avec un bâton pour sélectionner un panneau et gauche pour le désélectionner, un scoreboard d'information apparaît ou disparaît
- si la liste n'existe pas une indication liste inexistante est affichée sur le panneau


syntaxe pour créer un panneau :

[IMG]

ligne 1 : cm <nom du panneau>
ligne 2 : <le nom de la liste>
ligne 3 : sens <h ou v> pour horizontale ou vertical Paramètre Facultatif


pour détruire un panneau: 
il faut avoir la permission et se mettre en Sneak

Maintenant tout se fait a partir d'un seul gui accessible par la commande /cm mais,

 

Spoiler: commandes pour ceux qui veulent le faire en manuel

liste des commandes:
1ere partie : la gestion des listes
/cm listl indique toute les listes existantes et leurs contenus
/cm listl <nom> n'affiche que la liste <nom> et son contenu
/cm remove <nom> supprime la liste <nom>
/cm create <nom> crée la liste <nom> avec comme valeur "VIDE" pour le 1er champ
/cm addvalue <liste> <valeur> ajoute une valeur a la liste <liste>
/cm replacevalue <liste> <ancienne valeur> <nouvelle valeur> remplace <ancienne valeur> par <nouvelle valeur> dans la liste <liste>
/cm removevalue supprime la valeur <valeur> a la liste <liste>

2eme partie : la gestion des panneaux
if faut tout dabord sélectionner la valeur avec un clic droit par un bâton
/cm PNom <nouveau nom>
 pour changer le nom du panneau
/cm PListe <nouvelle liste> pour changer la liste sur le panneau
/cm PSens vertical ou horizontal> pour changer le sens de défilement
/cm PDefaut <valeur> pour changer la valeur par défaut

3eme partie : la gestion générale
/cm debug change le flag pour debug
/cm rad remet tout les panneaux a la valeur par défaut
/cm razlist supprime toutes les listes ainsi que les fichiers yaml A Utiliser avec précaution
/cm list
 affiche la liste des panneaux ainsi que les données DES panneau avec position, valeur par défaut et le sens
/cm list <nom> affiche les données du panneau <nom> telle que position, valeur par défaut et le sens
TODO liste:
- optimiser le code
- revérifier les "fotes d'ortaugraf" lol
- au lieu de sub-routines peut être mettre des fonctions

Q: Le skript ne fonctionne pas, que doit-je faire ?
R: Ce n'est pas un problème,
Il suffit de m'envoyer un message privé en indiquant vos erreurs dans les balises de code ou pastebin
Merci de décrire vos erreurs. Ne pas simplement dire "ça ne marche pas"

De plus une variable debug permet de voir les infos nécessaires

Q: Mais a quoi cela peut-il servir ?
R: pour mon cas je l'utilise pour le choix de destination pour les portails, mais je pense que cela peut aussi servir pour des QCM, des warps, un choix de KIT, ETC .

PS: exemple d'utilisation pour les portails
https://skript-mc.fr/forum/resources/1-10-2-★-skportal-★-v1.1516/

et petit skript rapide pour l'utilisation de skcm avec les warp 
# warp 2 pour skcm grod0026 le 18 02 18

options:
    repertoire: plugins/Skript/Listes/    # le répertoire ou sont les listes
    fichiercm: plugins/Skript/scripts/SKcm 1.02.sk    # fichier pour les panneaux défilant

on load:
    set {list.warp::*} to "world", "event", and "games" # bien entendu c'est des warps qui ont déjà été crée par /setwarp <nom>
    # ici mettez VOS warp
    #------------ vérification si skcm existe ou pas ----------------
    set {_fichier} to "{@fichiercm}"
    set {cmP} to false
    if file {_fichier} exists:
        set {cmP} to true
        send "&e[WARP] SKcm EST lié" to console
        set {_trouve} to 0# ensuite on créé la fausse liste car sinon liste inexistante
        loop {cm.list::*}:
            if "%loop-value%" is "warp":
                set {_trouve} to loop-index
                exit loop
        if {_trouve} is not equal to 0:
            broadcast "&e[WARP] liste des warps déjà ajouté -> %{cm.list::*}%"
        else:
            add "warp" to {cm.list::*}
            broadcast "&e[WARP] nouvelle liste des warps -> %{cm.list::*}%"
            # NB la nouvelle liste n'est pas enregistré en yaml
    else:
        send "&e[WARP] SKcm N'EST PAS lié" to console
    #-----------------------------------------------------------------

on join:
    clear {resultat.SKcm.%player%}# remet a zéro le compteur pour le player
       
# ensuite il faut un déclencheur ça peut être:
    #- une commande
    #- un événement par exemple un on region enter pour mon skportal
    #- un clic sur un panneau ( ce qu'on va faire ici)
   
on right click on sign:
    set {_li1} to line 1 of block    # on regarde si contient : warp
    set {_li2} to line 2 of block    # et en 2eme ligne : validation
    if {_li1} is "warp":
        if {_li2} is "validation":
            if {cmP} is false:
                broadcast "ici on fait la suite de votre code"
            else:
                if {resultat.SKcm.%player%} is set:
                    broadcast "/warp %{resultat.SKcm.%player%}%" # au lieu de broadcast faire un make player execute command
                    # et si on veut decommander la validation
                    set line 2 of block to "&cvalidation" # car on compare validation et pas &4validation
                else:
                    send "&e[WARP] merci de cliquer avant sur votre destination" to player

 

ps des copies d’écrans on été faite que je rajouterais quand je saurais comment 
bon jeu et a bientôt
 

 
 
 



Autres ressources de grod0026


Retour utilisateur

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.