Aller au contenu
  • 0

Probleme variable


Question

Posté(e)

Bonjour,

j'essaye de mettre en true une variable pour tout les joueurs

et à partir d'un message, mettre la variable du joueur ayant mis le message en false

voici mon code

command /billet:
	trigger:
		if player has a paper named "&a&lBillet":
			make console execute command "/eco give %player% 120000"
			remove 1 paper named "&a&lBillet" from player's inventory
			broadcast ""
			broadcast "&b[&eTEST&b] &bBravo %player% > 120,000 mis dans son compte !"
			broadcast "&bDites &ebravo &b! (Pour une recompense)"
			broadcast ""
			set {gain.billet::*} to true
			wait 10 seconds
			set {gain.billet::*} to false
		else:
			message "&cVous n'avez pas de billet"
	

on chat:
	if {gain.billet::%player%} is true:
		if message contains "bravo" or "Bravo":
			make console execute command "/eco give %player% 1000"
			set {gain.billet::%player%} to false

merc pour l'aide que vous m'apporterez

2 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)
Le 28/10/2018 à 18:20, TheBestD34D a dit :

Bonjour,

j'essaye de mettre en true une variable pour tout les joueurs

et à partir d'un message, mettre la variable du joueur ayant mis le message en false

voici mon code


command /billet:
	trigger:
		if player has a paper named "&a&lBillet":
			make console execute command "/eco give %player% 120000"
			remove 1 paper named "&a&lBillet" from player's inventory
			broadcast ""
			broadcast "&b[&eTEST&b] &bBravo %player% > 120,000 mis dans son compte !"
			broadcast "&bDites &ebravo &b! (Pour une recompense)"
			broadcast ""
			set {gain.billet::*} to true
			wait 10 seconds
			set {gain.billet::*} to false
		else:
			message "&cVous n'avez pas de billet"
	

on chat:
	if {gain.billet::%player%} is true:
		if message contains "bravo" or "Bravo":
			make console execute command "/eco give %player% 1000"
			set {gain.billet::%player%} to false

merc pour l'aide que vous m'apporterez

 

Salut,

Le problème vient de là: "if {gain.billet::%player%} is true:"

Une variable liste contient un chiffre après les :: qui permettent de déterminer la position de l'argument à l'intérieur.

 

Ce que je te conseille comme alternative pour faire ta commande, c'est de créer une variable liste où tu enregistres les joueurs qui ont écrit "bravo".

 

Voilà le nouveau code:

command /billet:
    trigger:
        if player has a paper named "&a&lBillet":
            make console execute command "/eco give %player% 120000"
            remove 1 paper named "&a&lBillet" from player's inventory
            broadcast ""
            broadcast "&b[&eTEST&b] &bBravo %player% > 120,000 mis dans son compte !"
            broadcast "&bDites &ebravo &b! (Pour une recompense)"
            broadcast ""
            set {gain} to true    # On met une variable booléen sur true pour activer ou désactiver la récompense
            wait 10 seconds
            set {gain} to false   # On arrête la possibilité de récompense en mettant sur false.
            delete {gain.billet::*} # On supprime la variable pour reset les joueurs qui ont mit bravo à temps.
        else:
            message "&cVous n'avez pas de billet"
    
on chat:
    if {gain} is true:  # Si le joueur peut avoir une récompense.
        if message contains "bravo" or "Bravo":
            if "%{gain.billet::*}%" contain "%player%":  # Si le joueur a déjà été récompensé. Evite 'containS', ça n'existe pas même si ça marche.
                make console execute command "/eco give %player% 1000"
                add "%player%" to {gain.billet::*} # On ajoute le joueur à la variable pour éviter qu'il obtienne plusieurs fois la récompense.

 

En espérant t'avoir aidé. Cordialement.

Modifié par MrUrica
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.