| | Crea tu propio spell [Proyectil] | |
| |
Autor | Mensaje |
---|


Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Crea tu propio spell [Proyectil] Jue Dic 15, 2016 2:42 pm | |
| Muy buenas a todos hoy les traigo un spell en el que sólo deben configurar variables para crear distintos proyectiles totalmente funcionalesLa intención es que solo deban configurar el spell como si fuera un hechizo del editor de objetos, este spell tiene MUCHOS configurables, así que explicaré lo mejor posible. ACTUALIZADO: Ahora puedes usar la variable SUP_Get_Caster cuando el dummy lanza un spell para tener la referencia a la unidad principal- Requisito(COPIAR PRIMERO EN SU MAP):
-
También requiere que copien el dummy del map incluyendo el modelo que lo pueden encontrar en el gestor de importaciones - Detonadores:
-
[gui]SemiUniversal Proy Config Acontecimientos Map initialization Condiciones Acciones Set DUMMY_ID = Dummy Set DUMMY_CASTER_ID = Dummy Caster -------- --------------------------------- --------------------------------- --------------------------------- -------- -------- Estos son los datos que el sistema colocará a tus variables Set si te olvidas de configurar alguna -------- -------- (Está configurada para lanzar enjambre carroñero nivel 1 si no pones ningun dato) -------- Set SUP_Default_AfectaAereas = True Set SUP_Default_AfectaEstructuras = False Set SUP_Default_AfectaInmuneAMagia = False Set SUP_Default_AfectaInvisibles = True Set SUP_Default_Altura_Final = 75.00 Set SUP_Default_Altura_Inicial = 75.00 Set SUP_Default_AoE = 100.00 Set SUP_Default_AoE_Final = 300.00 Set SUP_Default_Arco = 0.00 Set SUP_Default_CuraAliados = False Set SUP_Default_CuracionAoE = 0.00 Set SUP_Default_CuracionTarget = 0.00 Set SUP_Default_DamageAoE = 75.00 Set SUP_Default_DamageTarget = 0.00 Set SUP_Default_DamageType = Conjuros Set SUP_Default_DaniaAliados = False Set SUP_Default_IgnorarReduccion = False Set SUP_Default_Model = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmMissile.mdl Set SUP_Default_OnAoEHit_Model = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl Set SUP_Default_OnTargetHit_Model = Set SUP_Default_Speed = 1100.00 Set SUP_Default_TerminarAlChocar = False -------- --------------------------------- --------------------------------- --------------------------------- -------- -------- Se recomienda no cambiar estos valores predeterminados -------- Set SUP_Default_OrderString = Set SUP_Default_DummyBlue = 100.00 Set SUP_Default_DummyGreen = 100.00 Set SUP_Default_DummyRed = 100.00 Set SUP_Default_DummySize = 100.00 Set SUP_Default_DummyTransparency = 0.00 -------- --------------------------------- --------------------------------- --------------------------------- -------- -------- Acomodando las variables set a las default -------- Set SUP_Set_TerminarAlChocar = SUP_Default_TerminarAlChocar Set SUP_Set_Speed = SUP_Default_Speed Set SUP_Set_OrderString = SUP_Default_OrderString Set SUP_Set_OnTargetHit_Model = SUP_Default_OnTargetHit_Model Set SUP_Set_OnAoEHit_Model = SUP_Default_OnAoEHit_Model Set SUP_Set_Model = SUP_Default_Model Set SUP_Set_IgnorarReduccion = SUP_Default_IgnorarReduccion Set SUP_Set_DummyTransparency = SUP_Default_DummyTransparency Set SUP_Set_DummySize = SUP_Default_DummySize Set SUP_Set_DummyRed = SUP_Default_DummyRed Set SUP_Set_DummyGreen = SUP_Default_DummyGreen Set SUP_Set_DummyBlue = SUP_Default_DummyBlue Set SUP_Set_DaniaAliados = SUP_Default_DaniaAliados Set SUP_Set_DamageType = SUP_Default_DamageType Set SUP_Set_DamageTarget = SUP_Default_DamageTarget Set SUP_Set_DamageAoE = SUP_Default_DamageAoE Set SUP_Set_CuracionTarget = SUP_Default_CuracionTarget Set SUP_Set_CuracionAoE = SUP_Default_CuracionAoE Set SUP_Set_CuraAliados = SUP_Default_CuraAliados Set SUP_Set_Arco = SUP_Default_Arco Set SUP_Set_AoE_Final = SUP_Default_AoE_Final Set SUP_Set_AoE = SUP_Default_AoE Set SUP_Set_Altura_Inicial = SUP_Default_Altura_Inicial Set SUP_Set_Altura_Final = SUP_Default_Altura_Final Set SUP_Set_AfectaInvisibles = SUP_Default_AfectaInvisibles Set SUP_Set_AfectaInmuneAMagia = SUP_Default_AfectaInmuneAMagia Set SUP_Set_AfectaEstructuras = SUP_Default_AfectaEstructuras Set SUP_Set_AfectaAereas = SUP_Default_AfectaAereas [/gui] [gui]SemiUniversal Proy Init Acontecimientos Condiciones Acciones Set SUP_Local_Jugador = (Owner of SUP_Set_Caster) -------- --------------------------------- --------------------------------- --------------------------------- -------- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_Enteros[1] Igual a (==) 0 Entonces: Acciones Detonador - Turn on SemiUniversal Proy Loop Otros: Acciones Set SUP_Private_Enteros[1] = (SUP_Private_Enteros[1] + 1) Set SUP_Private_Enteros[2] = (SUP_Private_Enteros[2] + 1) -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Private_AfectaAereas[SUP_Private_Enteros[2]] = SUP_Set_AfectaAereas Set SUP_Private_AfectaEstructuras[SUP_Private_Enteros[2]] = SUP_Set_AfectaEstructuras Set SUP_Private_AfectaInmuneAMagia[SUP_Private_Enteros[2]] = SUP_Set_AfectaInmuneAMagia Set SUP_Private_AfectaInvisibles[SUP_Private_Enteros[2]] = SUP_Set_AfectaInvisibles Set SUP_Private_CuraAliados[SUP_Private_Enteros[2]] = SUP_Set_CuraAliados Set SUP_Private_DaniaAliados[SUP_Private_Enteros[2]] = SUP_Set_DaniaAliados Set SUP_Private_TerminarAlChocar[SUP_Private_Enteros[2]] = SUP_Set_TerminarAlChocar Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Set_IgnorarReduccion Igual a (==) True Entonces: Acciones Set SUP_Private_DamageStyle[SUP_Private_Enteros[2]] = Universal Otros: Acciones Set SUP_Private_DamageStyle[SUP_Private_Enteros[2]] = Normal -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Private_AoE[SUP_Private_Enteros[2]] = SUP_Set_AoE Set SUP_Private_AoE_Final[SUP_Private_Enteros[2]] = SUP_Set_AoE_Final Set SUP_Private_Speed[SUP_Private_Enteros[2]] = (SUP_Set_Speed / 25.00) Set SUP_Private_Arco[SUP_Private_Enteros[2]] = SUP_Set_Arco -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Private_DamageAoE[SUP_Private_Enteros[2]] = SUP_Set_DamageAoE Set SUP_Private_DamageTarget[SUP_Private_Enteros[2]] = SUP_Set_DamageTarget Set SUP_Private_DamageType[SUP_Private_Enteros[2]] = SUP_Set_DamageType Set SUP_Private_CuracionAoE[SUP_Private_Enteros[2]] = SUP_Set_CuracionAoE Set SUP_Private_CuracionTarget[SUP_Private_Enteros[2]] = SUP_Set_CuracionTarget -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Private_OnAoEHit_Model[SUP_Private_Enteros[2]] = SUP_Set_OnAoEHit_Model Set SUP_Private_OnTargetHit_Model[SUP_Private_Enteros[2]] = SUP_Set_OnTargetHit_Model -------- --------------------------------- --------------------------------- --------------------------------- -------- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Set_OrderString No igual a (!=) Entonces: Acciones Set SUP_Private_OrderString[SUP_Private_Enteros[2]] = SUP_Set_OrderString Set SUP_Private_DummyAbility[SUP_Private_Enteros[2]] = SUP_Set_DummyAbility Set SUP_Private_DummyAbilNivel[SUP_Private_DummyAbilNivel[2]] = SUP_Set_DummyAbilNivel Otros: Acciones -------- --------------------------------- --------------------------------- --------------------------------- -------- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Set_Caster No igual a (!=) Ninguna unidad Entonces: Acciones Set SUP_Private_Caster[SUP_Private_Enteros[2]] = SUP_Set_Caster Otros: Acciones Partida - Display to (All players) the text: |cffff0000NO TIENES... Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Set_Target No igual a (!=) Ninguna unidad Entonces: Acciones Set SUP_Private_Target[SUP_Private_Enteros[2]] = SUP_Set_Target Set SUP_Private_TargetPoint[SUP_Private_Enteros[2]] = (Position of SUP_Set_Target) Otros: Acciones Set SUP_Private_Target[SUP_Private_Enteros[2]] = Ninguna unidad Set SUP_Private_TargetPoint[SUP_Private_Enteros[2]] = (Point((X of SUP_Set_PuntoObjetivo), (Y of SUP_Set_PuntoObjetivo))) Set SUP_Local_Angle = (Angle from SUP_Set_PuntoInicial to SUP_Private_TargetPoint[SUP_Private_Enteros[2]]) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones DUMMY_ID No igual a (!=) No unidad-tipo Entonces: Acciones Custom script: if udg_SUP_Set_PuntoInicial == null then Partida - Display to (All players) the text: |cffff0000NO DEFINI... Custom script: endif Unidad - Create 1 DUMMY_ID for SUP_Local_Jugador at SUP_Set_PuntoInicial facing SUP_Local_Angle degrees Efecto especial - Create a special effect attached to the origin of (Last created unit) using SUP_Set_Model Animación - Change (Last created unit)'s vertex coloring to (SUP_Set_DummyRed%, SUP_Set_DummyGreen%, SUP_Set_DummyBlue%) with 0.00% transparency Unidad - Add Forma de cuervo to (Last created unit) Unidad - Remove Forma de cuervo from (Last created unit) Custom script: call UnitAddAbility(bj_lastCreatedUnit, 'Aloc') Animación - Change (Last created unit)'s size to (SUP_Set_DummySize%, SUP_Set_DummySize%, SUP_Set_DummySize%) of its original size Animación - Change (Last created unit) flying height to SUP_Set_Altura_Inicial at 0.00 Set SUP_Private_Dummy[SUP_Private_Enteros[2]] = (Last created unit) Set SUP_Private_Effect[SUP_Private_Enteros[2]] = (Last created special effect) Custom script: set udg_SUP_Private_Dummy_Z[udg_SUP_Private_Enteros[2]] = GetUnitZ(udg_SUP_Private_Dummy[udg_SUP_Private_Enteros[2]]) Otros: Acciones Partida - Display to (All players) the text: |cffff0000NO CONFIG... Set SUP_Local_Distancia = (Distance between SUP_Set_PuntoInicial and SUP_Set_PuntoObjetivo) Custom script: set udg_SUP_Local_DifAltura = GetLocationZ(udg_SUP_Private_TargetPoint[udg_SUP_Private_Enteros[2]]) + udg_SUP_Set_Altura_Final - GetUnitZ(bj_lastCreatedUnit) Set SUP_Private_Time[SUP_Private_Enteros[2]] = (SUP_Local_Distancia / SUP_Set_Speed) Custom script: set udg_SUP_Private_ZTarget[udg_SUP_Private_Enteros[2]] = ( GetLocationZ(udg_SUP_Set_PuntoObjetivo) + udg_SUP_Set_Altura_Final ) Custom script: set udg_SUP_Private_SpeedZ[udg_SUP_Private_Enteros[2]] = (( udg_SUP_Local_Distancia * udg_SUP_Set_Arco) / (udg_SUP_Private_Time[udg_SUP_Private_Enteros[2]] / 4.00) + udg_SUP_Local_DifAltura / udg_SUP_Private_Time[udg_SUP_Private_Enteros[2]]) * 0.04 Custom script: set udg_SUP_Private_Group[udg_SUP_Private_Enteros[2]] = CreateGroup() Set SUP_Private_IsActive[SUP_Private_Enteros[2]] = True -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Set_TerminarAlChocar = SUP_Default_TerminarAlChocar Set SUP_Set_Target = Ninguna unidad Set SUP_Set_Speed = SUP_Default_Speed Custom script: call RemoveLocation(udg_SUP_Set_PuntoObjetivo) Custom script: call RemoveLocation(udg_SUP_Set_PuntoInicial) Custom script: set udg_SUP_Set_PuntoInicial = null Custom script: set udg_SUP_Set_PuntoObjetivo = null Set SUP_Set_OrderString = SUP_Default_OrderString Set SUP_Set_OnTargetHit_Model = SUP_Default_OnTargetHit_Model Set SUP_Set_OnAoEHit_Model = SUP_Default_OnAoEHit_Model Set SUP_Set_Model = SUP_Default_Model Set SUP_Set_IgnorarReduccion = SUP_Default_IgnorarReduccion Set SUP_Set_DummyTransparency = SUP_Default_DummyTransparency Set SUP_Set_DummySize = SUP_Default_DummySize Set SUP_Set_DummyRed = SUP_Default_DummyRed Set SUP_Set_DummyGreen = SUP_Default_DummyGreen Set SUP_Set_DummyBlue = SUP_Default_DummyBlue Custom script: set udg_SUP_Set_DummyAbilNivel = 0 Set SUP_Set_DaniaAliados = SUP_Default_DaniaAliados Set SUP_Set_DamageType = SUP_Default_DamageType Set SUP_Set_DamageTarget = SUP_Default_DamageTarget Set SUP_Set_DamageAoE = SUP_Default_DamageAoE Set SUP_Set_CuracionTarget = SUP_Default_CuracionTarget Set SUP_Set_CuracionAoE = SUP_Default_CuracionAoE Set SUP_Set_CuraAliados = SUP_Default_CuraAliados Set SUP_Set_Caster = Ninguna unidad Set SUP_Set_Arco = SUP_Default_Arco Set SUP_Set_AoE_Final = SUP_Default_AoE_Final Set SUP_Set_AoE = SUP_Default_AoE Set SUP_Set_Altura_Inicial = SUP_Default_Altura_Inicial Set SUP_Set_Altura_Final = SUP_Default_Altura_Final Set SUP_Set_AfectaInvisibles = SUP_Default_AfectaInvisibles Set SUP_Set_AfectaInmuneAMagia = SUP_Default_AfectaInmuneAMagia Set SUP_Set_AfectaEstructuras = SUP_Default_AfectaEstructuras Set SUP_Set_AfectaAereas = SUP_Default_AfectaAereas [/gui] [gui]SemiUniversal Proy Loop Acontecimientos Tiempo - Every 0.04 seconds of game time Condiciones Acciones Custom script: local real dz Custom script: local real time Custom script: local real speedz Custom script: local unit c Custom script: local unit t Do Multiple ActionsFor each (Integer SUP_Local_ForLoop) from 1 to SUP_Private_Enteros[2], do (Actions) Bucle: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_IsActive[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_Target[SUP_Local_ForLoop] No igual a (!=) Ninguna unidad Entonces: Acciones Custom script: set udg_SUP_Local_Altura = GetLocationZ(udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]) Custom script: call RemoveLocation(udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]) Custom script: set udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]=null Custom script: set udg_SUP_Local_DifAltura = udg_SUP_Local_Altura - udg_SUP_Private_ZTarget[udg_SUP_Local_ForLoop] Set SUP_Private_TargetPoint[SUP_Local_ForLoop] = (Position of SUP_Private_Target[SUP_Local_ForLoop]) Custom script: set udg_SUP_Private_ZTarget[udg_SUP_Local_ForLoop] = GetLocationZ(udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]) + udg_SUP_Local_DifAltura Otros: Acciones -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Local_Point = (Position of SUP_Private_Dummy[SUP_Local_ForLoop]) Set SUP_Local_Distancia = (Distance between SUP_Local_Point and SUP_Private_TargetPoint[SUP_Local_ForLoop]) Set SUP_Local_Angle = (Angle from SUP_Local_Point to SUP_Private_TargetPoint[SUP_Local_ForLoop]) Custom script: set udg_SUP_Local_DifAltura = udg_SUP_Private_ZTarget[udg_SUP_Local_ForLoop] - GetUnitZ(udg_SUP_Private_Dummy[udg_SUP_Local_ForLoop]) -------- Estas variables locales las uso solamente por un problema con worldedit -------- Custom script: set dz = udg_SUP_Local_DifAltura Custom script: set time = udg_SUP_Private_Time[udg_SUP_Local_ForLoop] Custom script: set speedz = udg_SUP_Private_SpeedZ[udg_SUP_Local_ForLoop] Custom script: set udg_SUP_Local_Angle_Z = 2 * (dz/ time/ time * 0.04*0.04 - (speedz * 0.04) / time) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Local_Distancia Mayor que o igual a (>=) SUP_Private_Speed[SUP_Local_ForLoop] Entonces: Acciones Set SUP_Private_Time[SUP_Local_ForLoop] = (SUP_Local_Distancia / (0.04 x SUP_Private_Speed[SUP_Local_ForLoop])) Otros: Acciones Set SUP_Private_Time[SUP_Local_ForLoop] = 0.04 Set SUP_Private_Speed[SUP_Local_ForLoop] = SUP_Local_Distancia Set SUP_Local_Point2 = (SUP_Local_Point offset by SUP_Private_Speed[SUP_Local_ForLoop] towards SUP_Local_Angle degrees) Set SUP_Local_Real_Auxiliar = (SUP_Local_Angle_Z / 2.00) Set SUP_Private_SpeedZ[SUP_Local_ForLoop] = (SUP_Private_SpeedZ[SUP_Local_ForLoop] + SUP_Local_Real_Auxiliar) Set SUP_Private_Dummy_Z[SUP_Local_ForLoop] = (SUP_Private_Dummy_Z[SUP_Local_ForLoop] + SUP_Private_SpeedZ[SUP_Local_ForLoop]) Set SUP_Private_SpeedZ[SUP_Local_ForLoop] = (SUP_Private_SpeedZ[SUP_Local_ForLoop] + SUP_Local_Real_Auxiliar) -------- --------------------------------- --------------------------------- --------------------------------- -------- Custom script: call SetUnitFlyHeight( udg_SUP_Private_Dummy[udg_SUP_Local_ForLoop], udg_SUP_Private_Dummy_Z[udg_SUP_Local_ForLoop] - GetLocationZ(udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]), 0.00) Custom script: call SetUnitFacingZ( udg_SUP_Private_Dummy[udg_SUP_Local_ForLoop], Atan2(udg_SUP_Private_SpeedZ[udg_SUP_Local_ForLoop], udg_SUP_Private_Speed[udg_SUP_Local_ForLoop])) Unidad - Make SUP_Private_Dummy[SUP_Local_ForLoop] face SUP_Local_Angle over 0.00 seconds -------- --------------------------------- --------------------------------- --------------------------------- -------- Set SUP_Private_Time[SUP_Local_ForLoop] = (SUP_Private_Time[SUP_Local_ForLoop] - 0.04) -------- --------------------------------- --------------------------------- --------------------------------- -------- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_Time[SUP_Local_ForLoop] Menor que (<) 0.01 Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_AoE_Final[SUP_Local_ForLoop] Mayor que o igual a (>=) 0.01 Entonces: Acciones Set SUP_Local_Group = (Units within SUP_Private_AoE_Final[SUP_Local_ForLoop] of SUP_Local_Point2 matching ((((Matching unit) is dead) Igual a (==) False) and ((((Matching unit) is hidden) Igual a (==) False) and (((Matching unit) No igual a (!=) SUP_Private_Caster[SUP_Local_ForLoo Grupo de unidad - Pick every unit in SUP_Local_Group and do (Actions) Bucle: Acciones Custom script: local boolean b = true -------- Checkeando condiciones -------- Custom script: local boolean aux = IsUnitType(GetEnumUnit(), UNIT_TYPE_MAGIC_IMMUNE) == udg_SUP_Private_AfectaInmuneAMagia[udg_SUP_Local_ForLoop] Custom script: set b = b and (aux or udg_SUP_Private_AfectaInmuneAMagia[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitType(GetEnumUnit(), UNIT_TYPE_FLYING) == udg_SUP_Private_AfectaAereas[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaAereas[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitType(GetEnumUnit(), UNIT_TYPE_STRUCTURE) == udg_SUP_Private_AfectaEstructuras[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaEstructuras[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitInvisible(GetEnumUnit(), udg_SUP_Local_Jugador)==udg_SUP_Private_AfectaInvisibles[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaInvisibles[udg_SUP_Local_ForLoop]) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones ((Picked unit) belongs to an enemy of SUP_Local_Jugador) Igual a (==) False Entonces: Acciones Custom script: set b = b and (udg_SUP_Private_DaniaAliados[udg_SUP_Local_ForLoop] or udg_SUP_Private_CuraAliados[udg_SUP_Local_ForLoop]) Otros: Acciones -------- Si la unidad fue checkeada, afectarla -------- Custom script: if b then Efecto especial - Create a special effect attached to the chest of (Picked unit) using SUP_Private_OnAoEHit_Model[SUP_Local_ForLoop] Efecto especial - Destroy (Last created special effect) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_OrderString[SUP_Local_ForLoop] No igual a (!=) Entonces: Acciones Set SUP_Get_Caster = SUP_Private_Caster[SUP_Local_ForLoop] Unidad - Create 1 DUMMY_CASTER_ID for SUP_Local_Jugador at SUP_Local_Point facing Vista edificio predeterminada (270.0) degrees Custom script: call UnitAddAbility(bj_lastCreatedUnit, 'Aloc') Unidad - Add a 2.00 second Genà rico expiration timer to (Last created unit) Unidad - Add SUP_Private_DummyAbility[SUP_Local_ForLoop] to (Last created unit) Unidad - Set level of SUP_Private_DummyAbility[SUP_Local_ForLoop] for (Last created unit) to SUP_Private_DummyAbilNivel[SUP_Local_ForLoop] Custom script: call IssueTargetOrder(bj_lastCreatedUnit, udg_SUP_Private_OrderString[udg_SUP_Local_ForLoop], GetEnumUnit()) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones ((Picked unit) belongs to an enemy of SUP_Local_Jugador) Igual a (==) True Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DamageAoE[SUP_Local_ForLoop] No igual a (!=) 0.00 Entonces: Acciones Custom script: call UnitDamageTarget(udg_SUP_Private_Caster[udg_SUP_Local_ForLoop],GetEnumUnit(),udg_SUP_Private_DamageAoE[udg_SUP_Local_ForLoop],false,false,udg_SUP_Private_DamageType[udg_SUP_Local_ForLoop],udg_SUP_Private_DamageStyle[udg_SUP_Local_ForLoop],null) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_CuraAliados[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Unidad - Set life of (Picked unit) to ((Vida of (Picked unit)) + SUP_Private_CuracionAoE[SUP_Local_ForLoop]) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DaniaAliados[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DamageAoE[SUP_Local_ForLoop] No igual a (!=) 0.00 Entonces: Acciones Custom script: call UnitDamageTarget(udg_SUP_Private_Caster[udg_SUP_Local_ForLoop],GetEnumUnit(),udg_SUP_Private_DamageAoE[udg_SUP_Local_ForLoop],false,false,udg_SUP_Private_DamageType[udg_SUP_Local_ForLoop],udg_SUP_Private_DamageStyle[udg_SUP_Local_ForLoop],null) Otros: Acciones Otros: Acciones Otros: Acciones -------- Dañar o curar + Usar spell dummy -------- Custom script: endif Set SUP_Get_Caster = Ninguna unidad Otros: Acciones Efecto especial - Create a special effect attached to the chest of SUP_Private_Target[SUP_Local_ForLoop] using SUP_Private_OnTargetHit_Model[SUP_Local_ForLoop] Efecto especial - Destroy (Last created special effect) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_OrderString[SUP_Local_ForLoop] No igual a (!=) Entonces: Acciones Set SUP_Get_Caster = SUP_Private_Caster[SUP_Local_ForLoop] Unidad - Create 1 DUMMY_CASTER_ID for SUP_Local_Jugador at SUP_Local_Point facing Vista edificio predeterminada (270.0) degrees Custom script: call UnitAddAbility(bj_lastCreatedUnit, 'Aloc') Unidad - Add a 2.00 second Genà rico expiration timer to (Last created unit) Unidad - Add SUP_Private_DummyAbility[SUP_Local_ForLoop] to (Last created unit) Unidad - Set level of SUP_Private_DummyAbility[SUP_Local_ForLoop] for (Last created unit) to SUP_Private_DummyAbilNivel[SUP_Local_ForLoop] Custom script: call IssueTargetOrder(bj_lastCreatedUnit, udg_SUP_Private_OrderString[udg_SUP_Local_ForLoop], GetEnumUnit()) Otros: Acciones Set SUP_Get_Caster = Ninguna unidad Custom script: set t = udg_SUP_Private_Target[udg_SUP_Local_ForLoop] Custom script: set c = udg_SUP_Private_Caster[udg_SUP_Local_ForLoop] Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DamageTarget[SUP_Local_ForLoop] Mayor que o igual a (>=) 0.01 Entonces: Acciones Custom script: call UnitDamageTarget(c,t,udg_SUP_Private_DamageAoE[udg_SUP_Local_ForLoop],false,false,udg_SUP_Private_DamageType[udg_SUP_Local_ForLoop],udg_SUP_Private_DamageStyle[udg_SUP_Local_ForLoop],null) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_CuracionTarget[SUP_Local_ForLoop] Mayor que o igual a (>=) 0.01 Entonces: Acciones Unidad - Set life of SUP_Private_Target[SUP_Local_ForLoop] to ((Vida of SUP_Private_Target[SUP_Local_ForLoop]) + SUP_Private_CuracionAoE[SUP_Local_ForLoop]) Otros: Acciones -------- END AND CLEAN -------- Unidad - Kill SUP_Private_Dummy[SUP_Local_ForLoop] Efecto especial - Destroy SUP_Private_Effect[SUP_Local_ForLoop] Set SUP_Private_IsActive[SUP_Local_ForLoop] = False Set SUP_Private_OrderString[SUP_Local_ForLoop] = Custom script: set udg_SUP_Private_DummyAbility[udg_SUP_Local_ForLoop] = 0 Custom script: call DestroyGroup(udg_SUP_Private_Group[udg_SUP_Local_ForLoop]) Custom script: call RemoveLocation(udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]) Custom script: set udg_SUP_Private_TargetPoint[udg_SUP_Local_ForLoop]=null Set SUP_Private_Enteros[1] = (SUP_Private_Enteros[1] - 1) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_Enteros[1] Igual a (==) 0 Entonces: Acciones Set SUP_Private_Enteros[2] = 0 Detonador - Turn off (This trigger) Otros: Acciones Otros: Acciones Unidad - Move SUP_Private_Dummy[SUP_Local_ForLoop] instantly to SUP_Local_Point2 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_AoE[SUP_Local_ForLoop] Mayor que o igual a (>=) 0.01 Entonces: Acciones Set SUP_Local_Group = (Units within SUP_Private_AoE[SUP_Local_ForLoop] of SUP_Local_Point2 matching ((((Matching unit) is dead) Igual a (==) False) and ((((Matching unit) is hidden) Igual a (==) False) and (((Matching unit) No igual a (!=) SUP_Private_Caster[SUP_Local_ForLoop]) an Set SUP_Local_Booleana_Auxiliar = False Grupo de unidad - Pick every unit in SUP_Local_Group and do (Actions) Bucle: Acciones Custom script: local boolean b = true -------- Checkeando condiciones -------- Custom script: local boolean aux = IsUnitType(GetEnumUnit(), UNIT_TYPE_MAGIC_IMMUNE) == udg_SUP_Private_AfectaInmuneAMagia[udg_SUP_Local_ForLoop] Custom script: set b = b and (aux or udg_SUP_Private_AfectaInmuneAMagia[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitType(GetEnumUnit(), UNIT_TYPE_FLYING) == udg_SUP_Private_AfectaAereas[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaAereas[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitType(GetEnumUnit(), UNIT_TYPE_STRUCTURE) == udg_SUP_Private_AfectaEstructuras[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaEstructuras[udg_SUP_Local_ForLoop]) Custom script: set b = b and ((IsUnitInvisible(GetEnumUnit(), udg_SUP_Local_Jugador)==udg_SUP_Private_AfectaInvisibles[udg_SUP_Local_ForLoop]) or udg_SUP_Private_AfectaInvisibles[udg_SUP_Local_ForLoop]) -------- Si la unidad fue checkeada, afectarla -------- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones ((Picked unit) belongs to an enemy of SUP_Local_Jugador) Igual a (==) False Entonces: Acciones Custom script: set b = b and (udg_SUP_Private_DaniaAliados[udg_SUP_Local_ForLoop] or udg_SUP_Private_CuraAliados[udg_SUP_Local_ForLoop]) Otros: Acciones Custom script: if b then Grupo de unidad - Add (Picked unit) to SUP_Private_Group[SUP_Local_ForLoop] Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_TerminarAlChocar[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Set SUP_Local_Booleana_Auxiliar = True Otros: Acciones Efecto especial - Create a special effect attached to the origin of (Picked unit) using SUP_Private_OnAoEHit_Model[SUP_Local_ForLoop] Efecto especial - Destroy (Last created special effect) Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_OrderString[SUP_Local_ForLoop] No igual a (!=) Entonces: Acciones Set SUP_Get_Caster = SUP_Private_Caster[SUP_Local_ForLoop] Unidad - Create 1 DUMMY_CASTER_ID for SUP_Local_Jugador at SUP_Local_Point facing Vista edificio predeterminada (270.0) degrees Custom script: call UnitAddAbility(bj_lastCreatedUnit, 'Aloc') Unidad - Add a 2.00 second Genà rico expiration timer to (Last created unit) Unidad - Add SUP_Private_DummyAbility[SUP_Local_ForLoop] to (Last created unit) Unidad - Set level of SUP_Private_DummyAbility[SUP_Local_ForLoop] for (Last created unit) to SUP_Private_DummyAbilNivel[SUP_Local_ForLoop] Custom script: if IssueTargetOrder(bj_lastCreatedUnit, udg_SUP_Private_OrderString[udg_SUP_Local_ForLoop], GetEnumUnit()) then Custom script: endif Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones ((Picked unit) belongs to an enemy of SUP_Local_Jugador) Igual a (==) True Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DamageAoE[SUP_Local_ForLoop] No igual a (!=) 0.00 Entonces: Acciones Custom script: call UnitDamageTarget(udg_SUP_Private_Caster[udg_SUP_Local_ForLoop],GetEnumUnit(),udg_SUP_Private_DamageAoE[udg_SUP_Local_ForLoop],false,false,udg_SUP_Private_DamageType[udg_SUP_Local_ForLoop],udg_SUP_Private_DamageStyle[udg_SUP_Local_ForLoop],null) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_CuraAliados[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Unidad - Set life of (Picked unit) to ((Vida of (Picked unit)) + SUP_Private_CuracionAoE[SUP_Local_ForLoop]) Otros: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DaniaAliados[SUP_Local_ForLoop] Igual a (==) True Entonces: Acciones Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Private_DamageAoE[SUP_Local_ForLoop] No igual a (!=) 0.00 Entonces: Acciones Custom script: call UnitDamageTarget(udg_SUP_Private_Caster[udg_SUP_Local_ForLoop],GetEnumUnit(),udg_SUP_Private_DamageAoE[udg_SUP_Local_ForLoop],false,false,udg_SUP_Private_DamageType[udg_SUP_Local_ForLoop],udg_SUP_Private_DamageStyle[udg_SUP_Local_ForLoop],null) Otros: Acciones Otros: Acciones Otros: Acciones -------- Dañar o curar + Usar spell dummy -------- Custom script: endif Set SUP_Get_Caster = Ninguna unidad Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions) Si: Condiciones SUP_Local_Booleana_Auxiliar Igual a (==) True Entonces: Acciones Set SUP_Private_Speed[SUP_Local_ForLoop] = -1.00 Otros: Acciones Otros: Acciones Custom script: call RemoveLocation(udg_SUP_Local_Point) Custom script: call RemoveLocation(udg_SUP_Local_Point2) Custom script: call DestroyGroup(udg_SUP_Local_Group) Otros: Acciones [/gui]
Si no entiendes los detonadores, eso no importa, lo que importa es que sepas configurar el spell. Config[gui]SemiUniversal Proy Config Acontecimientos Map initialization Condiciones Acciones Set DUMMY_ID = Dummy -------- --------------------------------- --------------------------------- --------------------------------- -------- -------- Estos son los datos que el sistema colocará a tus variables Set si te olvidas de configurar alguna -------- -------- (Está configurada para lanzar enjambre carroñero nivel 1 si no pones ningun dato) -------- Set SUP_Default_AfectaAereas = True Set SUP_Default_AfectaEstructuras = False Set SUP_Default_AfectaInmuneAMagia = False Set SUP_Default_AfectaInvisibles = True Set SUP_Default_Altura_Final = 75.00 Set SUP_Default_Altura_Inicial = 75.00 Set SUP_Default_AoE = 100.00 Set SUP_Default_AoE_Final = 300.00 Set SUP_Default_Arco = 0.00 Set SUP_Default_CuraAliados = False Set SUP_Default_CuracionAoE = 0.00 Set SUP_Default_CuracionTarget = 0.00 Set SUP_Default_DamageAoE = 75.00 Set SUP_Default_DamageTarget = 0.00 Set SUP_Default_DamageType = Conjuros Set SUP_Default_DaniaAliados = False Set SUP_Default_IgnorarReduccion = False Set SUP_Default_Model = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmMissile.mdl Set SUP_Default_OnAoEHit_Model = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl Set SUP_Default_OnTargetHit_Model = Set SUP_Default_Speed = 1100.00 Set SUP_Default_TerminarAlChocar = False -------- --------------------------------- --------------------------------- --------------------------------- -------- -------- Se recomienda no cambiar estos valores predeterminados -------- Set SUP_Default_OrderString = Set SUP_Default_DummyBlue = 100.00 Set SUP_Default_DummyGreen = 100.00 Set SUP_Default_DummyRed = 100.00 Set SUP_Default_DummySize = 100.00 Set SUP_Default_DummyTransparency = 0.00 -------- --------------------------------- --------------------------------- --------------------------------- -------- [/gui] El detonador es más largo, pero esta es la parte importante, estos son los valores que las variables Set tomarán, si no las configuras antes de activar el detonador Init, les aconsejo dejarlo como está, pero si, por ejemplo, usan mucho la velocidad de proyectil "900" (que es la velocidad de la mayoría de los auto attacks de rango), la pueden cambiar. O si tienen muchos spells con el modelo de Flecha, pueden cambiar la variable "Model" para flecha. En general, no creo que lo necesiten, pero si se olvidan de configurar algo, estos son los valores que toma su spell, tenganlo muy en cuenta!

Modo de uso: Un ejemplo sería así: [gui]Onda expansiva con target unit Acontecimientos Unidad - A unit Inicia el efecto de una habilidad Condiciones (Ability being cast) Igual a (==) Onda Expansiva target Unit Acciones Set SUP_Set_TerminarAlChocar = False Set SUP_Set_Target = (Target unit of ability being cast) Set SUP_Set_Speed = 1050.00 Set SUP_Set_PuntoInicial = (Position of (Triggering unit)) Set SUP_Set_OrderString = Set SUP_Set_OnTargetHit_Model = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl Set SUP_Set_OnAoEHit_Model = Set SUP_Set_Model = Abilities\Spells\Orc\Shockwave\ShockwaveMissile.mdl Set SUP_Set_IgnorarReduccion = False Set SUP_Set_DummyTransparency = 0.00 Set SUP_Set_DummySize = 100.00 Set SUP_Set_DummyRed = 100.00 Set SUP_Set_DummyGreen = 100.00 Set SUP_Set_DummyBlue = 100.00 Set SUP_Set_DaniaAliados = False Set SUP_Set_DamageType = Conjuros Set SUP_Set_DamageTarget = (100.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) -------- Esta formula devuelve los mismos valores que Warcraft usa en la onda expansiva -------- Set SUP_Set_DamageAoE = ((7.50 x ((Real((Level of (Ability being cast) for (Triggering unit)))) x (Real((Level of (Ability being cast) for (Triggering unit)))))) + ((32.50 x (Real((Level of (Ability being cast) for (Triggering unit))))) + 35.00)) Set SUP_Set_CuracionTarget = 0.00 Set SUP_Set_CuracionAoE = 0.00 Set SUP_Set_CuraAliados = False Set SUP_Set_Caster = (Triggering unit) Set SUP_Set_Arco = 0.00 Set SUP_Set_AoE_Final = 125.00 Set SUP_Set_AoE = 125.00 Set SUP_Set_Altura_Inicial = 45.00 Set SUP_Set_Altura_Final = 45.00 Set SUP_Set_AfectaInvisibles = True Set SUP_Set_AfectaInmuneAMagia = False Set SUP_Set_AfectaEstructuras = True Set SUP_Set_AfectaAereas = False -------- --------------------------------- --------------------------------- --------------------------------- -------- Detonador - Run SemiUniversal Proy Init (ignoring conditions) [/gui]
Ahora vayamos punto a punto.
[gui]Set SUP_Set_TerminarAlChocar = True or False[/gui] Variable booleana, cuando la seteas a "True" el misil se destruirá al encontrar el primer objetivo válido en su area de efecto
[gui]Set SUP_Set_Caster = (Triggering unit)[/gui] Es la unidad "dueña" del misil, todo el daño provocado por el proyectil, será de esta unidad.
[gui]Set SUP_Set_PuntoInicial = (Position of (Triggering unit))[/gui] El punto desde donde nacerá el proyectil.
[gui]Set SUP_Set_Target = (Target unit of ability being cast) Set SUP_Set_PuntoObjetivo = (SUP_Set_PuntoInicial offset by 800.00 towards Real_Externo degrees)[/gui] Sólo deben utilizar una u otra, en caso de que ambas se configuren, se utilizará Target y no PuntoObjetivo. Cuando seleccionan un objetivo, el proyectil seguirá a esta unidad. Cuando seleccionan un punto objetivo, el proyectil viajará hasta este punto y terminará
[gui] Set SUP_Set_AfectaInvisibles = True Set SUP_Set_AfectaInmuneAMagia = False Set SUP_Set_AfectaEstructuras = False Set SUP_Set_AfectaAereas = True Set SUP_Set_CuraAliados = False Set SUP_Set_DaniaAliados = False [/gui] Se explican solas. Todos los spells afectarán a enemigos que sean unidades de tierra.
[gui]Set SUP_Set_Speed = 1000.00 Set SUP_Set_Arco = 0.00 Set SUP_Set_Altura_Inicial = 45.00 Set SUP_Set_Altura_Final = 45.00 [/gui] Variables del movimiento del proyectil. Arco tiene la misma función que "Arco del misil" del editor de objetos
[gui]Set SUP_Set_OnTargetHit_Model = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl Set SUP_Set_OnAoEHit_Model = Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl Set SUP_Set_Model = Abilities\Spells\Human\StormBolt\StormBoltMissile.mdl [/gui] OnTargetHit_Model y OnAoEHit_Model son efectos especial al dañar una unidad(o curar un aliado). Es importante recalcar que si colocan un model con animaciones, solo se mostrará la animación "Death". SUP_Set_Model es el modelo del proyectil. Estos valores son cadenas(string), simplemente busquen el modelo en el editor de objetos y luego copian su ruta.

[gui] Set SUP_Set_DummyTransparency = 0.00 Set SUP_Set_DummySize = 150.00 Set SUP_Set_DummyRed = 100.00 Set SUP_Set_DummyGreen = 100.00 Set SUP_Set_DummyBlue = 100.00 [/gui] Estas variables se usan para estas dos acciones de GUI. [gui]Animación - Change ElDummy's size to (DummySize%, DummySize%, DummySize%) of its original size Animación - Change ElDummy's vertex coloring to (DummyRed%, DummyGreen%, DummyBlue%) with DummyTransparency% transparency[/gui]
[gui] Set SUP_Set_OrderString = thunderbolt Set SUP_Set_DummyAbility = Rayo de tormenta (dummy) Set SUP_Set_DummyAbilNivel = (Level of (Ability being cast) for (Triggering unit)) [/gui] Estas configuraciones son para utilizar un spell dummy sobre las unidades afectadas. El dummy se crea para el jugador dueño de la unidad Caster y dura 2 segundos vivo. La variable OrderString deben sacarla de su spell dummy, en el caso de Rayo de tormenta.
 Deben escribir ese mismo texto. Dato importante: SOLO UTILIZA HABILIDADES SINGLE TARGET (o al menos eso creo, no probé con spells de target punto o instantaneos)
[gui]Set SUP_Set_AoE = 80.00 Set SUP_Set_AoE_Final = 250.00[/gui] El area de efecto que afecta el proyectil al viajar. AoE_Final es el área que afecta el proyectil al morir
[gui] Set SUP_Set_IgnorarReduccion = False Set SUP_Set_DamageType = Conjuros Set SUP_Set_DamageTarget = 0.00 Set SUP_Set_DamageAoE = ((125.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) + -25.00) Set SUP_Set_CuracionTarget = 0.00 Set SUP_Set_CuracionAoE = 0.00 [/gui] Estas variables son relacionadas el daño o curación de su spell, se explican solas. IgnorarReducción es una booleana para designar si el spell ignorará la resistencia mágica otorgada por los braceles rúnicos y la cantidad de armadura de la unidad. DamageType es el tipo de daño que causará el proyectil.
Comenta y descarga 
Última edición por Marcos_M el Mar Sep 04, 2018 8:45 pm, editado 4 veces |
|  | | 

Barra de Salud : 
Mensajes : 218
Reputación : 46 Monedas de oro : 2589 Monedas de Platino : 5 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Jue Dic 15, 2016 11:37 pm | |
| lo voy a ver  . |
|  | | Caballero

Barra de Salud : 
Mensajes : 359
Reputación : 21 Monedas de oro : 1366 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Dic 16, 2016 10:39 am | |
| No entendi  A pesar de ser un buén sistema entonces, El Editor de habilidades ( Objetos ) LAS SPELLS SON A BASE DE GUI ?? WAT , ENJAMBRE CARROÑERO EN GUI Y OBJECT , WATA ,  , Que confusión . PD : Necesito las funciones "Stun" AddBuff , TimerStun y TimerUnit ( Claro están en el editor de objetos pero necesito que mi spell sea loop ( Lanzable muchas veces ) |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Dic 16, 2016 8:25 pm | |
| No entiendo que es eso de que necesitas las funciones "AddBuff", " TimerStun" y "TimerUnit"  Qué tienes que entender de difícil? Es un spell hecho para que puedas crear spells custom. Como tu Chronosphere |
|  | | 

Barra de Salud : 
Mensajes : 218
Reputación : 46 Monedas de oro : 2589 Monedas de Platino : 5 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Dom Dic 18, 2016 8:06 pm | |
| El spell de stun no aturde a todos en una linea, solo a algunos cuando el misil esta por acabar. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Dom Dic 18, 2016 10:36 pm | |
| Mmm, puedes revisar si el dummy tiene turn rate mayor a 0? Quizás subí una versión desactualizada |
|  | | Aprendiz
Barra de Salud : 
Mensajes : 16
Reputación : 0 Monedas de oro : 16 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Dom Ene 15, 2017 7:18 pm | |
| |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 1:33 pm | |
| ¿Se puede modificar el daño del Breath fire (dummy) ? Es decir hacer que el daño por segundo sea daño universal o físico con detonadores, lo que sucede es que el daño por segundo que hace este efecto es tipo conjuros por defecto y quisiera saber si se puede cambiar. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 3:22 pm | |
| el daño por segundo en ese caso se hace desde la habilidad dummy, pero puedes crear un detonador donde se aplique un daño por segundo, un ejemplo sería http://www.worldofeditors.net/t1401-ke-funcion-gui-damageovertime[gui]Ejemplo Single Unit Acontecimientos Unidad - A unit Inicia el efecto de una habilidad Condiciones (Ability being cast) Igual a (==) Breath of fire (Dummy) Acciones Set DamageOverTimeSYS_UnitOwner = (Triggering unit) Set DamageOverTimeSYS_UnitTarget = (Target unit of ability being cast) Set DamageOverTimeSYS_Damage = (7.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) Set DamageOverTimeSYS_IntervaloDmg = 1.00 Set DamageOverTimeSYS_AttkType = Caos Set DamageOverTimeSYS_DmgType = Desconocido Set DamageOverTimeSYS_Bool = False Set DamageOverTimeSYS_Tiempo = 7.00 Detonador - Run DamageOverTime (ignoring conditions) [/gui]
Si quieres que el daño sea causado desde el Caster, podría acomodar el spell del misil para darte más herramientas |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 6:13 pm | |
| - @Marcos_M escribió:
- el daño por segundo en ese caso se hace desde la habilidad dummy, pero puedes crear un detonador donde se aplique un daño por segundo, un ejemplo sería
http://www.worldofeditors.net/t1401-ke-funcion-gui-damageovertime
[gui]Ejemplo Single Unit Acontecimientos Unidad - A unit Inicia el efecto de una habilidad Condiciones (Ability being cast) Igual a (==) Breath of fire (Dummy) Acciones Set DamageOverTimeSYS_UnitOwner = (Triggering unit) Set DamageOverTimeSYS_UnitTarget = (Target unit of ability being cast) Set DamageOverTimeSYS_Damage = (7.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) Set DamageOverTimeSYS_IntervaloDmg = 1.00 Set DamageOverTimeSYS_AttkType = Caos Set DamageOverTimeSYS_DmgType = Desconocido Set DamageOverTimeSYS_Bool = False Set DamageOverTimeSYS_Tiempo = 7.00 Detonador - Run DamageOverTime (ignoring conditions) [/gui]
Si quieres que el daño sea causado desde el Caster, podría acomodar el spell del misil para darte más herramientas
Si justo estoy usando ese ejemplo, intente acomodar para que la habilidad haga daño y funciona cuando lo castea el héroe pero no funciona cuando lo hace el dummy, es decir no reconoce y no hace daño cuando lo activo con el misil. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 6:21 pm | |
| Ya sé lo que sucede, la función no funciona bien porque el dummy es removido del map y el daño por segundo deja de funcionar, dejame modificar mi spell, para permitirte recuperar el héroe cuando el dummy castea. Así aplicar efectos como este se facilite
Edit: Actualizado, si quieres más mejores a esto solo comenta |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 7:34 pm | |
| |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 9:59 pm | |
| Bueno con la variable SUP_Caster probé y no funciona, solo logre q le afecte a los dummys voladores pero su daño no es de 10 segundos. Además aveces no logra activarse no sé el porque. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Vie Mar 24, 2017 10:44 pm | |
| Fijate que en el map hay ejemplo con Aliento de fuego.
Y recuerda configurar bien todas las variables para que sea daño de 10 segundos |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Sáb Mar 25, 2017 11:53 am | |
| - @Marcos_M escribió:
- Fijate que en el map hay ejemplo con Aliento de fuego.
Y recuerda configurar bien todas las variables para que sea daño de 10 segundos
Estoy usando el mapa que subiste y ese es el que no funciona, corregí 1 cosa el detonador que activa DamageOverTimeLoop está desactivado y la otra configure de muchas maneras el detonador Ejemplo Single Unit Configuré sus variables ninguna me funciona, al final no hace ningún daño. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Sáb Mar 25, 2017 2:25 pm | |
| DamageOverTimeLoop tiene que estar así, desactivado(pero no con cruz)
Revisaré más. Seguro que no es por la regeneración de los campesinos?
PD: Descargaste de nuevo el mapa subido en Este post? |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Sáb Mar 25, 2017 3:34 pm | |
| - @Marcos_M escribió:
- DamageOverTimeLoop tiene que estar así, desactivado(pero no con cruz)
Revisaré más. Seguro que no es por la regeneración de los campesinos?
PD: Descargaste de nuevo el mapa subido en Este post?
Claro descargue el mapa denuevo y sale así, el detonador si sé que tiene que estar desactivado al principio ya que lo activa otro, tambien le quité la regeneracion a los campesinos pero simplemente no se que hace que se active el Damage over time porque aveces logra quemarlos hasta matarlos y aveces no de manera aleatoria, osea al lanzar aliento de fuego el DoT le logra caer a uno y lo empieza a quemar pero no quema a todos y los toma de manera aleatoria, ademas no siempre quema en algunas pruebas lance y el DoT no hace ningún daño. No sé si a ti te sale que los logras quemar a los objetivos que les cae porque si les sale la animación de que se están quemando pero no pasa mas que eso durante 10 segundos. |
|  | | 

Barra de Salud : 
Mensajes : 3145
Reputación : 527 Monedas de oro : 9778 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Sáb Mar 25, 2017 5:47 pm | |
| Bien, el problema era que el dummy no lanzaba la habillidad INMEDIATAMENTE con 0.00 milisegundos de delay
La solución fue agregar otra unidad dummy para Castear las habilidades, ya modifiqué y testié varias veces para asegurarme.
Resubido y actualizado |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Sáb Mar 25, 2017 6:45 pm | |
| Gracias por tu ayuda ahora si funciona. |
|  | | Peón
Barra de Salud : 
Mensajes : 36
Reputación : 0 Monedas de oro : 90 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: Crea tu propio spell [Proyectil] Mar Mar 28, 2017 1:43 pm | |
| - @Marcos_M escribió:
- Fijate que en el map hay ejemplo con Aliento de fuego.
Y recuerda configurar bien todas las variables para que sea daño de 10 segundos
¿Una pregunta el skill del dummy solo puede ser Furia infame (Brujo)?, lo que sucede es que intenté ponerle el skill golpe de sombras por que me ofrece una ralentización de movimiento a los afectados, cosa que el otro skill no hace, pero mi pc se lageo al momento de lanzar el conjuro casi se cuelga y tuve que cerrarlo con alt + f4. ¿Existe solución?
Última edición por xxoshiroxx el Jue Mar 30, 2017 1:12 pm, editado 1 vez |
|  | |
 | (#) Tema: Re: Crea tu propio spell [Proyectil]  | |
| |
|  | | | Crea tu propio spell [Proyectil] | |
|
Temas similares |  |
|
| Permisos de este foro: | No puedes responder a temas en este foro.
| |
| |
| Últimos temas | » Necesito Ayuda! Ayer a las 10:02 pm por Marcos_M» [TUTORIAL] problemas al desproteger un mapa? [ENTRA AQUI!!!] • Ayer a las 4:52 am por Syndragosa» [Tabla excel]Calculo de daño Ayer a las 3:52 am por epsilon» Modelos de loboproto Jue Feb 21, 2019 6:38 pm por StrangeShark72» Impossible Bosses V3E [Desprotegido en 90%] - Manipulable antes de W3 Reforged Lun Feb 18, 2019 6:09 pm por Maty» Gul´dan - WoD _ Por Jhotam y Dockijoe Sáb Feb 16, 2019 2:41 pm por Wolf88» Mapa-Tutorial Sistema de Inventario Sáb Feb 16, 2019 2:01 pm por Sylvos» [Guia] Terrenos - Cosas que debes saber • Vie Feb 15, 2019 8:06 pm por maxxxus» esta blizzard llendose a la... Vie Feb 15, 2019 7:56 pm por maxxxus» [CONCURSO] Creación de Héroes II / Forjando Leyendas Vie Feb 15, 2019 5:03 pm por GhxBronie» Mega Pack de Modelos Escenográficos de Naruto  Jue Feb 14, 2019 12:39 pm por Loboproto» Warcraft reforged Jue Feb 14, 2019 12:23 am por JhOtAm» Colección de mapas refriega  Jue Feb 14, 2019 12:09 am por JhOtAm» [Teaser-Reclutamiento] Chivalry & Steel Jue Feb 14, 2019 12:03 am por JhOtAm» Grolak - MAestro de Batalla Miér Feb 13, 2019 11:58 pm por JhOtAm |
Los posteadores más activos de la semana | |
|