"> Foro - [Resuelto] Detección de jugadores (comando /testfor) en Bloques de comandos - Page 1 of 1
Julio 03, 2024, 06:39:41 am
Visitante

Autor Tema: [Resuelto] Detección de jugadores (comando /testfor)  (Leído 2947 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Julio 12, 2016, 12:42:03 am

Danthes




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Vamos paso a paso...
  • Actividad

  • 0%
  • Logros

Más información

 Buenas gente, éste es mi caso:
 Estoy en el proceso de hacer un minigame...
 Tengo una estructura cerrada, un tp que lleva a todos los jugadores del mapa hasta el interior de la estructura, seguido de un clear, gamemode, say de "comeinza en" y un give (para que empiecen a darse), hasta aquí todo bien, el problema llega a la hora de "finalizarlo" ya que no sé como detectar cuándo hay un solo jugador dentro de la estructura (el superviviente).
 Mis primeras ideas fueron de, usando un /testfor, detectar cuando haya jugadores dentro, pero no encuentro la forma de que el testfor diferencie cuándo hay un solo jugador de cuándo hay varios.  T_T
 Lo que necesito es que cuando no haya jugadores en el área no envíe señal, que cuándo haya uno solo envíe señal, y que cuando haya dos o más, no envíe.

 Éste es el comando que estoy utilizando:
Código: [Seleccionar]
/testfor @a[184,2,215,r=21]
 Dato extra: Estoy trabajando en la versión 1.10.2 vanilla c/optifine.

 Desde ya, gracias.


Linkback: https://minecraftmin.net/index.php?topic=13437.0
« Última modificación: Julio 13, 2016, 12:24:34 am por Danthes »
*trazos sin coherencia*


Respuesta #1 Julio 12, 2016, 01:06:29 am

Omicronrg9




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Imaginad que he puesto algo muy chungo aquí.
  • Actividad

  • 0%
  • Logros

Más información

Antes de nada,aviso que no estoy seguro de que pueda funcionar lo siguiente,puesto que no he tenido tiempo ahora mismo de comprobarlo,y hace bastante tiempo que no uso el comando /testfor de manera asidua.
Que yo recuerde,hay un argumento llamado count,que cuenta a los jugadores.Aplicándolo a tu comando inicial,quedaría así:
Código: (Comando) [Seleccionar]
/testfor @a[184,2,215,r=21,c=1]Y por lo que yo se/recuerdo/tengo entendido sobre el funcionamiento del argumento count,debería funcionarte así,más en la versión que estás trabajando,que está al día con todo eso,y no cabe un error de ese tipo (el de no existir el argumento en la versión).
Espero haber podido serte de ayuda.Si no lo he sido,entono el mea culpa por mi falta de investigación.
Saludos,Omicronrg9.
La humanidad no se crea ni se destruye; solo se transforma.

El que no se mueve está muerto,pero si te mueves generas calor y aumentas el nivel del desorden del universo. Moraleja: hagas lo que hagas todos vamos a morir.



Respuesta #2 Julio 12, 2016, 09:22:31 am

MrGat0s




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

♣ Buenas Danthes ♣


Aquí te dejo el comando:

Código: [Seleccionar]
/testfor @e[x=CoordX,y=CoordY,z=CooordZ,r=Radio,type=Player]
O si quieres, lo puedes hacer directamente con el @a, aun que yo uso siempre el @e :p
Un ejemplo sería:

Código: [Seleccionar]
/testfor @e[x=777,y=60,z=777,r=5,type=Cow]

♣ Un Saludo & Gracias ♣
♣ Att: MrGat0s ♣
|| Mi caja de arena ➭ http://goo.gl/2pjO64 || Amante de los bollos de café || Reviewer de mi Vida ||

|| [Redactor] From 21/01/2016 to 21/06/2016||
|| [Colaborador] From 04/04/2016 to 08/09/2016||
|| [Colaborador v2] From 19/09/2016||


Respuesta #3 Julio 13, 2016, 12:05:25 am

Danthes




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Vamos paso a paso...
  • Actividad

  • 0%
  • Logros

Más información

 Buenas gente:
 Después de ver las respuestas, comencé a hacer pruebas en mi mundillo, y se podría decir que por casualidad encontré la manera de diferenciar la cantidad de jugadores detectados en un testfor.
 En primer lugar descubrí que la fuerza de señal de un testfor cambia dependiendo de los jugadores que hay en el área a detectar (no lo sabía  Oops). En base a eso hice este sistema:

Usa el siguiente comando en un bloque de comandos en modo "Repetición" (en este caso, detecta ovejas)
Código: [Seleccionar]
/testfor @e[184,2,215,r=5,type=Sheep]

Y con un...
Código: [Seleccionar]
/kill @e[type=Sheep]
Ahora, aplicando lo que dijo Omicronrg9, (c=2 en este caso) lo que sucede es que aparentemente el máximo de potencia que puede emitir el command block  es de 2. Aunque haya 4 ovejas, seguirá emitiendo como si hubiesen solo 2 (1ra img), y en caso de que haya una, emitirá como tal. (2da Img)


 A mi parecer, la ausencia de un cm=2 , que indique un mínimo para poder dar un número exacto al comando, deja algo obsoleto el argumento count para el testfor. Una pena, aunque uno se pueda amañar para obtener el mismo resultado.

 Bueno, dejo mis agradecimientos a Omicronrg9 y MrĞaţ0s por la ayuda. Me despido, seguiré con mi mapa :v
 Saludos!



Respuesta #4 Julio 13, 2016, 10:28:08 pm

Omicronrg9




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Imaginad que he puesto algo muy chungo aquí.
  • Actividad

  • 0%
  • Logros

Más información

Realmente interesante.
También desconocía que la intensidad de señal variaba con el número de entidades que detectase el /testfor.
Una placer haberte sido de ayuda,espero ver tu mapa por aquí y echarle un buen vistazo.
Saludos,Omicronrg9




Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
Ayuda con el comando Testfor

Iniciado por Juands7

3 Respuestas
2640 Vistas
Último mensaje Marzo 07, 2015, 04:11:24 am
por xXDerpyTrollerXx
xx
ayuda en un comando Testfor

Iniciado por axe005

1 Respuestas
1375 Vistas
Último mensaje Mayo 03, 2017, 11:03:16 pm
por alexei_gamer
question
Error en comando Testfor

Iniciado por Diego Valdes

0 Respuestas
1284 Vistas
Último mensaje Junio 23, 2018, 09:36:19 pm
por Diego Valdes
xx
Error con el comando testfor

Iniciado por Chrimollo

8 Respuestas
6771 Vistas
Último mensaje Junio 28, 2015, 02:03:01 pm
por Anonimous_D