• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

DDS Is Buggy

Status
Not open for further replies.
Level 8
Joined
Jan 8, 2013
Messages
348
yeah i just imported the DDS system (http://www.hiveworkshop.com/forums/...1-1-0-0-a-231846/?prev=search=dds&d=list&r=20)

and used it on the first hero to test it. but for some reasons. the enemy gets HEALED for no reason ... and sometimes my spells DONT do damage. first they do damage and if i use my spells over and over again in a fight, the enemy gets healed or it doesnt even make damage. this sucks

can someone help me with it?
i just post 1 trigger here for an example how im using it. i dont post ALL trigger which takes damages...
  • Chidori Damage Take
    • Ereignisse
      • Spiel - damageEventTrigger becomes Gleich 1.00
    • Bedingungen
      • And - All (Conditions) are true
        • Bedingungen
          • source Gleich Caster_Sasuke_2
          • target Gleich Attacked_Sasuke_2
          • damageType Gleich PHYSICAL
    • Aktionen
      • Auslöser - Turn off (This trigger)
      • -------- -- --------
      • Set Point_Sasuke_3 = (Position of target)
      • -------- -- --------
      • Custom script: call DamageDetection(udg_source,udg_target,udg_Damage_Sasuke_4)(this is MY damage system, in this way i can deal magic damage)
      • -------- -- --------
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using war3mapImported\Lightning Shock.mdx
      • Spezialeffekt - Destroy (Last created special effect)
      • -------- -- --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Electro] for (Owner of Caster_Sasuke_2) at Point_Sasuke_3 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (30.00%, 30.00%, 80.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_Point_Sasuke_3)
      • Einheit - Remove Chidori buff from Caster_Sasuke_2
 
Level 8
Joined
Jan 8, 2013
Messages
348
JASS:
function DamageDetection takes unit q, unit q2, real w returns nothing

set udg_Damage_System = 1

call UnitDamageTarget(q,q2,w,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,null)

set udg_Damage_System = 0

endfunction

very easy made by an old friend... i can check if damage is physycal or magic and i could deal magic damage or let it be physycal
 
First off, you don't turn on your trigger again.
Secondly, I don't see any reason why you use a separate function to deal magic damage. It's perfectly feasible with the GUI one as well.
Thirdly, I need to see the formula you are using for udg_Damage_Sasuke_4. It is possible that it generates negative values.
Fourthly, please explain to me what udg_Damage_System is.
 
Level 8
Joined
Jan 8, 2013
Messages
348
Pharaoh... The trigger dont have to be turn on again because its only 1 damage dealt... Saske activates spell and the next hit deals extra damage. Damage 4 isnt a negative number.. Its agi as damage.. 1,2,3,4 x agi | lv of ability x agi

I dont want to explain it.. Its simple... I deal magic dmg with my system. Udg_damagetake is 1.. Now if a unit takes damage i can check if the variable is 1. if it is, it was magic damage.. If its 0 its physical.. Done
 
The trigger dont have to be turn on again because its only 1 damage dealt...

So you're saying that the second instance of the same spell will work? I highly doubt that (probably why you said it doesn't work sometimes - and in this case, it's the times after the 1st). What you need to do is when the hero activates the ability, add him in a Unit Group, e.g. "SlashGroup". Once the effect ends, remove him from the group (this will ensure that the bonus damage is directly associated with this particular ability). But of course you will turn your trigger back on - otherwise it will always be off after the the first occurrence.

I still disagree with your choice of DamageDetection function. Although I can't have a clear opinion, since you didn't show the full function and I am unaware of how it actually handles the damage types, I cannot guide you - it's very likely that it interferes with the other system that you're using.
 
Level 8
Joined
Jan 8, 2013
Messages
348
pharaoh!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! i told that this is only the damage trigger.... the second instance of the spell WILL WORK it will ALWAYS WORK if the DDS isnt BUGGY

  • Chidori
    • Ereignisse
      • Einheit - A unit Startet den Effekt einer Fähigkeit
    • Bedingungen
      • (Ability being cast) Gleich |cffFF4500[Q]|r Chidori
    • Aktionen
      • Set Caster_Sasuke_2 = (Triggering unit)
      • -------- -- --------
      • Set Point_Sasuke_7 = (Position of Caster_Sasuke_2)
      • Set Level_of_Ability_Sasuke_2 = (Real((Level of |cffFF4500[Q]|r Chidori for Caster_Sasuke_2)))
      • -------- -- --------
      • Set Damage_Sasuke_2 = (30.00 x Level_of_Ability_Sasuke_2)
      • Set Damage_Sasuke_3 = ((Real((Beweglichkeit of Caster_Sasuke_2 (Einschließen bonuses)))) x (0.40 x Level_of_Ability_Sasuke_2))
      • Set Damage_Sasuke_4 = (Damage_Sasuke_2 + Damage_Sasuke_3)
      • -------- -- --------
      • Animation - Play Caster_Sasuke_2's Spell Slam animation
      • Animation - Change Caster_Sasuke_2's vertex coloring to (100.00%, 100.00%, 100.00%) with 30.00% transparency
      • -------- -- --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Electro] for (Owner of Caster_Sasuke_2) at Point_Sasuke_7 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • For each (Integer A) from 1 to 2, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Brown] for (Owner of Caster_Sasuke_2) at Point_Sasuke_7 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (60.00%, 60.00%, 80.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • -------- -- --------
      • Custom script: call RemoveLocation(udg_Point_Sasuke_1)
      • Auslöser - Turn on Chidori Loop <gen>
      • Auslöser - Turn on Chidori Damage Take <gen>
      • -------- -- --------
  • Chidori Loop
    • Ereignisse
      • Zeit - Every 0.03 seconds of game time
    • Bedingungen
    • Aktionen
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Bedingungen
          • And - All (Conditions) are true
            • Bedingungen
              • (Caster_Sasuke_2 is alive) Gleich True
              • (Caster_Sasuke_2 has buff Chidori ) Gleich True
        • 'THEN'-Aktionen
        • 'ELSE'-Aktionen
          • -------- -- --------
          • Animation - Change Caster_Sasuke_2's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • -------- -- --------
          • Auslöser - Turn off (This trigger)
          • Auslöser - Turn off Chidori Loop Effect <gen>
          • Auslöser - Turn off Chidori Damage Take <gen>
          • -------- -- --------
  • Chidori Damage Take
    • Ereignisse
      • Spiel - damageEventTrigger becomes Gleich 1.00
    • Bedingungen
      • And - All (Conditions) are true
        • Bedingungen
          • source Gleich Caster_Sasuke_2
          • damageType Gleich PHYSICAL
    • Aktionen
      • Auslöser - Turn off (This trigger)
      • -------- -- --------
      • Set Point_Sasuke_3 = (Position of target)
      • -------- -- --------
      • Custom script: call DamageDetection(udg_source,udg_target,udg_Damage_Sasuke_4)
      • -------- -- --------
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using war3mapImported\Lightning Shock.mdx
      • Spezialeffekt - Destroy (Last created special effect)
      • -------- -- --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Electro] for (Owner of Caster_Sasuke_2) at Point_Sasuke_3 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (30.00%, 30.00%, 80.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_Point_Sasuke_3)
      • Einheit - Remove Chidori buff from Caster_Sasuke_2
pls pharaohhh i know hwo to trigger a spell xD this will work for the second instance.....
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
Pharaoh... The trigger dont have to be turn on again because its only 1 damage dealt... Saske activates spell and the next hit deals extra damage. Damage 4 isnt a negative number.. Its agi as damage.. 1,2,3,4 x agi | lv of ability x agi

I dont want to explain it.. Its simple... I deal magic dmg with my system. Udg_damagetake is 1.. Now if a unit takes damage i can check if the variable is 1. if it is, it was magic damage.. If its 0 its physical.. Done

You are not supposed to turn off the trigger at all, why you want to do this? By doing so you disable the spell damage correction of the system and therefore all units get healed.

Don't turn off the trigger, if you want to do extra damage with an additional damage-/attacktype, use UnitDamageTargetEx. That function should be used within onDamage handlers to deal extra damage. Further:

JASS:
function DamageDetection takes unit q, unit q2, real w returns nothing
    set udg_Damage_System = 1
    call UnitDamageTarget(q,q2,w,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,null)
    set udg_Damage_System = 0
endfunction

This is not safe, you should reset the flag directly in the onDamage trigger, before the call to DamageDetection, not in it. Because what happens if your unit q2 gets damaged during the onDamage event caused by this magic damage? The third line which resets the flag isn't reached yet, so it will detect this damage as magic too although it can be any kind of damage.
 
Level 8
Joined
Jan 8, 2013
Messages
348
well i turned the trigegr off becasue in GUI it casued an infinite loop. i didnt know this will get fixed with the DDS system HAHA :D i will try that :3

edit: well **** this shit.... it just dont want to work... i think it buggs when at least a target gets more damage sources at once..... my sasuke got 1 chidori, 1 aoe dmg.. and 1 susanoo

chidori: when activatet, deals more damage ont he next attack
second spell: creates black flames around sasuke, deals every sec x damage( here is the damage NOT TRIGGERED, the damage comes from a wc3 spell)
ulti: creates susanoo, deals more damage per hit.

without the DDS everythings works fine... with the dds the target gets healed sometimes or the target even dont get damage ... my triggers are fine... becasue they worked before.. im not an idiot... its lame... b

it doesnt even work if im using normal wc3 damage

  • Einheit - Cause source to damage target, dealing Damage_Sasuke_4 damage of attack type Magie and damage type Magie
and if i use the UnitDamageTargetEx, this happnes:

ejhiqkn3nz.jpg
 
Last edited:
And that friends, is why we hate (v)JASS DDS.

That was pointless. The above system is the one I use and many others. I have never had a problem with it bugging up. It is just the user in this case that doesn't understand it.

@Timo
You show us the error and not the code where you use that.
As said by the maker of the system you can't turn off the DDS. That will cause a bug with damaging. Did you also configure everything like you were supposed to ?
 
Level 8
Joined
Jan 8, 2013
Messages
348
people told me that if i make it like i did (every unit that enters the map gets a new event in the trigegr to get damage) will take memory space and could cause a freeze or a error.

and in my map there was a freeze around 60-100 minutes....
so i wantet to fix this now with this dds. but looks like its buggy as hell. -.-'

That was pointless. The above system is the one I use and many others. I have never had a problem with it bugging up. It is just the user in this case that doesn't understand it.
then pls tell my, why is the DDS buggiin if i use

  • Spiel - damageEventTrigger becomes Gleich 1.00
  • Custom script: call UnitDamageTargetEx(udg_source, udg_target, udg_Damage_Sasuke_6, true, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_UNIVERSAL, null) [this doesnt even work]
and using all variables that are using by the dds
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
well i turned the trigegr off becasue in GUI it casued an infinite loop. i didnt know this will get fixed with the DDS system HAHA :D i will try that :3

edit: well **** this shit.... it just dont want to work... i think it buggs when at least a target gets more damage sources at once..... my sasuke got 1 chidori, 1 aoe dmg.. and 1 susanoo

Again, inside an onDamage callback function you must use UnitDamageTargetEx, not the native UnitDamageTarget. You also must not deactivate the trigger, the system does all that for you.

For your problem that the editor is not finding this function look here for an easy solution.


people told me that if i make it like i did (every unit that enters the map gets a new event in the trigegr to get damage) will take memory space and could cause a freeze or a error.

and in my map there was a freeze around 60-100 minutes....
so i wantet to fix this now with this dds. but looks like its buggy as hell. -.-'

The system is perfectly fine because the trigger gets cleaned and useless events are removed. This system has no memory leaks (do you think it would be approved if it had?) your freeze must have other reasons.

And that friends, is why we hate (v)JASS DDS.

That, "friend", is why one should first think and then post.

1. The system is pure Jass, not vJass
2. Weeps system follows exactly the same approach as it is also completly written in Jass
3. All your comments about this system (including in the systems thread) till now were wrong and unqualified
4. The same things like I already wrote here also apply to your answer in this thread. If you don't want to contribute anything usefull, stay away.
 
Level 8
Joined
Jan 8, 2013
Messages
348
i removed the "turn off this trigger" and its still buggy... im using the UnitDamageTargetEx and he cant find it.... and i did all the settings correctly... i dont know why its buggy ohhh goooood >.<
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
i removed the "turn off this trigger" and its still buggy... im using the UnitDamageTargetEx and he cant find it.... and i did all the settings correctly... i dont know why its buggy ohhh goooood >.<

Ok, first calm down a bit. Then do the following steps:

  • Diable all your triggers that use UnitDamageTargetEx. After that, the map should safe without errors.
  • Now copy the DDS trigger to the top of your trigger tree view. This is the list with all triggers, place the DDS at the top of all other triggers.
  • Safe the map, exit the editor and start it again. Then reactivate your triggers, the editor should now find the function.

If you still have problems, state exactly which of these steps is failing and why.
 
Level 8
Joined
Jan 8, 2013
Messages
348
okay i got ridd of the error where he cant fin the damagetargetex thing.
im going to test now i will edit this post
still same bugs... but i have to tell you that the enemys get only healed by the normal wc3 spell... it gets casted every 1 sec on enemy units around sasuke. and thats a dot. it deals 40/50/60/70 damage per seconds. no negative values!! and my chidori dont get activatet by the hit ... i think the

Spiel - damageEventTrigger becomes Gleich 1.00

bugs sometimes.. becasue why shouldnt the chodori doesnt work anymore if it worked like 1-5 times? the trigegr is on the second page, theres everything fine. i post it again new

  • Chidori
    • Ereignisse
      • Einheit - A unit Startet den Effekt einer Fähigkeit
    • Bedingungen
      • (Ability being cast) Gleich |cffFF4500[Q]|r Chidori
    • Aktionen
      • Set Caster_Sasuke_2 = (Triggering unit)
      • -------- -- --------
      • Set Point_Sasuke_7 = (Position of Caster_Sasuke_2)
      • Set Level_of_Ability_Sasuke_2 = (Real((Level of |cffFF4500[Q]|r Chidori for Caster_Sasuke_2)))
      • -------- -- --------
      • Set Damage_Sasuke_2 = (30.00 x Level_of_Ability_Sasuke_2)
      • Set Damage_Sasuke_3 = ((Real((Beweglichkeit of Caster_Sasuke_2 (Einschließen bonuses)))) x (0.40 x Level_of_Ability_Sasuke_2))
      • Set Damage_Sasuke_4 = (Damage_Sasuke_2 + Damage_Sasuke_3)
      • -------- -- --------
      • Animation - Play Caster_Sasuke_2's Spell Slam animation
      • Animation - Change Caster_Sasuke_2's vertex coloring to (100.00%, 100.00%, 100.00%) with 30.00% transparency
      • -------- -- --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Electro] for (Owner of Caster_Sasuke_2) at Point_Sasuke_7 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • For each (Integer A) from 1 to 2, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Brown] for (Owner of Caster_Sasuke_2) at Point_Sasuke_7 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%, (Random real number between 100.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (60.00%, 60.00%, 80.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • -------- -- --------
      • Custom script: call RemoveLocation(udg_Point_Sasuke_7)
      • Auslöser - Turn on Chidori Loop <gen>
      • Auslöser - Turn on Chidori Damage Take <gen>
      • -------- -- --------
  • Chidori Loop
    • Ereignisse
      • Zeit - Every 0.03 seconds of game time
    • Bedingungen
    • Aktionen
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Bedingungen
          • And - All (Conditions) are true
            • Bedingungen
              • (Caster_Sasuke_2 is alive) Gleich True
              • (Caster_Sasuke_2 has buff Chidori ) Gleich True
        • 'THEN'-Aktionen
        • 'ELSE'-Aktionen
          • -------- -- --------
          • Animation - Change Caster_Sasuke_2's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • -------- -- --------
          • Auslöser - Turn off (This trigger)
          • Auslöser - Turn off Chidori Damage Take <gen>
          • -------- -- --------
  • Chidori Damage Take
    • Ereignisse
      • Spiel - damageEventTrigger becomes Gleich 1.00
    • Bedingungen
      • And - All (Conditions) are true
        • Bedingungen
          • source Gleich Caster_Sasuke_2
          • damageType Gleich PHYSICAL
    • Aktionen
      • -------- -- --------
      • Set Point_Sasuke_3 = (Position of target)
      • -------- -- --------
      • Custom script: call UnitDamageTargetEx(udg_source, udg_target, udg_Damage_Sasuke_4, true, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_UNIVERSAL, null)
      • -------- -- --------
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
      • Spezialeffekt - Destroy (Last created special effect)
      • Spezialeffekt - Create a special effect attached to the chest of target using war3mapImported\Lightning Shock.mdx
      • Spezialeffekt - Destroy (Last created special effect)
      • -------- -- --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Schleifen - Aktionen
          • Einheit - Create 1 Dustwave [Electro] for (Owner of Caster_Sasuke_2) at Point_Sasuke_3 facing (Random angle) degrees
          • Animation - Change (Last created unit)'s size to ((Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%, (Random real number between 50.00 and 120.00)%) of its original size
          • Animation - Change (Last created unit)'s vertex coloring to (30.00%, 30.00%, 80.00%) with 80.00% transparency
          • Animation - Change (Last created unit)'s animation speed to (Random real number between 65.00 and 125.00)% of its original speed
          • Einheit - Add a 0.08 second Standard expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_Point_Sasuke_3)
      • Einheit - Remove Chidori buff from Caster_Sasuke_2
oh well i think i know why... could it be ... if im using the ultimate... with every hit im damaging the enemy with a new magic damage. and could it be possible that the systems makes something likes this: if a unit gets more then 1 dmg at the same time, the system calculates everything together and makes one huge dmg amount of it and let the target looses this value.

means...
numbers are only for example now

ultimate makes 150 magic damage per hit
chidori makes 100 damage for one hit

chidori gets only activated if the damage the target gets is physycal(his normal hit)(becasue sasuke could activate chidori and use a item to deal magicdamage on the enemy and activate the chidori without hitting him, same with his second MAGIC AOE DAMAGE)

but his ultimate makes extra magic damage... so the dds makes his normal attack + magic ddamage.. calculate it together like 46 attack damage , 150 magic damage = 196 magic damage and let the target loos this value.

now the target gets 196 magic damage. no physycal anymore... and chidori gets not activatet... do you understand? xD
 
Last edited:
Level 14
Joined
Dec 12, 2012
Messages
1,007
okay i got ridd of the error where he cant fin the damagetargetex thing.
im going to test now i will edit this post
still same bugs... but i have to tell you that the enemys get only healed by the normal wc3 spell... it gets casted every 1 sec on enemy units around sasuke. and thats a dot. it deals 40/50/60/70 damage per seconds. no negative values!! and my chidori dont get activatet by the hit ... i think the

Spiel - damageEventTrigger becomes Gleich 1.00

bugs sometimes.. becasue why shouldnt the chodori doesnt work anymore if it worked like 1-5 times? the trigegr is on the second page, theres everything fine. i post it again new

No, the trigger is perfectly fine.


oh well i think i know why... could it be ... if im using the ultimate... with every hit im damaging the enemy with a new magic damage. and could it be possible that the systems makes something likes this: if a unit gets more then 1 dmg at the same time, the system calculates everything together and makes one huge dmg amount of it and let the target looses this value.

No thats wrong, all damage events are handled seperatly.

and chidori gets not activatet... do you understand? xD

Again and for the last time now ;) :

Do not turn off the onDamage trigger! You still turn it off in your Chidori Damage Take event and turn it on in your Chidori Loop event. Don't do that. The system manages damage recursion automatically.
 
Level 8
Joined
Jan 8, 2013
Messages
348
oh im sorry the turn off is deactivatet, you dont see it in this trigger i postet, in the editor its red and deactivatet hahaha :D

well im gonna delete it in this trigegr script in this thread to delete confusions...

wait wait nononononononononononono doyou tell me that every ondamage trigger is deactivatet after one use? automatically? and if they have to stay active for like 15 seconds?

im confused... the chidori is only one hit after activation... so im gonan activate it.. ondamage gets activatet and im doing the hit on the target, it gets dmg and sfx and evverythings fine. now i DONT turn off the trigger becasue the dds makes it automatically. (thats okay)

but whats about the ultimate? the ondamage have to be activate for 15 seconds. if the dds deactivates this trigger for the frist use. then the ultimate only works one time. and not for 15 seconds. or im wrong? how should he know that this should be 15 seconds long and not only for 1 hit?
so the only thing i can imagine now is to use booleans...
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
Ok, so both the "turn on" and "turn off" are deactivated now, correct? Then, what is the problem now? That units get healed by native spells?

If thats the case, check if the system is installed correctly:

  • Are the ability IDs configured correctly? Compare this explanation
  • Did you copy the abilities from the testmap? If not make sure that the runed bracers item used by the system has the correct spell damage reduction (2.0)
 
Level 8
Joined
Jan 8, 2013
Messages
348
okay oaky dafuq, what runed bracers? i thought i have to change that ONLY if im using it for a hero spell. like " on activation give sthe hero xx% spell reduction".

do you say the dds is using the runec bracer for calculation?.... to deal magic damage
and i have to copy the basic one out from the testmap? ...

sry but now i sound like a idiot HAHAHAHA :D im confused... perhaps i misunderstand some english words xD
edit: theres no runec bracer in the dds map that i could copy/paste.
so i dont get it why i have to make it in my main map if its not did in the dds map.

but of course i copied the other 2 ablitys and gave them the right IDS
and i changed from locust swarm the 0.75 into -0.75
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
okay oaky dafuq, what runed bracers? i thought i have to change that ONLY if im using it for a hero spell. like " on activation give sthe hero xx% spell reduction".

Ok, slow.

do you say the dds is using the runec bracer for calculation?.... to deal magic damage
and i have to copy the basic one out from the testmap? ...

One reason of using this system is, that you want not only to detect damage but also the basic damage type (physical or spell). However, blizzard doesn't provide a method to get the damage type of an attack. So how can we achieve that?

This system uses the runed bracers item with 2.0 reduction. By doing so, all spell damage is negative. Therefore by checking the sign of the damage we can know that the last damage was spell damage. That negative damage causes units to get healed by spells, which is corrected by the system (at the end all damage is applied normal).

So yes, it uses runed bracers from the testmap. You also need exactly that runed bracers item and set up its ID in the config function of the DDS (compare the link I posted already). You also need the second ability (SET_MAX_LIFE). Copy them both from the testmap and add their correct IDs to the system.

wait wait nononononononononononono doyou tell me that every ondamage trigger is deactivatet after one use? automatically? and if they have to stay active for like 15 seconds?

No, its not deactivated after one use, it stays active for ever. If you want to fire this event conditional, use a boolean flag:

  • Chidori
    • Ereignisse
      • Einheit - A unit Startet den Effekt einer Fähigkeit
    • Bedingungen
      • (Ability being cast) Gleich |cffFF4500[Q]|r Chidori
    • Aktionen
      • -------- -- --------
      • -------- -- -------- Your Code here
      • -------- -- --------
      • Set Chidori_Damage_flag = true
      • -------- -- --------
  • Chidori Damage Take
    • Ereignisse
      • Spiel - damageEventTrigger becomes Gleich 1.00
    • Bedingungen
      • And - All (Conditions) are true
        • Bedingungen
          • source Gleich Caster_Sasuke_2
          • damageType Gleich PHYSICAL
          • Chidori_Damage_flag Gleich true
    • Aktionen
      • Set Chidori_Damage_flag = false
      • -------- -- --------
      • -------- -- -------- Your Code here
      • -------- -- --------
 
Level 8
Joined
Jan 8, 2013
Messages
348
okay thank you very much! you explained it in a way i finnaly understand this hahaha :D
BUT theres no runec bracer ability in the testmap from dds. so what should i do?
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
okay thank you very much! you explained it in a way i finnaly understand this hahaha :D
BUT theres no runec bracer ability in the testmap from dds. so what should i do?

There is a runed bracers ability, it just doesn't look like one because I removed all visuals from it.

The name of the ability is DAMAGE_TYPE_DETECTOR, it should be in the same folder of the object editor like the ability SET_MAX_LIFE (which you also need).

You should definitly consider reading the documentation of this system ;)
 
Level 8
Joined
Jan 8, 2013
Messages
348
oh this one. yeah i got this imported and i got the right IDS for it! thought there is a third ability :eek: and it is set to 2.0... what should i change now? all my other runec bracer abilitys?

you said that every unit that gets magic damage will be healed first of all and the dds switch the negative number which heals the target to a normal damage again. so why is my normal wc3 spell(no trigger) which deals 70 damage per second healing the enemys?
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
oh this one. yeah i got this imported and i got the right IDS for it! thought there is a third ability :eek: and it is set to 2.0... what should i change now? all my other runec bracer abilitys?

you said that every unit that gets magic damage will be healed first of all and the dds switch the negative number which heals the target to a normal damage again. so why is my normal wc3 spell(no trigger) which deals 70 damage per second healing the enemys?

What "other" runed bracers abilities? Do the enemies that get healed have other (= designed by you) runed bracers abilities?
 
Level 8
Joined
Jan 8, 2013
Messages
348
no i have other runed bracers abilitys for other heros... like orochimaru got a passive with 5/10/15/20% spell reduction..

the enemys that get now healed just gets damage from my normal wc3 spell.
the chidori and the ultimate dont heal the enemys (they just dont work sometimes)
but the normal wc3 spell is healing them! dummy spell.

the spell that the dummy is using is acid-bomb. it deals 40/50/60/70 dmg per second and slows the enemys for 2 sec. and the enemys gets healed for this (not always)
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
When you use this system, then you can't use other runed bracers abilities, because they don't stack.

To achieve the same result you can use a dummy ability and trigger the damage reduction (I use critical strike for visible dummies and channel for invisible).
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
no i have other runed bracers abilitys for other heros... like orochimaru got a passive with 5/10/15/20% spell reduction..

You know that you must not use runed bracers with this system, right? If you want to use them, remove the ability from the item (the bracers you use, not the one of the system) and trigger the reduction in an onDamage event (this also gives you several other advantages).

I see from this that you didn't even read the basics of the documentation, so do this first. The docu is there for a reason and all questions you asked until now are answered there.

If you then still have questions, ask again.
 
Level 8
Joined
Jan 8, 2013
Messages
348
NO guys i know that i have to trigger it! i just asked again so i didnt misunderstand the documentation! and by the way this doesnt matter atm that the system is still buggy for me!

i know hwo to handle the spell resist i just wantet to be sure and asked again :D

edit: i figured it out HOW they get healed ingame. but i dont know why.

sasukes second spell. when he activates it he gets flames around himself for 3 seconds. if the flames touches an enemy, they will get a dot for 2 seconds and get slowed. the dot makes 40/50/60/70 dmg and slows for x%(doesnt matter) if i use the spell instantly near units, everythings fine. if i cast the spell and no unit is in range to get the dot on them, and im going to run into enemys, they will get the dot. but they get healed instead of damage.

and the chidori doesnt work if i use my ultimate. before and after it works perfect. but IN THE ULTIMATE it doesnt work. (and dont say something like post your code and its becasue of your code... before i imported this dds everythings worked fine, only after the import of dds, the spells doesnt work properly...)

and WHY doesnt it work? i dont know.. have todo something with the dds. becasue before i imported the system, everythings worked fine. every other hero works still fine. i only added the dds to sasuke... well you kno what? before you say something about my triggers.
 
Last edited:
Level 8
Joined
Jan 8, 2013
Messages
348
just look at my sasuke i posted above and try fix it.
as if i would pload my map..... what do you think? >.< i wont upload my unprotected map here....
 
Level 8
Joined
Jan 8, 2013
Messages
348
dude... as if i make a new testmap with all the spells and system and basic spells .. that needs to long, i can send it to you as PRIVAT and you can look over.. but i wont upload it public here... but i have to trust you that you wont release models or other shit ok?
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
dude... as if i make a new testmap with all the spells and system and basic spells .. that needs to long, i can send it to you as PRIVAT and you can look over.. but i wont upload it public here... but i have to trust you that you wont release models or other shit ok?

Of course, if thats ok for you send it private, I will delete the map after trying to find the error.

Because if you have a massive map with a lots of triggers, the problem could be caused by anything... So maybe the code you posted here is totally fine so it would be the best to look at the map directly.


EDIT:

Ok after checking your map I guess I know what is causing the problem. Whenever I use you ability "Kokuen no Tate" as you described, I get an AutoIndex Error message and from then on, the DDS is disabled. This can be observed by this simple trigger:

  • OnDamage
    • Ereignisse
      • Spiel - damageEventTrigger becomes Gleich 1.00
    • Bedingungen
    • Aktionen
      • Custom script: call BJDebugMsg(R2S(udg_amount))
which isn't fired anymore after that error. As this happens exactly when you use the spell "Kokuen no Tate" and you create a dummy unit within the onDamage event of that spell, it is obvious that this dummy is causing the problem with auto index. Those are the error messages:

"AutoIndex error: Code outside AutoIndex altered Rune's index."
"AutoIndex error: Atu Rune and Shodai Hokage now have the same index."


The thing is, that when this error occurs, AutoIndex crashes the thread of the DDS. Therefore, the correction of the negative damage can't be performed by the system anymore, which results in healing of units.

So fix your problems with the dummy unit/AutoIndex and everything will work fine. Its not the DDS thats causing the problems here, but your code that is crashing the thread. Btw: you would have the same problems with any other DDS (no DDS likes it when you crash its onDamage thread^^), also if it doesn't support damage type detection (like Weeps). You just won't notice the problem so fast because the units won't get healed, but those DDS will crash silently.
 
Last edited:
Status
Not open for further replies.
Top