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 ! 😄
++