BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado!

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 [Sistema] Revivir heroe con cronometro

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
AloweyAllStars
Peón
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 42
Reputación Reputación : 5
Monedas de oro : 1261
Monedas de Platino : 2

Inventario :



Mensaje(#) Tema: [Sistema] Revivir heroe con cronometro Jue Feb 06, 2014 1:33 pm

[Sistema]
Revivir heroe con cronometro

Bueno gente aca les dejo un pequeño sistema que use en mi MOBA de como revivir heroes luego de cierto tiempo predeterminado, por detonadores.
En este caso, el tiempo es igual a 3 veces el nivel del heroe muerto (configurable)

Detonador numero 1: "Muere"
[gui]Muere
   Acontecimientos
       Unidad - A unit Muere
   Condiciones
       ((Triggering unit) is Un hé️roe) Igual a True
   Acciones
       -------- Aqui se aumenta el numero de utilizaciones en 1 --------
       Set RevivirMaxIndex = (RevivirMaxIndex + 1)
       -------- Aqui se setea la unidad que debe revivir --------
       Set RevivirUnit[RevivirMaxIndex] = (Triggering unit)
       -------- Aqui se setea el tiempo que tardara en revivir esa unidad --------
       Set RevivirMaxCounter[RevivirMaxIndex] = ((Real((Level of RevivirUnit[RevivirMaxIndex]))) x 3.00)
       -------- Aqui se coloca el 0 como inicio de la cuenta --------
       Set RevivirCounter[RevivirMaxIndex] = 0.00
       -------- Seteamos el lugar donde murio la unidad --------
       Set RevivirPosicion = (Position of RevivirUnit[RevivirMaxIndex])
       -------- Aqui se crea el texto flotante que indica cuanto tiempo falta para revivir --------
       Texto flotante - Create floating text that reads (ColorJugador[(Player number of (Owner of RevivirUnit[BladeMaxIndex]))] + (String((RevivirMaxCounter[RevivirMaxIndex] - RevivirCounter[RevivirMaxIndex]), 3, 2))) at RevivirPosicion with Z offset 0.00, using font size 15.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
       -------- Removemos la localizacion --------
       Custom script:   call RemoveLocation(udg_RevivirPosicion)
       -------- Aqui se setea el texto flotante --------
       Set RevivirTexto[RevivirMaxIndex] = (Last created floating text)
       -------- Si el loop esta apagado, lo encendemos aqui --------
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               RevivirMaxIndex Igual a 1
           Entonces: Acciones
               Detonador - Turn on Muere 2
           Otros: Acciones
[/gui]
Detonador numero 2: "Muere 2"
[gui]Muere 2
   Acontecimientos
       Tiempo - Every 0.03 seconds of game time
   Condiciones
   Acciones
       -------- Iniciamos el loop --------
       For each (Integer RevivirCurrentIndex) from 1 to RevivirMaxIndex, do (Actions)
           Bucle: Acciones
               -------- Cambiamos el numero indicado en el texto flotante --------
               Texto flotante - Change text of RevivirTexto[RevivirCurrentIndex] to (ColorJugador[(Player number of (Owner of RevivirUnit[RevivirCurrentIndex]))] + (String((RevivirMaxCounter[RevivirCurrentIndex] - RevivirCounter[RevivirCurrentIndex]), 3, 2))) using font size 15.00
               -------- Le sumamos el tiempo pasado al contador de tiempo --------
               Set RevivirCounter[RevivirCurrentIndex] = (RevivirCounter[RevivirCurrentIndex] + 0.03)
               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       RevivirCounter[RevivirCurrentIndex] Mayor que o igual a RevivirMaxCounter[RevivirCurrentIndex]
                   Entonces: Acciones
                       -------- Desactivamos la permanencia del texto --------
                       Texto flotante - Change RevivirTexto[RevivirCurrentIndex]: Desactivar permanence
                       -------- Colocamos cuanto tiempo tardara en desaparecer el texto --------
                       Texto flotante - Change the lifespan of RevivirTexto[RevivirCurrentIndex] to 2.00 seconds
                       -------- Colocamos cuanto tiempo tardara en desvanecerse el texto --------
                       Texto flotante - Change the fading age of RevivirTexto[RevivirCurrentIndex] to 0.50 seconds
                       -------- Seteamos el lugar donde murio la unidad --------
                       Set RevivirPosicion = (Position of RevivirUnit[RevivirCurrentIndex])
                       -------- Revivimos la unidad --------
                       Hé️roe - Instantly revive RevivirUnit[RevivirCurrentIndex] at RevivirPosicion, Mostrar revival graphics
                       -------- Removemos la localizacion --------
                       Custom script:   call RemoveLocation(udg_RevivirPosicion)
                       -------- Cambiamos la indexacion --------
                       Set RevivirTexto[RevivirCurrentIndex] = RevivirTexto[RevivirMaxIndex]
                       Set RevivirUnit[RevivirCurrentIndex] = RevivirUnit[RevivirMaxIndex]
                       Set RevivirCounter[RevivirCurrentIndex] = RevivirCounter[RevivirMaxIndex]
                       Set RevivirMaxCounter[RevivirCurrentIndex] = RevivirMaxCounter[RevivirMaxIndex]
                       Set RevivirMaxIndex = (RevivirMaxIndex - 1)
                       Set RevivirCurrentIndex = (RevivirCurrentIndex - 1)
                       -------- Si el loop no esta activado, lo apagamos. --------
                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               RevivirMaxIndex Igual a 0
                           Entonces: Acciones
                               Detonador - Turn off (This trigger)
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Basicamente lo que hacen estos detonadores es setear la unidad que murio y crear un texto flotante indicando el tiempo que falta para que dicha unidad reviva. Anteriormente habia utilizado un loop cada 0.1 segundos pero luego decidi utilizar cada 0.03 ya que el cronometro tenia mayor precision.
Se puede modificar, entre otras cosas, el tiempo que tardara en revivir, la posicion donde revivira el heroe y la posicion donde debe aparecer el texto.
Lo que aun no puedo entender es como se puede hacer para revivir los heroes cuyos iconos no aparecen en el borde lateral izquierdo dentro del juego. Los heroes cuyos iconos aparecen en el borde reviven, mientras que los que no tienen un icono ahi, no pueden revivir (cosa que no es problema en un MOBA, ya que solo tienes el icono de un solo heroe).
Funciona en multijugador con heroes de distintos jugadores (testeado en LAN y en un server PvPGN).

DESCARGA AQUI

Suerte con este sistema
-Alowey®️AllStars-
(Marca registrada)

--- Very Happy---

Hechos graciosos:
- Este sistema fue hecho a las 5 de la madrugada en un momento de "sonambulismo".
- Solo cuatro heroes han muerto durante la realizacion del sistema.
- Un minuto de silencio para el pobre Paladin que fue teletransportado a la 4ta dimension.
- Segun la leyenda, este sistema es MUI.
- Preparense hermanos, el moderador esta viniendo!



¿Quieres pelear contra el mejor jugador de Techies de sudamerica?
Volver arriba Ir abajo
http://arckamaps.blogspot.com.ar/
WonderWoman
Capitán
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 128
Reputación Reputación : 27
Monedas de oro : 828
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Jue Feb 06, 2014 3:48 pm

Para que seteas RevivirPosicion en Muere si ni tiene indice esa variable y luego en Muere 2 solo la usas como variable temporal para guardar un location sin leer el anterior?
No es un bug pero es código inútil jajaja. Mas allá de eso no note problemas, no pongas comentarios en todas las lineas mas que ayudar entorpece la lectura, a veces es mejor poner los comentarios juntos en una zona que expliquen el funcionamiento de varias lineas juntas y evitar comentar cosas triviales.
Estaría bueno que tuvieras posiciones de resurrección predeterminadas como es en los MOBA que tenes 2, aunque sin limitarlo a ese numero. De modo que los héroes renazcan en bases o puntos de resurrección.


and it makes me wonder...
Volver arriba Ir abajo
Glaizer
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 107
Reputación Reputación : 5
Monedas de oro : 530
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Vie Feb 07, 2014 1:22 pm

Potter siempre encuentra algo malo en todos los sistemas jajajaja xD y bueeeeeeeno. Lindo sistem, pero no me voy a gastar en descargar un sistem que lo podría hacer ._. aun así, hay bastante gente que no lo sabe, y mas los nuevos users que vienen a aprender.

Saludos!!

Spoiler:
 



Y tu decides si te quedas peleando como hombre, o corres como teemo.

Volver arriba Ir abajo
Ecchi.saber
Iniciado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 8
Reputación Reputación : 0
Monedas de oro : 17
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Sáb Sep 20, 2014 11:42 am

siempre he tenido una duda con este tipo de detonadores si otras 3 unidades mueren al mismo tiempo antes de terminar ese detonador no se bugea? es decir q uno de las 4 unidades q murieron no revivira.

y de no ser asi ya q el detonador va sumando +1 para crear otra variable diferente no llegaria a su limite de variables o tiene un limite muy grande? y de tener un limite muy grande o infinito no seria una fuga de memoria a la larga?

y al no tener waits sino otro detonador aparte el cual se activa cada 0.03 seg hasta q la variable RevivirMaxIndex sea igual al numero colocado, eso no seria practicamente lo mimo q un wait?

yo al menos creo q hay una posibilidad muy poca de q ese detonador ignore a un heroe ya muerto y solo reviva un 3/4
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2624
Reputación Reputación : 407
Monedas de oro : 8082
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Sáb Sep 20, 2014 3:24 pm

No se buguea, porque una un índice para cada unidad. Así no se cruza ninguna variable. El límite de los array es 8192, así que no llegarás a eso nunca. No hay fugas de memoria porque cuando una unidad revive(mejor dicho, cuando el detonador termina su trabajo) el índice se reemplaza con el actual índice mayor. Digamos tengo índices 1 a 5. El índice 2 se termina primero, el sistema coloca el índice 5(y sus variables correspondientes) en el índice 2.

Es como un wait. Pero no buguea y no tiene delay, entonces es mucho mejor que un wait.

Y hasta donde yo sé, no hay chances de que eso suceda
Volver arriba Ir abajo
wiljuguri
Peón
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 33
Reputación Reputación : 2
Monedas de oro : 109
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Vie Ene 30, 2015 3:05 pm

link caido mi amigo, haber si lo arreglas Wink


hi ........ e.e ........ Wink
Volver arriba Ir abajo
wiljuguri
Peón
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 33
Reputación Reputación : 2
Monedas de oro : 109
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Dom Feb 15, 2015 3:27 pm

Tengo una duda sobre este sistema ....en mi caso  (mapa) implemente tu sistema ( Gracias por cierto ) .. y tambien quiero implementar la opcion de Revivir al Heroe por Compra inmediata en un edificio, ya sabes para el que le sobre oro y no quiera esperar  Wink ....como puedo hacer esto? gracias de antemano.
xD   +rep


hi ........ e.e ........ Wink
Volver arriba Ir abajo
mgueletorrec
Peón


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 39
Reputación Reputación : 0
Monedas de oro : 39
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Sáb Mayo 23, 2015 3:53 am

excelente trabajo
Volver arriba Ir abajo
McChary
Iniciado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 9
Reputación Reputación : 0
Monedas de oro : 9
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Mar Mayo 31, 2016 11:57 pm

revisando a ver
Volver arriba Ir abajo
cholotito
Capitán
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 152
Reputación Reputación : 5
Monedas de oro : 437
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Miér Jul 13, 2016 3:01 pm

vamos aver!!
Volver arriba Ir abajo
TheMaverickMc
Aprendiz


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 12
Reputación Reputación : 0
Monedas de oro : 36
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Vie Jul 07, 2017 7:58 pm

Link caído T_T
Volver arriba Ir abajo
-[Deathkok]-
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 109
Reputación Reputación : 10
Monedas de oro : 917
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro Jue Ago 17, 2017 4:55 am

esta interesante el tema, pero pues link caido, podrías arreglarlo?


Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: [Sistema] Revivir heroe con cronometro

Volver arriba Ir abajo
 

[Sistema] Revivir heroe con cronometro

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» [Sistema] Revivir heroe con cronometro
» [Sistema RPG] Subir atributos al heroe en base a puntos de level
» [Tutorial] Revivir Creeps
» ACTUALIZACION SISTEMA!!!!!!!!!!! ¿VUELVE PSN?
» El sistema de rachas de muertes de MW3 ha sido completamente cambiado.

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Academia :: Area GUI :: Sistemas-