damn... custom script

Mezion

New Member
Reaction score
0
I got a lot of help lately and was able to do some simple spells that followed unit to do some actions later on.

I made stuff like that:

Trigger:
  • Future Sight H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • ((Ability being cast) Equal to Future Sight (H)(Lv 22)) or (((Ability being cast) Equal to Future Sight (H)(Lv 69)) or ((Ability being cast) Equal to Future Sight (H)(Lv 42)))
    • Actions
      • Custom script: local unit f = GetSpellTargetUnit()
      • Set Temp_Unit = (Target unit of ability being cast)
      • Unit - Add Future Sight (Target) to (Target unit of ability being cast)
      • Custom script: set f = udg_Temp_Unit
      • Wait 10.00 seconds
      • Custom script: set udg_Temp_Unit = f
      • Unit - Create 1 BigManaFlareDummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • Unit - Cause (Triggering unit) to damage Temp_Unit, dealing (0.80 x (Real((Intelligence of (Triggering unit) (Include bonuses))))) damage of attack type Pierce and damage type Normal
      • Unit - Remove Future Sight (Target) from Temp_Unit
      • Custom script: set f = null


it worked well. But now I tried something else and it doesnt work. I`m not really familiar with the custom script so I`m not sure what`s going on:

Trigger:
  • Poison Fang H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Poison Fang (H)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RandomNumber[2] Equal to 1
        • Then - Actions
          • Set RandomNumber[2] = (Random integer number between 1 and 5)
          • Custom script: local unit k = GetSpellTargetUnit()
          • Set Temp_Unit = (Target unit of ability being cast)
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 1
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 2
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 3
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 4
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of Temp_Unit) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 5
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = null
        • Else - Actions


first: Yeah I know that loop looks kind of bad.
Second: I get these errors:

local unit k = GetSpellTargetUnit() ////// expected 'endif'
and expected a name and variable name at the other place where I use the k variable

What's wrong in there?
 

jig7c

Stop reading me...-statement
Reaction score
123
you have to set your locals before ANY action... ANY ACTION!

just swap your set random[2] action line below, and move the local unit k to the very top
right below the work Actions, just before the if statement

whats the point of this
Trigger:
  • Custom script: set k = udg_Temp_Unit
    • Wait 6.00 seconds
    • Custom script: set udg_Temp_Unit = k


your triggers leak by the way
 

Mezion

New Member
Reaction score
0
you have to set your locals before ANY action... ANY ACTION!

just swap your set random[2] action line below, and move the local unit k to the very top
right below the work Actions, just before the if statement

whats the point of this
Trigger:
  • Custom script: set k = udg_Temp_Unit
    • Wait 6.00 seconds
    • Custom script: set udg_Temp_Unit = k


your triggers leak by the way

I tought that was the way to ''memorise'' the units between wait, so it doesnt get lost if someone else cast the spell. That's how I understood it. So I guess I dont have to do this all the time? f you got the time, please explain the me the purpose of this custom scrip then ^^. And how could I make it leakless?
 

jig7c

Stop reading me...-statement
Reaction score
123
Trigger:
  • Future Sight H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • ((Ability being cast) Equal to Future Sight (H)(Lv 22)) or (((Ability being cast) Equal to Future Sight (H)(Lv 69)) or ((Ability being cast) Equal to Future Sight (H)(Lv 42)))
    • Actions
      • Custom script: local unit f = GetSpellTargetUnit()
      • Set Temp_Unit = (Target unit of ability being cast)
      • Unit - Add Future Sight (Target) to (Target unit of ability being cast)
      • Custom script: set f = udg_Temp_Unit
      • Wait 10.00 seconds
      • Custom script: set udg_Temp_Unit = f
      • Unit - Create 1 BigManaFlareDummy for (Owner of (Triggering unit)) at (Point facing Default building facing degrees
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • Unit - Cause (Triggering unit) to damage Temp_Unit, dealing (0.80 x (Real((Intelligence of (Triggering unit) (Include bonuses))))) damage of attack type Pierce and damage type Normal
      • Unit - Remove Future Sight (Target) from Temp_Unit
      • Custom script: set f = null


it worked well. But now I tried something else and it doesnt work. I`m not really familiar with the custom script so I`m not sure what`s going on:

Trigger:
  • Poison Fang H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Poison Fang (H)
    • Actions
      • Custom script: local unit k = GetSpellTargetUnit()
      • Set Point = (Position of (Temp_Unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RandomNumber[2] Equal to 1
        • Then - Actions
          • Set RandomNumber[2] = (Random integer number between 1 and 5)
          • Set Temp_Unit = (Target unit of ability being cast)
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 1
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 2
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 3
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 4
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 5
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = null
          • Custom script: call RemoveLocation (udg_Point)
        • Else - Actions
 

jig7c

Stop reading me...-statement
Reaction score
123
Trigger:
  • Future Sight H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • ((Ability being cast) Equal to Future Sight (H)(Lv 22)) or (((Ability being cast) Equal to Future Sight (H)(Lv 69)) or ((Ability being cast) Equal to Future Sight (H)(Lv 42)))
    • Actions
      • Custom script: local unit f = GetSpellTargetUnit()
      • Set Temp_Unit = (Target unit of ability being cast)
      • Set Point = (Position of (Temp_Unit))
      • Unit - Add Future Sight (Target) to (Target unit of ability being cast)
      • Custom script: set f = udg_Temp_Unit
      • Wait 10.00 seconds
      • Custom script: set udg_Temp_Unit = f
      • Unit - Create 1 BigManaFlareDummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • Unit - Cause (Triggering unit) to damage Temp_Unit, dealing (0.80 x (Real((Intelligence of (Triggering unit) (Include bonuses))))) damage of attack type Pierce and damage type Normal
      • Unit - Remove Future Sight (Target) from Temp_Unit
      • Custom script: set f = null
      • Custom script: call RemoveLocation (udg_Point)


this triggers should work, leak-free i believe

Trigger:
  • Poison Fang H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Poison Fang (H)
    • Actions
      • Custom script: local unit k = GetSpellTargetUnit()
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RandomNumber[2] Equal to 1
        • Then - Actions
          • Set RandomNumber[2] = (Random integer number between 1 and 5)
          • Set Temp_Unit = (Target unit of ability being cast)
          • Set Point = (Position of (Temp_Unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 1
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: call RemoveLocation (udg_Point)
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Set Point = (Position of (Temp_Unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 2
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: call RemoveLocation (udg_Point)
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Set Point = (Position of (Temp_Unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 3
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: call RemoveLocation (udg_Point)
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Set Point = (Position of (Temp_Unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 4
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: call RemoveLocation (udg_Point)
          • Custom script: set k = udg_Temp_Unit
          • Wait 6.00 seconds
          • Custom script: set udg_Temp_Unit = k
          • Set Point = (Position of (Temp_Unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Point) facing Default building facing degrees
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Bad Poisoning (Part 1) to (Last created unit)
          • Unit - Set level of Bad Poisoning (Part 1) for (Last created unit) to 5
          • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike Temp_Unit
          • Custom script: set k = null
          • Custom script: call RemoveLocation (udg_Point)
        • Else - Actions
          • Custom script: set k = null


what does the second trigger suppose to do?
I don't understand it..
 

Mezion

New Member
Reaction score
0
it's a ''hard poison'' spell: I got a regular poison (Based on Shadow stike) that pop randomly once and then.

The hard poison one (This big trigger) create a more dangerous one. It got a duration of 30 sec, and it become stronger overtime (So at first you lose hp based on the lv1 spell, than after 6 secs, the poison is changed for the lv2 spell, etc. It works in the game, but the trigger aint that pretty....
 

jig7c

Stop reading me...-statement
Reaction score
123
i edited your second trigger to make it work better...
 

Mezion

New Member
Reaction score
0
ty sir! btw for some reason when I copied it the random number between 1 and 5 appera after the ifnumber = 1... but it aint the case in the actual trigger dont worry XD
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top