• 🏆 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!

Meat Hook And Counter Helix 1.01

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Two spells that i've tried to make in world editor , i'm a begginer in this , i will try to get better scripts in time ... but time is not on my side for now. I hope you find my spells useful.
[trigger=mh_cast]Mhcast
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Meat Hook
Actions
Set Mh_unit = No unit
Set Mh_casting_count = (Mh_casting_count + 1)
Set Pudge_pos[Mh_casting_count] = (Position of (Triggering unit))
Set Mh_casting_count = (Mh_casting_count + 1)
Set Pudge = (Triggering unit)
Set Mh_point[Mh_casting_count] = (Target point of ability being cast)
Set Mh_Angle = (Angle from (Position of Pudge) to (Target point of ability being cast))
Unit - Create 1 Meat_chain for Player 1 (Red) at ((Position of Pudge) offset by 110.00 towards Mh_Angle degrees) facing Mh_Angle degrees
Set MH_chain_count = 1
Set Mh_chain[MH_chain_count] = (Last created unit)
Unit - Create 1 Meat_chain for Player 1 (Red) at ((Position of Mh_chain[MH_chain_count]) offset by 45.00 towards Mh_Angle degrees) facing Mh_Angle degrees
Set MH_chain_count = 2
Set Mh_chain[MH_chain_count] = (Last created unit)
Trigger - Turn on Mhextend <gen>
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Mh_casting_count Greater than or equal to 5
Then - Actions
Set Mh_casting_count = 0
Else - Actions

[/trigger]
[trigger=MH_extend]Mhextend
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit - Create 1 Meat_chain for (Owner of Pudge) at ((Position of Mh_chain[MH_chain_count]) offset by 45.00 towards Mh_Angle degrees) facing Mh_Angle degrees
Set MH_chain_count = (MH_chain_count + 1)
Set Mh_chain[MH_chain_count] = (Last created unit)
Unit Group - Pick every unit in (Units within 130.00 of (Position of Mh_chain[MH_chain_count])) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is alive) Equal to True
((Picked unit) is A structure) Not equal to True
((Picked unit) is dead) Not equal to True
((Picked unit) is A structure) Equal to False
(Life of (Picked unit)) Greater than 0.00
Then - Actions
Set Mh_unit = (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of Mh_unit) Equal to (Owner of Pudge)) or (((Owner of Mh_unit) is an ally of (Owner of Pudge)) Equal to True)
Then - Actions
Unit - Turn collision for Mh_unit Off
Trigger - Turn on mhretract <gen>
Trigger - Turn off (This trigger)
Else - Actions
Unit - Turn collision for Mh_unit Off
Unit - Cause Pudge to damage Mh_unit, dealing (100.00 x (Real((Level of Meat Hook for Pudge)))) damage of attack type Spells and damage type Divine
Special Effect - Create a special effect attached to the chest of Mh_unit using Objects\Spawnmodels\Human\HumanBlood\HumanBloodKnight.mdl
Set MH_Bleed = (Last created special effect)
Trigger - Turn on mhretract <gen>
Trigger - Turn off (This trigger)
Else - Actions
Custom script: set bj_wantDestroyGroup = true
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Meat Hook for Pudge) Equal to 1
MH_chain_count Equal to 19
Then - Actions
Trigger - Turn on mhretract <gen>
Trigger - Turn off (This trigger)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Meat Hook for Pudge) Equal to 2
MH_chain_count Equal to 27
Then - Actions
Trigger - Turn on mhretract <gen>
Trigger - Turn off (This trigger)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Meat Hook for Pudge) Equal to 3
MH_chain_count Equal to 35
Then - Actions
Trigger - Turn on mhretract <gen>
Trigger - Turn off (This trigger)
Else - Actions

[/trigger]
[trigger=Mh_retract]mhretract
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit - Move Mh_unit instantly to (Position of Mh_chain[MH_chain_count])
Unit - Remove Mh_chain[MH_chain_count] from the game
Set MH_chain_count = (MH_chain_count - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MH_chain_count Equal to 0
Then - Actions
Unit - Turn collision for Mh_unit On
Special Effect - Destroy MH_Bleed
Trigger - Turn off (This trigger)
Else - Actions

[/trigger]

[trigger=Counter Helix]Counter Helix
Events
Unit - A unit Is attacked
Conditions
(Level of Counter Helix for (Triggering unit)) Greater than or equal to 1
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to 25
Then - Actions
Set Axe = (Attacked unit)
Unit Group - Pick every unit in (Units within 300.00 of (Position of (Triggering unit)) matching ((Picked unit) Not equal to (Attacked unit))) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is A structure) Not equal to True
((Picked unit) is alive) Equal to True
((Owner of (Picked unit)) is an enemy of (Owner of Axe)) Equal to True
Then - Actions
Unit - Cause (Attacked unit) to damage (Picked unit), dealing (100.00 x (Real((Level of Counter Helix for (Attacked unit))))) damage of attack type Spells and damage type Normal
Animation - Play (Attacked unit)'s spin animation
Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
Set Helix_counter = 0
Trigger - Turn on Helix <gen>
Special Effect - Destroy (Last created special effect)
Custom script: set bj_wantDestroyGroup = true
Else - Actions
Else - Actions
[/trigger]
[trigger=helix]Counter Helix
Events
Unit - A unit Is attacked
Conditions
(Level of Counter Helix for (Triggering unit)) Greater than or equal to 1
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to 25
Then - Actions
Set Axe = (Attacked unit)
Unit Group - Pick every unit in (Units within 300.00 of (Position of (Triggering unit)) matching ((Picked unit) Not equal to (Attacked unit))) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is A structure) Not equal to True
((Picked unit) is alive) Equal to True
((Owner of (Picked unit)) is an enemy of (Owner of Axe)) Equal to True
Then - Actions
Unit - Cause (Attacked unit) to damage (Picked unit), dealing (100.00 x (Real((Level of Counter Helix for (Attacked unit))))) damage of attack type Spells and damage type Normal
Animation - Play (Attacked unit)'s spin animation
Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
Set Helix_counter = 0
Trigger - Turn on Helix <gen>
Special Effect - Destroy (Last created special effect)
Custom script: set bj_wantDestroyGroup = true
Else - Actions
Else - Actions
[/trigger]


Keywords:
meat hook,pudge,counter helix,axe,dota
Contents

Just another Warcraft III map (Map)

Reviews
Bribe: No attempt at removing any of these group and location leaks, though somehow you figured out how to make the spell somewhat MUI. To go over every single leak in your script would not do much as you should be removing the leaks before...

Moderator

M

Moderator

Bribe:

No attempt at removing any of these group and location leaks, though somehow you figured out how to make the spell somewhat MUI.

To go over every single leak in your script would not do much as you should be removing the leaks before submitting something as a public resource. Please ask for help on how to make your triggers leakless in the Triggers & Scripts section: http://www.hiveworkshop.com/forums/triggers-scripts-269/
 
please post triggers... and there are already a HUGE amount of hooks here... and CH is so simple...

and please refrain from saying "i'm a begginer in this"... somehow it gives the idea, that if ever there's something wrong here, you'll be using it as an alibi, instead of persevering to learn... it gives a bad impression towards whoever says it...
 
Level 2
Joined
Apr 25, 2008
Messages
6
please post triggers... and there are already a HUGE amount of hooks here... and CH is so simple...

and please refrain from saying "i'm a begginer in this"... somehow it gives the idea, that if ever there's something wrong here, you'll be using it as an alibi, instead of persevering to learn... it gives a bad impression towards whoever says it...

don't worry i won't use it as an alibi....i started scripting spells yesterday :) , you won't see me posting this as an excuse ,i said that so that people can tell me how did i do for the first time , if i did well or not :)
 
Level 2
Joined
Apr 25, 2008
Messages
6
NOOOOOOOOOOOOOOOOOOOT AGAAAAAAAAAAINNNNNNNNNNNNNNNNNNNNNNN.............
Have you even look at spells? thousands of meat hooks. All same spells. Maybe everybody would get this as flaming or trolling but this is boring :( every 10th spells is dota spell. 2/5 because of begining.

i didn't logged in for a long time so i didnt knew exactly how many mh spells are :)
could be seen... but idk why you even create acc if you're going to leave hive for like 2 years and then come back :( that long inactivity hurts :D :goblin_wtf:

:) well if i wouldn't have been interested in this site i wouldn't have even created an account.
 
Last edited:
Another meat hook? ... Well, at least it's not an Omnislash :p ..
or a Kamehameha :p

First of all, you have a lot of leaks .. sort of ;p

Over here:

  • Unit Group - Pick every unit in (Units within 300.00 of (Position of (Triggering unit)) matching ((Picked unit) Not equal to (Attacked unit))) and do (Actions)
    • Loop - Actions
    • Animation - Play (Attacked unit)'s spin animation
    • Unit - Cause (Attacked unit) to damage (Picked unit), dealing (100.00 x (Real((Level of Counter Helix for (Attacked unit))))) damage of attack type Spells and damage type Normal
    • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
    • Wait 0.09 seconds
    • Animation - Play (Attacked unit)'s stand animation
    • Special Effect - Destroy (Last created special effect)
You're leaking this group.
To fix it, create a Custom script above the "Pick every unit...."

In the custom script, paste this: set bj_wantDestroyGroup = true

and also, remove that wait .. it's useless.
If you want the effect to work, create a new loop trigger
that loops every 0.03 seconds.

You'll also need a new integer variable to use as a counter.
Everytime the trigger runs, it will increase this counter by 1.

When the counter hits 10, then you'll play the caster's stand
animation, and the loop will turn itself off.

This loop trigger will be turned on after you play the attack
animation, create the effect, and deal the damage.

If you're asking why I'm telling you to make the stand animation
play when the counter is 10, it's because 10 in this case corresponds
to 0.30 seconds.

You can change the counter value at which the animation plays and
the loop turns off to any value you want, depending on how long
you want the attack animation to play.

------------------------

Now about your meat hook spell:

It isn't MUI

You need to make it so that any number of Pudges on the map
can use this spell without it bugging.
Also, another thing, make sure those chains have 0 collision ;)
If they had any collision, it would bug (try hooking a tree ;p)

To make the spell MUI, you should learn a good indexing system (Try the forums)

I couldn't elaborate anymore on how you can fix the meat hook spell for now
I'm kind of busy right now, so Good luck :)
 
actually I don't really suggest updating this since there are already a lot of hook spells here... what I suggest would be to read tutorials and practice first, maybe using the T&S section if you need help or feedback...

but if you still want to know how to make this meat hook fine, you might want to look up at the existing meat hooks here...
 
Level 2
Joined
Apr 25, 2008
Messages
6
Another meat hook? ... Well, at least it's not an Omnislash :p ..
or a Kamehameha :p

First of all, you have a lot of leaks .. sort of ;p

Over here:

  • Unit Group - Pick every unit in (Units within 300.00 of (Position of (Triggering unit)) matching ((Picked unit) Not equal to (Attacked unit))) and do (Actions)
    • Loop - Actions
    • Animation - Play (Attacked unit)'s spin animation
    • Unit - Cause (Attacked unit) to damage (Picked unit), dealing (100.00 x (Real((Level of Counter Helix for (Attacked unit))))) damage of attack type Spells and damage type Normal
    • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
    • Wait 0.09 seconds
    • Animation - Play (Attacked unit)'s stand animation
    • Special Effect - Destroy (Last created special effect)
You're leaking this group.
To fix it, create a Custom script above the "Pick every unit...."

In the custom script, paste this: set bj_wantDestroyGroup = true

and also, remove that wait .. it's useless.
If you want the effect to work, create a new loop trigger
that loops every 0.03 seconds.

You'll also need a new integer variable to use as a counter.
Everytime the trigger runs, it will increase this counter by 1.

When the counter hits 10, then you'll play the caster's stand
animation, and the loop will turn itself off.

This loop trigger will be turned on after you play the attack
animation, create the effect, and deal the damage.

If you're asking why I'm telling you to make the stand animation
play when the counter is 10, it's because 10 in this case corresponds
to 0.30 seconds.

You can change the counter value at which the animation plays and
the loop turns off to any value you want, depending on how long
you want the attack animation to play.

------------------------

Now about your meat hook spell:

It isn't MUI

You need to make it so that any number of Pudges on the map
can use this spell without it bugging.
Also, another thing, make sure those chains have 0 collision ;)
If they had any collision, it would bug (try hooking a tree ;p)

To make the spell MUI, you should learn a good indexing system (Try the forums)

I couldn't elaborate anymore on how you can fix the meat hook spell for now
I'm kind of busy right now, so Good luck :)

hey , 10x for the hints , i don't know all the mechanisms of the world editor ,there are so many ambiguous commands ,it's good to know what you have told me .
actually I don't really suggest updating this since there are already a lot of hook spells here... what I suggest would be to read tutorials and practice first, maybe using the T&S section if you need help or feedback...

but if you still want to know how to make this meat hook fine, you might want to look up at the existing meat hooks here...
well i will update it if you guys don't mind , it doesn't bother me to update the map ,i think these spells are good to start with ,and until i can do some triggers without leaks i will go for something more complicated.... i also must learn C++ and this editor has almost same way of thinking the commands, but it's also a hobby for me
 
XelM said:
well i will update it if you guys don't mind , it doesn't bother me to update the map ,i think these spells are good to start with ,and until i can do some triggers without leaks i will go for something more complicated.... i also must learn C++ and this editor has almost same way of thinking the commands, but it's also a hobby for me

it was just a suggestion... ^_^

its fine with me, ain't sure if its fine with the spell moderator, Bribe... ^_^
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
You leak locations and groups.
No form of caching computed values takes place (resulting in wasted time recomputing them).
Poorly implimented MUI with no index recycling.
Spell has been done 100s of times (even DotA uses it).

I advise learning JASS and starting again.
 
Top