Aller au contenu
  • 0

Supprimer élément d'une liste


Question

Posté(e)

Bonjour je viens à vous car je rencontre une difficulté..

En effet, j'ai un skript de home (/sethome, /delhome, /home) et le /delhome ne fonctionne pas comme il faut :

command /delhome [<text>]:
    executable by: players
    trigger:
        if arg-1 is not set:
            send message "/delhome <nom>" to player
            stop
        if arg-1 is set:
            wait 2 ticks
            if {homes.%uuid of player%::*} contains "%arg-1%":
                remove argument from {homes.%uuid of player%::*}
                remove 1 from {maxhomes.%uuid of player%}
                clear {homes.%uuid of player%.%arg-1%}
                send message "&7La résidence &6%arg-1%&7 a été supprimée" to player
                stop
            else:
                send message "&fRésidences : %{homes.%uuid of player%::*}%" to player
                stop

Il fonctionne lorsqu'il n'y a qu'un élément dans la liste {homes.%uuid of player%::*} mais dès qu'il y en a plusieurs il ne veut pas le supprimer..

Est ce que quelqu'un saurait régler ce problème ?

En vous remerciant d'avance pour votre aide 😉

12 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Ooof ton code me donne mal aux yeux. Tiens un système de "/home" rapide et propre. A toi de l'adapter à ton code:

command /addhome <text>:
	trigger:
		add location of player to {homes::%player%::%arg-1%}
		send "&aHome %arg-1% crée et ajouté!"

command /delhome <text>:
	trigger:
		clear {homes::%player%::%arg-1%}
		send "&aHome %arg-1% supprimé!"

command /home <text>:
	trigger:
		teleport player to {homes::%player%::%arg-1%}
		send "&Vous avez été téléporté au home %arg-1%!"

 

  • 0
Posté(e)
Il y a 5 heures, Makavelli a dit :

Ok merci je vais voir ce que je peux en faire !

Et en quoi mon code te fait mal aux yeux ?

Tes variables. Un "." en skript ne signifie rien est n'est d'autre qu'une partie du nom de ta variable. En claire tu prends plus de place de stockage dans tes variables sans forcément en améliorer la qualité (et tu utilises trop de var pour un résultat moindre)

  • 0
Posté(e)

Ok je ne savais pas

Trop de variable ? J’ai besoin de toute ces variables pour le reste de mon Skript

Et d’ailleurs ça ne m’a pas aidé sur mon problème..

  • 0
Posté(e) (modifié)
remove argument from {homes.%uuid of player%::*}

Ici, il ne va pas enlever ce que tu vas écrire dans "/delhome blabla", il va remove "argument" de la liste des homes... et pas blabla.

Je crois que c'est ça. Le code que Alex a cité lui supprime toutes les homes par exemple avec son clear, il utilise pas "remove".

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

remove argument from {homes.%uuid of player%::*}

Ici, il ne va pas enlever ce que tu vas écrire dans "/delhome blabla", il va remove "argument" de la liste des homes... et pas blabla.

Je crois que c'est ça. Le code que Alex a cité lui supprime toutes les homes par exemple avec son clear, il utilise pas "remove".

Essaye de mettre

remove "%argument%" from {homes.%uuid of player%::*}

  • 0
Posté(e)
Il y a 22 heures, Makavelli a dit :

Ok je ne savais pas

Trop de variable ? J’ai besoin de toute ces variables pour le reste de mon Skript

Et d’ailleurs ça ne m’a pas aidé sur mon problème..

En quoi ma réponse n'a pas résolu ton problème ? Tu as un soucis avec un système d'home, je t'en propose un de meilleur qualité et qui fonctionne

  • 0
Posté(e)
Le 25/05/2019 à 04:01, AlexLew a dit :

En quoi ma réponse n'a pas résolu ton problème ? Tu as un soucis avec un système d'home, je t'en propose un de meilleur qualité et qui fonctionne

Parce que je veux qu'on puisse supprimer le home dans la liste {homes.%uuid of player%::*} car je loop la liste dans le reste de mon code..

  • 0
Posté(e)
remove argument from {homes.%uuid of player%::*}

C'est déja ce que je fais mais ca ne fonctionne que si la liste contient un home, dès qu'elle en contient plus, le code passe direct là

else:
                send message "&fRésidences : %{homes.%uuid of player%::*}%" to player
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.