[KE] Funcion GUI ManaOverTimeDescripcion: Funcion que te permite restaurar X cantidad de maná 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:[gui]ManaOverTime
Acontecimientos
Condiciones
Acciones
-------- ###### .::Maqueta::. ###### --------
-------- ManaOverTime(unidad, amount, intervaloMana, bool, tiempo, AoE. TipoObjetivo) --------
-------- ###################### --------
-------- Bool >>> true = Mana en AoE de la "unidad" --------
-------- Bool >>> false = Mana single unit (cura solo a la "unidad" que coloques, y ya no en AoE --------
-------- ------------------------------------------- --------
Set ManaOverTimeSYS_Unit = ManaOverTimeSYS_Unit
Set ManaOverTimeSYS_Amount = ManaOverTimeSYS_Amount
Set ManaOverTimeSYS_IntervaloMana = ManaOverTimeSYS_IntervaloMana
Set ManaOverTimeSYS_Bool = ManaOverTimeSYS_Bool
Set ManaOverTimeSYS_Tiempo = ManaOverTimeSYS_Tiempo
Set ManaOverTimeSYS_AoE = ManaOverTimeSYS_AoE
Set ManaOverTimeSYS_AfectaAliados = ManaOverTimeSYS_AfectaAliados
-------- ------------------------------------------- --------
Set ManaOverTime_IDX[0] = (ManaOverTime_IDX[0] + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
ManaOverTime_IDX[0] Igual a 1
Entonces: Acciones
Detonador - Turn on ManaOverTime Loop
Otros: Acciones
Set ManaOverTime_C[ManaOverTime_IDX[0]] = 0
Set ManaOverTime_AC[ManaOverTime_IDX[0]] = 0
Set ManaOverTime_T[ManaOverTime_IDX[0]] = ManaOverTimeSYS_Tiempo
Set ManaOverTime_Unit[ManaOverTime_IDX[0]] = ManaOverTimeSYS_Unit
Set ManaOverTime_A[ManaOverTime_IDX[0]] = ManaOverTimeSYS_AoE
Set ManaOverTime_AM[ManaOverTime_IDX[0]] = ManaOverTimeSYS_Amount
Set ManaOverTime_B[ManaOverTime_IDX[0]] = ManaOverTimeSYS_Bool
Set ManaOverTime_BC[ManaOverTime_IDX[0]] = ManaOverTimeSYS_AfectaAliados
Set ManaOverTime_I[ManaOverTime_IDX[0]] = ManaOverTimeSYS_IntervaloMana
[/gui]
[gui]ManaOverTime Loop
Acontecimientos
Tiempo - Every 0.03 seconds of game time
Condiciones
Acciones
For each (Integer ManaOverTime_IDX[1]) from 1 to ManaOverTime_IDX[0], do (Actions)
Bucle: Acciones
Set ManaOverTime_C[ManaOverTime_IDX[1]] = (ManaOverTime_C[ManaOverTime_IDX[1]] + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
ManaOverTime_C[ManaOverTime_IDX[1]] Mayor que o igual a (Integer((ManaOverTime_T[ManaOverTime_IDX[1]] / 0.03)))
Entonces: Acciones
Set ManaOverTime_A[ManaOverTime_IDX[1]] = ManaOverTime_A[ManaOverTime_IDX[0]]
Set ManaOverTime_AM[ManaOverTime_IDX[1]] = ManaOverTime_AM[ManaOverTime_IDX[0]]
Set ManaOverTime_B[ManaOverTime_IDX[1]] = ManaOverTime_B[ManaOverTime_IDX[0]]
Set ManaOverTime_BC[ManaOverTime_IDX[1]] = ManaOverTime_BC[ManaOverTime_IDX[0]]
Set ManaOverTime_C[ManaOverTime_IDX[1]] = ManaOverTime_C[ManaOverTime_IDX[0]]
Set ManaOverTime_T[ManaOverTime_IDX[1]] = ManaOverTime_T[ManaOverTime_IDX[0]]
Set ManaOverTime_Unit[ManaOverTime_IDX[1]] = ManaOverTime_Unit[ManaOverTime_IDX[0]]
Set ManaOverTime_AC[ManaOverTime_IDX[1]] = ManaOverTime_AC[ManaOverTime_IDX[0]]
Set ManaOverTime_I[ManaOverTime_IDX[1]] = ManaOverTime_I[ManaOverTime_IDX[0]]
Set ManaOverTime_IDX[1] = (ManaOverTime_IDX[1] - 1)
Set ManaOverTime_IDX[0] = (ManaOverTime_IDX[0] - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
ManaOverTime_IDX[0] Igual a 0
Entonces: Acciones
Detonador - Turn off (This trigger)
Otros: Acciones
Otros: Acciones
Set ManaOverTime_AC[ManaOverTime_IDX[1]] = (ManaOverTime_AC[ManaOverTime_IDX[1]] + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
ManaOverTime_AC[ManaOverTime_IDX[1]] Igual a (Integer((ManaOverTime_I[ManaOverTime_IDX[1]] / 0.03)))
Entonces: Acciones
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
ManaOverTime_B[ManaOverTime_IDX[1]] Igual a True
Entonces: Acciones
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(ManaOverTime_Unit[ManaOverTime_IDX[1]] is alive) Igual a True
Entonces: Acciones
Set ManaOverTime_P = (Position of ManaOverTime_Unit[ManaOverTime_IDX[1]])
Set ManaOverTime_G = (Units within ManaOverTime_A[ManaOverTime_IDX[1]] of ManaOverTime_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 ManaOverTime_G and do (Actions)
Bucle: Acciones
Unidad - Set mana of (Picked unit) to ((Maná of (Picked unit)) + ManaOverTime_AM[ManaOverTime_IDX[1]])
Custom script: call DestroyGroup(udg_ManaOverTime_G)
Custom script: call RemoveLocation(udg_ManaOverTime_P)
Otros: Acciones
Set ManaOverTime_C[ManaOverTime_IDX[1]] = (Integer((ManaOverTime_T[ManaOverTime_IDX[1]] / 0.03)))
Otros: Acciones
Unidad - Set mana of ManaOverTime_Unit[ManaOverTime_IDX[1]] to ((Maná of ManaOverTime_Unit[ManaOverTime_IDX[1]]) + ManaOverTime_AM[ManaOverTime_IDX[1]])
Set ManaOverTime_AC[ManaOverTime_IDX[1]] = 0
Otros: Acciones
[/gui]
Ejemplos como usar: Los ejemplos estan en el mismo mapa con la Función incluida. Descarguelo y revise