"> Foro - [Resuelto] ¿Es posible detectar cuando un jugador deja de leer un libro? en Bloques de comandos - Page 1 of 1
Marzo 15, 2025, 12:15:47 am
Visitante

Autor Tema: [Resuelto] ¿Es posible detectar cuando un jugador deja de leer un libro?  (Leído 2681 veces)

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

Mayo 13, 2016, 06:31:52 am

Bolth


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

¿Es posible detectar cuando un jugador deja de leer un libro’, y si es posible, ¿Cómo puedo hacerlo? Quiero que al dejar de leer un libro, un comando de una señal de Redstone y active otros comandos.

Agradecería la ayuda, gracias.
 

Linkback: https://minecraftmin.net/index.php?topic=12973.0
« Última modificación: Mayo 15, 2016, 11:34:26 am por Bolth »


Respuesta #1 Mayo 14, 2016, 03:36:36 am

Zekdax




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    100% personalizado
  • Actividad

  • 0%
  • Logros

Más información

En realidad no hay forma de saber si el jugador dejo de leer un libro, pero hay un scoreboard que detecta cuando lo empieza a leer un libro, sabiendo que el tiempo (en el juego) se detiene cuando estas leyendo uno, puedes detectar cuando lo dejo de leer ya que el tiempo prosigue y empieza a detectar los comandos. Ya habiendo aclarado esto prosigamos, el siguiente scoreboard detecta cuando lees el libro, o usas el libro respectivamente:

Código: [Seleccionar]
/scoreboard objectives add Leer stat.useItem.minecraft.written_bookEn este caso, al scoreboard lo llame "Leer", con esto me ayuda explicar con más facilidad.

Ya habiendo agregado el scoreboard, sólo nos queda detectarlo a través de un testfor:

Código: [Seleccionar]
/testfor @a[score_Leer_min=1,score_Leer=1]Esto lo que hace es detectar cuando usas el libro, pero como el tiempo se detiene al empezar a leerlo, al terminar, este empieza a detectarlo.

Ahora, este scoreboard detecta cualquier libro que lea, ahora te explicare como hacerlo con un libro específico.
  • Primero agregamos un scoreboard de tipo dummy, este nos ayudará en algo que veremos a continuación. En este caso lo llamare LE:
Código: [Seleccionar]
/scoreboard objectives add LE dummy
  • Luego de agregarlo, este nos ayudara a dar un punto cuando sea detectado un libro especifico. Ahora el comando sería el siguiente:
Código: [Seleccionar]
/scoreboard players set @a LE 1 {SelectedItem:[{id:minecraft:written_book,tag:{display:{Name:"Libro"}}}]}En este comando, detecta un libro con el nombre "Libro".
  • Ahora necesitamos detectar cuando se uso el libro, para eso necesitamos un execute:
Código: [Seleccionar]
/execute @a[score_LE_min=1,score_LE=1] ~ ~ ~ /testfor @a[score_Leer_min=1,score_Leer=1]Como te habrás dado cuenta el scoreboard anterior hace que funcione solamente cuando tenemos un punto, es decir, que estamos usando ese item.
  • Finalmente necesitamos los comandos que reinicie el scoreboard "Libro", pero debes saber que con cualquier libro el scoreboard sumará punto, a la hora de hacer los comandos es algo que debes estar muy pendiente. Para reiniciarlo sería lo siguiente:
Código: [Seleccionar]
/scoreboard players reset @a Libro

    Eso ha sido todo, si tiene alguna otra duda, con mucho gusto estamos a la orden.
    || Usuario de MinecraftMin || Científico de comandos y constructor de mapas ||
    || La creatividad no tiene limites ||



    Respuesta #2 Mayo 15, 2016, 11:33:25 am

    Bolth


    • *

    • Desconectado

    • *

      • *
      • *
      • *
    • Mensaje personal
      MinecraftMin, el mejor foro Español!
    • Actividad

    • 0%
    • Logros

    Más información

    En realidad no hay forma de saber si el jugador dejo de leer un libro, pero hay un scoreboard que detecta cuando lo empieza a leer un libro, sabiendo que el tiempo (en el juego) se detiene cuando estas leyendo uno, puedes detectar cuando lo dejo de leer ya que el tiempo prosigue y empieza a detectar los comandos. Ya habiendo aclarado esto prosigamos, el siguiente scoreboard detecta cuando lees el libro, o usas el libro respectivamente:

    Código: [Seleccionar]
    /scoreboard objectives add Leer stat.useItem.minecraft.written_bookEn este caso, al scoreboard lo llame "Leer", con esto me ayuda explicar con más facilidad.

    Ya habiendo agregado el scoreboard, sólo nos queda detectarlo a través de un testfor:

    Código: [Seleccionar]
    /testfor @a[score_Leer_min=1,score_Leer=1]Esto lo que hace es detectar cuando usas el libro, pero como el tiempo se detiene al empezar a leerlo, al terminar, este empieza a detectarlo.

    Ahora, este scoreboard detecta cualquier libro que lea, ahora te explicare como hacerlo con un libro específico.
    • Primero agregamos un scoreboard de tipo dummy, este nos ayudará en algo que veremos a continuación. En este caso lo llamare LE:
    Código: [Seleccionar]
    /scoreboard objectives add LE dummy
    • Luego de agregarlo, este nos ayudara a dar un punto cuando sea detectado un libro especifico. Ahora el comando sería el siguiente:
    Código: [Seleccionar]
    /scoreboard players set @a LE 1 {SelectedItem:[{id:minecraft:written_book,tag:{display:{Name:"Libro"}}}]}En este comando, detecta un libro con el nombre "Libro".
    • Ahora necesitamos detectar cuando se uso el libro, para eso necesitamos un execute:
    Código: [Seleccionar]
    /execute @a[score_LE_min=1,score_LE=1] ~ ~ ~ /testfor @a[score_Leer_min=1,score_Leer=1]Como te habrás dado cuenta el scoreboard anterior hace que funcione solamente cuando tenemos un punto, es decir, que estamos usando ese item.
    • Finalmente necesitamos los comandos que reinicie el scoreboard "Libro", pero debes saber que con cualquier libro el scoreboard sumará punto, a la hora de hacer los comandos es algo que debes estar muy pendiente. Para reiniciarlo sería lo siguiente:
    Código: [Seleccionar]
    /scoreboard players reset @a Libro

      Eso ha sido todo, si tiene alguna otra duda, con mucho gusto estamos a la orden.




      Te lo agradezco mucho, de verdad, me has ayudado :)




      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
      2291 Vistas
      Último mensaje Marzo 29, 2015, 04:14:42 pm
      por lol_600
      xx
      Detectar cuando un jugador recoge y/o dropea un item

      Iniciado por LeFrohg

      1 Respuestas
      2754 Vistas
      Último mensaje Diciembre 23, 2015, 10:58:55 pm
      por SergioSandiaz
      xx
      Detectar cuando un jugador este sobre un bloque en especifico

      Iniciado por craftator

      3 Respuestas
      3167 Vistas
      Último mensaje Diciembre 31, 2016, 07:05:35 pm
      por themaximus09t
      question
      ¿Es posible detectar caídas con command blocks?

      Iniciado por juani20051

      0 Respuestas
      2182 Vistas
      Último mensaje Abril 04, 2018, 12:34:19 am
      por juani20051