• 🏆 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] Meat Hook make the dead get alive? whats wrong lol :P

Status
Not open for further replies.
Level 19
Joined
Feb 15, 2008
Messages
2,184
this is the triggers.

[
  • Hook Table
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set PH_Table = (Last created hashtable)
  • Hook
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Power Hook
    • Actions
      • -------- ----------------------- --------
      • -------- Index System --------
      • -------- ----------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PH_Index[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Hook Loop <gen>
        • Else - Actions
      • Set PH_Index[1] = (PH_Index[1] + 1)
      • Set PH_Index[2] = (PH_Index[2] + 1)
      • -------- ----------------------- --------
      • -------- Spell Settings --------
      • -------- ----------------------- --------
      • Set PH_Counter[PH_Index[2]] = 0
      • -------- ----------------------- --------
      • -------- Points for angle --------
      • Set PH_Cast_Point = (Position of (Triggering unit))
      • Set PH_Target_Point = (Target point of ability being cast)
      • -------- ----------------------- --------
      • -------- Caster --------
      • Set PH_Caster[PH_Index[2]] = (Triggering unit)
      • Unit - Pause PH_Caster[PH_Index[2]]
      • Animation - Play PH_Caster[PH_Index[2]]'s attack animation
      • -------- ----------------------- --------
      • -------- Angle for hook --------
      • Set PH_Hook_Angle[PH_Index[2]] = (Angle from PH_Cast_Point to PH_Target_Point)
      • -------- ----------------------- --------
      • -------- Hook (Dummy) --------
      • Set PH_Near_Point = (PH_Cast_Point offset by 100.00 towards PH_Hook_Angle[PH_Index[2]] degrees)
      • Unit - Create 1 Hook for (Owner of PH_Caster[PH_Index[2]]) at PH_Near_Point facing Default building facing degrees
      • Set PH_Dummy[PH_Index[2]] = (Last created unit)
      • -------- ----------------------- --------
      • -------- Things needed for spell to work fine --------
      • Set PH_Hooked_Is[PH_Index[2]] = False
      • Set PH_Hooked_Unit[PH_Index[2]] = No unit
      • -------- ----------------------- --------
      • -------- Removing leaks --------
      • Custom script: call RemoveLocation(udg_PH_Near_Point)
      • Custom script: call RemoveLocation(udg_PH_Cast_Point)
      • Custom script: call RemoveLocation(udg_PH_Target_Point)
      • -------- ----------------------- --------
      • -------- Adjustable settings --------
      • -------- ----------------------- --------
      • -------- Damage and Hook Distance --------
      • Set PH_Damage = (250 x (Level of (Ability being cast) for PH_Caster[PH_Index[2]]))
      • Set PH_Distance = (20 + (10 x (Level of (Ability being cast) for PH_Caster[PH_Index[2]])))
      • -------- ----------------------- --------
      • -------- ----------------------- --------
  • Hook Loop
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • For each (Integer PH_Index[3]) from 1 to PH_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PH_Counter[PH_Index[3]] Less than PH_Distance
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to False
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Moving hook and creating effects --------
                  • -------- ----------------------- --------
                  • -------- Counter incrasing --------
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] + 1)
                  • -------- ----------------------- --------
                  • -------- Set Locations and move Hook dummy --------
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards PH_Hook_Angle[PH_Index[3]] degrees)
                  • -------- ----------------------- --------
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • Unit - Create 1 Effect for (Owner of PH_Caster[PH_Index[3]]) at PH_Dummy_Point[PH_Index[3]] facing PH_Hook_Angle[PH_Index[3]] degrees
                  • Unit - Turn collision for (Last created unit) Off
                  • Hashtable - Save Handle Of(Last created unit) as PH_Counter[PH_Index[3]] of PH_Index[3] in PH_Table
                  • -------- ----------------------- --------
                  • -------- Hooking enemy unit --------
                  • -------- ----------------------- --------
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 100.00 of PH_Hook_Point[PH_Index[3]] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of PH_Caster[PH_Index[3]])) Equal to True))) and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) is Magic Immune) Equal to False
                          • PH_Hooked_Is[PH_Index[3]] Equal to False
                        • Then - Actions
                          • Set PH_Hooked_Unit[PH_Index[3]] = (Picked unit)
                          • Set PH_Hooked_Is[PH_Index[3]] = True
                          • Unit - Pause (Picked unit)
                          • Unit - Turn collision for (Picked unit) Off
                          • -------- ----------------------- --------
                          • -------- Deal damage --------
                          • Unit - Cause PH_Caster[PH_Index[3]] to damage (Picked unit), dealing (Real(PH_Damage)) damage of attack type Spells and damage type Lightning
                          • -------- ----------------------- --------
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
                  • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
                  • -------- Leaks Removed --------
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • -------- No unit hooked? --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Counter[PH_Index[3]] Equal to PH_Distance
                    • Then - Actions
                      • Set PH_Hooked_Is[PH_Index[3]] = True
                      • Unit - Unpause PH_Caster[PH_Index[3]]
                    • Else - Actions
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to True
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Moving Hook back --------
                  • -------- ----------------------- --------
                  • -------- Counter decrasing --------
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] - 1)
                  • -------- ----------------------- --------
                  • -------- Setting locations to move Hook dummy and hooked unit --------
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards (PH_Hook_Angle[PH_Index[3]] - 180.00) degrees)
                  • -------- ----------------------- --------
                  • -------- Destroy effect of hook --------
                  • Set PH_Effect = (Load (PH_Counter[PH_Index[3]] + 1) of PH_Index[3] in PH_Table)
                  • Unit - Kill PH_Effect
                  • Unit - Remove PH_Effect from the game
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • -------- ----------------------- --------
                  • -------- Moving hooked unit --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Move PH_Hooked_Unit[PH_Index[3]] instantly to PH_Dummy_Point[PH_Index[3]]
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
                  • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
                  • -------- ----------------------- --------
                  • -------- Leaks Removed --------
                  • -------- ----------------------- --------
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Counter[PH_Index[3]] Equal to 0
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Removing hook and unpause caster --------
                  • -------- ----------------------- --------
                  • Unit - Kill PH_Dummy[PH_Index[3]]
                  • Unit - Remove PH_Dummy[PH_Index[3]] from the game
                  • Unit - Unpause PH_Caster[PH_Index[3]]
                  • Animation - Reset PH_Caster[PH_Index[3]]'s animation
                  • -------- ----------------------- --------
                  • -------- Unpause Hooked unit --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Unpause PH_Hooked_Unit[PH_Index[3]]
                      • Unit - Turn collision for PH_Hooked_Unit[PH_Index[3]] On
                    • Else - Actions
                  • -------- ----------------------- --------
                  • -------- Spell Ending --------
                  • -------- ----------------------- --------
                  • Set PH_Index[1] = (PH_Index[1] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Index[1] Equal to 0
                    • Then - Actions
                      • Set PH_Index[2] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
            • Else - Actions
[/box]


somethign is wrong because when i hook a dead unit/hero he comes alive O:
 
Level 7
Joined
Mar 6, 2006
Messages
282
This says you can't hook dead units.

  • Unit Group - Pick every unit in (Units within 100.00 of PH_Hook_Point[PH_Index[3]] matching ((((Matching unit) is alive)
Also, nothing here revives a unit or changes it's life (idk if that works) so it must be another trigger in your map.

Try disabling your other triggers and see if it still happens.
 
Status
Not open for further replies.
Top