triggering problem

educator

New Member
Reaction score
9
ok, im making a map and the idea is:all movement is arrow keys, there are 3-4 units (so far) each unit has triggered attacks (a melee, missile, homing missile) and the aim is to kill the enemies. iv done the melee but im stuck on the missile, here is my triggeres:
Trigger:
  • Missile atk
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Holy Lance
    • Actions
      • Set caster_holylance = (Casting unit)
      • Unit - Create 1 Holy lance missie for (Owner of caster_holylance) at (Position of caster_holylance) facing (Facing of caster_holylance) degrees
      • Special Effect - Create a special effect attached to the origin of dummy_holylance using Abilities\Weapons\BloodElfMissile\BloodElfMissile.mdl
      • Set dummy_holylance = (Last created unit)
      • Trigger - Turn on misile atk periodic <gen>
      • Wait 4.00 seconds
      • Unit - Kill dummy_holylance
      • Trigger - Turn off misile atk periodic <gen>


Trigger:
  • misile atk periodic
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • Set damage_holylance = (Units within 100.00 of (Position of dummy_holylance) matching ((((Matching unit) belongs to an enemy of (Owner of dummy_holylance)) Equal to True) and ((((Matching unit) has buff Acid Bomb) Equal to False) and (((Matching unit) is alive) Equal to True))))
      • Unit - Move dummy_holylance instantly to ((Position of dummy_holylance) offset by 30.00 towards (Facing of dummy_holylance) degrees), facing (Facing of dummy_holylance) degrees
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in damage_holylance) Greater than 0
        • Then - Actions
          • Unit Group - Pick every unit in damage_holylance and do (Actions)
            • Loop - Actions
              • Unit - Cause caster_holylance to damage (Picked unit), dealing 55.00 damage of attack type Pierce and damage type Normal
              • Unit - Kill dummy_holylance
              • Custom script: call DestroyGroup( udg_damage_holylance )
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Number of units in damage_holylance) Less than 1
            • Then - Actions
              • Custom script: call DestroyGroup( udg_damage_holylance )
            • Else - Actions
        • Else - Actions


the problems are: sometimes the projectile will just die randomly, it deals tooo much damage. what its supposed to do: create a projectile that moves forward from the caster for 4 seconds, if an enemy unit is in a certain range of the projectil it makes the caster deal 55 damage and the projectile dies. if it doesn't hit a unit in 4 seconds it dies.
any and all help is appreciated
 

perkeyone

something clever
Reaction score
71
waits can mess things up, here is an alternative way to kill that unit after 4 seconds
Trigger:
  • Missile atk
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Holy Lance
    • Actions
      • Set caster_holylance = (Casting unit)
      • Unit - Create 1 Holy lance missie for (Owner of caster_holylance) at (Position of caster_holylance) facing (Facing of caster_holylance) degrees
      • Special Effect - Create a special effect attached to the origin of dummy_holylance using Abilities\Weapons\BloodElfMissile\BloodElfMissile.mdl
      • Set dummy_holylance = (Last created unit)
      • Unit - Add a 4.00 second Generic expiration timer to (Last created unit)
      • Trigger - Turn on misile atk periodic <gen>

you only want to damage one unit per missile.. right?
first check if there are any units in the unit group.
if there are, pick a random one and damage it, then kill the missile.
Trigger:
  • misile atk periodic
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • Set damage_holylance = (Units within 100.00 of (Position of dummy_holylance) matching ((((Matching unit) belongs to an enemy of (Owner of dummy_holylance)) Equal to True) and ((((Matching unit) has buff Acid Bomb) Equal to False) and (((Matching unit) is alive) Equal to True))))
      • Unit - Move dummy_holylance instantly to ((Position of dummy_holylance) offset by 30.00 towards (Facing of dummy_holylance) degrees), facing (Facing of dummy_holylance) degrees
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in damage_holylance) Greater than 0
        • Then - Actions
          • Unit - Cause caster_holylance to damage (Random unit from (damage_holylance), dealing 55.00 damage of attack type Pierce and damage type Normal
          • Unit - Kill dummy_holylance
        • Else - Actions
      • Custom script: call DestroyGroup( udg_damage_holylance )

here is an extra trigger for after the missile dies.
Trigger:
  • missile off
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Holy_lance_missie
    • Actions
      • Trigger - Turn off misile atk periodic <gen>
 

perkeyone

something clever
Reaction score
71
one other thing, those triggers have some leaks.
all those point variables need to be stored and the destroyed.
im not very good at that though lol
 

Gummi_Bears

New Member
Reaction score
5
If only one unit is allowed to cast this spell, it will work fine. However if this is not the case, your variables will overwrite and the person who casted the spell first will get cut off. You'll have to use another method, like indexing.

Trigger:
  • Unit - Create 1 Holy lance missie for (Owner of caster_holylance) at (Position of caster_holylance) facing (Facing of caster_holylance) degrees


I think 'position of caster_holylance' will leak. You the point to a variable, then remove it using:

Trigger:
  • Set HL_CasterPos = Position of caster_holylance
    • Custom script: call RemoveLocation( udg_HL_CasterPos )
 

educator

New Member
Reaction score
9
yes iv had the problem that only one projectile of a type can move at a time, what is indexing and how can it fix the problem(not only can just one unit use it at a time but that unit can only have one going at a time)
-edit ok im impatient and dont have access to the world editor right now, if i use
missile spawn + aim trig
events
unit starts the effect of an ability
conditions
(ability being cast) equal to (holylance)
actions
create 1 hldummymissile for (owner of (casting unit) at (position of (casting unit)) (facing of(casting unit))
set hl_dummy = last ceated unit
set caster_hl = casting unit

missile move trig
events
every 0.3 seconds
conditions
actions
set hl_missiles = units in entire map matching (unit type of(matching unit) equal to (hlmissile)
pick every unit in (hl_missiles) and do actions
lool actions:
move (picked unit) instantly to (position of (picked unit) with polar offset of 25 towards (facing of(picked unit) and face (facing of(picked unit)

missile damage trig
events
a unit comes within 150 range of hl_dummy
conditions
actions
cause caster_hl deal 45 damage to (triggering unit) attack type of magic damage type of normal

will it work?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?

      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