Aller au contenu
  • 0

player's inventory contains <number> of <item>


Question

Posté(e)

Version de Minecraft : 1.14.X
Version de Skript : 2.4.1

Addons utilisés: Les principaux

Type du skriptShop

Description du script : C'est un shop, et si le joueur à égal ou plus d'item que demandé, alors on retire et donne l'argent. Chose qui n'arrive pas.

Bonjour,
Alors voici, j'ai cette partie de skript qui ne fonctionne pas (Une partie pour pouvoir trouver la solution).
Le but est de vendre plus de 64 items... sauf que celui-ci ne fonctionne pas.
<64 items = Fonctionne
>64 items = Ne fonctionne pas
image.png.d80331e204a127a53c3ed21f81833386.png

Le code de test:
 

command /skdebug:
	trigger:
		set {skyshop.item.%player%} to grass blocks #item (ici de l'herbe pour exemple)
		
		set {_nombre.items} to amount of {skyshop.item.%player%} in player's inventory
		set {nombre.items.%player%} to {_nombre.items}
		send "Le nombres d'items: %{_nombre.items}%"
		
		send "%{nombre.items.%player%}% of %{skyshop.item.%player%}%" to player #verification de svariables au temps X
		
		if player's inventory contains {nombre.items.%player%} of {skyshop.item.%player%}:
			send "&aoui"
			play sound "entity.experience_orb.pickup" with volume 15 to player
		else: #Cette ligne s'éxecute
			play sound "entity.villager.no" with volume 15 to player
			send "&cnon" 

Merci d'avance,
Et à bientôt

Messages recommandés

  • 0
Posté(e)

Il y a quelque version en arrière ce Skript fonctionnait comme une horloge (et surtout à plus de 64 items).
P.S.: Ici je met "égal au maxi dans l'inventaire", mais j'ai essayer de vendre moins que ce que j'avait dans l'inventaire, et ça fait pareil

  • 0
Posté(e)
Il y a 12 heures, LeCraftDeOuf a dit :

Pourquoi tu n'utilises pas le if player has 10 dirt: ? Avec ta variable parsed as item bien sur 

Parce-que ça n'existe pas 🙂image.png.35a1b58a65ebbf376ca720e98ae71560.png

 

Il y a 1 heure, DarkTM_ a dit :

Mais au dessus de 64 ça affiche quoi dans le chat ?

Ça indique que j'ai pas assez d'item ... (alors que je les ai forcément, puisque je les ai comptés)

  • 0
Posté(e)
à l’instant, LeCraftDeOuf a dit :

Bonjour, si sa existe


if player has enough space for 1 light blue wool block:

Sa marche nickel, je l'utilise depuis des années

Bonjour oui 🙂
Alors oui, dans ce cas c'est fonctionnel, le problème, c'est que moi je veut pas donner, je veux "retirer"... et surtout détecter si le joueur a assez de blocs.

  • 0
Posté(e)

Je sais pas si c'est possible mais jamais tu loop l'inventaire du joueur et après que tu récupère le nombre d'objet que tu veux genre un truc

 

loop player inventory:

  get number of {...}

 

enfin je pense que ta compris je sais pas du tout si ça fonctionne car j'ai jamais vraiment toucher aux inventaires pour l'instant

  • 0
Posté(e)
il y a 1 minute, XTReMxLogik a dit :

Bonjour oui 🙂
Alors oui, dans ce cas c'est fonctionnel, le problème, c'est que moi je veut pas donner, je veux "retirer"... et surtout détecter si le joueur a assez de blocs.

J'ai modifier le message ci dessus, je t'invite à remonter 😉

  • 0
Posté(e)
il y a 2 minutes, DarkTM_ a dit :

Je sais pas si c'est possible mais jamais tu loop l'inventaire du joueur et après que tu récupère le nombre d'objet que tu veux genre un truc

 

loop player inventory:

  get number of {...}

 

enfin je pense que ta compris je sais pas du tout si ça fonctionne car j'ai jamais vraiment toucher aux inventaires pour l'instant

Alors non je loop pas... mais je le fait autrement :

set {_nombre.items} to amount of {skyshop.item.%player%} in player's inventory


Et oui il fonctionne,pcq je sait que j'ai :

image.png

  • 0
Posté(e)
il y a 2 minutes, XTReMxLogik a dit :

Alors non je loop pas... mais je le fait autrement :


set {_nombre.items} to amount of {skyshop.item.%player%} in player's inventory


Et oui il fonctionne,pcq je sait que j'ai :

image.png

Et si tu fais

if player's inventory contains "%{nombre.items.%player%}% %{skyshop.item.%player%}%" parsed as item:

 

  • J'aime 1
  • 0
Posté(e)
il y a 1 minute, LeCraftDeOuf a dit :

Et si tu fais


if player's inventory contains "%{nombre.items.%player%}% %{skyshop.item.%player%}%" parsed as item:

 

Toujours pas 😕
 

image.png

  • 0
Posté(e)
il y a 2 minutes, DarkTM_ a dit :

Donc si je comprends bien dans ton menu c'est détecter mais pas quand tu veux vendre c'est ça ?

En gros, il sait combien j'ai d'item, il sait les quels, mais il arrive pas à executer cette ligne:

if player's inventory contains {nombre.items.%player%} of {skyshop.item.%player%}:

Au lieu de faire cette ligne, il fait le "else" juste après... 
P.S.: Sauf que si j'ai <=64 items, le "if ... " s'execute correctement

  • 0
Posté(e) (modifié)

Essaye de mettre 128 a la place de {nombre.item.%player%} et prends 2 stacks de blocks de grass pour voir si la ça execute (Si jamais tu la pas fait)

Modifié par DarkTM_
  • 0
Posté(e)
il y a 3 minutes, DarkTM_ a dit :

Essaye de mettre 128 a la place de {nombre.item.%player%} et prends 2 stacks de blocks de grass pour voir si la ça execute (Si jamais tu la pas fait)

Non c'est pareil...

  • 0
Posté(e)

Cette ligne correspond a quel message ?

		if player's inventory contains {nombre.items.%player%} of {skyshop.item.%player%}:
			send "&aoui"
			play sound "entity.experience_orb.pickup" with volume 15 to player
		else: #Cette ligne s'éxecute
			play sound "entity.villager.no" with volume 15 to player
			send "&cnon" 

 

Celui des 320 items ?

  • 0
Posté(e)
il y a 21 minutes, XTReMxLogik a dit :

Toujours pas 😕
 

image.png

Bon ont vas faire un truc si tu veut bien, si tu le veut tu peut m'envoyer ton  code complet sur discord ( LeCraft#2112 ), je fais des testes sur mon serveur et je t'envoie comment faire

 

  • 0
Posté(e)
il y a 1 minute, DarkTM_ a dit :

Celui des 320 items ?

Ces lignes correspond aux nombres d'items que je doit vendre, et dans mon cas c'est le nombre d'items que 'jai dans mon inventaire soit xxx blocs d'herbe.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.