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

[Solved] HERO

Level 4
Joined
Mar 7, 2024
Messages
39
as shown in the picture, can you help me with my hero /RS from 1 time to 10 times is a level 250 request, and 11 times to 20 times will be a level 300 request, and 21 times or more will be a level request 400 requests, just like in the game MU online.
( help me. When a champion uses an item with (crit, bash), he will have a 30% chance to deal damage to enemies in a straight line similar to the Shockwave spell. )
RS.PNG
.
 
Last edited:

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,557
Does each Player control a single Hero?

If so, first thing you need to do is keep track of each player's Hero using a Unit array variable:
  • Events
    • Unit - A unit Enters (Playable map area)
  • Conditions
    • ((Triggering unit) is a Hero) Equal to True
    • Player_Hero[(Player number of (Owner of (Triggering unit))] Equal to No unit
  • Actions
    • Set Variable PN = (Player number of (Owner of (Triggering unit))
    • Set Variable Player_Hero[PN] = (Triggering unit)
^ Change the Event to match when a Hero is chosen. This depends on how your map works, maybe you buy your Hero from a Tavern or maybe you use Regions, I don't know your map so you'll need to figure that out.

Once that's done, all of your other triggers can reference the Player_Hero variable for any Player at any time.
Player_Hero[1] = Player 1's hero
Player_Hero[2] = Player 2's hero
Player_Hero[3] = Player 3's hero

Now you can easily reference their Hero when you type your chat message:
  • Events
    • Player - Player 1 (Red) types a chat message containing /rs as An exact match
    • Player - Player 2 (Blue) types a chat message containing /rs as An exact match
    • Player - Player 3 (Teal) types a chat message containing /rs as An exact match
  • Conditions
    • (Hero level of Player_Hero[(Player number of (Triggering player))]) Greater than or equal to 250
  • Actions
    • Set Variable PN = (Player number of (Triggering player))]
    • Hero - Set Player_Hero[PN] Hero-level to 1, Hide level-up graphics
    • Unit - Move Player_Hero[PN] instantly to (Center of Region 000 <gen>), facing Default building facing degrees
    • ...
This trigger will work for every single Player in the game as long as you've added them to the Events.

Variables:
Player_Hero = Unit (array)
PN = Integer
 
Last edited:
Level 4
Joined
Mar 7, 2024
Messages
39
Does each Player control a single Hero?

If so, first thing you need to do is keep track of each player's Hero using a Unit array variable:
  • Events
    • Unit - A unit Enters (Playable map area)
  • Conditions
    • ((Triggering unit) is a Hero) Equal to True
    • Player_Hero[(Player number of (Owner of (Triggering unit))] Equal to No unit
  • Actions
    • Set Variable PN = (Player number of (Owner of (Triggering unit))
    • Set Variable Player_Hero[PN] = (Triggering unit)
^ Change the Event to match when a Hero is chosen. This depends on how your map works, maybe you buy your Hero from a Tavern or maybe you use Regions, I don't know your map so you'll need to figure it out.

Once that's done, all of your other triggers can reference the Player_Hero variable for any Player at any time.
Player_Hero[1] = Player 1's hero
Player_Hero[2] = Player 2's hero
Player_Hero[3] = Player 3's hero

Now you can easily reference their Hero when you type your chat message:
  • Events
    • Player - Player 1 (Red) types a chat message containing /rs as An exact match
    • Player - Player 2 (Blue) types a chat message containing /rs as An exact match
    • Player - Player 3 (Teal) types a chat message containing /rs as An exact match
  • Conditions
    • (Hero level of Player_Hero[(Player number of (Triggering player))]) Greater than or equal to 250
  • Actions
    • Set Variable PN = (Player number of (Triggering player))]
    • Hero - Set Player_Hero[PN] Hero-level to 1, Hide level-up graphics
    • Unit - Move Player_Hero[PN] instantly to (Center of Region 000 <gen>), facing Default building facing degrees
    • ...
This trigger will work for every single Player in the game as long as you've added them to the Events.

Variables:
Player_Hero = Unit (array)
PN = Integer
THANK YOU ^^ . CAN YOU DO THIS? ( When a champion uses an item with (crit, bash), he will have a 30% chance to deal damage 5xstr to enemies in a straight line similar to the Shockwave spell.)
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,557
Here's some useful systems for helping you create what you described:

This system detects when damage is dealt (like when an attack hits an enemy). You can use this to trigger your own custom Crit/Bash that does whatever you want:

This system could be used to create a custom Shockwave missile or any kind of Missile you want:
You could use these two systems together to create what you described.


Also, here's a system dedicated to creating custom Shockwaves:

And here's how you can modify the damage of an Ability like Shockwave to use Strength with a basic trigger:

Note that some of these require you to be on a later patch of Warcraft 3.
 
Last edited:
Top