CommandBlock Résolu Zone de detection de joueur puis enchaînement avec autre commande

Atom_Skully

Aventurier
8 Juillet 2021
6
0
1
22
Bonjour
Je souhaite grâce à un command block de détecter les joueurs à proximité puis de mettre les joueurs détecter en gamemode adventure
Pour détecter les joueurs je connais la commande
Code:
 /testfor @p[r=5]
mais je ne sais pas comment faire pour que quand les joueurs sont détecter il passent en gamemode adventure
PS : je joue en 1.12.2
Merci de votre aide.
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 086
157
455
247
21
Mìlhüsa
Bonsoir,

Pas besoin de /testfor ?
Code:
/gamemode adventure @a[r=5]

Et il me semble que si tu colles un comparateur de redstone à côté d'un bloc de commande, celui-ci s'activera si la condition du /testfor est atteinte.

Cordialement,
ShE3py
 
  • J'aime
Reactions: Atom_Skully

Atom_Skully

Aventurier
8 Juillet 2021
6
0
1
22
Bonsoir,

Pas besoin de /testfor ?
Code:
/gamemode adventure @a[r=5]

Et il me semble que si tu colles un comparateur de redstone à côté d'un bloc de commande, celui-ci s'activera si la condition du /testfor est atteinte.

Cordialement,
ShE3py
Sa marche, merci beaucoup
Et par hasard est ce que dans ce même command block on peut mettre que si on est à plus de 5 de distance on repasse en gamemode survival ?
 
Dernière édition:

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 086
157
455
247
21
Mìlhüsa
r pour le rayon maximal et rm pour le rayon minimum, donc :
Code:
/gamemode survival @a[rm=5,m=!survival]

Le sélecteur m permet de ne changer le mode de jeu qu'aux joueurs qui ne sont pas déjà en survie, ce qui évite le spam de « Votre mode de jeu a été mis à jour ».
 
  • J'aime
Reactions: Atom_Skully

Atom_Skully

Aventurier
8 Juillet 2021
6
0
1
22
r pour le rayon maximal et rm pour le rayon minimum, donc :
Code:
/gamemode survival @a[rm=5,m=!survival]

Le sélecteur m permet de ne changer le mode de jeu qu'aux joueurs qui ne sont pas déjà en survie, ce qui évite le spam de « Votre mode de jeu a été mis à jour ».
Donc il faut deux command block en chaine pour mettre les deux limites en même temps ou tous peux se regrouper en un seul command block ?
Car se que je souhaite faire est d entrée en mode adventure en rentrant plus ou moins dans un village mais quand on quitte le village donc n importe où sur la map repasser en mode survival
 
Dernière édition:

Atom_Skully

Aventurier
8 Juillet 2021
6
0
1
22
Oui, deux commandes donc deux blocs de commande.
Bonjour ,
Je viens d essayer se que vous m'avez dit mais le seul résultat que j'ai c'est un tchat rempli de "Votre mode de jeu a été modifié Survival , Créatif , Survival ...".
J'ai mis les commandes block en impulsion , inconditionnel et par la redstone


2021-07-09_10.13.57.png
(sur l'image les commandes block ne sont pas reliée a la redstone mais je l'ai fais pour les test)


2021-07-09_10.11.17.png
Comme je vous l'avez dit précédemment je veut que quand je rentre dans le village (zone rouge je sois en gamemode adventure (créatif pour les test) et quand je sors de se village donc n'importe où sur la map je sois en gamemode survival.
Sauf que quand je suis dans la zone rouge les command block spam de "Changement en créatif , changement en survival , etc..." mais quand je suis hors de la zone rouge il spam de "changement en survival"
Je souhaite donc savoir comment faire pour corriger l'alternance entre adventure et survival dans la zone alors qu'il faut juste être en adventure
Et aussi comment éviter le spam des command block car j'ai fais une machine en redstone qui s'active et qui se désactive en continue

EDIT : j'ai également essayer avec les command block en mode chaine et par la redstone mais cette fois rien ne se passe que je sois dedans ou hors de la zone.

2021-07-09_11.29.54.png


Merci de votre aide
Cordialement
 
Dernière édition:

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 086
157
455
247
21
Mìlhüsa
Essaye
Code:
/gamemode creative @a[x=<x>,y=<y>,z=<z>,r=45,m=0]
/gamemode survival @a[x=<x>,y=<y>,z=<z>,rm=45,m=1]

En remplaçant <x>, <y> et <z> par les coordonnées de l'origine (du centre) de ton village.

Tu dois bien prendre @a et non @p car tu veux sélectionner tous les joueurs dans la zone, et non seulement le joueur le plus proche du centre.
 
  • J'aime
Reactions: Atom_Skully