Red de conocimiento informático - Consumibles informáticos - Editor de Warcraft.

¿Cómo es el último movimiento del Blackbird en Dota?

Editor de Warcraft.

¿Cómo es el último movimiento del Blackbird en Dota?

La función M5D no toma ningún valor y devuelve un valor booleano

Devuelve GetSpellAbilityId()=='A0OK' o GetSpellAbilityId()== 'a 1VW'

Finaliza la función

La función M2D no toma ningún contenido y no devuelve nada

Unidad local TT7=GetEnumUnit()

Unidad local M_D=GetTriggerUnit()

Entero local N4D=GetHeroInt(M_D, true)-GetHeroInt(TT7, true)

Matriz de enteros local N7D

Entero local y 17 = GetUnitAbilityLevel(M_D, 'A0OK') p>

Entero local N8D=7+1*Y17

Si Y17==0, entonces

establezca y 17 = GetUnitAbilityLevel(M_D,'A1VW')

Establecer N8D = 7+1 * y 17+1

endif

Establecer N7D[1]=10

Establecer N7D[2 ]=30

Establezca N7D[3]=50

if(N4D>0) y luego

llame a UnitDamageTarget(M_D, TT7, N4D*N8D, verdadero , false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS)

Llamar a VX7(I2S(R2I(N4D*N8D)), 3, TT7, 0.023, 216, 30, 30, 216 )

if(N4D<N7D[Y17]), entonces

llame al efecto destructor(addspecialeffectarget("Ability\\Spell\\Human\\Feedback\\SpellBreakerAttack.mdl ", TT7, "overhead"))

Llamar a SetUnitState(TT7, UNIT_STATE_MANA, GetUnitState(TT7, UNIT_STATE_MANA)*.25)

endif

endif

Establecer TT7 = nulo

set M_D=null

Finalizar función

La función N9D no acepta ningún contenido y devuelve un valor booleano

If (IsUnitType( GetFilterUnit(), UNIT_TYPE_HERO) == verdadero, entonces

si (IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit()))) entonces

Devuelve verdadero

endif

endif

Devuelve falso

Finalizar función

La función NDD no toma ningún valor, no devuelve ningún valor

Unidad local O49=GetTriggerUnit()

Entero local RL9=GetUnitAbilityLevel(O49, 'A0OK')

X real local = GetLocationX(GetSpellTargetLoc())

local real y = GetLocationY(GetSpellTargetLoc())

Grupo local RS9=TN7()

Entero local K09=0

Unidad local NED=(MG7(GetHandleId(O49), "748"))

>

Si RL9==0, entonces

Establezca RL9=GetUnitAbilityLevel(O49, ' A1VW ')

endif

efecto destructor de llamadas (AddSpecialEffect( "Habilidad\\Hechizo\\Humanidad\\MarkOfChaos\\markofchaostarget.MDL",x,y))

Timbre

Salir cuando K09>=360

Llamar al efecto destructor(AddSpecialEffect("Ability\\Spell\\Humanity\\MarkOfChaos\\markofchaostarget.MDL", x+(20RL9 * 50)* Cos(K09 * bj _ DEGTORAD), y+(20RL9 * 50 )* Sin(K09 * bj _ DEGTORAD)))

Establecer K09=K09+45

Finalizar bucle

Llamar a GroupEnumUnitsInRange(RS9, x, y, 30RL9*100, condición (función N9D))

Si Ned! =null e IY7(x, y, GetUnitX(NED), obtiene unity(NED))<(30RL9*100) y luego

Llame a setunitinvurable(NED, false)

Llamar a GrupoAddUnit(RS9, NED)

endif

Llamar a Grupo(RS9, función M2D)

Si NED! =null y UF7(NED)==false, luego

Llamar a setunitinvurable(NED, true)

endif

Llamar a TM7(RS9)

Establecer O49 = vacío

Establecer RS9 = vacío

Finalizar función

La función GP8 no toma ningún valor y no devuelve ningún valor

Disparador local t=CreateTrigger()

Llamar a TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)

Llamar a TriggerAddCondition(t, condición (función M5D))

Llamar a TriggerAddAction(t, función NDD)

Establecer t=null

Finalizar función

Espero que puedas entender que A0OK es el último movimiento y A1VW es la habilidad después de la cuenta A ID, el resto se aprende lentamente según las habilidades. La mayoría de las frases son clichés y el resto son efectos especiales. Lo que es útil son solo unas pocas palabras: seleccione una unidad dentro del rango de 30RL9*100, lance hechizos sobre la unidad seleccionada y conviértala, y emita un juicio sobre la unidad.

UnitDamageTarget(M_D, TT7, N4D*N8D, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS)

Si quieres aprender las habilidades en dota, abre el archivo J del mapa de dota y echa un vistazo. El código no es fácil de escribir, pero sigue siendo muy sencillo de leer.

¡Espero adoptarlo!