-
Compteur de contenus
15 -
Inscription
-
Dernière visite
-
Jours gagnés
3
Community Answers
-
Bob_Ricard's message in Aide skript report was marked as the answer
Bonjour,
J'ai retravaillé ton script pour en tirer ceci au final :
#> Listes des commandes utiles: # - /room create <nom> pour créer une salle à la position du joueur # - /room remove <nom> pour supprimer une salle # - /room tp <nom> pour se téléporter à une salle, même hors d'une période de report # - /room list pour lister toutes les salles # - /report <player> <text> pour reporter un joueur avec un motif # - /reportscore [<offline player>] pour récupérer le nb de reports d'un ou plusieurs jours options: inter : &8&l[&6Intervention&8&l] &f report : &8&l[&6Report&8&l] &f command /room <text> [<text>]: trigger: if player is op: if arg-1 is "create": set {salle::inter::%arg-2%} to location of player send "{@inter} &aLa salle &b%arg-2% &aa bien été créée" if arg-1 is "remove": clear {salle::inter::%arg-2%} send "{@inter} &cLa salle &b%arg-2% &ca bien été supprimée" if arg-1 is "list": loop {salle::inter::*}: send "%loop-index% >> %loop-value%" if arg-1 is "help": send "&b&l> Menu d'aide" send " &e/room create <nom> &apour créer une salle" send " &7(se placer à l'emplacement puis appliquer la commande)" send " &e/room remove <nom> &apour supprimer la salle" send " &e/room tp <nom> &apour se téléporter à une salle sans report" send " &e/room list &apour afficher les salles et leurs coordonnées" send " &e/room help &apour voir ce texte" if arg-1 is "tp": teleport player to {salle::inter::%arg-2%} command /inter [<text>] [<text>]: trigger: if player is op: if arg-1 and arg-2 is set: if {salle::inter::%arg-1%} is set: if arg-2 is "close": set {salle::inter::%arg-1%::bool} to false clear {report::%player%::*} send "{@inter} &aLa salle d'intervention &b%arg-1% &aest de nouveau disponible" else: send "{@inter} &cCette salle n'existe pas" else: set {_inv} to chest with 1 row named "Salles d'intervention" set {_slot} to 0 loop {salle::inter::*}: if {salle::inter::%loop-index%::bool} is true: set slot {_slot} of {_inv} to red concrete named "Salle occupée" else: set slot {_slot} of {_inv} to grey concrete named loop-index add 1 to {_slot} open {_inv} for player on inventory click: if name of event-inventory is "Salles d'intervention": cancel event if event-slot is not empty: teleport {report::%player%::*} to {salle::inter::%name of event-item%} set {salle::inter::%name of event-item%::bool} to true command /report <player> <text>: trigger: if player is op: # Ajout d'un report sur le dossier du joueur add 1 to {report::%arg-1%} # Ajout du joueur report et du joueur staff dans une var list pour tp add arg-1 and player to {report::%player%::*} send "{@report} /inter pour se téléporter dans une salle d'intervention avec le(s) joueur(s) reporté(s)" # Message d'information loop all players: if loop-player is op: send "{@report} %player% a reporté %arg-1% pour le motif suivant : %arg-2%" command /reportscore [<offline player>]: trigger: if player is op: if arg-1 is not set: send "{@report} > Nombre de report par joueur" loop {report::*}: send " - %loop-index% : %loop-value%" else: send "{@report} %arg-1% a actuellement %{report::%arg-1%}% report(s)" Il fonctionne à peu près comme tu as pu le décrire, et surtout par rapport à ce que j'ai pu en comprendre :')
Je t'ai aussi mis dans le script plusieurs notes concernant les commandes.
Si tu as des questions, ou si un truc ne fonctionne pas, hésite pas à revenir vers moi ! 🙂
++
-
Bob_Ricard's message in Problème avec mon Skript was marked as the answer
Bonjour,
Au début de ta commande, tu peux rajouter une petite tempo :
command /jeux [<text>]: trigger: close player's inventory wait 1 tick <le reste de ton code> Testé chez moi, fonctionnel !
Si tu as besoin, n'hésite pas à revenir vers moi 😄
++
-
Bob_Ricard's message in Coffre virtuels sauvegardés selon la location was marked as the answer
Bonjour,
Quand tu fermes ton inventaire, il faudrait que tu sauvegardes le contenu de celui-ci dans une variable liste. Je sais pas si tu veux absolument garder le slot exact pour ton item.
function saveCoffre(p:player,inv:inventory): clear {chest::%{_p}%::items::*} loop all items in {_inv}: add loop-item to {chest::%{_p}%::items::*} Pour ma part, je te suggère de juste rajouter les items dans une liste sans prendre en compte le slot.
On la clear à chaque fois, puis on la remplit de nouveau.
Ensuite, pour ajouter tous tes items dans un inventaire virtuel, tu vérifies si ta variable liste est bien set : ici, la variable est {chest::%player%::items::*}
function restoreCoffre(p:player,inv:inventory): set {_slot} to 0 loop {chest::%{_p}%::items::*}: set slot {_slot} of {_inv} to loop-value add 1 to {_slot}
Après, il te suffit d'appeler la fonction saveCoffre à chaque fois que tu fermes l'inventaire du coffre virtuel, et appeler la méthode restoreCoffre quand tu cliques sur une endstone définie en tant que coffre virtuel.
Si tu as des questions, ou besoin d'un coup de main pour la suite, hésite pas ! 😄
++