Aller au contenu

Question

Posté(e) (modifié)

Bonjour,

Cela fait maintenant deux jours très exactement que je code un Skript de FFABrain mais le soucis c'est qu'une seule commande fonctionne le "/ffabrain fly" sur les 10 autres commandes environ. Dans la console, aucune erreur n'apparaît mais en jeu quand je fais chacune des commandes, rien ne fonctionne 😞

De même pour le fait de marcher sur la Glowstone, sa ne fonctionne plus ...

Code :

 

# ============================= #

     # ---- Options ----#

# ============================= #

options:
    prefix: &e&lFFA&6&lBrain &8»
    permission: settings.ffabrain
    world: FFABrain
    
# ============================= #

     # ---- Commandes ----#

# ============================= #

command /ffabrain [<text>] [<text>]:
    trigger:
        if arg 1 is not set:
            if arg 2 is not set:
                if player has permission "{@permission}":
                    send "&c&m--|------&r &aHelp &eFFA&6Brain &r&c&m------|--"
                    send " "
                    send "&7/&6ffabrain &ajoin &8- &7Rejoindre le FFABrain"
                    send "&7/&6ffabrain &aspawn &8- &7Aller au spawn du FFABrain"
                    send "&7/&6ffabrain &astuff &8- &7Voir le stuff du FFABrain"
                    send "&7/&6ffabrain &ainformations &8- &7Voir les informations sur le FFABrain"
                    send "&7/&6ffabrain &cmodification &8- &7Activer/désactiver les modifications de la map"
                    send "&7/&6ffabrain &cfly &8- &7Activer/désactiver le fly"
                    send "&7/&6ffabrain &coptions &8- &7Afficher la liste des options du FFABrain"
                    send "&7/&6ffabrain &csetspawn &8- &7Set le spawn du FFABrain à vos coordonnées"
                    send " "
                    send "&c&m--|---------------------------|--"
                else:
                    send "&c&m--|------&r &aHelp &eFFA&6Brain &r&c&m------|--"
                    send " "
                    send "&7/&6ffabrain &ajoin &8- &7Rejoindre le FFABrain"
                    send "&7/&6ffabrain &aspawn &8- &7Aller au spawn du FFABrain"
                    send "&7/&6ffabrain &astuff &8- &7Voir le stuff du FFABrain"
                    send "&7/&6ffabrain &ainformations &8- &7Voir les informations sur le FFABrain"
                    send " "
                    send "&c&m--|---------------------------|--"
        if arg 1 is set:
            if arg 1 is not "join", "play", "spawn", "stuff", "informations", "information", "info", "infos", "fly", "modification", "modif", "options" or "setspawn":
                send "{@prefix} &cVeuillez choisir une options correcte !"
                stop
            if player has permission "{@permission}":
                if player is in world "{@world}":
                    if arg 1 is "modification" or "modif":
                        if {ffabrain.modification} is false:
                            send "{@prefix} &fModification &aactivé &f!"
                            send "{@prefix} &fN'oubliez pas de &cdésactiver &fles modifications du monde pour &asauvegarder &fvos changements !"
                            set {ffabrain.modification} to true
                            stop
                        if {ffabrain.modification} is true:
                            send "{@prefix} &fModification &cdésactiver &f!"
                            set {ffabrain.modification} to false
                    if arg 1 is "fly":
                        if {ffabrain.fly.%player%} is false:
                            send "{@prefix} &fFly &aactivé &f!"
                            set {ffabrain.fly.%player%} to true
                            set player's flight mode to true
                            stop
                        if {ffabrain.fly.%player%} is true:
                            send "{@prefix} &fFly &cdésactivé &f!"
                            set {ffabrain.fly.%player%} to false
                            set player's flight mode to false
                    if arg 1 is "options":
                        if arg 2 is not set:
                            send "&c&m--|------&r &aHelp &eFFA&6Brain &8[ &aoptions &8] &r&c&m------|--"
                            send " "
                            send "&7/&6ffabrain &6options &awhitelist &8- &7Empêcher/autoriser les joueurs à venir sur le FFABrain"
                            send "&7D'autres options seront bientôt disponnible ^^"
                            send " "
                            send "&c&m--|--------------------------------------|--"
                        if arg 2 is set:
                            if arg 2 is "whitelist":
                                if {whitelist.ffabrain} is false:
                                    broadcast "{@prefix} &fWhitelist &aactivé &fpour le &eFFA&6Brain &f!"
                                    set {whitelist.ffabrain} to true
                                    stop
                                if {whitelist.ffabrain} is true:
                                    broadcast "{@prefix} &fWhitelist &cdésactivé &fpour le &eFFA&6Brain &f!"
                                    set {whitelist.ffabrain} to false
                    if arg 1 is "setspawn":
                        if arg 2 is not set:
                            set {ffabrain.spawn} to location of player
                            send "{@prefix} &fLe spawn du &eFFA&6Brain &fà été set en &e[&b%location%&e]"
                        if arg 2 is set:
                            if arg 2 is "1" or "one":
                                set {ffabrain.spawn.one} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b1 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "2" or "two":
                                set {ffabrain.spawn.two} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b2 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "3" or "three":
                                set {ffabrain.spawn.three} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b3 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "4" or "four":
                                set {ffabrain.spawn.four} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b4 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "5" or "five":
                                set {ffabrain.spawn.five} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b5 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "6" or "six":
                                set {ffabrain.spawn.six} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b6 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "7" or "seven":
                                set {ffabrain.spawn.seven} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b7 &fà été set en &e[&b%location%&e]"
                            if arg 2 is "8" or "eight":
                                set {ffabrain.spawn.eight} to location of player
                                send "{@prefix} &fLe point d'apparition numéro &b8 &fà été set en &e[&b%location%&e]"
            else:
                if arg 1 is "join" or "play":
                    if player is not in world "{@world}":
                        make console execute command "/mv tp %player% FFABrain"
                        wait 10 ticks
                        send "{@prefix} &fVous avez été téléporté sur le &eFFA&1Brain &f!"
                        teleport player to {ffabrain.spawn}
                        clear player's inventory
                        set slot 4 of player to diamond axe named "&aJouer &8● &7Clique-droit"
                        set slot 8 of player to bed named "&cRetour au lobby &8● &7Clique-droit"
                        set {ffabrain.spawn.damage} to false
                        set {ffabrain.spawn.place} to false
                        set {ffabrain.spawn.break} to false
                if arg 1 is "spawn":
                    send "{@prefix} &fVous avez été téléporté au spawn du &eFFA&6Brain &f!"
                    teleport player to {ffabrain.spawn}
                    clear player's inventory
                    set slot 4 of player to diamond axe named "&aJouer &8● &7Clique-droit"
                    set slot 8 of player to bed named "&cRetour au lobby &8● &7Clique-droit"
                    if {ffabrain.spawn.damage} is true:
                        if {ffabrain.spawn.place} is true:
                            if {ffabrain.spawn.break} is true:
                                set {ffabrain.spawn.damage} to false
                                set {ffabrain.spawn.place} to false
                                set {ffabrain.spawn.break} to false
                if arg 1 is "informations", "information", "info" or "infos":
                    wait 15 ticks
                    send "&c&m--|------&r &aInformations &r&c&m------|--"
                    send " "
                    send "&bBut du jeu &8:"
                    send "  &6Tuer 5 joueurs sans mourrir et se placer sur les blocks de Glowstones au centre de la map pour gagner un point"
                    send " "
                    send "&7Ce jeu à été créer par &6Zerox_GraphicsYT"
                    send " "
                    send "&c&m--|------------------------|--"
                if arg 1 is "stuff":
                    open chest with 3 rows named "&eFFA&6Brain" to player
                    wait 3 ticks
                    format slot 0 of player with black glass named " " to be unstealable
                    format slot 1 of player with black glass named " " to be unstealable
                    format slot 2 of player with black glass named " " to be unstealable
                    format slot 3 of player with black glass named " " to be unstealable
                    format slot 4 of player with black glass named " " to be unstealable
                    format slot 5 of player with black glass named " " to be unstealable
                    format slot 6 of player with black glass named " " to be unstealable
                    format slot 7 of player with black glass named " " to be unstealable
                    format slot 8 of player with black glass named " " to be unstealable
                    format slot 9 of player with black glass named " " to be unstealable
                        
# ============================= #

     # ---- Evénements ----#

# ============================= #
                        
on join:
    if player is in world "{@world}":
        if {ffabrain.modification} is not set:
            set {ffabrain.modification} to false
        if {ffabrain.modification} is true:
            set {ffabrain.modification} to false
        if {ffabrain.fly.%player%} is not set:
            set {ffabrain.fly.%player%} to false
        if {ffabrain.fly.%player%} is true:
            set {ffabrain.fly.%player%} to false
        if {whitelist.ffabrain} is not set:
            set {whitelist.ffabrain} to false
        if {whitelist.ffabrain} is true:
            if player is in world "{@world}":
                if player has permission "{@permission}":
                    send "{@prefix} &cTout les joueur ont été kické du &eFFA&6Brain &c!"
                    stop
                else:
                    make console execute command "/mv tp %player% Lobby"
                    send "{@prefix} &cLe &eFFA&6Brain &cest en maintenance, vous avez été téléporté au lobby !" to player
        if {ffabrain.spawn.damage} is not set:
            if {ffabrain.spawn.break} is not set:
                if {ffabrain.spawn.place} is not set:
                    set {ffabrain.spawn.damage} to false
                    set {ffabrain.spawn.break} to false
                    set {ffabrain.spawn.place} to false
                    
on walk on glowstone:
    if player is in world "{@world}":
        if {kill.%player%} > 5:
            add 1 to {ffabrain.points.%player%}
            teleport player to {ffabrain.spawn}
            broadcast "{@prefix} &6%player% &fà marquer &b1 &fpoints !"
            set slot 4 of player to diamond axe named "&aJouer &8● &7Clique-droit"
            set slot 8 of player to bed named "&cRetour au lobby &8● &7Clique-droit"
        else:
            send "{@prefix} &cVous n'avez pas asser de kills pour marqué un points !"
            stop
            
on death of player:
    if player is in world "{@world}":
        if attacker is a player:
            if victim is a player:
                broadcast "{@prefix} &6%victim% &fà été tué par &6%attacker% &f!"
                add 1 to {kill.%attacker%}
                apply regeneration 250 to attacker for 2 seconds

Version de Skript : 2.2-dev25

Version Serveur : 1.8

 

Merci de votre aide ^^

 

Screen de la console :

1559407552-screen-skript-ffabrain.png

Modifié par Zerox Graphic's

13 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Deop toi, ligne 115, "else:" en op, tu as toutes les perms et cette ligne ne s'execute pas si le joueur a la perm {@permission} bloquant donc le reste du code.

Pour régler sa, il faut mettre "if player doesn't have permission "{@permission}:" à la place de "else:" et je crois que sa sera bon @Zerox Graphic's😀

 

  • 0
Posté(e)
il y a 6 minutes, TitiLaPierre a dit :

Deop toi, ligne 115, "else:" en op, tu as toutes les perms et cette ligne ne s'execute pas si le joueur a la perm {@permission} bloquant donc le reste du code.

Pour régler sa, il faut mettre "if player doesn't have permission "{@permission}:" à la place de "else:" et je crois que sa sera bon @Zerox Graphic's😀

 

Merci, je testerais sa après le skript que je code actuellement ^^

  • 0
Posté(e) (modifié)

Bonjour @Zerox Graphic's,

Dans tes conditions tu utilises des variables qui ne sont pas définies ailleurs dans le code.

Par exemple, au lieu d'utiliser :

if {machin.%player%} is false:
	broadcast "La variable est sur faux"
	stop
if {machin.%player%} is true:
	broadcast "La variable est sur vrai"
	stop

tu devrais utiliser :

if {machin.%player%} is not true:
	broadcast "La variable est sur faux ou n'est pas définie"
	# Ca ne sert à rien de stop dans if -> else
else:
	broadcast "La variable est sur vrai"

Ethnae

Modifié par Ethnae
  • 0
Posté(e)
il y a 1 minute, Ethnae a dit :

Bonjour @Zerox Graphic's,

Dans tes conditions tu utilises des variables qui ne sont pas définies ailleurs dans le code.

Par exemple, au lieu d'utiliser :


if {machin.%player%} is false:
	broadcast "La variable est sur faux"
	stop
if {machin.%player%} is true:
	broadcast "La variable est sur vrai"
	stop

tu devrais utiliser :


if {machin.%player%} is not true:
	broadcast "La variable est sur faux ou n'est pas définie"
	# Ca ne sert à rien de stop dans if -> else
else:
	broadcast "La variable est sur vrai"

Ethnae

C'est normal qu'elles ne soit pas définie, j'ai pas finit le skript x)

  • 0
Posté(e)
il y a 4 minutes, Zerox Graphic's a dit :

C'est normal qu'elles ne soit pas définie, j'ai pas finit le skript x)

Ce que je veux dire c'est que c'est des variables contenant le pseudo du joueur, tu ne les définira sûrement pas plus tard dans le code et elles doivent bien être définies au moins une fois. Si tu n'as pas fini le script alors pourquoi tu viens demander de l'aide ici ? Si ça ne marche pas c'est pour les raisons citées précédemment...

  • 0
Posté(e)

Oui, cela affiche une erreur car "if player doesn't have permission "{@permission}":" n'existe pas. J'ai vérifié mais je ne sais pas quoi te dire @Zerox Graphic's.

Tu devrais adapter ton code de façon à retirer "if player have permission "{@permission}":" ligne 48 en à le mettre séparément dans chaque partie. (Je sais pas si je suis clair)

Ou, tu créer une commande qui gère l'administration (Set de l'arène...) et une qui gère le joueur (Join de la game...) Dsl de ne pas pouvoir t'aider plus.

  • 0
Posté(e)
il y a 3 minutes, TitiLaPierre a dit :

Oui, cela affiche une erreur car "if player doesn't have permission "{@permission}":" n'existe pas. J'ai vérifié mais je ne sais pas quoi te dire @Zerox Graphic's.

Tu devrais adapter ton code de façon à retirer "if player have permission "{@permission}":" ligne 48 en à le mettre séparément dans chaque partie. (Je sais pas si je suis clair)

Ou, tu créer une commande qui gère l'administration (Set de l'arène...) et une qui gère le joueur (Join de la game...) Dsl de ne pas pouvoir t'aider plus.

Sa ne m'affiche aucune erreur chez moi

  • 0
Posté(e)
il y a 41 minutes, Zerox Graphic's a dit :

MAis ne t'en fais pas j'ai trouvé l'erreur, c'était le if player is in world "{@world}" à la ligne 49 🙂

Problème résolu ?

  • Merci 1
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.