[BUG] Incompréhension Scoreboard en Multijoueur

Kazz96

Créateur du Closed Combat
19 Octobre 2011
233
9
125
Basse-Normandie
theclosedcombat.xooit.fr
Bonjour amis redstonien !
Je suis un mapmaker et je rencontre actuellement de gros soucis au niveau du scoreboard, et plus précisement sur les teams :

Je m'explique, tout d'abord voici mon système :
1369821371-2013-05-29-11-53-33.png
Mon problème ne survient qu'en multijoueur, aussi bien sous minecraft vanilla que sous craftbukkit et est le suivant :

Les deux commandblocks reliés au système "laine blanche" via des comparateurs possèdent comme commandes les suivantes :

L'un : testfor @a[-940,53,-90,1,team=!Teamrouge]
L'autre : testfor @a[-940,53,-90,1,team=!Teambleu]

J'ai l'habitude de mapper en solo, donc le système de base fonctionne très bien. En revanche en multijoueur survient un problème : Seulement 1 personne du serveur ne peut être détectée par les critères de team "!Teamrouge" et "!Teambleu" alors que le reste des joueurs n'ont aucun effet sur les commandes, bien qu'ils remplissent parfaitement les critères !

Je ne vois pas du tout d'où peut survenir le problème, si quelqu'un a une idée elle sera la bienvenue, merci !
 

Snrasha

Critiqueur de service.
29 Juillet 2011
1 871
69
43
Alors soit le Testfor ne prend qu'une personne pour s'activer (d'ailleurs il en suffit que un seul)ce qui est possible surtout avec ce que je vois sur le screenshoot. Car effectivement le testfor s'active si quelqu'un remplit la condition, pas si tout le monde remplit la condition. Après bien sur, si quelqu'un y est encore, alors que l'horloge n'a pas eu le temps de désactiver le testfor, il restera activé.

Je ne comprends pas très bien l'utilité de ce système, à part que les deux équipes de X joueurs se rassemblent sur un point pour activer la porte and quand ils y sont tous, ce qui n'est pas possible pour un testfor, il ne prend en compte qu'un joueur si il remplit les conditions.(@p prenant le plus proche, r prenant un dans le rayon, et a prenant le tout sauf pour le testfor qui sera comme un [Est-ce que quelqu'un dans mon rayon remplit la condition?])

PS: ce que je dis est peut être faux, il faudrait quelqu'un d'autres pour appuyer mon aide.
 

Kazz96

Créateur du Closed Combat
19 Octobre 2011
233
9
125
Basse-Normandie
theclosedcombat.xooit.fr
Bonjour :)
Oui bien sûr, la commande testfor ne prend qu'une personne pour s'activer, mais le problème n'est pas là.
En fait, par exemple sur un serveur il y a 3 personnes :
Ces trois personnes remplissent les conditions pour que le commandblock émette un signal via la commande testfor.

Cependant, sur ces 3 personnes, lorsque chacune à leur tour active le système, seulement 1 de ces 3 personnes va réussir à l'activer, ce qui n'est pas logique puisqu'elles remplissent les conditions, les 3 personnes devrait normalement l'activer !.

Je précise que les comparateurs ne sont pas bloqués sur ON comme il sera facile d'y penser, l'horloge qui active les commandes blocks ne les bloquent jamais sur on ^^
 

Snrasha

Critiqueur de service.
29 Juillet 2011
1 871
69
43
testfor @a[-940,53,-90,1,team=!Teambleu]

Tu es sur ce que ce n'est pas le 1 où ta oublier de signaler l'argument?(il a pu se tromper)

Après d'après ce que tu dis, @p suffit amplement.

Moi j'ai cela et cela s'active bien.(conditions si tu as x points)
 

Kazz96

Créateur du Closed Combat
19 Octobre 2011
233
9
125
Basse-Normandie
theclosedcombat.xooit.fr
Dans tous les cas que ce soit @a ou @p, cela ne change rien.
Comme je l'ai dit le système fonctionne très bien en solo, mais en multiplayer, seulement 1 joueur à la possibilité d'activer ce système, alors que tous les joueurs pourtant remplissent bien les critères pour l'activer.

Donc, le problème ne vient pas de mon système, puisque en solo cela fonctionne, et en multiplayer cela fonctionne, mais seulement pour 1 des joueurs : ce que je ne comprend pas, c'est que le système devrait fonctionner pour tout le monde, ce qui n'est pas le cas.

J'ai fait des petites recherches et apparement ce serait un bug de Minecraft en multiplayer.
Regardez cela :
https://mojang.atlassian.net/browse/MC-12278


L'issue correspondante :
bug.png
MC-13432 Command blocks only teleporting one team when using @a[team=!<teamName>]


Donc, je ne suis pas le seul à rencontrer ce problème :/

PS : J'ai essayé avec @p, et cela ne fonctionne pas non plus
PS 2 : Salut Arceus :p



Je viens de faire un test assez hallucinant :

- J'ouvre un serveur
- Je connecte 2 comptes
- Sur les deux joueurs, seul un réussi à activer le système (les deux joueurs remplissent toujours les conditions)
- Je déconnecte le joueur qui réussit à activer le système
- Je test le système avec le joueur qui n'arrivait pas à l'activer, et cela fonctionne


Vraiment étrange bug..
 

binou2

Chat capricieux
17 Juin 2011
176
25
23
30
Paris
Essaie sur un serveur sans bukkit (totalement vanilla donc).
Bukkit fait bug certaines fonctions du comparateur avec les commands blocks :)
 

Kazz96

Créateur du Closed Combat
19 Octobre 2011
233
9
125
Basse-Normandie
theclosedcombat.xooit.fr
Comme je l'ai dit dans le premier message :

Mon problème ne survient qu'en multijoueur, aussi bien sous minecraft vanilla que sous craftbukkit et est le suivant :



EDIT :

Dans la dernière snapshot, la 13w22a :
[BUG MC-9355] – L’argument « team » n’était pas compatible avec l’opérateur « ! » pour les autres joueurs

Je pense qu'il s'agit de la correction de mon problème :)
 

binou2

Chat capricieux
17 Juin 2011
176
25
23
30
Paris
Tant mieux si le bug va etre corrigé :)
Et désolé je n'avais pas vu que tu avais testé sous vanilla :p