Koleshy Engine
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

[KE] Funcion GUI HealOverTime

Ir abajo

[KE] Funcion GUI HealOverTime Empty [KE] Funcion GUI HealOverTime

Mensaje por Koleshy Vie Dic 18, 2015 1:50 pm

[KE] Funcion GUI HealOverTime

Descripcion: Funcion que te permite curar X cantidad de vida a las unidades que se encuentren en X AoE de X unidad durante X tiempo. tambien contiene para una sola unidad.

Detonadores de la Funcion:

Código:
HealOverTime
   Acontecimientos
   Condiciones
   Acciones
       -------- ###### .::Maqueta::. ###### --------
       -------- HealOverTime(unidad, amount, intervaloHeal, bool, tiempo, AoE. TipoObjetivo) --------
       -------- ###################### --------
       -------- Bool >>> true = cura en AoE de la "unidad" --------
       -------- Bool >>> false = cura single unit (cura solo a la "unidad" que coloques, y ya no en AoE --------
       -------- ------------------------------------------- --------
       -------- TipoObjetivo >>> true = cura a los aliados de la "unidad" | false = cura a los enemigos de la "unidad" --------
       -------- ------------------------------------------- --------
       Set HealOverTimeSYS_Unit = HealOverTimeSYS_Unit
       Set HealOverTimeSYS_Amount = HealOverTimeSYS_Amount
       Set HealOverTimeSYS_IntervaloHeal = HealOverTimeSYS_IntervaloHeal
       Set HealOverTimeSYS_Bool = HealOverTimeSYS_Bool
       Set HealOverTimeSYS_Tiempo = HealOverTimeSYS_Tiempo
       Set HealOverTimeSYS_AoE = HealOverTimeSYS_AoE
       Set HealOverTimeSYS_TipoObjetivo = HealOverTimeSYS_TipoObjetivo
       -------- ------------------------------------------- --------
       Set HealOverTime_IDX[0] = (HealOverTime_IDX[0] + 1)
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               HealOverTime_IDX[0] Igual a 1
           Entonces: Acciones
               Detonador - Turn on HealOverTime Loop <gen>
           Otros: Acciones
       Set HealOverTime_C[HealOverTime_IDX[0]] = 0
       Set HealOverTime_AC[HealOverTime_IDX[0]] = 0
       Set HealOverTime_T[HealOverTime_IDX[0]] = HealOverTimeSYS_Tiempo
       Set HealOverTime_Unit[HealOverTime_IDX[0]] = HealOverTimeSYS_Unit
       Set HealOverTime_A[HealOverTime_IDX[0]] = HealOverTimeSYS_AoE
       Set HealOverTime_AM[HealOverTime_IDX[0]] = HealOverTimeSYS_Amount
       Set HealOverTime_B[HealOverTime_IDX[0]] = HealOverTimeSYS_Bool
       Set HealOverTime_BC[HealOverTime_IDX[0]] = HealOverTimeSYS_TipoObjetivo
       Set HealOverTime_I[HealOverTime_IDX[0]] = HealOverTimeSYS_IntervaloHeal

Código:
HealOverTime Loop
   Acontecimientos
       Tiempo - Every 0.03 seconds of game time
   Condiciones
   Acciones
       For each (Integer HealOverTime_IDX[1]) from 1 to HealOverTime_IDX[0], do (Actions)
           Bucle: Acciones
               Set HealOverTime_C[HealOverTime_IDX[1]] = (HealOverTime_C[HealOverTime_IDX[1]] + 1)
               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       HealOverTime_C[HealOverTime_IDX[1]] Mayor que o igual a (Integer((HealOverTime_T[HealOverTime_IDX[1]] / 0.03)))
                   Entonces: Acciones
                       Set HealOverTime_A[HealOverTime_IDX[1]] = HealOverTime_A[HealOverTime_IDX[0]]
                       Set HealOverTime_AM[HealOverTime_IDX[1]] = HealOverTime_AM[HealOverTime_IDX[0]]
                       Set HealOverTime_B[HealOverTime_IDX[1]] = HealOverTime_B[HealOverTime_IDX[0]]
                       Set HealOverTime_BC[HealOverTime_IDX[1]] = HealOverTime_BC[HealOverTime_IDX[0]]
                       Set HealOverTime_C[HealOverTime_IDX[1]] = HealOverTime_C[HealOverTime_IDX[0]]
                       Set HealOverTime_T[HealOverTime_IDX[1]] = HealOverTime_T[HealOverTime_IDX[0]]
                       Set HealOverTime_Unit[HealOverTime_IDX[1]] = HealOverTime_Unit[HealOverTime_IDX[0]]
                       Set HealOverTime_AC[HealOverTime_IDX[1]] = HealOverTime_AC[HealOverTime_IDX[0]]
                       Set HealOverTime_I[HealOverTime_IDX[1]] = HealOverTime_I[HealOverTime_IDX[0]]
                       Set HealOverTime_IDX[1] = (HealOverTime_IDX[1] - 1)
                       Set HealOverTime_IDX[0] = (HealOverTime_IDX[0] - 1)
                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               HealOverTime_IDX[0] Igual a 0
                           Entonces: Acciones
                               Detonador - Turn off (This trigger)
                           Otros: Acciones
                   Otros: Acciones
                       Set HealOverTime_AC[HealOverTime_IDX[1]] = (HealOverTime_AC[HealOverTime_IDX[1]] + 1)
                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               HealOverTime_AC[HealOverTime_IDX[1]] Igual a (Integer((HealOverTime_I[HealOverTime_IDX[1]] / 0.03)))
                           Entonces: Acciones
                               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       HealOverTime_B[HealOverTime_IDX[1]] Igual a True
                                   Entonces: Acciones
                                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (HealOverTime_Unit[HealOverTime_IDX[1]] is alive) Igual a True
                                           Entonces: Acciones
                                               Set HealOverTime_P = (Position of HealOverTime_Unit[HealOverTime_IDX[1]])
                                               Set HealOverTime_G = (Units within HealOverTime_A[HealOverTime_IDX[1]] of HealOverTime_P matching ((((Matching unit) is Una estructura) Igual a False) and ((((Matching unit) is Inmune a la magia) Igual a False) and ((((Matching unit) is alive) Igual a True) and (((Matching unit)
                                               Grupo de unidad - Pick every unit in HealOverTime_G and do (Actions)
                                                   Bucle: Acciones
                                                       Unidad - Set life of (Picked unit) to ((Vida of (Picked unit)) + HealOverTime_AM[HealOverTime_IDX[1]])
                                               Custom script:   call DestroyGroup(udg_HealOverTime_G)
                                               Custom script:   call RemoveLocation(udg_HealOverTime_P)
                                           Otros: Acciones
                                               Set HealOverTime_C[HealOverTime_IDX[1]] = (Integer((HealOverTime_T[HealOverTime_IDX[1]] / 0.03)))
                                   Otros: Acciones
                                       Unidad - Set life of HealOverTime_Unit[HealOverTime_IDX[1]] to ((Vida of HealOverTime_Unit[HealOverTime_IDX[1]]) + HealOverTime_AM[HealOverTime_IDX[1]])
                               Set HealOverTime_AC[HealOverTime_IDX[1]] = 0
                           Otros: Acciones

Ejemplos como usar: los ejemplos estan en el mismo mapa con la funcion incluida. descarguelo y revise c:

descarga
[Tienes que estar registrado y conectado para ver este vínculo]
Koleshy
Koleshy
Pendejo
Pendejo

Mensajes : 37
Fecha de inscripción : 21/11/2013
Edad : 27
Localización : Lima, Perú

https://koleshyengine.foroactivo.mx

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.