Aller au contenu
  • 0

Save un inventaire dans une variable ?


Question

Posté(e)

Bonjour,

 

Je suis en train de Dev un plugin de Kits et j'ai sa comme "code" pour save le kit :

 

 set {newkits.%arg-2%.kit} to player's inventory 

 

Mais malheureusement, quand je reload le Skript il y a une erreur :

 

[18:04:17 WARN]: an inventory cannot be saved, i.e. the contents of the variable {newkits.%the 2nd argument%.kit} will be lost when the server stops. (kits.sk, line 14: set {newkits.%arg-2%.kit} to player's inventory')

 

Comment puis-je "contourner" ce problème ?

 

Merci.

 

Cdt, SwenCake.

10 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Petite nuance : c'est un avertissement. Il te dit que ta variable est supprimée à la fermeture du serveur, donc tu peux t'en servir jusque là. Si t'en as encore besoin par la suite, il faut sauvegarder chaque slot un par un avec une variable liste par exemple.

  • 0
Posté(e)

Oulas, c'est compliqué ça. Tu pense pouvoir me faire un exemple ?

  • 0
Posté(e)

C'est plutôt simple en fait :

set {_SlotNo} to 0
while {_SlotNo} is less than 40:
   set {Inventaire.%player%::%{_SlotNo}%} to slot {_SlotNo} of player
   add 1 to {_SlotNo}

set {_SlotNo} to 0
while {_SlotNo} is less than 40:
   set slot {_SlotNo} of player to {Inventaire.%player%::%{_SlotNo}%}
   add 1 to {_SlotNo}

 

Tu attribues un numéro de la liste à un numéro de slot et tu remplis, où tu fais l'opération inverse.

  • J'aime 1
  • 0
Posté(e)

Bonjour,

 

Merci pour vos réponses, j'ai étudier le skript de PsYZiiK et il me semble que la proposition de @ShiRzoOa est juste, je vais voir avec PsYZiiK.

 

Cdt, SwenCake

  • 0
Posté(e)

Voilà :)

J'étais sur tablette, je ne pouvais pas faire grand chose :/

 

pour save :

 

set {var} to serialized contents of player's inventory # Pour save l'inventaire

 

set {var} to player's helmet # Pour save le casque

set {var} to player's chestplate # Pour save le plastron

set {var} to player's leggings # Pour save les jambières

set {var} to player's boots # Pour save les bottes

 

set player's inventory's serialized contents to {var} # Pour restaurer l'inventaire

set player's helmet to {var} # Pour restaurer le casque

set player's chestplate to {var} # Pour restaurer le plastron

set player's leggings to {var} # Pour restaurer les jambières

set player's boots to {var} # Pour restaurer les bottes

 

Attention, quand tu save l'inventaire les armures ne le seront pas. Il faut donc save l'inv + l'armure si tu veux le full stuff.

Aussi, il faut utiliser une variable différente à chaque fois, comme {inv.casque.%player%}, {inv.bottes.%player%}, {inv.inventaire.%player%} etc.

  • J'aime 1
×
×
  • 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.