"> Foro - Como detector vida de mobs??? en Bloques de comandos - Page 1 of 1
Noviembre 22, 2024, 01:44:50 am
Visitante

Autor Tema:  Como detector vida de mobs???  (Leído 6755 veces)

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

Enero 03, 2017, 05:39:27 pm

Fullcraft AdriAC




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Mapas minijuego, mapas de aventura, ctm y min.
  • Actividad

  • 0%
  • Logros

Más información

Estoy haciendo una serie MiniCTM, en ella hay una vaca-seta a la que hay que matar, me gustaría detectar la vida , para mientras vas bajando la vida, me gustaría dar efectos al jugador y spawnear mobs y por el estilo, la pregunta es
¿Cómo detecto la vida de un mob? ¿Qué comandos necesito?


Linkback: https://minecraftmin.net/index.php?topic=14178.0
¿QUIERES SABER MÁS? Visita mi página web

https://dirkcastillo.webnode.es


Respuesta #1 Enero 04, 2017, 01:39:24 pm

sircripers




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    ñeñeñe? ⎝(。◁゚)⎠
  • Actividad

  • 0%
  • Logros

Más información

La respuesta en la que uso /testfor @e[type=mooshroom] {Health:10s} es un método que tras probarlo varias veces me di cuenta que no funciona en versiones superiores a la 1.8
Spoiler para ocultar:
tienes que usar este comando:
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Al ser la única forma actualmente que permite detectar la vida es bastante limitado y no se puede detectar cuando un mob esta por debajo de x vida, para ello tienes que utilizar varias veces este comando detectando cada vez menos vida
Ejemplo:

Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:9s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:8s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:7s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:6s}
Puedes enlazar esa serie de comandos a un mismo resultado, quiero decir, si la vaca seta tiene una vida entre 10 y 6, que todos los command block activen un mismo comando.

Tras investigar un poco mas a fondo descubrí un método el cual si que funciona actualmente (esta vez lo he probado antes de responder xd)

Este método requiere de scoreboards y es más simple de usar, para empezar necesitas estos comandos:
Código: [Seleccionar]
/scoreboard objectives add DamageDealt stat.damageDealt-Este comando servirá para detectar el daño que hace el jugador sobre un mob.

Código: [Seleccionar]
/scoreboard objectives add vida dummy
Código: [Seleccionar]
/summon mooshroom ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:50}],Health:50.0f}-Este comando tendrías que reemplazarlo por el summon que utilizas tú en tu mapa para la vaca seta, este en concreto lo uso como ejemplo para lo que diré.

Código: [Seleccionar]
/scoreboard players set @e[type=mushroom] vida 500-Vale, utilizando el ejemplo de la vaca que puse anteriormente, si el mob del cual quieres detectar la vida tiene por ejemplo 50 de vida, en este comando tendras que poner 500, es decir que tienes que multiplicar la vida por 10.
(Este comando lo tienes que activar despues del summon)

Los siguientes comandos tienen que estar activados constantemente.


Código: [Seleccionar]
/execute @a[score_DamageDealt_min=1] ~ ~ ~ /scoreboard players operation @e[type=mushroom] vida -= @p DamageDealt-Sinceramente no soy ningún experto en scoreboard y las operaciones matemáticas de estos, pero este comando sirve para que en base del daño que hagas se resten puntos al scoreboard "vida" de la vaca seta.

Código: [Seleccionar]
/scoreboard players set @a[score_DamageDealt_min=1] DamageDealt 0-con esto simplemente se resetea el scoreboard de DamageDealt al jugador.

Código: [Seleccionar]
/execute @e[type=mushroom,score_vida=-100] ~ ~ ~ /setblock 381 51 569 minecraft:redstone_block-Y finalmente este es el comando que tendrías que usar para que cuando tenga x vida se activen los comandos que quieras; summon, effect, etc.... (date cuenta que en este comando se esta detectando una puntuación negativa en el scoreboard de vida)

-El setblock lo usarías para que se activara el circuito con los summon o lo que quieras que ocurra durante la batalla.

Ya con esto por fin termino de explicar como detectar la vida de un mob xd al final me complique contestando a tu pregunta por no comprobar si el primer metodo funcionaba  :I
Espero que te sirva  :D

 
« Última modificación: Enero 04, 2017, 03:11:31 pm por sircripers »
(∩ ͡° ͜ʖ ͡°)⊃━☆゚.*・。゚copy pastus magicae



https://myanimelist.net/animelist/Sircriperss?status=2&order=4&order2=0



Respuesta #2 Diciembre 19, 2017, 08:53:13 pm

Baati




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Redstoner y me encantan los CTM`s,creo minijuegos.
  • Actividad

  • 0%
  • Logros

Más información

La respuesta en la que uso /testfor @e[type=mooshroom] {Health:10s} es un método que tras probarlo varias veces me di cuenta que no funciona en versiones superiores a la 1.8
Spoiler para ocultar:
tienes que usar este comando:
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Al ser la única forma actualmente que permite detectar la vida es bastante limitado y no se puede detectar cuando un mob esta por debajo de x vida, para ello tienes que utilizar varias veces este comando detectando cada vez menos vida
Ejemplo:

Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:9s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:8s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:7s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:6s}
Puedes enlazar esa serie de comandos a un mismo resultado, quiero decir, si la vaca seta tiene una vida entre 10 y 6, que todos los command block activen un mismo comando.

Tras investigar un poco mas a fondo descubrí un método el cual si que funciona actualmente (esta vez lo he probado antes de responder xd)

Este método requiere de scoreboards y es más simple de usar, para empezar necesitas estos comandos:
Código: [Seleccionar]
/scoreboard objectives add DamageDealt stat.damageDealt-Este comando servirá para detectar el daño que hace el jugador sobre un mob.

Código: [Seleccionar]
/scoreboard objectives add vida dummy
Código: [Seleccionar]
/summon mooshroom ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:50}],Health:50.0f}-Este comando tendrías que reemplazarlo por el summon que utilizas tú en tu mapa para la vaca seta, este en concreto lo uso como ejemplo para lo que diré.

Código: [Seleccionar]
/scoreboard players set @e[type=mushroom] vida 500-Vale, utilizando el ejemplo de la vaca que puse anteriormente, si el mob del cual quieres detectar la vida tiene por ejemplo 50 de vida, en este comando tendras que poner 500, es decir que tienes que multiplicar la vida por 10.
(Este comando lo tienes que activar despues del summon)

Los siguientes comandos tienen que estar activados constantemente.


Código: [Seleccionar]
/execute @a[score_DamageDealt_min=1] ~ ~ ~ /scoreboard players operation @e[type=mushroom] vida -= @p DamageDealt-Sinceramente no soy ningún experto en scoreboard y las operaciones matemáticas de estos, pero este comando sirve para que en base del daño que hagas se resten puntos al scoreboard "vida" de la vaca seta.

Código: [Seleccionar]
/scoreboard players set @a[score_DamageDealt_min=1] DamageDealt 0-con esto simplemente se resetea el scoreboard de DamageDealt al jugador.

Código: [Seleccionar]
/execute @e[type=mushroom,score_vida=-100] ~ ~ ~ /setblock 381 51 569 minecraft:redstone_block-Y finalmente este es el comando que tendrías que usar para que cuando tenga x vida se activen los comandos que quieras; summon, effect, etc.... (date cuenta que en este comando se esta detectando una puntuación negativa en el scoreboard de vida)

-El setblock lo usarías para que se activara el circuito con los summon o lo que quieras que ocurra durante la batalla.

Ya con esto por fin termino de explicar como detectar la vida de un mob xd al final me complique contestando a tu pregunta por no comprobar si el primer metodo funcionaba  :I
Espero que te sirva  :D

Con respecto al segundo método, no detecta la vida de un mob en especifico, porque el scoreboard damagedealt detecta cuánto daño le haces a cualquier mob, entonces le va a restar el puntaje de scoreboard al mob que quieres detectarle la vida un golpe A CUALQUIER MOB, no necesariamente a ese. ¿Y si alguien está en un jefe donde hay muchos mobs, sin embargo por pegarles a los demás se le modifica el score de vida al jefe?


Respuesta #3 Enero 15, 2018, 05:03:20 am

keane5


  • *

  • Desconectado

  • *

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

  • 0%
  • Logros

Más información

Gracias por tu respuesta detallada. Es realmente útil. Sin embargo, tengo que admitir que en cuanto al primer método, no sirve de nada porque nunca le dejarás la vida justa que pones en el comando para detectarla
Free movies online GoMovies




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

question
Como hago un indicador de vida para mobs 1.12.2

Iniciado por Elcoloma2203

1 Respuestas
1386 Vistas
Último mensaje Junio 09, 2020, 11:10:35 am
por Aglo
xx
Como infundo vida?

Iniciado por Pollotres

1 Respuestas
1919 Vistas
Último mensaje Noviembre 28, 2015, 09:50:17 pm
por MrDeathWither
question
Como hacer que un usuario tenga media vida

Iniciado por alphasalvator

5 Respuestas
3772 Vistas
Último mensaje Diciembre 14, 2014, 05:28:43 pm
por alphasalvator
xx
¿Cómo hago para que los mobs no me detecten?

Iniciado por Vimoh

5 Respuestas
6622 Vistas
Último mensaje Febrero 01, 2015, 02:39:08 pm
por KaliNuska