Aller au contenu

Sauvegarder l'inventaire d'un joueur dans un fichier .yml ?


Messages recommandés

Posté(e)

Bonjour,

J'utilise des variables pour sauvegarder et charger les kits de mes joueurs. Mais il faut dire que sur du long terme, cette méthode n'est pas du tout optimisée. C'est pour ça que je demande à une personne expérimentée de me faire un Skript permettant de sauvegarder et de charger l'inventaire d'un joueur depuis un fichier .yml !

 

Merci à tous ceux qui m'aideront.

Posté(e)

Je le faisais par variable aussi mais maintenant je le fais par base de donnée c'est bien plus intéressant à manier (je le fais en java mais c'est possible en skript)

Posté(e)
Je le faisais par variable aussi mais maintenant je le fais par base de donnée c'est bien plus intéressant à manier (je le fais en java mais c'est possible en skript)

Ce commentaire ne sert a rien, si tu ne l'aide pas, pas besoin de raconter ta vie.

 

command /save:
   trigger:
       if folder "Inventaires" doesn't exists:
           create folder "Inventaires"
       if file "Inventaires/%player%.yml" doesn't exists:
           create file "Inventaires/%player%.yml"
       clear {inv.%player%::*}
       wait 1 ticks
       loop items in player's inventory:
           add loop-item to {inv.%player%::*}
       set "Inventaire" to "%{inv.%player%::*}%" in yaml file "Inventaires/%player%.yml"
       send "&aInventaire sauvegardée !"

command /restore:
   trigger:
       if {inv.%player%::*} is not set:
           send "&cAucun inventaire n'a ete sauvegardée !"
           stop trigger
       else:
           loop {inv.%player%::*}:
               give player loop-value

command /view:
   trigger:
       set {_view} to value "Inventaire" get of "Inventaires/%player%.yml"
       wait 1 ticks
       if {_view} is not set:
           send "&cAucun inventaire sauvegardée"
       else:
           send "&aVoicis votre inventaire sauvegardée: &a%{inv.%player%::*}%"

 

 

Testé il marche :)

  • J'aime 1
Posté(e)
Ce commentaire ne sert a rien, si tu ne l'aide pas, pas besoin de raconter ta vie.

 

command /save:
   trigger:
       if folder "Inventaires" doesn't exists:
           create folder "Inventaires"
       if file "Inventaires/%player%.yml" doesn't exists:
           create file "Inventaires/%player%.yml"
       clear {inv.%player%::*}
       wait 1 ticks
       loop items in player's inventory:
           add loop-item to {inv.%player%::*}
       set "Inventaire" to "%{inv.%player%::*}%" in yaml file "Inventaires/%player%.yml"
       send "&aInventaire sauvegardée !"

command /restore:
   trigger:
       if {inv.%player%::*} is not set:
           send "&cAucun inventaire n'a ete sauvegardée !"
           stop trigger
       else:
           loop {inv.%player%::*}:
               give player loop-value

command /view:
   trigger:
       set {_view} to value "Inventaire" get of "Inventaires/%player%.yml"
       wait 1 ticks
       if {_view} is not set:
           send "&cAucun inventaire sauvegardée"
       else:
           send "&aVoicis votre inventaire sauvegardée: &a%{inv.%player%::*}%"

 

 

Testé il marche :)

Merci beaucoup à toi ! Serait-il possible d'avoir 2 fichiers: Kit Gapple avec les kits de tous les joueurs et le uhc aussi avec tous les kits du gamemode UHC.

Posté(e)
Ce commentaire ne sert a rien, si tu ne l'aide pas, pas besoin de raconter ta vie.

 

command /save:
   trigger:
       if folder "Inventaires" doesn't exists:
           create folder "Inventaires"
       if file "Inventaires/%player%.yml" doesn't exists:
           create file "Inventaires/%player%.yml"
       clear {inv.%player%::*}
       wait 1 ticks
       loop items in player's inventory:
           add loop-item to {inv.%player%::*}
       set "Inventaire" to "%{inv.%player%::*}%" in yaml file "Inventaires/%player%.yml"
       send "&aInventaire sauvegardée !"

command /restore:
   trigger:
       if {inv.%player%::*} is not set:
           send "&cAucun inventaire n'a ete sauvegardée !"
           stop trigger
       else:
           loop {inv.%player%::*}:
               give player loop-value

command /view:
   trigger:
       set {_view} to value "Inventaire" get of "Inventaires/%player%.yml"
       wait 1 ticks
       if {_view} is not set:
           send "&cAucun inventaire sauvegardée"
       else:
           send "&aVoicis votre inventaire sauvegardée: &a%{inv.%player%::*}%"

 

 

Testé il marche :)

Deja tu vas te calmer, je lui propose une alternative.

Posté(e)
Ce commentaire ne sert a rien, si tu ne l'aide pas, pas besoin de raconter ta vie.

 

command /save:
   trigger:
       if folder "Inventaires" doesn't exists:
           create folder "Inventaires"
       if file "Inventaires/%player%.yml" doesn't exists:
           create file "Inventaires/%player%.yml"
       clear {inv.%player%::*}
       wait 1 ticks
       loop items in player's inventory:
           add loop-item to {inv.%player%::*}
       set "Inventaire" to "%{inv.%player%::*}%" in yaml file "Inventaires/%player%.yml"
       send "&aInventaire sauvegardée !"

command /restore:
   trigger:
       if {inv.%player%::*} is not set:
           send "&cAucun inventaire n'a ete sauvegardée !"
           stop trigger
       else:
           loop {inv.%player%::*}:
               give player loop-value

command /view:
   trigger:
       set {_view} to value "Inventaire" get of "Inventaires/%player%.yml"
       wait 1 ticks
       if {_view} is not set:
           send "&cAucun inventaire sauvegardée"
       else:
           send "&aVoicis votre inventaire sauvegardée: &a%{inv.%player%::*}%"

 

 

Testé il marche :)

 

Ton message de début n'a rien a faire içi.

Posté(e)
Ce commentaire ne sert a rien, si tu ne l'aide pas, pas besoin de raconter ta vie.

 

command /save:
   trigger:
       if folder "Inventaires" doesn't exists:
           create folder "Inventaires"
       if file "Inventaires/%player%.yml" doesn't exists:
           create file "Inventaires/%player%.yml"
       clear {inv.%player%::*}
       wait 1 ticks
       loop items in player's inventory:
           add loop-item to {inv.%player%::*}
       set "Inventaire" to "%{inv.%player%::*}%" in yaml file "Inventaires/%player%.yml"
       send "&aInventaire sauvegardée !"

command /restore:
   trigger:
       if {inv.%player%::*} is not set:
           send "&cAucun inventaire n'a ete sauvegardée !"
           stop trigger
       else:
           loop {inv.%player%::*}:
               give player loop-value

command /view:
   trigger:
       set {_view} to value "Inventaire" get of "Inventaires/%player%.yml"
       wait 1 ticks
       if {_view} is not set:
           send "&cAucun inventaire sauvegardée"
       else:
           send "&aVoicis votre inventaire sauvegardée: &a%{inv.%player%::*}%"

 

 

Testé il marche :)

Sa marche sauf que sa enregistre pas l'armure :/

Posté(e)

Premierement je dit ce que bons me semble, il me semble pas avoir enfreins le reglement du forum, donc je dit donc ce que je veux. Je répond au membre qui a repondus a la demande d'aide "Ouais c'est possible en skript mais moi je le fait en java", aucune aide, donc inutil comparait a mon fragment de code fonctionnel, peace.

Posté(e)

Bonjour,

TheBukor (Skstuff) travaille sur la possibilité d'enregistrer des items dans un fichier yaml pour le restaurer par la suite dans une variable, le code est actuellement terminé il le teste encore un peut pour vérifier qu'il n'y est pas de bugs.

Posté(e)
Bonjour,

TheBukor (Skstuff) travaille sur la possibilité d'enregistrer des items dans un fichier yaml pour le restaurer par la suite dans une variable, le code est actuellement terminé il le teste encore un peut pour vérifier qu'il n'y est pas de bugs.

Ok merci, vous avez un lien ?

×
×
  • 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.