| Printable Version of Topic
Click here to view this topic in its original format |
| Masters of Map Making > Mapping & Coding > Warcraft III Map Development FAQ |
| Posted by: Magos Dec 12 2003, 09:31 PM |
| Welcome to the MOMM clan FAQ! Here you will find the most commonly asked questions and their answers. This is a shorter version of what professional map makers consider the full FAQ, which is available at: http://www.elilz.com. This thread will be This thread is for viewing only. Only Mods and Admins can post. These are clickable links for easier browsing of the FAQ. The links will take you to a section or subsection of the FAQ. Please use the ARROWS at the top right-hand corner of each post to get back to the top.Contents page by FlameZoldier. [doHTML]
|
| Posted by: Magos Dec 12 2003, 09:50 PM |
| [doHTML]<a name="ObjectEditor">Object Editor Questions</a>[/doHTML] [doHTML]<a name="General">General</a>[/doHTML] Q: Why can't I enter negative numbers in the Object Editor fields? A: You can, but first you have to go to the menu "File" -> "Preferances", select the tab "General" and make sure "Allow negative real values in Object editor" is checked. Blizzard made this off by default since there is no guarantee that the map will function properly with negative values. It might even crash. Blizzard still added the option to allow it so we could play around and see what works with negative values and what doesn't. This only applies for real numbers, not integers. [doHTML]<a name="UnitRelated">Unit Related</a>[/doHTML] Q: How do I create a custom unit based on a custom unit? A: If you right-click on a custom unit and select "New Custom Unit", the new unit will in fact be based off the original unit that custom unit was based off. What you should do is select the custom unit, copy it ("Edit" -> "Copy" or Ctrl+C) then paste it ("Edit" -> "Paste" or Ctrl+V). A new unit based off the custom unit is then added. [doHTML]<a name="ItemRelated">Item Related</a>[/doHTML] Q: I want an item that casts Blizzard and some other abilities. But it doesn't work, why? A: Blizzard, Starfall, Earthquake and the like require the caster to channel the ability. Items are incapable of doing so as of now. [doHTML]<a name="DoodadRelated">Doodad Related</a>[/doHTML] Q: How do I make gates open in the other direction? A: Due to the fact that the pathing map of a doodad doesn't rotate when a doodad is rotated, the rotation of some doodads have been disabled. What you do is to enter the Object Editor and the Destructibles tab. Find the gate you wish to change, then create a new custom destructible from it. Seek out the field "Art - Fixed Rotation" then change it. When rotating it, you must rotate it 180 degrees or the pathing will not fit. If it was 270, set it to 90 (and vice versa). If it was 180, set it to 0 (and vice versa). Done! Q: Sometimes my doodads doesn't fit when placing them, like Stone Walls. What do i do? A: Some doodads have collision sizes bigger than the model. The solution is to press Ctrl + PageUp/PageDown to move the doodad up/down, and Ctrl + Number Pad 4/6 to make the doodad move Left/Right (when the doodad is selected). This will enable you to move doodads under and over ground or into each other. You can also hold Shift when placing doodads to override the pathing. Note that two doodads can never be in exactly the same place. [doHTML]<a name="AbilityRelated">Ability Related</a>[/doHTML] Q: I changed my spell from being a unit ability to a hero ability. Why doesn't it have several levels? A: You have to change the field "stats - levels" to something higher than 1. One side note: A bug (version 1.12 and below) prevents default values (non-modified, those who are black not purple) from being read properly. Don't use those. If the default value is say 10 and you still want to use 10, use a close value like 10.01. [doHTML]<a name="UpgradeRelated">Upgrade Related</a>[/doHTML] Q: I want to make caster upgrades for some units in my map. How do i do it? A: Look through the current caster upgrades and make copies for your custom casters. Be sure to change the name and stat bonuses for the upgraded forms if you don't want the current ones. If you are running an older version of Warcraft III, custom caster upgrades cannot work beyond level one. This may be fixed by installing the most recent patch. |
| Posted by: Magos Dec 12 2003, 09:54 PM |
| [doHTML]<a name="Terrain">Terrain Questions</a>[/doHTML] Q: How do I make beaches, and not just cliffs? A: There are three main ways of doing this: 1) The easy way with bad results: Do a cliff-shore with the water tool. Then use the ramp tool to make ramps into the water. Finally, use the raise/lower/smooth terrain tools to make it look better. This method is not recommended since it often comes out with ugly results, plus the line of sight is blocked if you stand in the water looking up the shore. 2) The long way: One of my favourite ways is to start the entire map with water, then using the "raise terrain" tool to raise a spot out of the water (kinda like an island). Then use the "plateau" tool with the biggest brush to cover the whole map with land again. To make a river, use the "lower terrain" tool until some water drops out. This way often gives a nice result but is very tedious to do since you have to start the map with water then fill it. Takes some time on large maps. And if you decide to have rivers after making 50% of the map, it's impossible. 3) The hard way: The final way gives a nice result, but can be hard to master and requires some training. First use the "lower terrain" tool to lower the ground a little. Then use the cliff tool to make a cliff in the middle of the hole. Then go to the menu "Advanced" and make sure "Enforce Water Height Limits" is deselected. Then use the water tool on top of the cliff and paint water where you want the lake/river to be. Notice that no cliffs are placed around the water, but the water suddenly "ends" in the mid-air. Correct this graphical flaw by using the raise/lower/smooth terrain tool at the edges until it looks fine. This method takes some time to master, but eventually gives the desired result. Q: My ship won't unload on beaches or shallow water, help! A: There is nothing you can do. Blizzard didn't give any info on whether it will be fixed. Q: How do I make good terrain? A: It is really hard to give directions on how to make nice terrain in words. It is an aestethical work, and the best way to learn is to make terrain over and over yourself. Studying other maps may help too. I've been inspired by Blizzard's maps several times, so I suggest opening up one of their maps and check out the terrain. If you look at nature, it is seemingly random and without sharp edges and flat ground. When placing cliffs I usually pick the size 1 or 2 then draw a wave-like wall where the cliff edge should be, the fill it with a larger tool. Don't make square walls. Don't think of the details at first, just make a general layout. After that is done you might wan't to do something with the relatively flat ground. The perfect tool for this is Raise/Lower/Smooth. You can even use Noise, but if you do you should use Smooth a couple of times afterwards since Noise makes really sharp and unnatural hills. Use these tools to form your terrain, make hills and pits. |
| Posted by: Magos Dec 12 2003, 09:54 PM | ||||
| [doHTML]<a name="Trigger">Trigger Questions</a>[/doHTML] Q: I'm making a custom map, but I don't want the TownHall and 5 Peasants to be created. How? A: If you look in the triggers there is one trigger named "Melee Initializaton". In it there is an action "Melee game - Create starting units (For all Players)". Remove this action. Q: I'm making a custom map, but as soon as the game starts I get a victory/defeat screen. Why? A: Check in the "Melee Initializaton" trigger again. In it there is an action "Melee game - Enforce victory/defeat conditions (For all Players)". Remove this action. To make your own victory/defeat condition, use the "Game - Victory" and "Game - Defeat" actions. Footnote: In version 1.12 and below there is a bug that causes certain interface elements (like mouse pointer and tooltips) to dissapear if the "Game - Defeat" action is called on a player that has left the game. Prevent this by doing a "Player slot" comparison on the player you wish to defeat. If it's not eual to "has left the game", then you can defeat him. Q: I have created a Leaderboard, but it doesn't show up. Why? A: The most likely reason is that you created it directly on the event "Map Initialization". Some actions doesn't work properly if that happens. The solution is to place a wait statement before you create the leaderboard. Place "Wait 0.00" just before it. You may also need to call the action "Leaderboard - Show Leaderboard" to make it show up. Q: How can I make a Hero selection system? A: One way is to place all Heroes on the map and have a region at each Hero. When a specific Hero selector (like a wisp) enters the region you remove him and creates a Hero at a certain spot. This method may not be so good since it takes up a lot of space for all the heroes and you need 1 trigger per hero (it is possible to have only 1 trigger in total, but it requires so much extra coding it aint worth it).
The Wisp is the "selector unit", "HeroRegion01" is the region for this trigger and "Paladin" is the Hero-type for this trigger (one trigger per Hero). Q: How can I make a Hero selection system like AOS and numerous other games? A: The AOS and other games use the issue target command trigger. Since you detect a selection by ordering the unit to move to/attack the Hero you need only one trigger in total (no regions needed).
The Wisp is the "selector unit" and "SpawnRegion" is where the Hero is created. You can select whichever unit type and region you want here. ToB (Tides of Blood) uses a different sort of selection mode which fires when a unit is selected, but the basic are the same. Q: But I want a really 1337 Hero selection system! A: Then check out Magos' 1337 oo 1337er Hero selection systems http://momm.seiken.co.uk/forum/index.php?showtopic=47&view=findpost&p=208. |
| Posted by: Magos Dec 12 2003, 09:54 PM | ||||
| [doHTML]<a name="JASS">Advanced Trigger Questions (JASS)</a>[/doHTML] Q: How do I create/use local variables? A: First you have to define a local variable. You do this by typing local TYPE NAME (example: local integer MyLocalInteger). Do this in a custom text trigger, or in a custom text action if you have a GUI trigger. Note that local variables must be defined before any actions in the trigger. If you place it after an action you will get a compilation error. To set a local variable, type set NAME = VALUE (example: set MyLocalInteger = 123). Local variables can only be accessed inside the current function, thus the name "local". If you run several functions at once they will each have their own local variables and will not interfere with each other. Using local variables are great if you have a Wait action in your trigger and needs to keep track of something, like "owner of(dying unit)" which can often be "forgotten" if you wait too long. Q: How do I access global variables in custom text? A: The same way you access local variables, only global variables start with udg_ in their name (example: set udg_MyGlobalVariable = MyLocalVariable). Q: Why isn't there a 'pick every item' action with matching conditions? A: Who know what Blizzard was thinking? There is a way to do this in custom JASS scripting though. The key to this lies in the function 'EnumItemsInRect' which picks every item in a region, applies a 'matching fucntion' to it then executes certain actions for the picked items. Here is the function declaration:
rect r This is the region where the item have to be inside to be picked. Use GetEntireMapRect(), GetPlayableMapRect() or some other rect-function. To get the name of the function you want to use, create a dummy function with that GUI action in it then convert to custom text. boolexpr filter Here you pass a boolean expression, which is obtained by passing a function that is applied to every item in the region to the function 'Condition'. This is the 'matching condition'. The function should take nothing and return a boolean (true if the item should be picked, false if it shouldn't). Use 'GetFilterItem()' to refer to the matching item.
Q: I have written a JASS function, but where do I place it? A: You put it at the "Custom Script Code" part. If you enter the trigger editor, that is the top part of the tree list (where the name of your map is). You can also create a new trigger, then convert it to custom text (thus getting a function that you can call from GUI triggers). It is also possible to modify blizzard.j, but then you have to import files which is kinda unneccessary. |
| Posted by: Magos Dec 12 2003, 09:55 PM | ||
| [doHTML]<a name="GeneralQuestions">General Questions</a>[/doHTML] Q: How do I make Heroes with more than 10 levels? A: Go to the menu "Advanced" -> "Gameplay Constants". When a window pops up, select "Use Custom Gameplay Constants". This lets you edit the constants instead of using the default ones. Scroll down to "Hero Maximum Level" and change it to something else than 10. Q: I'm rubbish at balancing, any tips? A: Yes, http://www.gamedev.net/reference/articles/article1765.asp written by Tom Cadwell, a Blizzard employee. Q: How do I get past hero level 5 creeping cap? A: Go to the menu "Advanced" -> "Gameplay Constants". Make sure "Use custom gameplay constants" is checked. Find "Hero XP Gained - Creep Reduction Table". Remove all fields but 1 and change it to 100 (100% EXP). Each field represents a level (first field = level 1, second field = level 2). If no more fields are found, the last one is valid for all levels beyond that. Q: Why can't I select my placed units/doodads/regions/cameras in the World Editor? A: You have to have the proper layer selected in the tool palette. If you want to select units, have the units layer selected. If you want to select doodads, have the doodad layer selected. And so on... Q: How do I reduce the World Editor Lag? A: The Editor reloads the various lists after modifying certain values (like name, icon and editor prefix). To prevent this, you go to the menu "Window" and uncheck "Brush List". This removes the tree-list in the bottom left corner. Switching off the unit pallette will also improve the Editor's performance. Another thing that might cause lag (in version 1.12 and below) is having units on top of a starting location, or having several starting locations overlapping each others. This has been largely fixed in more recent patches. Q: What are the limits in World Editor? A: These are some of the (known) limits:
A: If you activate the gem, it will turn purplish. When activated, delete a unit, and it will play the death animation and dying sound. The units may also speak when clicking on them rapidly. Other unexpected things may happen, too. Rumours say that if you click it really fast, you may get a so-called 'perfect gem'. I have no idea what it allegedly does, though, and have never been able to get it. [doHTML]<a name="AI">AI Editor</a>[/doHTML] Q: How do I tell the computer what do build or upgrade? A: Go to the "Building" tab. This is a priority list of units/buildings/upgrades. At periodical intervals the AI will go through the list from top to bottom and check what is needed to be buildt. Stuff at the top have a higher priority than stuff at the bottom. By default you can see 1 TownHall and 5 peasants in the list (assuming you've selected humans). This means that the AI will first check if a Townhall exists. If not, one is buildt. If one does exists it goes on in the list and checks the next unit, in this case a peasant. If 1 peasant exists, it goes on. The next unit is another peasant. If another peasant exists, it goes on. otherwise it trains another. If the TownHall is destroyed, the AI will build a new one before building the other units lower in the list (like the peasants). The AI will try to do as much as possible simultaneously, so if you add a Farm, a Barracks and an Altar after the peasants it will try and build all of them at once. But if you add a Footman between the Barracks and the Altar, the Altar won't be buildt until the barracks is buildt and a Footman is trained since the Footman has a higher priority than the Altar (is higher up in the list). Q: What if I want to build a Farm, and then after the Farm is built a Barracks? A: Then you should use a condition. In the first tab (General) you can create conditions. Make a new one called "HasFarm". Select "Configure Condition" and select an integer comparison. On the left side select "Unit - Total Units of Type - Completed only" and select a Farm. Set the comparison to greater than and set the right side to 0. The condition should look something like this:
Go back to the Building's tab, and add this condition to the Barracks. What will happen is the Barracks won't be built until you have more than 0 Farms (at least 1 Farm). Since the Barracks has a higher priority than the stuff below, nothing else will be built in the meantime. [doHTML]<a name="Campaign">Campaign Editor</a>[/doHTML] Q: I want to use one custom Unit/Item/Structure/Doodad/Ability/Upgrade on all of my maps. How do I do that? A: Make sure you create it in the "Custom Data" tab inside the Campaign Editor instead of in the "normal" Object Editor. This will make it accessible from all maps associated with this campaign. |
| Posted by: Magos Dec 12 2003, 09:55 PM |
| [doHTML]<a name="ModellingSkinning">Modelling and Skinning Questions</a>[/doHTML] Q: What tools do I need for modelling and skinning? You can find a list of them http://momm.seiken.co.uk/forum/index.php?showtopic=3442. |
| Posted by: FlameZoldier Dec 15 2003, 05:55 PM | ||||
| [doHTML]<a name="CustomFile">Custom File Questions</a>[/doHTML] Q: Why are my imported icons show up as big green blobs? A: You hav to import your icons as a set of normal and disabled buttons. eg:
Remember that the slash is leaning to the left. If you dont want to import them as a set then you can choose to import is as a cover icon of the existing path. eg:
Q: How do i make a custom minimap preview for my map (like in Tides of Blood and the old Footman War maps)? A: Get a picture with the exact dimensions of 256x256 pixels. Convert it into .tga format and import into your map as War3MapPreview.tga. Make sure that it isn't located in a sub-folder (select a custom path). A program you can use for the colour, format conversion and resizing is IrfanView irfanview.com. Other (more expensive) programs you can use are Paint Shop Pro and PhotoShop. Q: How do i make a custom splash screen (loading screen)? A: Open up the Blizzard map "Monolith", enter the import manager and export these files:
When done editing the image, import all 5 files into your map using the import manager. Make sure the files are not in a sub-folder (use a custom path). Just test the map and enjoy your splash screen. Done! Oh yeah, make sure you select the custom loading screen instead of the default one. This is done in the menu "Scenario" -> "Map Loading Screen". Q: Why does the whole/part of my custom splash screen show up as black? A: Then some of your images (LoadingScreenUR.tga, **UL.tga, **BR.tga or **BL.tga) can't be found. Either they are named wrong or you forgot to change the custom path. They should not be placed in a sub-folder, but directly under the root. Q: Why does the whole/part of my custom splash screen show up as white? A: Then some of your images have the wrong dimension. They have to be exactly 512x512 resp. 512x256 pixels. [doHTML]<a name="SLK">SLK Editing</a>[/doHTML] Q: What is an SLK file? A: To make Warcraft 3 more mod-friendly, Blizzard came up with the bright idea of storing some (a lot) of the data in external files instead of har-code them. Warcraft 3 uses two types of files to do this: TXT files and SLK files. I guess everyone is familiar with what a text-file is, so I won't do any in-depth explanation of it. Use you text-editor of choise. I prefer good old Notepad. A SLK (Sylk) file is an Excel data storage format. Why Blizzard didn't stick with only one format is beyond my understanding, but it's too late to complain now ^^. To edit these files you will need a program that reads SLK files. Such a program is M$ Excel. Since not everyone in the world loves this lovely company and their programs, several third party SLK editors have been made. For the latest list of tools I suggest checking out wc3campaigns.com's tools thread every now and then. One SLK editing tool made by Magos can be found http://momm.seiken.co.uk/forum/index.php?showtopic=60. It is possible to edit SLK files in Notepad (or another text-editor) since the file is in ASCII format, but it's difficult to sort everything out and find what you want to. Q: What can I do by editing SLK files? A: In RoC (Reign of Chaos, the original Warcraft 3) SLK editing was the only way to modify abilities and upgrades. But with TFT (The Frozen Throne) and the new amazing Object Editor SLK editing has almost became extinct. There are almost no remaining uses for SLK editing. Q: Where can I find additional information about SLK editing? A: Visit wc3campaigns.com's JASS thread |
| Posted by: FlameZoldier Dec 15 2003, 06:55 PM |
| [doHTML]<a name="Other">Other Questions</a>[/doHTML] Q: I keep seeing abbreviations but what do they mean? A: Here are a list of common abreviations used by map makers: ¤ ROC - Reign of Chaos ¤ TFT - The Frozen Throne ¤ WAR3 - Warcraft 3 ¤ WAR3X - Warcraft 3 Expansion (TFT) ¤ BNET - Battle.net ¤ SP - Single Player ¤ MP - Multi Player ¤ FAQ - Frequently Asked Questions (LEARN THIS!) ¤ AOE - Area of Effect ¤ WE - World Editor ¤ UMS - Use Map Settings (A map that is not a melee map) ¤ SLK - Sylk, a data storage format ¤ BLP - Blizzard Picture, Blizzards own picture format ¤ AOS - Aeon of Strife, the first map which started the AOS genre ¤ CTF - Capture the Flag ¤ XP/EXP - Experience Points, the stuff Heroes collect to gain level-ups ¤ HU - Human ¤ NE - Night Elf ¤ UD - Undead ¤ ORC - Orc (Really! :P) ¤ MOMM - Masters of Map Making Here are some more commonly used on BNet: ¤ 1337 - Elite ¤ ROFL - Rolling On Floor Laughing ¤ W00T - Whoo! ¤ WTF - What The F*ck. ¤ LoL - Laughing Out Loud, or Laughing On-Line. ¤ Owned - Means to totally kick your opponent's @ss. ¤ Pwned - Owned ¤ Lmao - Laughing My Arse Off ¤ D/L - Download ¤ SUX0RS - Sucks ¤ ROX0RS - Rocks ¤ BM - BladeMaster ¤ FS - Far Seer ¤ KotG - Keeper of the Grove ¤ PotM - Priestess of the Moon ¤ DH - Demon Hunter ¤ DK - Death Knight ¤ CL - Crypt Lord ¤ BM - Another BM used for BloodMage, but you can figure out what your teammate means once you take a look at his/her base. ¤ MK - Mountain King ¤ BM - Can also mean: BrewMaster or BeastMaster Other Blizzard games commonly referred to: ¤ WoW - World of Warcraft, MMORPG ¤ SC - Starcraft, RTS ¤ SC:BW - Brood War (Starcraft Expansion) ¤ D2 - Diablo 2, RPG Q: Where can i find and download maps? (Melee/UMS) A: Here are some links to sites containing maps as well as tools and tutorials: http://www.warcraftiii.net/ http://www.wc3campaigns.com/ Q: I want to protect my map. How do I do that? A: There are a number of solutions (http://shadowflare.gameproc.com/ ): Replace the file war3map.wtg with an empty file. This is most likely done in the import manager. Delete the wtg file. Use HeavyLock (From Wc3campaigns), it decreases file size and offers different locking options. Delete the (listfile) from your map. Download ExtProtect: http://extprotect.psychosanity.com/. Change the w3x extensions to w3m. after protecting, change back. After deleting/replacing the wtg file, to ensure maximum-possible-uberness-stupid-compression then delete the (listifle) inside. Note! They all protect to a certain degree, but protecting maps is only delaying the inevitable of someone finding out how to break it. |
| Posted by: Doctus Jan 15 2005, 02:49 AM |
| Should be up to date as of 14 Jan Added abbreviations for other Blizzard games |