"> Foro - [Resuelto] Detectar que un jugador pone un comando o escribe algo en Bloques de comandos - Page 1 of 1
Noviembre 22, 2024, 09:41:53 am
Visitante

Autor Tema: [Resuelto] Detectar que un jugador pone un comando o escribe algo  (Leído 6185 veces)

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

Diciembre 04, 2016, 12:25:20 am

Amasteo




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    CEO ADiamond Network - @ADiamondNetwork
  • Actividad

  • 0%
  • Logros

Más información

Hace un mes mas o menos, jugué un mapa (No recuerdo cual) y cuando quería poner /gamemode 1 o /gamemode 3 me salia en el chat:  NO HAGAS TRAMPA! y me regresaba a /gamemode 2, quisiera saber como hicieron eso. Traté de buscar el mapa pero no me acuerdo su nombre, no sé ni con qué comando sea, pero se me hace que es con scoreboard o con execute, alguna ayuda?

Linkback: https://minecraftmin.net/index.php?topic=13997.0
« Última modificación: Febrero 05, 2017, 11:02:21 pm por Amasteo »
- CEO ADiamond Network -


Respuesta #1 Diciembre 04, 2016, 02:40:23 am

KaliNuska




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    KaliNuska = comandos y redstone de calidad :D
  • Actividad

  • 0%
  • Logros

Más información

Es tan sencillo como emplear el argumento l al seleccionar los jugadores a los que mostrarle la advertencia de estar en el modo de juego Creativo.
El funcionamiento del argumento es el siguiente (hace referencia a un post actualizado con toda la información sobre los selectores: Selectores de objetivo - por KaliNuska):
Seleccionar objetivos por su modo de juego:
El argumento m es el que nos permite detectar el modo de juego de los jugadores.
Los valores admitidos para este argumento son los siguientes:
Valor:
   Modo de juego:
-1
   Todos los modos de juego
0
   Modo survival
1
   Modo creativo
2
   Modo aventura
3
   Modo espectador
Con el selector @p[m=1] serán seleccionados todos los jugadores en creativo.
Con cualquier comando que muestre un mensaje al jugador podrás hacer un aviso cuando éste se ponga en un modo de juego. Por ejemplo, con /tellraw o con /title como te indico a continuación:
Código: (Tellraw) [Seleccionar]
/tellraw @a[m=1] {"text":"NO HAGAS TRAMPA!","bold":true,"color":"red"}
Código: (Title) [Seleccionar]
/title @a[m=1] title {"text":"NO HAGAS TRAMPA!","bold":true,"color":"red"}
Si bien puedes hacerlo de la forma que acabo de mostrarte y añadiendo el comando para cambiar el modo de juego a los jugadores en creativo (/gamemode survival @a[m=1]), te recomiendo que registres estos jugadores en un scoreboard por el simple hecho de que podrás establecer un criterio de exclusión para aquellos jugadores a los que no quieras que se les cambie el modo de juego. Eso se hace de la siguiente manera (te recomiendo deshabilitar el gamerule commandBlockOutput antes):
Cita de: Explicación
  • Creas un scoreboard con cualquier nombre, yo lo he llamado "creativo":
Código: (1) [Seleccionar]
/scoreboard objectives add creativo dummy Jugadores en creativo
  • Estableces un valor en ese scoreboard para los jugadores que quedarán excluidos del aviso. Lo podrás hacer escribiendo su nombre en lugar de "<NombreDelJugador>", por ejemplo:
Código: (2) [Seleccionar]
/scoreboard players set @a[name=<NombreDelJugador>] creativo 100
  • El siguiente comando registrará todos los jugadores presentes en el mapa dentro del scoreboard. Deberás ponerlo en un bloque de comandos en modo repetición y siempre activo:
Código: (3) [Seleccionar]
/scoreboard players add @a creativo 0
  • Añades al scoreboard a todos los potenciales jugadores que vayan a estar en modo creativo (o en el/los modo/s de juego que no esté/n permitido/s) con un valor diferente al antes introducido para el que quede excluido. Este comando debe quedar siguiendo al anterior en modo cadena y siempre activo:
Código: (4) [Seleccionar]
/scoreboard players set @a[m=1,score_creativo=0,score_creativo_min=0] creativo 1
  • Seguidamente muestras el aviso a todos los que fueron encontrados en el paso anterior, reinicias su valor para el scoreboard y les cambias el modo de juego. Utiliza, por orden, los siguientes comandos en modo cadena y siempre activo sucediendo a los anteriores:
Código: (5a) [Seleccionar]
/tellraw @a[score_creativo_min=1,score_creativo=1] {"text":"No tienes permitido el uso del modo Creativo.","bold":true,"color":"red"}
Código: (5b) [Seleccionar]
/gamemode survival @a[score_creativo_min=1,score_creativo=1]
Código: (5c) [Seleccionar]
/scoreboard players set @a[score_creativo_min=1,score_creativo=1] creativo 0
Los comandos pueden quedar ordenados de la siguiente manera:
Pongo a tu disposición una descarga en formato schematic para que puedas pegar el sistema de comandos propuesto en cualquiera de tus mapas utilizando McEdit:
Sin más que añadir, espero que te haya servido de ayuda. Si tienes cualquier duda responde con su información relevante para poder proporcionarte la ayuda correspondiente.



Respuesta #2 Diciembre 04, 2016, 08:19:51 am

Amasteo




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    CEO ADiamond Network - @ADiamondNetwork
  • Actividad

  • 0%
  • Logros

Más información

TE AMO AMO DEL VERBO AMAR AMADAMENTE AMADO! <3 Gracias!
« Última modificación: Diciembre 04, 2016, 08:31:25 am por Amasteo »




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
Detectar cuando un jugador se pone una calabaza.

Iniciado por lNaut7000

1 Respuestas
2085 Vistas
Último mensaje Marzo 29, 2015, 04:14:42 pm
por lol_600
question
Como detectar donde pone un bloque el jugador

Iniciado por axe005

4 Respuestas
4590 Vistas
Último mensaje Agosto 16, 2017, 02:17:27 am
por KaliNuska
xx
como detectar si el jugador lleva algo puesto como armadura [1.10]

Iniciado por J0KER_DARK

0 Respuestas
1108 Vistas
Último mensaje Agosto 09, 2016, 12:27:22 am
por J0KER_DARK
xx
Comando para detectar un jugador y hacerle TP

Iniciado por DanteSmith

4 Respuestas
3000 Vistas
Último mensaje Octubre 06, 2016, 09:35:05 pm
por DanteSmith