Ability Help (Gui)

Kahem

New Member
Reaction score
2
im trying to make a passive gui mui version of from dota blood seekers rupture.
basicly im using the ability Incinerate to be the ability and its effects. but i also want, if the unit is moving, to take damage based on the distance travelled.
ive got this spell semi working, its just not mui.

any gui Guru out there?
 

Gtam

Lerning how to write and read!! Yeah.
Reaction score
164
Have you read a MUI tutorial. It will sho you how to make it MUI but if your to lazy upload the map and i can do it for you
 

Hellohihi

New Member
Reaction score
42
@Komaqtion,

Rupture is an ability from dota,
When rupture is cast on a targeted unit, the targeted unit will take damage whenever it moves.

@Kahem

Yes, like komaqtion said, post the trigger, so we can help you make it mui and improve on it.
 

Kahem

New Member
Reaction score
2
hey thanks to everyone that replied
i tried that mui tutorial, but couldnt get it working
and that 'this is a how to' rupture tutorial isnt mui at all. i can make a non mui rupture easy...
Komaqtion: "First, what does rupture do ? :S"
Kahem: "if the unit is moving, to take damage based on the distance travelled."
Gtam are you able to make it on a blank map? ive tried to make it so many times but failed im prety fucked off.
id be able to make it if it was a spell but because its done on attack/buff it makes it much more difficult.
ARGHARFUCKHRSHGA
thanks again
 

Summoned

New Member
Reaction score
51
Here's a working rupture.

It's pretty much a direct copy of DotA's Rupture, without the initial damage, just to give you an idea of how to make things MUI.

Effect: causes 25% of distance moved as damage for 10 seconds.

Note: Each Rupture is its individual effect, so you can theoretically stack as many Ruptures as you can dish out in 10 seconds on one target if you keep casting it, though the first would wear off in 10 seconds regardless of the timer left on the others.

Trigger:
  • Rupture Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rupture
    • Actions
      • Set RuptureCount = (RuptureCount + 1)
      • Set RuptureCaster[RuptureCount] = (Triggering unit)
      • Set RuptureTarget[RuptureCount] = (Target unit of ability being cast)
      • Set RuptureTimer[RuptureCount] = 10.00
      • Set RuptureDamageRatio[RuptureCount] = 0.25
      • Set RuptureLastLoc[RuptureCount] = (Position of (Target unit of ability being cast))
      • Trigger - Turn on Rupture Effect <gen>

Trigger:
  • Rupture Effect
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to RuptureCount, do (Actions)
        • Loop - Actions
          • Set RuptureTimer[(Integer A)] = (RuptureTimer[(Integer A)] - 0.10)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (RuptureTarget[(Integer A)] is alive) Equal to True
              • RuptureTimer[(Integer A)] Greater than 0.00
            • Then - Actions
              • Set RuptureTempPoint = (Position of RuptureTarget[(Integer A)])
              • Set RuptureDistance = (Distance between RuptureLastLoc[(Integer A)] and RuptureTempPoint)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RuptureDistance Greater than 0.00
                  • RuptureDistance Less than 200.00
                • Then - Actions
                  • Unit - Cause RuptureCaster[(Integer A)] to damage RuptureTarget[(Integer A)], dealing (RuptureDamageRatio[(Integer A)] x RuptureDistance) damage of attack type Spells and damage type Normal
                  • Special Effect - Create a special effect at RuptureTempPoint using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • Do nothing
              • Custom script: call RemoveLocation(udg_RuptureLastLoc[bj_forLoopAIndex])
              • Set RuptureLastLoc[(Integer A)] = (Position of RuptureTarget[(Integer A)])
              • Custom script: call RemoveLocation(udg_RuptureTempPoint)
            • Else - Actions
              • Custom script: call RemoveLocation(udg_RuptureLastLoc[bj_forLoopAIndex])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RuptureCount Greater than 1
                • Then - Actions
                  • For each (Integer B) from (Integer A) to (RuptureCount - 1), do (Actions)
                    • Loop - Actions
                      • Set RuptureCaster[(Integer B)] = RuptureCaster[((Integer B) + 1)]
                      • Set RuptureTarget[(Integer B)] = RuptureTarget[((Integer B) + 1)]
                      • Set RuptureDamageRatio[(Integer B)] = RuptureDamageRatio[((Integer B) + 1)]
                      • Set RuptureTimer[(Integer B)] = RuptureTimer[((Integer B) + 1)]
                      • Set RuptureLastLoc[(Integer B)] = (Position of RuptureTarget[(Integer B)])
                      • Custom script: call RemoveLocation(udg_RuptureLastLoc[bj_forLoopBIndex + 1])
                • Else - Actions
                  • Do nothing
              • Set RuptureCount = (RuptureCount - 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RuptureCount Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Do nothing
 

X.Terror.X

New Member
Reaction score
10
wow my head starts to crash o.o

but if im correct the only bug this trigger will make if the unit is moved instanlty or teleported it dies instant if u teleproted it to far away so be sure u make the unit invulnerable for short period if u move instant him ;)
 

Summoned

New Member
Reaction score
51
The damage doesn't activate if the unit moves further than 200 distance (minimum range for Blink) in a tick.
 

Kahem

New Member
Reaction score
2
hey thanks man ill have a look at it when i get home today (currently last minute checking emails and posts)

the way i see it, if you dumb enuf to blink while being ruptured u diserve to die xD

though the first would wear off in 10 seconds regardless of the timer left on the others.
What exactly does this mean? i dont think i 100% understand.
your saying that if rupture is recasted on a unit who already has rupture the spell duration wont be reset?
 

Summoned

New Member
Reaction score
51
hey thanks man ill have a look at it when i get home today (currently last minute checking emails and posts)

the way i see it, if you dumb enuf to blink while being ruptured u diserve to die xD

though the first would wear off in 10 seconds regardless of the timer left on the others.
What exactly does this mean? i dont think i 100% understand.
your saying that if rupture is recasted on a unit who already has rupture the spell duration wont be reset?
Whenever you cast a new Rupture, the old one's still ticking, basically. So let's say you cast 3 Ruptures on the same target, here's what the timeline would look like:

0 seconds - First Rupture Cast
1 seconds - Second Rupture Cast, First Rupture is at 9 second duration
2 seconds - Third Rupture Cast, First Rupture at 8 second, Second at 9 seconds
3-9 seconds - All Three Ruptures are ticking at the same time
10 seconds - First Rupture fades, Second at 1 second, Third at 2 seconds
11 seconds - Second Rupture fades, Third Rupture at 1 second
12 seconds - Third Rupture fades

If you want the duration to refresh instead, it's definitely doable. Just don't have the time right now. ;)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top