• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Septimus Basic Tutorial

Level 31
Joined
May 3, 2008
Messages
3,154

Septimus Basic Tutorial


In this tutorial, I am going to point out several basic things about World Editor. They are rather simple and basic, but do not be surprised if you don't know about them although you have acquired a vast knowledge about World Editor.

Spells


As people had know, it was rather easy to create spells. Yes, even I know about it.

However, some people might be puzzle as why their spells was lagging even though they have it optimize to the top.

Take a example of this trigger below. You can see it rather obvious the leak had been remove, but it still leak. Why?

  • Spells
    • Events
    • Conditions
    • Actions
      • Set HE_tmppt1 = (Position of (Triggering unit))
      • Unit - Create 1 for (Owner of (Triggering unit)) at (HE_tmppt1 offset by (0.00, 0.00)) facing 180.00 degrees
      • Custom script: call RemoveLocation(udg_HE_tmppt1)
The answer is rather simple, it was because it have offset leak. You remove the leak cause by the position of triggering unit, but you did not remove offset leak.

You might try to set as the trigger below you. However, this only count as 1 location. Bear in mind that offset are consider as location.

  • Spells
    • Events
    • Conditions
    • Actions
      • Set HE_tmppt1 = ((Position of (Triggering unit)) offset by (0.00, 0.00))
      • Unit - Create 1 for (Owner of (Triggering unit)) at HE_tmppt1 facing 180.00 degrees
      • Custom script: call RemoveLocation(udg_HE_tmppt1)
The right way to do would be like this.

  • Spells
    • Events
    • Conditions
    • Actions
      • Set HE_tmppt1 = Position of (Triggering unit)
      • Set HE_tmppt2 = (HE_tmppt1) offset by (0.00, 0.00))
      • Unit - Create 1 for (Owner of (Triggering unit)) at HE_tmppt2 facing 180.00 degrees
      • Custom script: call RemoveLocation(udg_HE_tmppt1)
      • Custom script: call RemoveLocation(udg_HE_tmppt2)
Remember, even starting location of player leak.

Ok, you have all leak remove. Why it still lagging after several cast?

To answer this question of yours, I going to ask you this question.

Question : Did you use dummy unit?
Answer : Yes

Question : Did you add expiration timer?
Answer : Yes

If so, how come your spells lag? :cool:

To answer this question, the problem lies at death animation type of the dummy unit.

A unit have 4 type of death.

Can't raise, Does not decay
Can raise, Does not decay
Can't raise, Does decay
Can raise, Does decay

You going to ask what does the death type got to do with the lagging of the spells.

When your dummy unit dies, it would leave a corpse in the game. The corpse would only be remove after a period of time. If you cast the spells too frequent in a matter of seconds; it would create a bunch of corpse.

Of course, the corpse are invisible since you might had set it to .mdx path.

Each death type have different result, however to most suitable death type for a dummy unit would be "Can't raise, Does not decay".

Why should you use "Can't raise, Does not decay" death type for dummy unit?

This is to prevent the dummy unit from able to be raise into skeleton and have it's corpse remove from the game immediately after it's death.

To change the death type, simply go to object editor to change it.

attachment.php


Map


I going to start off with hotkey.

What is hotkey?

Hotkey is a key that we could use to execute a action without the need to move our cursor into the icon to click on it.

Why hotkey is important?

Hotkey is important because it saves time and fast. In certain map generic such as AOS, Hero Arena and Tower Defense; speeds play a crucial roles on it and the lack of hotkey would gradually slow down a player performance.

Hotkey consists of 2 type of standard. The blizzard standard and the user standard.

What makes this 2 standard difference?

Blizzard standard hotkey are show in the ability title. For example, if I have a ability called "Storm". The hotkey would be show as "Storm" (Notice the colour?).

However, the user standard hotkey are show outside the ability title with a bracket on it. If I have a ability called "Frost"; it would be show as "Frost (Q).

Blizzard standard hotkey are difficult to be use due to the keyboard key distance.

For example, if the heroes have 4 ability with the hotkey for each ability at W/F/N/L; it would surely be difficult for me to press the "W" key and other key right away to F, N and L.

However, user hotkey are easy since the key are close to each other and it was usually set at Q/W/E/R or Z/X/C/V.

If you want your hotkey to look professional, follow the blizzard standard. If you want your hotkey easy to be use by player, use the user standard.

What is the hotkey colour?

Hotkey colour are yellowish-orange, never ever use other colour for it.

The colour code for yellow is |cffffcc00Yellow|r.

The main reason why this colour is recommended is because it was more visible and other colour could represent other matters.

For example, red colour are usually refer to warning while green are refer to hint.

Hotkey consists of three category.

Learn - This hotkey only for hero learning ability.
Normal - A normal hotkey that are usually use to activate ability, purchase item and etc etc.
Turn off - Usually use for ability that could be activate/deactivate at the player will such as immolation and mana shield.

Only passive ability and item recipe does not require hotkey. Making a hotkey for it would make your map look terrible.

Where is hotkey located? It was located at object editor.

attachment.php


What is hotkey clash?

When you have 2 or more ability, item, upgrade and etc etc that are using the same hotkey. It would only execute the object that are at the top of the button list.

This list of hotkey not recommend to be use to avoid hotkey clash.

Unit


M - This hotkey is for movement
S - This hotkey is for stop
H - This hotkey is for hold position
A - This hotkey is for attack (Can be use if the unit does not have attack function)
P - This hotkey is for patrol
B - This hotkey is for building (For peasant only)
O - This hotkey is for learning ability (For heroes only)

Tower


A - Only for defensive tower
S - Only for defensive tower
U - This hotkey are recommend for upgrade tower ability.

Shop


U - For select hero

Now that you know about hotkey. I going to give a further indepth for tooltips description.
 
Last edited:
Level 6
Joined
Sep 13, 2008
Messages
261
It's an ok tutorial, but your grammar etc is terrible. I know english isn't your primary language so I'll pm you a better version.
 
Level 17
Joined
Jun 17, 2007
Messages
1,433
The right way to set a trigger are this example below.

  • Spells
    • Events
    • Conditions
    • Actions
      • Set HE_tmppt1 = ((Position of (Triggering unit)) offset by (0.00, 0.00))
      • Unit - Create 1 for (Owner of (Triggering unit)) at HE_tmppt1 facing 180.00 degrees
      • Custom script: call RemoveLocation(udg_HE_tmppt1)
Remember, even starting location of player leak.
That was is just as bad as the original. You need two location (point) variables to properly clear it of leaks.


  • Spells
    • Events
    • Conditions
    • Actions
      • Set HE_tmppt1 = Position of (Triggering unit)
      • Set HE_tmppt2 = (HE_tmppt1) offset by (0.00, 0.00))
      • Unit - Create 1 for (Owner of (Triggering unit)) at HE_tmppt2 facing 180.00 degrees
      • Custom script: call RemoveLocation(udg_HE_tmppt1)
      • Custom script: call RemoveLocation(udg_HE_tmppt2)
 
Level 31
Joined
May 3, 2008
Messages
3,154
Rule or not, disable your signature and fix your grammar.

Don't worry about the grammar. As for the siggy, I am waiting for pyritie.

Also, the name just states that the tutorial is simple, but nothing of what it covers, which isn't that much, either.

It cover the basic stuff that somebody might not know about it. I don't need to state what is cover inside because they would know upon reading it. The title already indicate it was basic.

Hotkeys arent colored with pure yellow.

Sure, you can use other colour. But then again, other colour are more suitable for other criteria (Going to further explain the colour later on).

That was is just as bad as the original. You need two location (point) variables to properly clear it of leaks.

As far as I know, it was counted as 1 location. I would ask somebody to verify it.
 
Level 6
Joined
Sep 13, 2008
Messages
261
You don't understand my conversation with hvo busterkomo.

And the tutorial doesn't said you need to create 2 variable (1 for offset and another for the unit position).

I understood what you were talking about
It states location twice in jass so you have to set them both to variables and remove them.

JASS:
OffsetLocation takes location loc, real dx, real dy returns location
 
Top