Wc3C.net (http://www.wc3c.net/forums.php)
-   General Development (http://www.wc3c.net/forumdisplay.php?f=189)
-   -   Handy WE Tips (http://www.wc3c.net/showthread.php?t=56334)

Panto 05-29-2004 08:15 PM

Handy WE Tips
This thread is composed of information compiled from a similar thread started by Whitehorn in the Triggers and Scripts forum, focusing on information specific to the General Development forum. I will attempt to keep this stickied thread current by incorporating suggestions on regular basis and cleaning up the posts. Please make all suggestions in this thread; don't post other threads about it and please don't PM me with the suggestions. If a topic is sufficiently large, I'll give it its own post in this thread and link to it from the first post. Note that this is not a source of tips for triggering.

Navigating in the World Editor
To manipulate the camera in the main World Editor window:
To rotate the camera, hold CTRL and the right mouse button and move the mouse. Move right to rotate clockwise and left to rotate counter-clockwise. Move up to rotate the camera up, and down to rotate down.
The mousewheel zooms in and out.
Contributed by Whitehorn.

In the distance in the world editor, there is a "blackness". This is because it does not show the map after a certain distance to conserve memory. If you need to view a certain distance away, you can hold down CTRL and move the mousewheel to change the distance at which the "blackness" starts. Moving the mousewheel forward brings the "blackness" closer, while moving backward pushes it away.
If you don't have a mousewheel, hold CTRL and SHIFT and then press the up or down arrows to change this in the same way.
Contributed by Milkman and Gitlich.

To use game fog and see it in the WE, go to Scenario>Map Options and select "Use Terrain Fog", and then go to View>Fog Effects.
Contributed by Milkman.

To view the entire map as from an eagle's eye, go to Advanced>View Entire Map. Be warned, doing this puts a large amount of strain on your computer, since it's showing every element of the map at the same time. If you try this on a slow computer, it may lag too badly or freeze. Doing this is only recommended if you want to get a screenshot of your complete map.
Contributed by Aznwhore and nathanmx.

To view a camera's motion while in the editor, select it in the Camera Palette. This lets you avoid having to play the map for a simple test.
Contributed by nathanmx.

Object Editor Tips
To copy objects (units, abilities, doodads, etc.) between maps, you can simply copy-and-paste. Open both maps in the World Editor, open the Object Editor, and select the object that you wish to copy. Right-click on the unit on the left (in the "tree") and select "Copy Unit" (or "Copy Doodad", etc.).
Switch to the other map using the Window menu. Right-click in the tree and select "Paste Unit".
If you're pasting a unit with custom abilities, you'll want to have copied the abilities over first, because if you don't, the new map won't be able to find them when you copy over the unit, and then you'll have to set them manually later.
Contributed by Whitehorn.

To make new hero units, create a new custom unit using an existing hero as the base. Change the unit Stats, Art, Pathing, etc., to match the unit that you want to be a hero. Possibly the most critical field to change is "Art - Model File", which defines the model that the hero unit uses.
Contributed by Whitehorn.

To use a specific variant of a doodad model that has multiple variations, use the file path of the doodad, but add the variation number followed by .mdl at the end. The WE automatically adds these variations to the path when the doodad is set for multiple variations, but many other objects, like units, don't have support for multiple variations.
Contributed by |LMM|Duff_Man.

If you need to see the object id's for whatever reason, you can make them appear in the Object Editor by hitting CTRL+D or going to View>Display Values As Raw Data. This allows you to use the object id for things like spell tooltips, as well as for other possible uses.
Contributed by BANE.

If you're selecting a model for an object or spell effect, you can preview the model by using a combination of the Object Editor and the main WE window. In the Object Editor, under the object that you want to change, go to the model selection and change it to a model that you wish to preview. Switch back to the main WE window, and the model will appear in the window on the middle of the left side. This allows you to rotate and position the model to see it in any fashion, and lets you select the different animations that the model has.
Contributed by nathanmx.

When editing a field in the object editor, you can make it ignore its hardcoded boundaries by holding SHIFT while double-clicking on it. This will allow you to enter negative values as well as values above any upper limit set by the game designers. Bear in mind, however, that lots of abilities won't know how to use values outside their set limits properly. Feel free to experiment.
Contributed by AFB-DieHard.

In order to properly set an icon in the command card for any kind of object, it's necessary to understand the button matrix. The command card in the lower-righthand corner of the screen has four buttons across and three buttons down. However, the numbers of these buttons start with 0 instead of 1. Therefore, the x-axis (left to right) buttons are 0, 1, 2, 3 and the y-axis (top to bottom) buttons are 0, 1, 2. By way of explanation, the smashed orc in the following diagram is in position 1,2 (x=1, y=2).

Contributed by Panto.

You can set the color for a buff tooltip by simply using a color code in the field "Text - Tooltip". If, for instance, you input "|cff00ffffIce Floes|r |nType: |cffffff00Elemental|r", the result in game would look like this:
Ice Floes
Type: Elemental
Level 1
Contributed by Pyrogasm.

When working with real values and object-editor inserts in tooltips, say you have the value "Duration - Level 1 - 1.03"
  • Using <A031,Dur1> on a real number rounds it to an integer (Result: "1").
  • Using <A031,Dur1,%> multiplies it by 100 (Result: "103").
  • Using <A031,Dur1,.> shows it as a real value (Result: "1.03").
Contributed by cohadar.

When copying units between maps, open up the campaign editor, go to objects and paste all the units you want to copy from the current map into another one. Then open up that map and copy all the units from the campaign editor into the object editor. Saves some time.

If you want to copy things manually, when copying ojbect/trigger data across maps, the correct order of things is: Buffs; Abilities; Upgrades; Units, Items, Destructables, and Doodads; Variables; Triggers. If you copy things over in this order you won't end up with any invalid triggers, abilities with unknown buffs, and units with unknown abilities.
Contributed by Taur and Pyrogasm, respectively.

Turning the field Editor - Categorization - Campaign: True of a hero will make the preselection info display his proper name instead of the hero/nit name.

The field Stat - Priority represents a unit's status in a unit group selection. The unit with the hightest priority value will be automatically be highlighted in unit group selection first. Usually, heroes have highter priority value than unit. Priority value issues can be annoying if, for instance, the secondary character of your RPG map can be hightlighted over the main character.
Both contributed by Callahan.

Turn a unit into a hero, and vice versa (Requires NewGen)
Go to your Grimoire menu, and click on the "Enable object editor hack". Now go to your object editor. Next, click Create Custom Unit. Click on the peasant, name him something and click "ok". Now there should come a box saying something with the raw code of the peasant. There should stand "'h000'". Now, change the h to H, and click "ok". It is now a hero.

This can be done the other way around too.
Contributed by RoD I.

Map-Making Tips
To raise and lower doodads in the map, hold CTRL and press Page Up or Page Down.
Contributed by Milkman.

If you want to change the location of a doodad which has had its height changed manually, uncheck Advanced>Reset Fixed Object Heights, or else it will snap back to the level of the terrain.
Contributed by LegolasArcher.

To make rivers and bodies of water with smooth edges, make sure that Advanced>Enforce Water Height Limits is unchecked, and then paint deep water over the area where the river will be. Then, paint over the water using the "Increase One" terrain tool. Now you have plain ground with water underneath it (crazy!), so you can use the "Lower" tool to slope the ground into the water, making a nice river.
Contributed by Milkman.

You can make a river that appears to be flowing rapidly by placing Waterfall doodads over it and stretching them so that the water rushes quickly sideways.
Contributed by BananaTwist.

You can place doodads on top of each other by making them ignore collision. This can be accomplished by holding SHIFT while placing the doodad. However, two doodads cannot have the same center point.
Contributed by Dark Illidan and Milkman.

You can change the rotation of any object on the map by selecting the object, holding down CTRL and the left mouse button, and moving the mouse. However, some objects are only allowed to face in a few directions.
Contributed by Wyvern_8, SoulReaver, and Panto.

Destructible doodads can be set as dead by selecting the doodad and hitting DELETE. These doodads can be resurrected with triggers.
Contributed by Voi.

You can deselect anything that you have selected by pressing SPACE. Pressing SPACE again will re-select what you have just deselected.
Contributed by Milkman and Panto.

To quickly move an object or region, select it, hold ALT, and then left-click wherever you want it to be moved to.
Contributed by Mighty3k.

In the object editor when editing spell orderstrings instead of just double clicking to open the Orderstring dialog press Shift + double click and you can type in an orderstring instead of selecting one, you can also type in a custom orderstring.
Contributed by The_Elite.

Good Mapping Practices
Save and rename your map, or make a backup copy in a different directory, often. If anything goes wrong (like your program crashes or computer freezes), this allows you to start working again without much data lost. Since the World Editor can crash while you're saving your map and make the map file unreadable, it's wise not to just save over the same map file all the time.
Contributed by BANE and Panto.

Always right click on things! There's tons of useful stuff that you'll never see, just waiting to make life easier. For example, when editing skills, you can use the right-click menu option "Auto Fill Levels" to increment information automatically.
Contributed by BANE.

If you've got a slow computer and are experiencing lag problems in the WE, sometimes deleting the player start locations will clear this up for you. Just be sure to add them back in before you're done.
Contributed by Wyvern_8.

Try out new maps and new tools all the time. Seeing how other mappers and programmers do things can open your mind to new ideas for spells and systems. Even if you can't access a map, just seeing how something happens in-game can give you good ideas.
Contributed by BBDino.

Don't try to make a map based on what you think will be popular. There's no gaurantee that it will, even if you do a good job. Make maps that you think are fun to yourself, and do things that you enjoy doing. This may be the key to having fun with the map-making process.
Contributed by BBDino.

Make sure that your World Editor does not auto-save every 5 minutes.
Contributed by Whitehorn.

If your map becomes corrupted for any reason, remember that using the File>Test Map feature saves the map to a separate file, and you can get your map back from that.
Contributed by zotax.

While using the File>Test Map feature, the map will use the same random "seed" every time that you play it, which means it won't really be random at all. You can set it to use a truly random "seed" by going to File>Preferences>Test Map and unchecking "Use Fixed Random Seed".
Contributed by BBDino.

Don't work on one map for too long at a time; take breaks.
Contributed by TheGameFreak.

Look up hotkeys for yourself in the File>Configure Controls menu. You can also change them and define things that don't have default hotkeys here. However, this menu is only available for Windows 2000 and XP.
Contributed by nathanmx and Gitlich.

Ctrl+d turns on the object ID for everything in the Object Editor.
Contributed by BANE.

x, in the main WE window, changes to Letterbox view.
Contributed by nathanmx.

v, in the main WE window, changes to Game view.
Contributed by Aznwhore.

c, in the main WE window, changes to the Camera view.
Contributed by Aznwhore.

CTRL+SHIFT+c, in the main WE window, snaps to the Camera angle, without changing to Camera view.
Contributed by Skwee.

Print Screen takes a screenshot either in the main WE screen or in-game. Screenshots can be pasted into an image program or accessed as files from the Warcraft 3\Screenshots\ directory.
Contributed by Panto.

CTRL+a selects every object on the map of the type of the palette which you're using.
Contributed by johnfn and Panto.

a, in the main WE window, hides and shows the palettes.
Contributed by kaldoreielf.

Ctrl+Shift+~ will select all doodads of the type you currently have selected. This makes it easy to say, copy all ground pathing blockers in the map and remove them. Especially useful for doodads which are hard to select when around other doodads.
Contributed by Ryude.

Ability ExplanationsFAQ and Program Links

Kojiro 09-23-2004 06:43 AM

Cluster Rockets ability explanation
Alright... Let me just explain my theory to you.
Heres my formula for the cluster rockets damage.

Damage Interval (Can't Remember the name exactly)
Divided by
Effect Time
Multiplied by
Damage of the spell itself
Effect time will say how long the damage keeps being done for, so if you want to make a more smooth decay of life and watch their life drain in a constant stream, set the Damage Interval to a low amount, but you'll have to adjust the duration to fit the effects of the number of missiles to how long it'll take to drain the life... to make it look better aestheticly.

The number of rockets, I belive, mean acctually nothing at all.
You can add as many rockets as you can... (I dunno what the max number is) You can use 40 rockets, but all the rockets are released in a certian interval, so the missile speed means nothing either. Far as I know, the speed is adjusted based on how close you are to your target, this way the rockets try to fit the Effect Time. However, if you put a buttload of a rockets in, and even if you're far away, the speed of the rockets cannot be lower than a certian amount.

*Takes a Breath*

If your effect time is only 1.01 seconds.
And you have 50 rockets or whatever.
After 1.01 seconds, all of your damage will be done, but your rockets will still be streaming.
So, your effect time should be matched to how fast you know the missiles will be able to be released.

Hope that makes some vague assemblance of sense to people.
I think my theory is right... But, I'm not sure. I mean, why would they put in a missile speed if it doesn't do anything?

Btw, the hero and normal unit durations, as I'm sure everyone knows, are the length of the stun durations.

Panto 05-31-2006 09:20 PM

Steal ability explanation
An overlooked ability is the Wand of Mana Stealing's "Steal" ability.

Seeking something that would instantly steal life from a target and give it to the caster, I tested this ability out. There are five data fields, and this is what I found out:


Data - Leave Target Alive
        default: True
        When true, this ability steals mana from the target as one would expect.
        When true, this ability damages the caster instead of healing it.
        When false, this ability heals the caster as one would expect.
        When false, if "Life Converted to Life" is not 0.00, this ability cannot be cast unless the caster is at less than full health.
        When false, if "Life Converted to Life" is not 0.00, this ability automatically kills the target regardless of how much damage its received.

Data - Life Conversion As Percent
        default: true
        When true, this ability steals exactly the listed amount of life.
        When false, this ability steals the amount listed as a percent of the target's current health, which means anything greater than 1.00 is 100% and kills the target.
        When false, if "Leave Target Alive" is true, this kills the caster with every value above and below 1.00 that I have tested.

Data - Life Converted to Life
        default: 0.00
        When left at 0.00, the caster never experiences healing or damage.

Data - Life Converted to Mana
        default: 50.00
        When left at 0.00, the caster never gains or loses mana, regardless of the other settings.

Data - Mana Converstion As Percent
        default: true
        When true, this ability steals exactly the listed amount of mana.
        When false, this ability steals the amount listed as a percent of the target's current mana.

In short, the field descriptions don't make a lot of sense. Furthermore, because of the nuances of the way the various aspects of life stealing work, it's unusable to steal life. Stealing mana is no problem, but there's no way to both gain instead of lose life as well as keep the target alive when it should be.

moyack 12-13-2006 03:14 AM

I've found a curious bug with devour ability. If you want to make a unit invulnerable to this ability, you can do it setting the race of this unit to Demon, and that's all!! If you want to test it, check this demo map.

PitzerMike 08-19-2007 07:20 AM

This tip by MindWorX should be included also:


Maybe in a new map testing/bug finding section.

I'd also like to mention there are some very nice tools out there that can help you find bugs. Finding crash bugs should be a piece of cake using war3err that is part of Grimoire/Jass New Gen Pack. And if you have a bug that is hard to reproduce you can use the Replay Remapper to map a replay where the bug occurs to a new version of your map where you have added debug text messages. Also logging debug info to a gamecache and extracting the info using the CacheConv tool is sometimes a good way to find bugs (especially in ai scripts since those are hard to debug).

d07.RiV 05-12-2008 06:41 PM

I think you didn't mention it, but you definetly should uncheck Window->Brush List because it makes object editor lag a LOT when editing units.

Panto 05-13-2008 03:54 AM

That's under the link to "Reducing WE Lag".

Tom_Kazansky 07-19-2010 12:33 PM

I have a question:


When working with real values and object-editor inserts in tooltips, say you have the value "Duration - Level 1 - 1.03"

* Using <A031,Dur1> on a real number rounds it to an integer (Result: "1").
* Using <A031,Dur1,%> multiplies it by 100 (Result: "103").
* Using <A031,Dur1,.> shows it as a real value (Result: "1.03").

the "show real value", <A031,Dur1,.>, doesn't work like in the guide.
it shows 1.0 for me. 1.75 would show 1.8

what do I have to do to make it show 1.03 or 1.75?

Tot 07-19-2010 02:34 PM

try <A031,Dur1,..>

Tom_Kazansky 07-20-2010 03:47 AM

it didn't work :emote_sad:

All times are GMT. The time now is 11:48 AM.

Powered by vBulletin (Copyright ©2000 - 2019, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services