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

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 Ayuda - Habilidad maná steal

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Piru
Soldado


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

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

Inventario :



Mensaje(#) Tema: Ayuda - Habilidad maná steal Miér Oct 16, 2013 6:45 pm

Buenas tardes (en mi caso).
Quería saber si me pueden explicar cómo hacer un item que robe maná con cada golpe.
Si se puede hacer con una habilidad es mejor pero como no creo que sea posible... Con detonadores está bien.
Les explico mejor:
El item tiene la habilidad pasiva de roar maná que funciona así: Con cada golpe que da el héroe a otro héroe recibe 15 puntos de maná mientras que al héroe atacado se le restan 15 puntos de maná.
Saludos.
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 2713
Reputación Reputación : 414
Monedas de oro : 8313
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Ayuda - Habilidad maná steal Miér Oct 16, 2013 8:04 pm

Tenemos 3 formas, la forma que me gusta, la que no tanto y la que no me gusta.

[gui]Item GUI
Acontecimientos
Unidad - A unit Es atacado
Condiciones
((Attacking unit) has an item of type Esfera de manasteal) Igual a (==) True
Acciones
Unidad - Set mana of (Triggering unit) to ((Maná of (Triggering unit)) - 15.00)
Unidad - Set mana of (Attacking unit) to ((Maná of (Attacking unit)) - 15.00)
[/gui]


[gui]Item GUI mejorado
Acontecimientos
Unidad - A unit Es atacado
Condiciones
((Attacking unit) has an item of type Esfera de manasteal) Igual a (==) True
Acciones
Custom script: local unit udg_Caster
Custom script: local unit udg_Target
Custom script: local real udg_Real
Set Caster = (Attacking unit)
Set Target = (Triggering unit)
Set Real = 15.00
Unidad - Set the custom value of Caster to ((Custom value of Caster) + 1)
Wait 0.22 seconds
Unidad - Set the custom value of Caster to 0
Custom script: if GetUnitCurrentOrder(udg_Caster) == 851971 and GetUnitUserData(udg_Caster) == 1 then
Unidad - Set mana of Target to ((Maná of Target) - Real)
Unidad - Set mana of Caster to ((Maná of Caster) + Real)
Custom script: endif
Set Caster = Ninguna unidad
Set Target = Ninguna unidad
[/gui]


[jass]scope LaFormaQueMeGusta initializer Init

globals
private constant integer RawCodeItem = 'I000'
private constant integer RawCodeBuff = 'B000'
endglobals

private function Condicion takes nothing returns boolean
return GetInventoryIndexOfItemTypeBJ(GetAttacker(), RawCodeItem) > 0
endfunction

private function Efecto takes nothing returns nothing
local real damage = GetEventDamage()
local unit u = GetTriggerUnit()
local unit caster = GetEventDamageSource()
local real steal = damage * 0.15
local real ManaU = GetUnitState(u, UNIT_STATE_MANA)
local real ManaCaster = GetUnitState(caster, UNIT_STATE_MANA)

if GetUnitAbilityLevel(u, RawCodeBuff) > 0 and GetInventoryIndexOfItemTypeBJ(caster, RawCodeItem) > 0 then
call DisableTrigger(GetTriggeringTrigger())
call SetUnitState(u, UNIT_STATE_MANA, ManaU - steal)
call SetUnitState(caster, UNIT_STATE_MANA, ManaU + steal)
call UnitRemoveAbility(u, RawCodeBuff)
endif

set u = null
set caster = null
endfunction

private function Actions takes nothing returns nothing
local trigger t = CreateTrigger()
local unit u = GetTriggerUnit()

call TriggerRegisterUnitEvent(t,u, EVENT_UNIT_DAMAGED)
call TriggerAddAction(t, function Efecto)
call TriggerSleepAction(3.00)

call DestroyTrigger(t)

set u = null
set t = null
endfunction

private function Cond takes nothing returns boolean
if Condicion() then
call Actions()
endif

return false
endfunction

private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition(t, function Cond)
set t = null
endfunction
endscope[/jass]

Necesitas NewGen para aplicar la forma que me gusta.
Volver arriba Ir abajo
Piru
Soldado


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

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

Inventario :



Mensaje(#) Tema: Re: Ayuda - Habilidad maná steal Jue Oct 17, 2013 1:10 am

Decidí usar la forma que  no te gusta tanto, la del GUI mejorado y tuve errores con el cuarto Custom script, debe ser porqie lo copié mal porque lo copié a ojo desde el celular. Más tarde entro con la pc y lo copio como se debe.
Nuevamente muchas gracias Marcos_M.
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 : 101
Monedas de oro : -245
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Ayuda - Habilidad maná steal Jue Oct 17, 2013 11:31 am

le complicas la vida al chico, no se necesita mas que 3 acciones en total e_e
y los efectos ya serian extras Very Happy
pero eso ya ahi queda >_<

aparte se puede lograr mas avanzado para chekear si al que estas atacando tiene mana, sino que cojones va a robar? xD, tendria de 0 mana y seguiria robando...

Algo asi:

[gui]ManaSteal Item
   Acontecimientos
       Unidad - A unit Es atacado
   Condiciones
       ((Attacking unit) has an item of type TU ITEM) Igual a True
       ((Attacking unit) has buff EL BUFF DEL CASTER ) Igual a True
       (Maná of (Triggering unit)) Mayor que o igual a 10.00
   Acciones
       Unidad - Remove EL BUFF DEL CASTER buff from (Attacking unit)
       Unidad - Set mana of (Triggering unit) to ((Maná of (Triggering unit)) - 15.00)
       Unidad - Set mana of (Attacking unit) to ((Maná of (Attacking unit)) + 15.00)
       -------- EFECTO EXTRA --------
       Efecto especial - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
       Efecto especial - Destroy (Last created special effect)
[/gui]


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/
Contenido patrocinado




Mensaje(#) Tema: Re: Ayuda - Habilidad maná steal

Volver arriba Ir abajo
 

Ayuda - Habilidad maná steal

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

 Temas similares

-
» Disparo adicional y Carga Pot. (Habilidad Artillero)
» Ayuda joya artesano
» Ayuda para Matar a Gigginox y Capturar a Uragan (3 Estrellas)
» AYUDA con Jhen Mhoran *** (URGENTE RC30) ***
» Ayuda y dudas Barroth

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: GUI (Detonadores)-