Message populaire Voserv Posté(e) le 20 juin 2015 Message populaire Posté(e) le 20 juin 2015 Bonjour, Dans ce tutoriel, nous allons étudier les Loops. Celles-ci permettent par exemple de viser une variable ou un groupe de choses (de joueurs pas exemples). Nous allons voir ça de plus près. I/Loop avec un groupe: A)Les joueurs Grâce aux loop, vous pouvez sélectionner un groupe entier, par exemple tout les joueurs, exemple: command /sendall: trigger: loop all players: send "Tu a reçu ce message" to loop-player Là, ma commande prend en compte tout les joueurs présents sur le serveur et leur montre le message. Tout les joueurs présents reçoivent donc ce message. Il est aussi possible de faire une sélection, par exemple, sélectionner tout les joueurs, et trier ceux qui ont les permissions, exemple: command /checkperm: trigger: loop all players: if loop-player has permission "skript.test": send "Tu a la permission" to loop-player stop else: send "Tu ne possède pas la permission :(" to loop-player Là, ma commande sélectionne tout les joueurs du serveur et fait un tri, entre ceux qui ont la permission "skript.test" et ceux qui n'ont pas la permission. Avec ce tri, la commande montrera le message "Tu a la permission" aux joueurs ayant la permission, et montrera le message "Tu ne possède pas la permission :(" aux autres. B)Entitées Il est possible de sélectionner les entités par exemple, pour comme les joueurs, faire un tri ou autre, exemple: command /checkmob: trigger: loop all entities in world "test": if loop-entity is a creeper: add 1 to {creeper.variable} Là, la commande sélectionne tout les mobs dans le monde "test", ensuite il fait un tri entre ceux qui sont des creepers et ceux qui ne sont pas des creepers. Après avoir sélectionne tout les mobs, il ajoute 1 dans la variable {creeper.variable} pour chaque creeper. C)Les inventaires Il y a encore beaucoup de possibilités que je ne pourrais pas vous lister, mais, il est aussi possible de sélectionner les items dans les inventaires des joueurs, comme ici: command /checkmob: trigger: loop all players: loop all items in loop-player's inventory: if loop item is diamond: add 1 to {diamond.variable} Tout d'abord, vous devez sélectionner tout les joueurs à l'aide de "loop all players". Après avoir sélectionné tout les joueurs, grâce à "loop all items in loop-player's inventory", vous sélectionnez tout les diamants dans les inventaires, avec "if loop item is diamond", et si oui, cela ajoute 1 dans la variable {diamond.variable}. Il existe encore beaucoup de possibilités, mais nous allons nous arrêter là pour l'instant. II/Loop les listes: A)C'est quoi une liste ?: Une liste, ça marche comme une variable, sauf que seules les listes peuvent marchent avec les Loops. Et les listes peuvent stocker des entités, des joueurs, et bien d'autres choses par rapport aux variables. Une liste s'écrit comme ça: {liste.test::*}, par rapport à une variable qui s'écrit comme cela: {liste.test}. B)Ca sert à quoi ?: Grâce à cela, vous pouvez stocker des entités, des joueurs (pratique pour les groupes) et même des coordonées, des endroits précis. Nous allons voir de plus près l'utilité des loops. C)Utiliser des loops: Imaginons, vous voulez garder la position d'un bloc, à l'aide de ce skript: command /addpos: trigger: add location of targeted block to {blocs.liste::*} send "&eVous avez ajouté la position du bloc dans la liste" Là, en utilisant la commande /addpos, vous ajoutez la position du bloc que vous regardez dans la liste {blocs.liste::*}. Ajouter une position par exemple est une chose possible que avec les listes. Ensuite, nous allons faire un skript pour remplacer TOUT les blocks ajoutés dans la liste en bloc de diamant: command /replall: trigger: loop {blocs.liste::*}: set {_loc} to loop-value set block at {_loc} to diamond block Avec cette commande, vous sélectionnez tout les blocks enregistrés dans la variable {blocs.liste::*}. Ensuite, vous placez {_loc} à l'endroit de chaque bloc enregistré (loop-value correspond aux blocs enregistrés). Et ensuite le bloc qui est à {_loc} est transformé en bloc de diamant. Vous allez me dire qu'il est possible de faire la même chose sans les listes, mais l'avantage des listes, c'est que vous pouvez sélectionner tout les blocs enregistrés d'un coup ! Voilà, mon troisième tutoriel est terminé, j'espère qu'il vous aura aidé et n'hésitez pas à me poser des questions, surtout que la partie ci-dessus est assez compliqué à comprendre. 8
Im_PasteK Posté(e) le 3 juillet 2015 Posté(e) le 3 juillet 2015 comment on pourrait loop le slot d'une épée ?
angelus76 Posté(e) le 3 juillet 2015 Posté(e) le 3 juillet 2015 comment on pourrait loop le slot d'une épée ? Quoi ?
Im_PasteK Posté(e) le 3 juillet 2015 Posté(e) le 3 juillet 2015 En gros je veux loop les items dans l'inventaire et dedans loop le slot de l'inventaire de l'épée (la case de l'inventaire)
angelus76 Posté(e) le 3 juillet 2015 Posté(e) le 3 juillet 2015 je croie que c'est un truc du genre loop player's inventory: a verifé
Krown0s Posté(e) le 3 juillet 2015 Posté(e) le 3 juillet 2015 Merci ! Ce tuto va être très utile pour moi ^^ 2
Spidoka Posté(e) le 4 juillet 2015 Posté(e) le 4 juillet 2015 Merci beaucoup pour ce tuto. Il va m'aider. Car moi et les loops sa faisait deux. Bonne soirée. Spidoka 2
ByNow Posté(e) le 5 décembre 2015 Posté(e) le 5 décembre 2015 Merci beaucoup j'ai appris plein de choses :)
FireKilleur54 Posté(e) le 23 avril 2016 Posté(e) le 23 avril 2016 Salut tu saurait comment loops toutes les armors stands ?
Azen Posté(e) le 15 juin 2016 Posté(e) le 15 juin 2016 Fais loop all entities: loop entities is armor stands: la suite du code [/cod
Milwen Posté(e) le 16 juillet 2017 Posté(e) le 16 juillet 2017 J'ai un problème, j'ai écrit: loop all player in world "lobbysk01": Et cela me dit: Empty configuration section etc... Pouvez-vous m'aider plz :s
Blackmine57 Posté(e) le 16 juillet 2017 Posté(e) le 16 juillet 2017 J'ai un problème, j'ai écrit: loop all player in world "lobbysk01": Et cela me dit: Empty configuration section etc... Pouvez-vous m'aider plz :s C'est parce qu'il faut mettre la suite du code, comme un send (Après le loop) 1
Milwen Posté(e) le 26 juillet 2017 Posté(e) le 26 juillet 2017 Merci Beaucoup Blackmine57 ! Mais j'ai juste une dernière question . J'ai fais commencer à codé un mini-jeux dans lequel on peut poser des blocs. Mais je voudrais que lorsque la game se termine, touts les blocs de sandstone de la map soit remplacé via un loop. Je sais que l'on peut le faire via le système de {blocs.liste::*} mais cette technique est extrèmement longues (il faut set bloc par bloc tout les bloc de la map) N'y a t-il pas une technique plus simple et plus rapide ?
Milwen Posté(e) le 15 septembre 2017 Posté(e) le 15 septembre 2017 Encore moi x) J'ai un problème :s J'ai fait un système de shop mais voila se que cela me fait :/ J'ai utilisé des loop dedans mais rien n'y fait :'( Voilà le code command /vente: trigger: open chest with 6 rows named "&1Vente &6&oInv &1!" to player wait 2 ticks format slot 0 of player with a cobblestone named "Cobblestone" with lore "&7Vente: &615" to run [make player execute command "/vcobblestone"] command /vcobblestone: trigger: loop all players: loop all items in loop-player's inventory: if {vente.%uuid of loop-player%} is "cobblestone": if loop item is cobblestone: remove 1 cobblestone from loop-player's inventory send "&aAchat effectué !" add 15 to {coins.%uuid of loop-player%} set {vente.%uuid of player%} to "x" else: send "&cVous n'avez pas de cobblestone à vendre !" set {vente.%uuid of player%} to "x" stop else: stop Et cela me met plein de "indentation error" :'( quand je reload le skript :'( Help me please :'( :'( :'(
AltaWineMomoth Posté(e) le 15 septembre 2017 Posté(e) le 15 septembre 2017 peut être car tout est a la ligne
angelus76 Posté(e) le 15 septembre 2017 Posté(e) le 15 septembre 2017 Mettre le code dans des balises code serais mieu pour la lecture, la j'ai plus envie de le lire car il faut que j'imagine l'indentation ...
Milwen Posté(e) le 11 octobre 2017 Posté(e) le 11 octobre 2017 Merci pour votre aide mais j'ai résolu mon problème ! Au lieu d'utilier un système de loop, j'ai utilisé la condition "if player has a cobbestone :" Merci quand mm de votre aide :D
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant