Aller au contenu
  • 0

player's inventory contain "name"


Question

Posté(e) (modifié)

Bonsoir

 

Je cherche à effectuer une vérification dans un inventaire pour savoir si un joueur possède des items bien demandé:

	
on ...:
	if player's inventory contain "batterie" and "écran":
		give...


                  ne fonctionne pas

on...:
	if player's inventory contain redstone block named "batterie" and glass named "écran":
		give...


                  ne fonctionne pas non plus

 

Merci d'avance ?

Modifié par Wineker

16 réponses à cette question

Messages recommandés

  • 0
Posté(e)

j'ai écrit quelque chose qu'il ne fallait pas ? 

C'est pas une demande de skript, ça ressemble à une demande de ligne certes, mais c'est juste parce que je bloque.

  • 0
Posté(e)
il y a 16 minutes, noftaly a dit :

Je sais pas, mais au moins tu auras la toutes dernière version de skript, donc plein de nouveaux trucs.

et bien ça ne fonctionne toujours pas mais merci quand même 

  • 0
Posté(e)

Il n’y a pas de Event item ?

Nan si les syntaxes du dessus ne fonctionnent pas test :

If player's inventory contains 1 of stone named "nom":

Et sinon faut looo l'inventaire du joueur

Et tu es sur que les items "écran" et "batterie" existent ? Tu as fais des aliases c'est ça ?

  • 0
Posté(e)
il y a 4 minutes, noftaly a dit :

Il n’y a pas de Event item ?

Nan si les syntaxes du dessus ne fonctionnent pas test :

If player's inventory contains 1 of stone named "nom":

Et sinon faut looo l'inventaire du joueur

Et tu es sur que les items "écran" et "batterie" existent ? Tu as fais des aliases c'est ça ?

Non en réalité c'était pour l'exemple, mais l'idée c'est de vérifier que le joueur a les items renommés qu'il faut.

Et ne loop j'ai déjà essayé aussi de cette façon:

loop all items in player's inventory:
	if loop-item are cobble named "1" and plank named "2":
		...

	ça ne fonctionne pas

J'ai peut être la mauvaise technique

  • 0
Posté(e) (modifié)

nan mais il loop-les items 1 par 1 donc tu ne peux pas test 2 items en meme temps. Il faut faire une double boucle.

Je n'ai pas testé, mais ca devrait être qqchose comme ca :

loop all items in player's inventory:
	if loop-item-1 is cobble named "1":
		loop all items in player's inventory:
			if loop-item-2 is plank named "2":
				#code...

 

Modifié par noftaly
optimisation
  • 0
Posté(e)
il y a 11 minutes, Kilterra a dit :

il faudrait que tu nous donne les erreurs a chaque fois stp

command /p:
	trigger:
		give 1 cobble named "1" to player
		give 1 plank named "2" to player
		
command /p2:
	trigger:
		loop all items of player's inventory:
			add loop-item to {_in::*}
			if {_in::*} contain "1" and "2":
				message "oui"
			else:
				message "non"

Pas d'erreur au reload

résultat:

Capture.PNG.1004172af1b3889871a27284ee991079.PNG

  • 0
Posté(e) (modifié)

Normal. remplace 

			if {_in::*} contain "1" and "2":

par 

if {_in::*} contain (1 of stone named "1" parsed as material):
	if {_in::*} contain (1 of plank named "2" parsed as material):
		#code
else:
	send "non"

ou alors:

add name of loop-item to {_in::*}

et dans ces cas la utilise ta 1ère méthode (if {_in::*} contain "1" and "2":)

Modifié par noftaly
  • J'aime 1
  • 0
Posté(e)
il y a 13 minutes, noftaly a dit :

Normal. remplace 


			if {_in::*} contain "1" and "2":

par 


if {_in::*} contain (1 of stone named "1" parsed as material):
	if {_in::*} contain (1 of plank named "2" parsed as material):
		#code
else:
	send "non"

ou alors:


add name of loop-item to {_in::*}

et dans ces cas la utilise ta 1ère méthode (if {_in::*} contain "1" and "2":)

OK merci, c'est bon ça fonctionne

J'ai pris la façon: if {_in::*} contain

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.