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

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 [Jass] Dark Terror Spell Pack

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
MuSe

avatar


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

Mensajes Mensajes : 205
Reputación Reputación : 41
Monedas de oro : 2563
Monedas de Platino : 5

Inventario :



Mensaje(#) Tema: [Jass] Dark Terror Spell Pack Jue Jul 25, 2013 11:45 pm

Ahora les traigo las spells del Faceless del Dota .3.

Requiere Timers de muZk

Chronosphere:

[jass]scope Chronosphere initializer OnInit
  globals
     private constant integer CP_SPELLID = 'A004'
     private constant integer CP_DUMMYID = 'h000'
     private constant real CP_AOE = 400
     private player Owner
     private unit U
  endglobals
     
        private function CP_SpellCondi takes nothing returns boolean
                return GetSpellAbilityId() == CP_SPELLID
        endfunction
       
        private function Filt takes nothing returns boolean
                set U = GetFilterUnit()
                return IsUnitEnemy(U,Owner) and not (GetUnitTypeId(U) == CP_DUMMYID)
        endfunction
       
        private function OnLoop takes nothing returns nothing
                local timer t = GetExpiredTimer()
                local integer id = GetHandleId(t)
                local group g = GetHandleGroup(id,"Group_Affected")
                local unit dummy = GetHandleUnit(id,"Dummy")
                local group g2 = NewGroup()
                local unit u
               
                set Owner = GetOwningPlayer(dummy)
                call GroupEnumUnitsInRange(g2,GetUnitX(dummy),GetUnitY(dummy),CP_AOE,Filter(function Filt))

                loop
                   set u = FirstOfGroup(g)
                   exitwhen u == null
                   call GroupRemoveUnit(g,u)
                   if not IsUnitInGroup(u,g2) or GetWidgetLife(dummy) < 0.405 then
                   call PauseUnit(u,false)
                   call SetUnitTimeScale( u, 1.00 )
                   else
                   call PauseUnit(u,true)
                   call SetUnitTimeScale( u, 0.00 )
                   endif
                endloop
               
                call ReleaseGroup(g)
               
                call SetHandleHandle(id,"Group_Affected",g2)
                if GetWidgetLife(dummy) < 0.405 then
                    call ReleaseTimerEx()
                    call ReleaseGroup(g2)
                    call FlushHandleLocals(id)
                endif
             
               
                set u = null
                set dummy = null
                set t = null
                set g = null
                set g2 = null
             
        endfunction
 
        private function CP_Apply takes nothing returns nothing
                local timer t = NewTimer()
                local integer id = GetHandleId(t)
                local unit dummy = CreateUnit(GetTriggerPlayer(),CP_DUMMYID,GetSpellTargetX(),GetSpellTargetY(),0)
                local group g = NewGroup()
                set Owner = GetTriggerPlayer()
                call GroupEnumUnitsInRange(g,GetUnitX(dummy),GetUnitY(dummy),CP_AOE,Filter(function Filt))
                call TimerStart(t,0.01,true,function OnLoop)
                call UnitApplyTimedLife(dummy,'btlf',2+(1*GetUnitAbilityLevel(GetTriggerUnit(),CP_SPELLID)))
                call SetHandleHandle(id,"Dummy",dummy)
                call SetHandleHandle(id,"Group_Affected",g)
               
                set dummy = null
                set t = null
                set g = null
        endfunction
       
        private function CP_Cast takes nothing returns boolean
       
                if CP_SpellCondi() then
                   call CP_Apply()
                endif
               
                return false
        endfunction
       
        private function OnInit takes nothing returns nothing

               local trigger t  = CreateTrigger()
               call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
               call TriggerAddCondition( t, Condition (function CP_Cast) )
               set t = null
 
       endfunction
endscope[/jass]

Back Track
[jass]scope BackTrack initializer OnInit
  globals
     private constant string BACKTRACK_EFFECT = "Abilities\\Weapons\\WingedSerpentMissile\\WingedSerpentMissile.mdl"
     private constant integer BACKTRACK_SPELLID = 'A000'
  endglobals
 
private function Spell_Cond takes nothing returns boolean
  return GetUnitAbilityLevel(GetTriggerUnit(),BACKTRACK_SPELLID) > 0
endfunction

private function Spell_Chance takes integer lvl returns integer
  return 5 + 5 * lvl
endfunction

private function Conditions takes nothing returns boolean
       local unit u
       local integer l
       if Spell_Cond() then
            set u = GetTriggerUnit()
            set l = GetUnitAbilityLevel(u,BACKTRACK_SPELLID)
           
            if GetRandomInt(1,100) <= Spell_Chance(l) then
           
               call DestroyEffect(AddSpecialEffectTarget(BACKTRACK_EFFECT,u,"overhead"))
               call Damage_BlockAll()
               
            endif
           
            set u = null
       endif
 return false
endfunction

private function OnInit takes nothing returns nothing
      local trigger t  = CreateTrigger()
      call Damage_RegisterEvent(t)
      call TriggerAddCondition(t, Condition(function Conditions))
      set t = null
endfunction

endscope[/jass]

Time Look
[jass]scope TimeLook initializer OnInit
  globals
    private constant string  TIMELOOK_EFFECT = "Abilities\\Spells\\Undead\\AbsorbMana\\AbsorbManaBirthMissile.mdl"
    private constant integer TIMELOOK_BUFFID = 'B000'
  endglobals
 
  private function TimeLookBuff takes unit u returns boolean
         return GetUnitAbilityLevel(u, TIMELOOK_BUFFID) > 0
  endfunction
 
  private function TimeLookEffect takes nothing returns nothing
       local unit u = GetTimerUnit(GetExpiredTimer())
       if not TimeLookBuff(u) then
           call SetUnitTimeScale(u,1.00)
           call ReleaseTimerEx()
       else
           call SetUnitTimeScale(u,0)
           call DestroyEffect(AddSpecialEffectTarget(TIMELOOK_EFFECT,u,"chest"))
       endif
       set u=null
  endfunction

 
  private function TimeLookCondi takes nothing returns boolean
          local unit u = GetEventDamageSource()
          local unit t = GetTriggerUnit()
          if TimeLookBuff(t) and Damage_IsAttack() then
           
             call SetUnitTimeScale( t, 0.00 )
             call TimerStart(NewTimerUnit(t),0.06,true,function TimeLookEffect)
           
          endif
   
          set u = null
          set t = null
         
          return false
  endfunction
 
  private function OnInit takes nothing returns nothing
 
      local trigger t  = CreateTrigger()
      call Damage_RegisterEvent(t)
      call TriggerAddCondition(t,Condition (function TimeLookCondi))
      set t = null
     
  endfunction
 
endscope[/jass]

Time Walk

[jass]scope TimeWalk initializer OnInit
           globals
                private constant integer TIMEWALK_SPELLID = 'A002'
                private constant integer TIMEWALK_DUMMYID = 'u000'
                private constant integer TIMEWALK_SPELLDID = 'A003'
                private constant string TIMEWALK_ORDER = "thunderclap"
           endglobals
       
       private function TimeWalk_SpellCond takes nothing returns boolean
               return GetSpellAbilityId() == TIMEWALK_SPELLID
       endfunction
       
       private function Angle takes real x1,real y1,real x2, real y2 returns real
               return Atan2(y2 - y1, x2 - x1)
       endfunction
       
       private function Distance takes real xa, real ya, real xb, real yb returns real
               local real dx = xb - xa
               local real dy = yb - ya
               return SquareRoot(dx * dx + dy * dy)
       endfunction
       
       private function OnLoop takes nothing returns nothing
               local timer t = GetExpiredTimer()
               local integer id = GetHandleId(t)
               local unit dummy
               local unit u = GetHandleUnit (id,"Caster")
               local real d = GetHandleReal (id,"MaxDistance")
               local real a = GetHandleReal (id,"Angle")
               local real xc = GetUnitX(u)
               local real yc = GetUnitY(u)
       
               set xc = xc + 60. * Cos(a)
               set yc = yc + 60. * Sin(a)
               
               call SetUnitPosition(u,xc,yc)
               call SetHandleReal (id,"MaxDistance",d-60)
       
               if d <= 0 then
               
                  call SetUnitPathing( u, true )
                  call SetUnitVertexColor( u, 255, 255, 255, 255 )
                 
                  set dummy = CreateUnit( GetOwningPlayer(u),TIMEWALK_DUMMYID, xc,yc, 0 )
         
                  call UnitAddAbility(dummy,TIMEWALK_SPELLDID)
                  call SetUnitAbilityLevel(dummy,TIMEWALK_SPELLDID,GetUnitAbilityLevel(u,TIMEWALK_SPELLID))
                  call IssueImmediateOrder(dummy,TIMEWALK_ORDER)
                  call UnitApplyTimedLife(dummy,'btlf',1)
                  call SetUnitTimeScale( u, 1)
                  call SetUnitAnimation( u, "stand" )
                  call PauseUnit( u, false )
                  call SetUnitInvulnerable( u, false )
                  call IssueImmediateOrder( u, "stop" )
                  call PauseTimer(t)
                  call DestroyTimer(t)
                 
                  set dummy = null
                 
                  call FlushHandleLocals(id)
                 
               endif
               
               set t = null
               set u = null
       
       endfunction
       
       private function TimeWalk_Apply takes nothing returns nothing
               local unit u = GetTriggerUnit()
               local real xt = GetSpellTargetX()
               local real yt = GetSpellTargetY()
               local real xc = GetUnitX(u)
               local real yc = GetUnitY(u)
               local real a = Angle(xc,yc,xt,yt)
               local real d = Distance(xc,yc,xt,yt)
               local timer t = CreateTimer()
               local integer id = GetHandleId(t)
                 
               call SetUnitPathing( u, false )
               call PauseUnit( u, true)
               call SetUnitInvulnerable( u, true )
               call SetUnitTimeScale(u, 0.75)
               call SetUnitAnimation( u, "spell" )
               call SetUnitVertexColor(u, 0, 0, 0, 255)
                 
               call SetHandleHandle (id,"Caster",u)
               call SetHandleReal (id,"MaxDistance",d)
               call SetHandleReal (id,"Angle",a)
               call TimerStart(t,0.03125,true,function OnLoop)
               
               set u = null
               set t = null
               
       endfunction
       
       private function TimeWalk_Cast takes nothing returns boolean
               
               if TimeWalk_SpellCond() then
               
                      call TimeWalk_Apply()
                 
               endif
               
               return false
   
       endfunction
       
       private function OnInit takes nothing returns nothing

               local trigger t  = CreateTrigger()
               call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
               call TriggerAddCondition( t, Condition (function TimeWalk_Cast) )
               set t = null
 
       endfunction

endscope[/jass]

Comentar para descargar.

Volver arriba Ir abajo
KoleshyEngine

avatar


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

Mensajes Mensajes : 547
Reputación Reputación : 98
Monedas de oro : -248
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Vie Jul 26, 2013 12:15 am


nada mal, esta bueno para los que desean aprender jass, este es un pack simple [similar a codigos visual studio Razz]

pero bueno tengo unas dudas que no tengo idea de sus funciones [Time Walk - Spell]

Código:
               set xc = xc + 60. * Cos(a)
               set yc = yc + 60. * Sin(a)

esas ambas formulas que se supone que hacen haber si me explicas porfavor
ah tambien esta parte que esta antes de la mencionada arriba :

Código:
      private function Angle takes real x1,real y1,real x2, real y2 returns real
               return Atan2(y2 - y1, x2 - x1)
       endfunction
       
       private function Distance takes real xa, real ya, real xb, real yb returns real
               local real dx = xb - xa
               local real dy = yb - ya
               return SquareRoot(dx * dx + dy * dy)

no soy bueno en mates, pero estos son formulas diferentes que en visual studio o pawno pero similares en algunos aspectos Razz

lo de la parte "local real" y en "set" no es necesario que me expliques solo lo q le sigue despues del = el por que la resta, o que hara despues de haberlo restado para que en el return le saque su raiz cuadrado y todo esto se convierte en una mescla de matematicas que me hinchan las bolas xd
Volver arriba Ir abajo
http://koleshyengine.blogspot.com/
MuSe

avatar


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

Mensajes Mensajes : 205
Reputación Reputación : 41
Monedas de oro : 2563
Monedas de Platino : 5

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Vie Jul 26, 2013 12:52 am

Bueno mira.

Código:
set xc = xc + 60. * Cos(a)
          set yc = yc + 60. * Sin(a)

Esa es la fórmula que utiliza las coordenadas de una unidad para moverla a (X,Y) punto, donde xc es el X de una unidad y yc la Y de una unidad + 60 que es la distancia que recorrerá por el Coseno y Seno del angulo al cual se moverá.

Luego de establecer una nueva X y Y. movemos a la unidad.

Código:
call SetUnitX(unidad,xc)
         call SetUnitY(unidad,yc)

Ahora está fórmula regresa el angulo entre dos puntos.

Código:
private function Angle takes real x1,real y1,real x2, real y2 returns real
               return Atan2(y2 - y1, x2 - x1)
         endfunction

Donde x1 es el X de el punto 1, y1 es el Y del punto 1
Y x2 es el X del punto 2, y2 es el Y del punto 2.

Ahora está funcion, te devuelve la distancia entre dos puntos:

Código:

       private function Distance takes real xa, real ya, real xb, real yb returns real
               local real dx = xb - xa
               local real dy = yb - ya
        return SquareRoot(dx * dx + dy * dy)

Bueno lo de las x,y esta demás explicar, en jass se maneja los location como un par ordenado de coordenadas (x.y)
Cuando entres al mundo del jass, los location se trabajan así. Smile

Saludos.
Volver arriba Ir abajo
KoleshyEngine

avatar


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

Mensajes Mensajes : 547
Reputación Reputación : 98
Monedas de oro : -248
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Dom Jul 28, 2013 11:48 am

ya entre en ese mundo desde hace mucho solo que en version pawno y visual studio Razz
ademas asi como se ven los codigos jass en el tag [CODE] no ayuda mucho :/
Volver arriba Ir abajo
http://koleshyengine.blogspot.com/
Blade Master
Capitán


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

Mensajes Mensajes : 178
Reputación Reputación : 2
Monedas de oro : 602
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Dic 30, 2013 1:21 am

Comento para descargar
Volver arriba Ir abajo
Blade Master
Capitán


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

Mensajes Mensajes : 178
Reputación Reputación : 2
Monedas de oro : 602
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Dic 30, 2013 1:26 am

Naaa !!! esta muy bueno igual igual ensima con los iconos y todo jojo re buena +rep
Volver arriba Ir abajo
Blade Master
Capitán


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

Mensajes Mensajes : 178
Reputación Reputación : 2
Monedas de oro : 602
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Dic 30, 2013 4:28 am

Me parece error al copiar y guardar mi mapa
El detonador Faux ha sido descativado a causa de algún error: http://TESH.alwaysfold=0
El detonador Timers ha sido descativado a causa de algún error: http://TESH.alwaysfold=0
El detonador NewGroup ha sido descativado a causa de algún error: //! zinc
El detonador BackTrack ha sido descativado a causa de algún error: http://TESH.alwaysfold=0
El detonador TimeLook ha sido descativado a causa de algún error: http://TESH.alwaysfold=0
El detonador TimeWalk ha sido descativado a causa de algún error: http://TESH.alwaysfold=0
El detonador Cronosphere ha sido descativado a causa de algún error: http://TESH.alwaysfold=0




Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 2339
Reputación Reputación : 356
Monedas de oro : 7174
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Dic 30, 2013 11:18 am

Necesitas el NewGen

http://www.worldofeditors.net/t41-jass-newgen-pack-20-alpha


No entiendes lo que digo cuando comento??
http://www.worldofeditors.net/t184-glosario-de-terminos-en-we

Último spell de JASS:Spellpack Cazador de Sombras
Último spell de GUI:Spellpack Mago Sanguinario
Último Héroe:Skorp, el Escorpión Gigante

Invoker Wars
Volver arriba Ir abajo
chamanexo
Aprendiz


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

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

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Miér Feb 12, 2014 10:40 pm

q es eso? no entiendo xD
Volver arriba Ir abajo
joelencio1
Soldado
avatar


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

Mensajes Mensajes : 111
Reputación Reputación : 5
Monedas de oro : 1158
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Sáb Abr 12, 2014 8:55 pm

Darck terror quirero velor Smile


Hola a todos soy joelencio1
Volver arriba Ir abajo
2xmasterx2
Capitán
avatar


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

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

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Jun 23, 2014 6:24 pm

no hay gui?


Volver arriba Ir abajo
KoleshyEngine

avatar


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

Mensajes Mensajes : 547
Reputación Reputación : 98
Monedas de oro : -248
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Jun 23, 2014 8:07 pm

@2xmasterx2 escribió:
no hay gui?

sho te lo hago pero eso tiene un costo  Basketball 


Like a Star @ heaven .::Software de utilidad::. .::Click Aquí::.

Quieres hacer spell chulas e entre otras cosas de manera facil?
entra aqui pelotudo y no pierdas esta oportunidad:
http://www.worldofeditors.net/f72-funciones


Volver arriba Ir abajo
http://koleshyengine.blogspot.com/
villaxd123
Soldado
avatar


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

Mensajes Mensajes : 85
Reputación Reputación : 1
Monedas de oro : 226
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Lun Sep 22, 2014 2:39 pm

comento para descargar y probarlo Very Happy
Volver arriba Ir abajo
Sebasklownz
Iniciado


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

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

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Mar Oct 28, 2014 11:52 pm

soy muy nuevo en esto de los spells ¿como hago para poder poner estas habilidades en un mapa mio?
Volver arriba Ir abajo
Trigger.edge

avatar


Barra de Salud : Este usuario es invulnerable ¿Será que es fiel a las normas?

Mensajes Mensajes : 944
Reputación Reputación : 96
Monedas de oro : 1116
Monedas de Platino : 0

Inventario :
Cetro del Rey Armadura Mágica Daga Mística


Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Miér Oct 29, 2014 12:25 pm



Volver arriba Ir abajo
TRISTAN
Caballero
avatar


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

Mensajes Mensajes : 297
Reputación Reputación : 55
Monedas de oro : 1783
Monedas de Platino : 3

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Jue Dic 04, 2014 1:22 pm

permiso.. comento y descargo para ver que tal qedaron..



Valar Morghulis|Mis aportes|
Volver arriba Ir abajo
gabyjav
Aprendiz
avatar


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

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

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Vie Feb 13, 2015 12:47 pm

Comento para descargar
Volver arriba Ir abajo
sargeras3000
Aprendiz


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

Mensajes Mensajes : 19
Reputación Reputación : 1
Monedas de oro : 19
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Mar Feb 17, 2015 11:58 pm

comenteeeeeee
Volver arriba Ir abajo
figty456
Aprendiz


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

Mensajes Mensajes : 19
Reputación Reputación : 0
Monedas de oro : 43
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack Jue Abr 20, 2017 10:22 am

vamos a ver como luce
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: [Jass] Dark Terror Spell Pack

Volver arriba Ir abajo
 

[Jass] Dark Terror Spell Pack

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

 Temas similares

-
» [Jass] Dark Terror Spell Pack
» [PACK] Héroes de DotA
» Koleshy Spell Pack -Repost!
» [KoleshyEngine] - Spell Pack v1 +Habilidades del LOL
» Modelos Ocultos del Warcraft

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Aportes :: Spells JASS :: Spells Aprobados-