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 AddTimedLoopEffect

Ir abajo

[KE] Funcion GUI AddTimedLoopEffect Empty [KE] Funcion GUI AddTimedLoopEffect

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

[KE] Funcion GUI AddTimedLoopEffect

Descripcion: Funcion que te permite agregar un efecto con loop (repitiendose) durante X cantidad de tiempo en X posicion de X unidad.

Detonadores de la Funcion:

Código:
AddTimedLoopEffect
   Acontecimientos
   Condiciones
   Acciones
       -------- ###### .::Maqueta::. ###### --------
       -------- AddTimedLoopEffect(unidad, efecto, posicion, tiempo_bump, tiempo, bool, tipoObjetivo, AoE) --------
       -------- ###################### --------
       -------- Bool >>> true = single unit (efecto solo en la unidad que se coloque) --------
       -------- Bool >>> false = efecto en las unidades alrededor del AoE de la unidad que se coloque --------
       -------- ------------------------------------------- --------
       -------- tipoObjetivo >>> true = efecto en los aliados en el AoE --------
       -------- tipoObjetivo >>> false = efecto en los enemigos en el AoE --------
       -------- ------------------------------------------- --------
       Set AddTimedLEffectSYS_Unit = AddTimedLEffectSYS_Unit
       Set AddTimedLEffectSYS_SFX = AddTimedLEffectSYS_SFX
       Set AddTimedLEffectSYS_AttachPoint = AddTimedLEffectSYS_AttachPoint
       Set AddTimedLEffectSYS_TiempoBump = AddTimedLEffectSYS_TiempoBump
       Set AddTimedLEffectSYS_Tiempo = AddTimedLEffectSYS_Tiempo
       Set AddTimedLEffectSYS_Bool = AddTimedLEffectSYS_Bool
       Set AddTimedLEffectSYS_TipoObjetiv = AddTimedLEffectSYS_TipoObjetiv
       Set AddTimedLEffectSYS_AoE = AddTimedLEffectSYS_AoE
       -------- ------------------------------------------- --------
       Set AddTimedLEffect_IDX[0] = (AddTimedLEffect_IDX[0] + 1)
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               AddTimedLEffect_IDX[0] Igual a 1
           Entonces: Acciones
               Detonador - Turn on AddTimedLoopEffect Loop <gen>
           Otros: Acciones
       Set AddTimedLEffect_C[AddTimedLEffect_IDX[0]] = 0
       Set AddTimedLEffect_TBA[AddTimedLEffect_IDX[0]] = 0
       Set AddTimedLEffect_T[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_Tiempo
       Set AddTimedLEffect_Unit[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_Unit
       Set AddTimedLEffect_SFX[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_SFX
       Set AddTimedLEffect_AP[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_AttachPoint
       Set AddTimedLEffect_TB[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_TiempoBump
       Set AddTimedLEffect_B[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_Bool
       Set AddTimedLEffect_BC[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_TipoObjetiv
       Set AddTimedLEffect_A[AddTimedLEffect_IDX[0]] = AddTimedLEffectSYS_AoE

Código:
AddTimedLoopEffect Loop
   Acontecimientos
       Tiempo - Every 0.03 seconds of game time
   Condiciones
   Acciones
       For each (Integer AddTimedLEffect_IDX[1]) from 1 to AddTimedLEffect_IDX[0], do (Actions)
           Bucle: Acciones
               Set AddTimedLEffect_C[AddTimedLEffect_IDX[1]] = (AddTimedLEffect_C[AddTimedLEffect_IDX[1]] + 1)
               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       AddTimedLEffect_C[AddTimedLEffect_IDX[1]] Mayor que o igual a (Integer((AddTimedLEffect_T[AddTimedLEffect_IDX[1]] / 0.03)))
                   Entonces: Acciones
                       Set AddTimedLEffect_AP[AddTimedLEffect_IDX[1]] = AddTimedLEffect_AP[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_TB[AddTimedLEffect_IDX[1]] = AddTimedLEffect_TB[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_TBA[AddTimedLEffect_IDX[1]] = AddTimedLEffect_TBA[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_SFX[AddTimedLEffect_IDX[1]] = AddTimedLEffect_SFX[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_C[AddTimedLEffect_IDX[1]] = AddTimedLEffect_C[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_T[AddTimedLEffect_IDX[1]] = AddTimedLEffect_T[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_BC[AddTimedLEffect_IDX[1]] = AddTimedLEffect_BC[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_B[AddTimedLEffect_IDX[1]] = AddTimedLEffect_B[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_Unit[AddTimedLEffect_IDX[1]] = AddTimedLEffect_Unit[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_A[AddTimedLEffect_IDX[1]] = AddTimedLEffect_A[AddTimedLEffect_IDX[0]]
                       Set AddTimedLEffect_IDX[1] = (AddTimedLEffect_IDX[1] - 1)
                       Set AddTimedLEffect_IDX[0] = (AddTimedLEffect_IDX[0] - 1)
                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               AddTimedLEffect_IDX[0] Igual a 0
                           Entonces: Acciones
                               Detonador - Turn off (This trigger)
                           Otros: Acciones
                   Otros: Acciones
                       Set AddTimedLEffect_TBA[AddTimedLEffect_IDX[1]] = (AddTimedLEffect_TBA[AddTimedLEffect_IDX[1]] + 1)
                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               AddTimedLEffect_TBA[AddTimedLEffect_IDX[1]] Igual a (Integer((AddTimedLEffect_TB[AddTimedLEffect_IDX[1]] / 0.03)))
                           Entonces: Acciones
                               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       AddTimedLEffect_B[AddTimedLEffect_IDX[1]] Igual a True
                                   Entonces: Acciones
                                       Efecto especial - Create a special effect attached to the AddTimedLEffect_AP[AddTimedLEffect_IDX[1]] of AddTimedLEffect_Unit[AddTimedLEffect_IDX[1]] using AddTimedLEffect_SFX[AddTimedLEffect_IDX[1]]
                                       Efecto especial - Destroy (Last created special effect)
                                   Otros: Acciones
                                       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (AddTimedLEffect_Unit[AddTimedLEffect_IDX[1]] is alive) Igual a True
                                           Entonces: Acciones
                                               Set AddTimedLEffect_P = (Position of AddTimedLEffect_Unit[AddTimedLEffect_IDX[1]])
                                               Set AddTimedLEffect_G = (Units within AddTimedLEffect_A[AddTimedLEffect_IDX[1]] of AddTimedLEffect_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 (((Matchi
                                               Grupo de unidad - Pick every unit in AddTimedLEffect_G and do (Actions)
                                                   Bucle: Acciones
                                                       Efecto especial - Create a special effect attached to the AddTimedLEffect_AP[AddTimedLEffect_IDX[1]] of (Picked unit) using AddTimedLEffect_SFX[AddTimedLEffect_IDX[1]]
                                                       Efecto especial - Destroy (Last created special effect)
                                               Custom script:   call DestroyGroup(udg_AddTimedLEffect_G)
                                               Custom script:   call RemoveLocation(udg_AddTimedLEffect_P)
                                           Otros: Acciones
                                               Set AddTimedLEffect_C[AddTimedLEffect_IDX[1]] = (Integer((AddTimedLEffect_T[AddTimedLEffect_IDX[1]] / 0.03)))
                               Set AddTimedLEffect_TBA[AddTimedLEffect_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.