• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Trigger not working well

Status
Not open for further replies.
Level 12
Joined
Apr 28, 2012
Messages
166
Hello I'm wondering if any one can help, the problem is that this trigger works fine if the killing owner is a human player and if it's a computer the dummy will not cast the spell!! for me I don't see any thing wrong :C

Death
Events
Unit - A unit Dies
Conditions
(Unit-type of (Dying unit)) Equal to Heads Soup
Actions
Set Point[4] = (Position of (Dying unit))
Special Effect - Create a special effect at Point[4] using war3mapImported\SoupDeath.mdx
Special Effect - Destroy (Last created special effect)
Set SoupGroup = (Units within 300.00 of Point[4] matching ((((Matching unit) is alive) Equal to True) and ((Matching unit) Not equal to (Dying unit))))
Custom script: call RemoveLocation (udg_Point[4])
Unit Group - Pick every unit in SoupGroup and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of (Picked unit)) Not equal to Barrel
(Unit-type of (Picked unit)) Not equal to Barrel
(Unit-type of (Picked unit)) Not equal to Crates
(Unit-type of (Picked unit)) Not equal to Explosive Barrel
(Unit-type of (Picked unit)) Not equal to Hay
(Unit-type of (Picked unit)) Not equal to Hay Cart
(Unit-type of (Picked unit)) Not equal to Heads Soup
(Unit-type of (Picked unit)) Not equal to Junk
(Unit-type of (Picked unit)) Not equal to Mine Cart
(Unit-type of (Picked unit)) Not equal to Mine Cart
(Unit-type of (Picked unit)) Not equal to Pile of Treasure
(Unit-type of (Picked unit)) Not equal to Pile of Treasure
(Unit-type of (Picked unit)) Not equal to Rocks
(Unit-type of (Picked unit)) Not equal to Rocks
(Unit-type of (Picked unit)) Not equal to Table
(Unit-type of (Picked unit)) Not equal to Wood
Then - Actions
Set DummyZeus = (Picked unit)
Animation - Change DummyZeus's vertex coloring to (25.00%, 100.00%, 25.00%) with 0.00% transparency
Unit Group - Add DummyZeus to SG
Set Point[4] = (Position of DummyZeus)
Unit - Create 1 Dummy for (Owner of (Killing unit)) at Point[4] facing 270.00 degrees
Set SoupDummy = (Last created unit)
Unit - Add Soup Poison to SoupDummy
Unit - Order SoupDummy to Neutral Alchemist - Acid Bomb DummyZeus
Unit - Add a 10.50 second Generic expiration timer to SoupDummy
Custom script: call RemoveLocation (udg_Point[4])
Else - Actions
Custom script: call DestroyGroup (udg_SoupGroup)
Wait 10.10 seconds
Unit Group - Pick every unit in SG and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has buff Poison Soup) Not equal to True
Then - Actions
Unit Group - Remove (Picked unit) from SG
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in OmniG) Not equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in DestG) Equal to True
Then - Actions
Animation - Change (Picked unit)'s vertex coloring to (50.00%, 50.00%, 50.00%) with 0.00% transparency
Else - Actions
Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
Else - Actions
Else - Actions

please help if you can and thanks.
 
Level 12
Joined
Apr 28, 2012
Messages
166
  • Death
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Heads Soup
    • Actions
      • Set Point[4] = (Position of (Dying unit))
      • Special Effect - Create a special effect at Point[4] using war3mapImported\SoupDeath.mdx
      • Special Effect - Destroy (Last created special effect)
      • Set SoupGroup = (Units within 300.00 of Point[4] matching ((((Matching unit) is alive) Equal to True) and ((Matching unit) Not equal to (Dying unit))))
      • Custom script: call RemoveLocation (udg_Point[4])
      • Unit Group - Pick every unit in SoupGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of (Picked unit)) Not equal to Barrel
              • (Unit-type of (Picked unit)) Not equal to Barrel
              • (Unit-type of (Picked unit)) Not equal to Crates
              • (Unit-type of (Picked unit)) Not equal to Explosive Barrel
              • (Unit-type of (Picked unit)) Not equal to Hay
              • (Unit-type of (Picked unit)) Not equal to Hay Cart
              • (Unit-type of (Picked unit)) Not equal to Heads Soup
              • (Unit-type of (Picked unit)) Not equal to Junk
              • (Unit-type of (Picked unit)) Not equal to Mine Cart
              • (Unit-type of (Picked unit)) Not equal to Mine Cart
              • (Unit-type of (Picked unit)) Not equal to Pile of Treasure
              • (Unit-type of (Picked unit)) Not equal to Pile of Treasure
              • (Unit-type of (Picked unit)) Not equal to Rocks
              • (Unit-type of (Picked unit)) Not equal to Rocks
              • (Unit-type of (Picked unit)) Not equal to Table
              • (Unit-type of (Picked unit)) Not equal to Wood
            • Then - Actions
              • Set DummyZeus = (Picked unit)
              • Animation - Change DummyZeus's vertex coloring to (25.00%, 100.00%, 25.00%) with 0.00% transparency
              • Unit Group - Add DummyZeus to SG
              • Set Point[4] = (Position of DummyZeus)
              • Unit - Create 1 Dummy for (Owner of (Killing unit)) at Point[4] facing 270.00 degrees
              • Set SoupDummy = (Last created unit)
              • Unit - Add Soup Poison to SoupDummy
              • Unit - Order SoupDummy to Neutral Alchemist - Acid Bomb DummyZeus
              • Unit - Add a 10.50 second Generic expiration timer to SoupDummy
              • Custom script: call RemoveLocation (udg_Point[4])
            • Else - Actions
      • Custom script: call DestroyGroup (udg_SoupGroup)
      • Wait 10.10 seconds
      • Unit Group - Pick every unit in SG and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) has buff Poison Soup) Not equal to True
            • Then - Actions
              • Unit Group - Remove (Picked unit) from SG
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is in OmniG) Not equal to True
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) is in DestG) Equal to True
                    • Then - Actions
                      • Animation - Change (Picked unit)'s vertex coloring to (50.00%, 50.00%, 50.00%) with 0.00% transparency
                    • Else - Actions
                      • Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                • Else - Actions
            • Else - Actions
-the dummy is an enemy of the picked unit but not a problem because the spell can be casted by any unit to any target as the targets allowed are: Air,Ground,Organic

-the problem is not with the wait the problem is with the dummy!
 
Level 20
Joined
Aug 13, 2013
Messages
1,696
Use a seperate point or location in your dummy and the position of dying unit. Store picked unit into the variable, You must store the picked unit "DummyZeus" and used it in ITE Condition block inside the unit group block in "Unit Type of (....)". I don't know if there's anywrong in the trigger but is this a complete trigger?. Use triggering player instead of Owner Of Killing Unit. The wait is too much longer and maybe the unit is overwritten because of wait. Where di you use this or set this?:
  • ((Picked unit) is in OmniG) Not equal to True
. Use BJDebugMsgs to detect if the SG Group is working properly with waits.
 
Status
Not open for further replies.
Top