[Duvida]Acumulo de Attack Speed
+2
ArthusBehemoth
Haruh
6 participantes
TeaM KingS :: Games: :: Warcraft: World Editor :: ::
Página 1 de 1
[Duvida]Acumulo de Attack Speed
Olá galera, vou direto ao assunto.
Queria saber como faz uma skill que, a cada ataque desferido, o atacante receberia um bônus de +20% em AS
Como a passiva do Troll Warlord (DotA)
----------------------------------------------------------------------------------------------------------
Um obrigado á : TAKA e xbacurix ,
Queria saber como faz uma skill que, a cada ataque desferido, o atacante receberia um bônus de +20% em AS
Como a passiva do Troll Warlord (DotA)
----------------------------------------------------------------------------------------------------------
Um obrigado á : TAKA e xbacurix ,
Haruh- Número de Posts : 66
Data de inscrição : 07/06/2011
Reputação : 2 Pontos : 24643
Re: [Duvida]Acumulo de Attack Speed
esse attack speed acumulado ficara-ra permanentemente ou uma hr ele voltara ao normal?
ArthusBehemoth- Número de Posts : 1061
Data de inscrição : 30/03/2011
Reputação : 62 Pontos : 28899
Re: [Duvida]Acumulo de Attack Speed
ArthusBehemoth escreveu:esse attack speed acumulado ficara-ra permanentemente ou uma hr ele voltara ao normal?
se fosse pra ficar permanentemente eu já tinha feito a spell
VicToR- Número de Posts : 2002
Data de inscrição : 19/12/2010
Reputação : 243 Pontos : 27820
Re: [Duvida]Acumulo de Attack Speed
Quando ele para de atacar volta ao normal =]
Haruh- Número de Posts : 66
Data de inscrição : 07/06/2011
Reputação : 2 Pontos : 24643
Re: [Duvida]Acumulo de Attack Speed
VicToR ;D escreveu:ArthusBehemoth escreveu:esse attack speed acumulado ficara-ra permanentemente ou uma hr ele voltara ao normal?
se fosse pra ficar permanentemente eu já tinha feito a spell
Boa trollzão ..., se tem que voltar ao normal ai eu nem fasso ideia , mais eu tenho certeza que o victor vai ter o maior prazer de fazer essa spell pra voce
--------------------------------------------------------EDIT--------------------------------------------------------------
Victor cavalão ja ta lvl 12... que que esse cara faz o dia intero dele???
ArthusBehemoth- Número de Posts : 1061
Data de inscrição : 30/03/2011
Reputação : 62 Pontos : 28899
Re: [Duvida]Acumulo de Attack Speed
Não faço idéia nem de como aumentar ou resetar o attack speed usando triggers.
A não ser dando a habilidade de attack speed bonus pro heroi... E depois removendo a mesma.
modonoob: on
A não ser dando a habilidade de attack speed bonus pro heroi... E depois removendo a mesma.
modonoob: on
Re: [Duvida]Acumulo de Attack Speed
Apenas disponivel com um DDS, mais ta ai um problema
Como detectar apenas o dano causado por ataques basicos sem contar os danos das magias... Unicas maneiras q eu conheço de fazer isso é com o sistema Damage do j4l e vc usando ele para causar todos o danos de spells do seu mapa, oq é muito dificil , ou vc usar um buff placer pra detectar que é ataque basico...
Como detectar apenas o dano causado por ataques basicos sem contar os danos das magias... Unicas maneiras q eu conheço de fazer isso é com o sistema Damage do j4l e vc usando ele para causar todos o danos de spells do seu mapa, oq é muito dificil , ou vc usar um buff placer pra detectar que é ataque basico...
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 27314
Re: [Duvida]Acumulo de Attack Speed
Conselho? pense em outra spell... vc vai mudar o mapa intero,e todas as outras spells por causa de uma?????
ArthusBehemoth- Número de Posts : 1061
Data de inscrição : 30/03/2011
Reputação : 62 Pontos : 28899
Re: [Duvida]Acumulo de Attack Speed
Ainda tem o buff placer....
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 27314
Re: [Duvida]Acumulo de Attack Speed
Eu tenho um mapa que tem o troll warlord completo aqui, todas as magias.
Mas a passiva ta em Jass
Tipo meu mapa a magia teria 20 leveis, e não sei editar jass
Mas a passiva ta em Jass
Tipo meu mapa a magia teria 20 leveis, e não sei editar jass
Última edição por Haru.97 em 2011-12-03, 15:35, editado 1 vez(es)
Haruh- Número de Posts : 66
Data de inscrição : 07/06/2011
Reputação : 2 Pontos : 24643
Re: [Duvida]Acumulo de Attack Speed
Da um ctrl+c e ctrl+v no codigo e posta aqui pra ver como funciona...
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 27314
Re: [Duvida]Acumulo de Attack Speed
function Trig_Fervor_Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(),'A06C') > 0 and not IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)
endfunction
function Trig_Fervor_Tick takes nothing returns nothing
local unit u
local unit targ
local trigger t = GetTriggeringTrigger()
local hashtable gc = udg_HashCache
local integer s = GetHandleId(t)
local integer lvl = GetUnitAbilityLevel(u,'A06C')
local integer c = 0
if GetTriggerEventId() == EVENT_UNIT_DAMAGED then
set u = LoadUnitHandle(gc,s,1)
if GetEventDamageSource() == u then
set targ = GetTriggerUnit()
set c = GetUnitAbilityLevel(u,'A08T')
if targ != LoadUnitHandle(gc,GetHandleId(u),StringHash("trollfervor")) then
set c = R2I(c/2)
call SaveUnitHandle(gc,GetHandleId(u),StringHash("trollfervor"),targ)
else
set c = c+1
if c > lvl+1 then
set c = lvl+1
endif
endif
call SetUnitAbilityLevel(u,'A08T',c)
set targ = null
endif
set u = null
endif
call TriggerRemoveAction(t,LoadTriggerActionHandle(gc,s,2))
call FlushChildHashtable(gc,s)
call KillTrigger(t)
set t = null
set gc = null
endfunction
function Trig_Fervor takes nothing returns nothing
local unit u = GetAttacker()
local unit targ = GetTriggerUnit()
local trigger t = CreateTrigger()
local integer s = GetHandleId(t)
local hashtable gc = udg_HashCache
local triggeraction ta
if GetUnitAbilityLevel(u,'A08T') == 0 then
call UnitAddAbility(u,'A08T')
endif
call SaveUnitHandle(gc,s,1,u)
call TriggerRegisterUnitEvent(t,targ,EVENT_UNIT_DAMAGED)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_POINT_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_TARGET_ORDER)
call TriggerRegisterTimerEvent(t,2.5,false)
set ta = TriggerAddAction(t,function Trig_Fervor_Tick)
call SaveTriggerActionHandle(gc,s,2,ta)
set u = null
set targ = null
set t = null
set gc = null
set ta = null
endfunction
function InitTrig_Fervor takes nothing returns nothing
set gg_trg_Fervor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Fervor, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Fervor, Condition( function Trig_Fervor_Conditions ) )
call TriggerAddAction( gg_trg_Fervor, function Trig_Fervor)
endfunction
Ta ai
return GetUnitAbilityLevel(GetAttacker(),'A06C') > 0 and not IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)
endfunction
function Trig_Fervor_Tick takes nothing returns nothing
local unit u
local unit targ
local trigger t = GetTriggeringTrigger()
local hashtable gc = udg_HashCache
local integer s = GetHandleId(t)
local integer lvl = GetUnitAbilityLevel(u,'A06C')
local integer c = 0
if GetTriggerEventId() == EVENT_UNIT_DAMAGED then
set u = LoadUnitHandle(gc,s,1)
if GetEventDamageSource() == u then
set targ = GetTriggerUnit()
set c = GetUnitAbilityLevel(u,'A08T')
if targ != LoadUnitHandle(gc,GetHandleId(u),StringHash("trollfervor")) then
set c = R2I(c/2)
call SaveUnitHandle(gc,GetHandleId(u),StringHash("trollfervor"),targ)
else
set c = c+1
if c > lvl+1 then
set c = lvl+1
endif
endif
call SetUnitAbilityLevel(u,'A08T',c)
set targ = null
endif
set u = null
endif
call TriggerRemoveAction(t,LoadTriggerActionHandle(gc,s,2))
call FlushChildHashtable(gc,s)
call KillTrigger(t)
set t = null
set gc = null
endfunction
function Trig_Fervor takes nothing returns nothing
local unit u = GetAttacker()
local unit targ = GetTriggerUnit()
local trigger t = CreateTrigger()
local integer s = GetHandleId(t)
local hashtable gc = udg_HashCache
local triggeraction ta
if GetUnitAbilityLevel(u,'A08T') == 0 then
call UnitAddAbility(u,'A08T')
endif
call SaveUnitHandle(gc,s,1,u)
call TriggerRegisterUnitEvent(t,targ,EVENT_UNIT_DAMAGED)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_POINT_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_TARGET_ORDER)
call TriggerRegisterTimerEvent(t,2.5,false)
set ta = TriggerAddAction(t,function Trig_Fervor_Tick)
call SaveTriggerActionHandle(gc,s,2,ta)
set u = null
set targ = null
set t = null
set gc = null
set ta = null
endfunction
function InitTrig_Fervor takes nothing returns nothing
set gg_trg_Fervor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Fervor, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Fervor, Condition( function Trig_Fervor_Conditions ) )
call TriggerAddAction( gg_trg_Fervor, function Trig_Fervor)
endfunction
Ta ai
Haruh- Número de Posts : 66
Data de inscrição : 07/06/2011
Reputação : 2 Pontos : 24643
Re: [Duvida]Acumulo de Attack Speed
Cara eu sei fazer , mas , identificar que a unidade parou de atacar , eu me complico , até porque estou sem WE.
.Itap- Número de Posts : 1351
Data de inscrição : 09/11/2009
Reputação : 78 Pontos : 29234
Re: [Duvida]Acumulo de Attack Speed
O cara q fez essa trigger em jass fez de maneirea totalmente ineficiente , porq ele usa unit is attacked como evento, então se vc ficar apertando stop quando o hero tiver querendo atacar alguém , vc pode estancar o maximo de attack speed sem ter nem atacado
Sem contar que ele cria uma trigger toda vez que as actions são disparadas, se o cara apert stop umas 50 vezes , vai ter mais 50 triggers no mapa, se bem que ele destrói elas , mais criar uma trigger toda vez é totalmente desnecessario...
Não sei como é feita essa trigger no dota , não duvido nada que é com unit is attacked como muitas outras spells do dota (algumas totalmente fail)
A unida maneira mais simples q eu conheço de fazer isso sem bugs é com um DDS e buff placer...
Com o dds vc simplesmente vai colocar o evento na trigger
Any Unit takes damage
Condição
A unidade que levou damage tem o buff , esse buff vai ter que ser causado unicamente pelo buff placer (algumas skills de orb do war3 ex: Frost orb)
As ações deixa pra depois que vc conseguir o event ea condição
Aqui tem um link de um sistema de DDS pronto, vc só precissa saber usa ele ñ precissa entende como o sistema funciona, pra entender como funciona é só ler o tópico que explica tudinho
http://www.thehelper.net/forums/showthread.php/137957-GUI-Friendly-Damage-Detection
Sem contar que ele cria uma trigger toda vez que as actions são disparadas, se o cara apert stop umas 50 vezes , vai ter mais 50 triggers no mapa, se bem que ele destrói elas , mais criar uma trigger toda vez é totalmente desnecessario...
Não sei como é feita essa trigger no dota , não duvido nada que é com unit is attacked como muitas outras spells do dota (algumas totalmente fail)
A unida maneira mais simples q eu conheço de fazer isso sem bugs é com um DDS e buff placer...
Com o dds vc simplesmente vai colocar o evento na trigger
Any Unit takes damage
Condição
A unidade que levou damage tem o buff , esse buff vai ter que ser causado unicamente pelo buff placer (algumas skills de orb do war3 ex: Frost orb)
As ações deixa pra depois que vc conseguir o event ea condição
Aqui tem um link de um sistema de DDS pronto, vc só precissa saber usa ele ñ precissa entende como o sistema funciona, pra entender como funciona é só ler o tópico que explica tudinho
http://www.thehelper.net/forums/showthread.php/137957-GUI-Friendly-Damage-Detection
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 27314
Tópicos semelhantes
» Como almentar a Attack Speed em % de um hero por trigger?
» [Duvida] Movement Speed
» [Duvida] Duvida sobre magia
» [Dúvida] Duvida de como faser pegar uma arma.
» [Duvida] [Dúvida]Enviar um Missil
» [Duvida] Movement Speed
» [Duvida] Duvida sobre magia
» [Dúvida] Duvida de como faser pegar uma arma.
» [Duvida] [Dúvida]Enviar um Missil
TeaM KingS :: Games: :: Warcraft: World Editor :: ::
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos