Aller au contenu

[Simple] Sauvegarde d'inventaire


Messages recommandés

Posté(e) (modifié)

Salut !

je suis pas la pour vous apprendre comment cette fonction fonctionne mais juste pour vous la partager parce que c'est assez utile.

Ce n'est pas moi qui l'ai faite, je l'ai trouvé il y a super longtemps, sous forme de commande.

Voila la bête :

function inventoryManager(action: text, p: player):
	if {_action} is "save":
		loop 36 times:
			add slot (loop-number - 1) of {_p}'s inventory to {inv.%{_p}%::items::*}
		set {inv.%{_p}%::maingauche} to slot 40 of {_p}'s inventory
		set {inv.%{_p}%::casque} to helmet of {_p}
		set {inv.%{_p}%::plastron} to chestplate of {_p}
		set {inv.%{_p}%::pantalon} to leggings of {_p}
		set {inv.%{_p}%::bottes} to boots of {_p}
	if {_action} is "give":
		set {_s} to 0
		loop {inv.%{_p}%::items::*}:
			set slot {_s} of {_p}'s inventory to loop-value
			add 1 to {_s}
		set slot 40 of {_p}'s inventory to {inv.%{_p}%::maingauche}
		set helmet of {_p} to {inv.%{_p}%::casque}
		set chestplate of {_p} to {inv.%{_p}%::plastron}
		set leggings of {_p} to {inv.%{_p}%::pantalon}
		set boots of {_p} to {inv.%{_p}%::bottes}

Et ensuite vous pouvez l'utiliser comme cela : (ca peut être pratique pour les systèmes de login avec skript, ou pour les inventaires par mondes)

on quit:
	inventoryManager("save", player)
on join:
	clear player
	inventoryManager("give", player)

 

Enjoy ! ?

Modifié par noftaly
Merci a uiytt, Weber et bobinho
  • J'aime 1
Posté(e)
Il y a 3 heures, noftaly a dit :

Salut !

je suis pas la pour vous apprendre comment cette fonction fonctionne mais juste pour vous la partager parce que c'est assez utile.

Ce n'est pas moi qui l'ai faite, je l'ai trouvé il y a super longtemps, sous forme de commande.

Voila la bête


function inventoryManager(action: text, p: player):
	if {_action} is "save":
		set {inventaire.%{_p}%} to player's inventory
		set {inv.%{_p}%::inventaire} to serialized contents of player's inventory
		set {inv.%{_p}%::casque} to helmet of player
		set {inv.%{_p}%::plastron} to chestplate of player
		set {inv.%{_p}%::pantalon} to leggings of player
		set {inv.%{_p}%::bottes} to boots of player
	if {_action} is "give":
		give {inventaire.%player%} to player
		set player's inventory's serialized contents to {inv.%{_p}%::inventaire}
		set helmet of player to {inv.%{_p}%::casque}
		set chestplate of player to {inv.%{_p}%::plastron}
		set leggings of player to {inv.%{_p}%::pantalon}
		set boots of player to {inv.%{_p}%::bottes}

Et ensuite vous pouvez l'utiliser comme cela : (ca peut être pratique pour les systèmes de login avec skript, ou pour les inventaires par mondes)


on quit:
	inventoryManager("save", player)
on join:
	clear player
	inventoryManager("give", player)

 

Enjoy ! ?

Le problème que j'ai avec  ça c'est qu'on peut pas faire ça pour des gui ou manipuler l'inventaire après (drop l'inventaire)

donc je conseil plus

function inventoryManager(action: text, p: player):
	if {_action} is "save":
		loop 36 times:
			add slot (loop-number - 1) of {_p}'s inventory to {inv.%{_p}%::items::*}
		set {inv.%{_p}%::casque} to helmet of player
		set {inv.%{_p}%::plastron} to chestplate of player
		set {inv.%{_p}%::pantalon} to leggings of player
		set {inv.%{_p}%::bottes} to boots of player
	if {_action} is "give":
		set {_s} to 0
		loop {inv.%{_p}%::items::*}:
			set slot {_s} of {_p}'s inventory to loop-value
			add 1 to {_s}
		set helmet of player to {inv.%{_p}%::casque}
		set chestplate of player to {inv.%{_p}%::plastron}
		set leggings of player to {inv.%{_p}%::pantalon}
		set boots of player to {inv.%{_p}%::bottes}

 

  • J'aime 2
  • 1 mois après...
Posté(e)

Si je puis me permettre, il faut aussi sauvegarder la main gauche ^^ Et donc ça donnerai :

function inventoryManager(action: text, p: player):
	if {_action} is "save":
		loop 36 times:
			add slot (loop-number - 1) of {_p}'s inventory to {inv.%{_p}%::items::*}
		set {inv.%{_p}%::maingauche} to slot 40 of {_p}'s inventory
		set {inv.%{_p}%::casque} to helmet of player
		set {inv.%{_p}%::plastron} to chestplate of player
		set {inv.%{_p}%::pantalon} to leggings of player
		set {inv.%{_p}%::bottes} to boots of player
	if {_action} is "give":
		set {_s} to 0
		loop {inv.%{_p}%::items::*}:
			set slot {_s} of {_p}'s inventory to loop-value
			add 1 to {_s}
		set slot 40 of {_p}'s inventory to {inv.%{_p}%::maingauche}
		set helmet of player to {inv.%{_p}%::casque}
		set chestplate of player to {inv.%{_p}%::plastron}
		set leggings of player to {inv.%{_p}%::pantalon}
		set boots of player to {inv.%{_p}%::bottes}

 

 

  • J'aime 3
Posté(e) (modifié)

Ups, on a utilisé player dans une fonction ! Merci Bobinho de me l'avoir signalé !

function inventoryManager(action: text, p: player):
	if {_action} is "save":
		loop 36 times:
			add slot (loop-number - 1) of {_p}'s inventory to {inv.%{_p}%::items::*}
		set {inv.%{_p}%::maingauche} to slot 40 of {_p}'s inventory
		set {inv.%{_p}%::casque} to helmet of {_p}
		set {inv.%{_p}%::plastron} to chestplate of {_p}
		set {inv.%{_p}%::pantalon} to leggings of {_p}
		set {inv.%{_p}%::bottes} to boots of {_p}
	if {_action} is "give":
		set {_s} to 0
		loop {inv.%{_p}%::items::*}:
			set slot {_s} of {_p}'s inventory to loop-value
			add 1 to {_s}
		set slot 40 of {_p}'s inventory to {inv.%{_p}%::maingauche}
		set helmet of {_p} to {inv.%{_p}%::casque}
		set chestplate of {_p} to {inv.%{_p}%::plastron}
		set leggings of {_p} to {inv.%{_p}%::pantalon}
		set boots of {_p} to {inv.%{_p}%::bottes}

 

Modifié par noftaly
  • J'aime 1
Posté(e) (modifié)

Si je puis me permettre, il ne faut pas utilisé player dans une fonction ?

C'est boby, je ne sais pas comment changer de nom ?

Modifié par Eralysium
Posté(e) (modifié)

Oui mais Ancien c'est 500 msg et 50 likes ? c'est pas en fonction de la date, comme on pourrait le penser. Ya une une MaJ des grades

 

EDIT : J'ai modifié le code, il est maintenant lisible xD

Modifié par noftaly
  • Triste 2
  • 2 ans après...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.