Exécuter une commande au joueur qui l'effectue

LaitEtCookie

Aventurier
6 Juillet 2019
11
2
3
25
Hey

Je cherche le moyen pour que quand un joueur appuie sur un bouton, il est téléporter, jusque ici c'est simple mais ce qui me pause problème c'est le moment ou c'est le joueur qui appuie sur le bouton qui doit être téléporter, en gros, lui est pas un autre qui ce trouve plus proche du bouton.

Pour être plus précis, c'est pas le joueur le plus proche du bouton qui doit être tp, mais bien celui qui appuie sur le bouton.
(désoler si ce n'est pas très précis)

Le système est sous mc 1.14.3

Merci à ceux qui viendront m'aider :p
 
Dernière édition:
16 Février 2014
1 944
391
217
le sud (de Melun)
Il faut utiliser une plaque de pression pour éviter ce genre de problème (puisque le joueur le plus proche est forcément celui que est sur la plaque).

Tu peux essayer avec une pancarte qui execute la commande en mettant @s au lieu de @p.
edit: je viens de tester, la commande est la suivante.
Code:
/give @p minecraft:oak_sign{BlockEntityTag:{Text1:"{\"text\":\"TEXT\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"tp @s ~ ~ ~\"}}"}}


Ou sinon tu pourrais faire un système avec un cadre et un item spécial que l'on peut détecter dans l'inventaire du joueur qui a cliqué sur le cadre.
 
Dernière édition:

LaitEtCookie

Aventurier
6 Juillet 2019
11
2
3
25
Il faut utiliser une plaque de pression pour éviter ce genre de problème (puisque le joueur le plus proche est forcément celui que est sur la plaque).

Tu peux essayer avec une pancarte qui execute la commande en mettant @s au lieu de @p.
edit: je viens de tester, la commande est la suivante.
Code:
/give @p minecraft:oak_sign{BlockEntityTag:{Text1:"{\"text\":\"TEXT\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"tp @s ~ ~ ~\"}}"}}


Ou sinon tu pourrais faire un système avec un cadre et un item spécial que l'on peut détecter dans l'inventaire du joueur qui a cliqué sur le cadre.

Merci je vais faire ça :p
 

Eglaios

Crétin de la commu
14 Avril 2018
310
42
89
25
Si ça doit être absolument précis, il y a sûrement un score enregistrant le nombre d'utilisations de boutons (dans minecraft.custom)... Tu reset le score à chaque tick et quand le joueur clique sur le bouton, tu cible "@p [scores={score du clic=1..}]"
Il faut t'arranger pour exécuter cette commande avant le reset du score à chaque tick.
 

Eglaios

Crétin de la commu
14 Avril 2018
310
42
89
25
Au passage, je suis allé voir la commu des commandblockers de reddit sur discord et tudieu, ça rigole pas! Des trucs du genre "pour un nombre random, invoque une entité et fais le modulo de ses UUIDs", ou le truc de la commande /worldborder pour calculer le temps pendant que le jeu est en pause...

Même la technique "setblock un panneau avec selector @p puis copie son texte sur une entité, item ou autre pour y apposer le nom du joueur" que je pensais avoir été le premier à trouver pour mon datapack :'(, c'est considéré comme normal sur le discord...

C'est en anglais, mais si tu veux savoir si une chose est possible dans minecraft, ces mecs-là, ils le sauront te le dire! À côté d'eux, je me sens comme un noob qui découvre le /gamemode!
 
16 Février 2014
1 944
391
217
le sud (de Melun)
Ça fonctionne chez moi en LAN le @s dans la commande du panneau, le joueur qui clic est téléporté même si il est plus loin qu'un autre joueur.
Les coordonnées restent relatives au panneau.


Il faut t'arranger pour exécuter cette commande avant le reset du score à chaque tick.
Il suffirait de reset seulement ceux qui ont un score qui vaut 1 après avoir tp.
Ou plutôt on aurait un bouton qui active un command block qui tp ceux qui ont un score de 1 et qui sont dans un certain rayon (pour éviter les conflits avec d'éventuels d'autres boutons), suivi d'un cb chain qui reset les scores.

Dommage qu'il n'y ait pas de score pour les boutons. :/
 
Dernière édition: