• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

How to make a damage detect system

Status
Not open for further replies.
Level 11
Joined
Oct 20, 2007
Messages
342
how to make a unit is attacked by another unit when the projectile is reach and damage i occur. (when exactly taken damage)
Requred for
-it only attack not including spell
-it is stack with orb effect
-it is MUI
how detect that?

[edited]
if can done in GUI XD
 
Last edited:
Level 4
Joined
Jul 14, 2007
Messages
59
There is only one way to do it with GUI: you have to use an orb effect.

Make a trigger that has no event, but pretend that its event is unit takes damage. Also give it the condition, unit has buff <whatever buff your orb gives>

Make another trigger that adds an event - unit takes damage, to that first trigger, and do it for all units on the map.

The only problem with this is that you must use an orb effect, like poison attack.
 
Level 11
Joined
Oct 20, 2007
Messages
342
Why do you need to detect it, anyway..?
i want make a skill like bash (different effect)
i have to detect it very accuracy to avoid bugs

"Unit - A unit is attacked"
it cause many of bugs and problem

You most likely have to trigger most of the spells so that it turns off damage detection systems for the time, when damage by the spell is done.
When turn it off?? spell also got missile art so need time to travel, so when turn it on again??? and how if the missile art traveling in the middle way so he preform an attack???


There is only one way to do it with GUI: you have to use an orb effect.

Make a trigger that has no event, but pretend that its event is unit takes damage. Also give it the condition, unit has buff <whatever buff your orb gives>

Make another trigger that adds an event - unit takes damage, to that first trigger, and do it for all units on the map.

The only problem with this is that you must use an orb effect, like poison attack.
i know use poison orb can done that, i have done myself too,
but i need is can stack with orb effect, since poison attack can't do that.
and i can't find other passive skill can give a buff and not an orb effect (other than bash, it cancel channeling =.=)

since DotA have 2 hero like Storm Spirit and Kunkka has done the skill without orb effect, see carefully those 2 hero will not give any bug when you press stop or attack miss.
this is the prove that possible to been done.
 
Level 4
Joined
Mar 15, 2009
Messages
70
Try this
Damage system by Rabid_Weinerdog - Inquistion ORPG

Its detect damage ,damage done by skill
goodluck
contain 3 trigger

TRIGGER 1
(pick all unit)

  • Damage1
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
    • Actions
      • Trigger - Add to Damage <gen> the event (Unit - (Triggering unit) Takes damage)
TRIGGER 2
(adding damage to the unit)

  • Damage
    • Events
    • Conditions
    • Actions
      • Set DamageTextPoint = (Position of (Triggering unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Damage taken) Greater than or equal to 1.00
          • ((Triggering unit) belongs to an ally of Player 10 (Light Blue)) Equal to True
        • Then - Actions
          • Floating Text - Create floating text that reads (String((Integer((Damage taken))))) at DamageTextPoint with Z offset 0.00, using font size 8.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 90.00 degrees
          • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Damage taken) Greater than or equal to 1.00
              • ((Triggering unit) belongs to an ally of Player 1 (Red)) Equal to True
            • Then - Actions
              • Floating Text - Create floating text that reads (String((Integer((Damage taken))))) at DamageTextPoint with Z offset 0.00, using font size 8.00, color (70.00%, 30.00%, 50.00%), and 0.00% transparency
              • Floating Text - Change (Last created floating text): Disable permanence
              • Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 90.00 degrees
              • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
              • Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
            • Else - Actions
      • Custom script: call RemoveLocation ( udg_DamageTextPoint )
TRIGGER 3
(adding spell name)

  • Spells
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Not equal to Berserk (item)
        • Then - Actions
          • Set DamageTextPoint = (Position of (Triggering unit))
          • Floating Text - Create floating text that reads ((Name of (Ability being cast)) + !) at DamageTextPoint with Z offset 0.00, using font size 12.00, color (100.00%, 100.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Set the velocity of (Last created floating text) to 30.00 towards 90.00 degrees
          • Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
          • Custom script: call RemoveLocation ( udg_DamageTextPoint )
        • Else - Actions
 
Status
Not open for further replies.
Top