Délimiation zone en mode aventure 1.19.2

JaydnLive

Aventurier
15 Août 2023
4
0
1
30
Bonjour,

je cherche à délimiter des zones dans ma map en mode aventure et j'ai trouvé ces deux commandes sur internet, mais ça spam dans mon chat le changement de mode et me change au final en mode survie quand je retourne dans le périmètre. Comment faire pour changer cela ? ( je suis en 1.19.2 et j'ai essayé des techniques de plus vielles version et ça ne marchait pas )


execute if entity @e[distance=..20] run gamemode adventure @e[gamemode=survival,distance=..20]

execute if entity @e[distance=22..25] run gamemode survival @e[gamemode=adventure,distance=22..25]

Merci à vous !
 
Bonsoir,

@e sélectionne toutes les entités, or tu as besoin d'uniquement les joueurs donc @a sera plus rapide.

C'est généralement une mauvaise idée de sélectionner deux fois, préfère utiliser @s :
Code:
/execute as @a[gamemode=survival,distance=..20] run gamemode adventure @s
/execute as @a[gamemode=adventure,distance=22..25] run gamemode survival @s

Car ce que tu as c'est plus un
Code:
POUR CHAQUE ENTITÉ e
    POUR CHAQUE ENTITÉ e’
        CHANGER GAMEMODE DE e’
    FIN POUR
FIN POUR
Donc pour n entités, tu avais n² fois le message.

Cordialement,
ShE3py
 
Merci pour ta réponse,

j'ai tenté le coup mais rien ne s'est passé malheureusement. Le game mode ne s'est pas changé du tout
 
Salut, quand tu utilises distance=x..y c'est bien d'avoir un point de départ précis ( ça peut être une entity invisible) comme par exemple :
/execute as @a[gamemode=survival,x=X,y=Y,z=Z,distance=..20] run gamemode adventure @s
/execute as @a[gamemode=adventure,x=X,y=Y,z=Z,distance=22..25] run gamemode survival @s