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

Making a beacon system

Level 9
Joined
Jul 24, 2007
Messages
308
Making a beacon system


This system is a beacon system, which activates when a unit goes near it, the beacon will explode and give a signal about the triggering unit's location.

Well, here we begin
First go to your object editor, then on units, Neutral Hostile, Campaign, choose the unit Land Mine : here edit his model, name, and stuff, dont forget to remove the ability "AOE-Damage Upon Death", make it only "Mine - Exploding", know that this unit will be the unit who will be the Beacon.

Then, still on the object editor, go to Abilitys, then on Special :
Click on the ability "Mine - Explode", make cast range = 1500, and invisibilty, transaction time to 1.

Now on Special, Item abilitys, then select Item Place Goblin Land Mine, make the unit spawned to the beacon unit (which you made).

Now go to items, miscellaneous, and click on the Goblin Land Mine, edit its name, charges, price and stuff, make his ability only this one: "Item Place Goblin Mine"

Now put some of these items in the map, then go to the Trigger Editor:
Add this trigger :

  • Beacon
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Beacon
    • Actions
      • Set DyingLocation = (Position of (Dying unit))
      • Set UnitGroup = (Units within 1500.00 of DyingLocation)
      • Set Player_Group = (All allies of (Owner of (Dying unit)))
      • Set A_Point = (Position of (Random unit from UnitGroup))
      • Cinematic - Ping minimap for Player_Group at A_Point for 5.00 seconds
      • Game - Display to Player_Group the text: Beacon detected a s...
      • Custom script: call DestroyForce(udg_Player_Group)
      • Custom script: call RemoveLocation(udg_A_Point)
      • Custom script: call DestroyGroup(udg_UnitGroup)
      • Custom script: call RemoveLocation(udg_DyingLocation)
Beacon is the unit name which you made in the begin
DyingLocation is a point variable
UnitGroup is a unitgroup variable
Player_Group is a player group variable
A_Point is a point variable

Here is what was done in the trigger:
When the beacon died, we took its location "DyingLocation", then we choose a unitgroup that contains ALL units w/1500 range around the beacon (beacon = died unit)
, then we choose a player group (allies of owner of beacon), then we made a point (A_Point) which takes the location of a random unit of the chosen unitgroup, then, we ping the minimap on location (A_Point), and we can give a message to inform the players, then the custom scripts are used to remove leaks.


Know that the beacon only detects enemys, will show a text and a ping on minimap when its exploded, the ping location will be above the unit who came near the beacon.

Congratulations, you just made a beacon system.
 
Last edited:
Level 22
Joined
Feb 26, 2008
Messages
891
This tutorial is a bit simplistic. It does give a fairly good presentation of the basic idea, however.

For improvement, I would suggest:

1. Go more in-depth and see if you can come up with some more you can do with beacons to add to your tutorial and other ways they can be used in maps.

2. Fix up a few grammar/syntax errors that you have in your tutorial.

3. I think it would be a good idea to go through your trigger and explain it a bit better than you do here. Show people what it's doing.
 
Top