[skip all navigation]

Exported Wiki Articles

Pages: < 1 « 31 >

Simple Datediting


Foreword

This is a basic tutorial on how to use DatEdit. It's a tad outdated, so feel free to edit it with newer information and screenshots.

This tutorial was originally created by Killer_Kow(MM) at the [MM]odding resources, at Corboland.

Simple Dat Editing!

Here you will learn to:

1) give a unit shields
2) change a unit's weapon
3) change a unit's spell.

The programs you will need are:

Datedit
WinMPQ
MPQDraft

We'll start by giving the marine shields.

First, open Datedit.

Find the marine entry under the "units" tab. If you want to change the view, go View> Sort by Origin. Find what works best for you.

When you have the marine selected, it will look like this:

http://www.maplantis.org/storage/wiki/DatEdit/pic1qs4.png (img: failed to get size)

Under the "Vital Statistics" section, find the "Shields" box. Check the flag (a flag is a checkbox) next to it, and set the number to 50. Also, set the marine's Hit Points to 50. You can modify its existing armor using the "Armor" box. The "upgrade" menu shows which upgrade will upgrade the Marine's armor.

That's all that we'll do here. Go to file>save as and save the file as units.dat. The name you save it as MUST correspond to the tab you are working in (units in this case).

Now, we'll change the marine's weapon. We could change its weapon in the "weapons" section in the Marine's units.dat, but instead, we'll fully customize his attack.

To find the marine's gauss rifle, you could look through the list under the weapons tab, but there's an easier way! Since we're already in the marine's unit entry, we can click the "Jump ->" button next to his weapon name. See the screenie:

http://www.maplantis.org/storage/wiki/DatEdit/pic2ij1.png (img: failed to get size)

Either Jump will work, seeing as they point to the same weapon.

You'll end up seeing this:

http://www.maplantis.org/storage/wiki/DatEdit/pic3jt2.png (img: failed to get size)

Let's make the marine fire lasers. Under "Graphical Properties", set "Graphics" to "Burst lasers". Change the icon to whatever you feel is fitting. set the "Behaviour" to "Flies to Target".

These should be self-explanatory. Leave the missile as "Normal".

Again, do File>Save as and save the file as weapons.dat. Remember, it MUST correspond to the tab you're working in.

Now that we've done this, let's change a unit's spell. Unfortunately, we can't change the marine's stimpack, but we CAN change the ghost's lockdown ability.

For something fun, let's let the ghost call down a long-range arclite shock strike as you would have been able to in SC: Ghost.

Switch to the "Orders" tab. Find the "Magna Pulse" order. Why the lockdown order is called that is beyond me, but its true.

Under "Order Options", set "Weapon" to "Arclite Shock Cannon (Edmund Duke)". You can also change THAT weapon, but we'll leave it how it is.

Save as orders.dat. Don't make me remind you again.

Congratulations! You've finished your .dat work. Now to compile it to an MPQ!

Open WinMPQ.

Press the "New" button. Save it as whatever you want. This one doesn't matter. Press the "add" button. Find your files, and select them. When you press "open", a little box will pop up. Type in "arr\" (without the "") and confirm your choice. All .dat files work like this.

When all your files are in, close WinMPQ. It saves automatically.

Running Your Mod

Open MPQDraft.

Press "Load MPQ Patch".

Select Starcraft, Starcraft again, and press next. Browse for your MPQ, find it, ensure that the little box is checked, and press next, and then finish.

Enjoy your mod!

External Links

The original tutorial, at Corboland.


Terrain


A map's terrain is its landscape. Terrain's most basic function is to limit where ground units can walk and where structures can be built. Well-placed terrain can add aesthetic appeal to a map.

Tiles (Squares)

(user posted image)
Each cell in the green grid is one tile.
The most basic unit of terrain is the tile. Tiles are rectangular 32x32 pixel images. Each tile has certain properties, such as which parts of it are walkable, what elevation (low, medium, or high) it is at, and whether or not structures can be built on it. In StarEdit, X-tra Edit, or SCMDraft 2, you can toggle the tile grid by pressing alt+g. Only third-party map editors allow you to alter individual tiles of terrain.

Usually, tiles are combined into predefined groups of isometric pieces (ISOM, see below). However, third-party editors allow users to assemble tiles in unusual ways to create custom terrain formations called "extended terrain" or "blends". (See "Extended Terrain", below, for more information.)
(user posted image)
The red diamond in the image is one isometric tile.

ISOM

Isometric terrain, or ISOM, is the normal unit of terrain; this is the level that StarCraft's built-in Campaign Editor can work with. Tiles are assembled to form isometric terrain, and are designed to look like pieces of such terrain. When placing terrain normally, you manipulate isometric pieces rather than individual tiles.

Brushes

So far, brushes are only usable in two map editors: StarForge and SCMDraft 2. Brush files are collections of brushes, or groups of tiles -- they are like palettes for terrain. Brush files make it easy to reuse and share blends. SEN has a forum topic where useful brushes can be shared.

To open SCMDraft 2's brush dialog, go to Windows > Brush Palette. Brushes can be opened by clicking Open File, and selecting a brush. Multiple brushes can be opened at a time. To use a blend, simply select it in the Brush Palette window, and then click on the map to apply it. To create a new brush, select the appropriate tiles, type a name into the text field on the Brush Palette window, and then click Add Brush. Brush files can be saved by clicking Save File on the Brush Palette window.

Extended Terrain

(user posted image)
Extended terrain created by CecilSunkure.
Generally, any configuration of terrain tiles that cannot normally be placed in StarEdit is called extended terrain. Extended terrain usually refers to blended terrain tiles (placing tiles individually, but choosing ones that match each other on the edges). Typically, simple "square terrain" (using individual tiles with no regard as to how they blend together) is not considered to be extended terrain.
Common types of extended terrain
Custom ramps
Custom ramps are often made. The most common kinds of custom ramps are backwards ramps and ramps between two types of terrain that normally cannot connect. Lengthened and shortened versions of standard ramps have also been made.

A backwards ramp on the Space tileset:
(user posted image)
Stacked cliffs
Stacked cliffs are relatively easy to create on most tilesets. On Badlands and Jungle, stacked cliffs can be created with ridiculous ease. Simply take the tops of Dirt-to-Water cliffs, and paste them over the tops of Dirt-to-High-Dirt cliffs. Then, copy the middle and top sections of Dirt-to-High-Dirt cliffs, and paste those just above the Dirt-to-Water tops.

This diagram shows how stacked High Dirt cliffs are pieced together.
(user posted image)
Custom doodads
Custom Doodads come from a variety of tiles. While the term is mostly used to refer to terrain constructed from Doodad tiles, it can also refer to non-doodad-based terrain that can be used in a similar fashion to doodads.

Here is a custom doodad built by mirroring two opposite-facing doodads on the Jungle tileset.
(user posted image)

Here is another example: a large tree. The tree's trunk was constructed from Cliff Doodad tiles. The leaves and branches came from Sprites.
(user posted image)
Square terrain
Square terrain is terrain placed tile-by-tile, with little regard for how well the tiles blend. It is often used for interiors on maps.

Here is an example of square terrain, used for an interior in Leeroy_Jenkins' Middle of the Ocean RPG.
(user posted image)
High-Low
On tilesets such as Jungle and Badlands, there are two types of terrain that look (almost) identical, the grass.

+
Images required



Good references for extended terrain include:


Starcraft 1.14 Memory Map


Note: This article has poor formatting. Help Maplantis by improving the formatting of this article and removing it from the Article Request/Cleanup page.


StartLengthDescription
511800240 (60*4)Action function pointer table
511BA012Load information for Mapdata.dat
.
5126E0144 (12*12)Load information for Upgrades.dat
51277016Data alignment
51278072 (12*6)Load information for Portdata.dat
5127C816Data alignment
5127D8132 (11*12)Load information for Techdata.dat
51285C12Data alignment
512868288 (24*12)Load information for Weapons.dat
.
512c30648 (54*12)Load information for Units.dat
512eb816Data alignment
512ec8228 (19*12)Load information for Orders.dat
512FA816Data alignment
512FB872 (6*12)Load information for Sprites.dat
51300016Data alignment
513010168 (14*12)Load information for Images.dat
.
5131781090Units.dat Build Requirements
5135BA6Data alignment
5135C0838Upgrade.dat Upgrade Requirements
5139062Data alignment
513908318Techdata.dat Research Requirements
513A462Data alignment
513A48688Techdata.dat Usage Requirements
513CF81324Orders.dat Requirements
.
5144A060 (5*12)Load information for Sfxdata.dat
.
514A4084 (7*12)Load information for Flingy.dat
514A9412Data alignment
514AA096 (24*4)Condition function pointer table
514BF011264start of Button Sets
5177F03000 (250*12)start of Unit->Button Set table
.
5183A82736 (228*12)start of Unit->Status Function table
.
51AAF8Starcraft.exe location string
.
51B4A0Starcraft.exe location string
.
51BA00Broodat/Stardat.mpq location strings
.
51BC20Starcraft.exe location string
.
51BD38Patch_rt.mpq location string
.
52E548325120 (5080*64)Image array
.
57E0B848 (12*4)Player minerals
57E0E848 (12*4)Player gas
57E11848 (12*4)Player gas score
57E14848 (12*4)Player minerals score
57E1784Unknown
57E17C12 (12*1)Player controller
57E18812 (12*1)Player race
57E1948 longsUnknown
57E1B41 longPlayer 1 gives vision to (in bits)
57E1B81 longPlayer 2 gives vision to (in bits)
57E1BC1 longPlayer 3 gives vision to (in bits)
57E1C01 longPlayer 4 gives vision to (in bits)
57E1C41 longPlayer 5 gives vision to (in bits)
57E1C81 longPlayer 6 gives vision to (in bits)
57E1CC1 longPlayer 7 gives vision to (in bits)
57E1D01 longPlayer 8 gives vision to (in bits)
57E1D41 longPlayer 9 gives vision to (in bits)
57E1D81 longPlayer 10 gives vision to (in bits)
57E1DC1 longPlayer 11 gives vision to (in bits)
57E1E01 longPlayer 12 gives vision to (in bits)
57E1E41 longPlayer 1's colour
57E1E81 longPlayer 2's colour
57E1EC1 longPlayer 3's colour
57E1F01 longPlayer 4's colour
57E1F41 longPlayer 5's colour
57E1F81 longPlayer 6's colour
57E1FC1 longPlayer 7's colour
57E2001 longPlayer 8's colour
57E2041 longsome counter
.
...Unknown.
.
57E2442736 (12*228*1)Unit availability (unit+player*228)
.
...Unknown.
.
580DDC48 (12*4)Men produced (does not include pre-placed units) by player
580E0C48 (12*4)Men owned by player (cumulative count, includes pre-placed units)
580E3C48 (12*4)Men (or units??) lost by player
580E6C48Unknown
580E9C48 (12*4)units score by player
580ECC48 (12*4)Kill score
580EFC144 (3*12*4)?? structures constructed ?? (1 long each for 12 players, seems to be repeated 3 times)
580F8C48 (12*4)?? structures lost ??
580FBC48 (12*4)?? structures razed ??
580FEC48 (12*4)buildings score
58101C48 (12*4)razings score
58104C48Unknown
58107C48Unknown
5810AC48 (12*4)Factories lost
5810DC48Unknown
58110C48 (12*4)Zerg supply
58113C48 (12*4)Zerg supply used
58116C48 (12*4)Zerg supply max
58119C48 (12*4)Terran supply
5811CC48 (12*4)Terran supply used
5811FC48 (12*4)Terran supply max
58122C48 (12*4)Protoss supply
58125C48 (12*4)Protoss supply used
58128C48 (12*4)Protoss supply max
5812BC48 (12*4)Custom score (1 long each for 12 players)
5812EC10944 (228*12*4)Number of units on the map (player + unit*12)
583DAC10944 (228*12*4)Number of units on the map (player + unit*12)
58686C10944 (228*12*4)Player kill counts (player + unit*12)
58932C10944 (228*12*4)start of deaths table (player + unit*12), 4 bytes each)
58BDEC288 (12*24*1)Techs available by player (SC techs only [0-23], tech+player*24)
58BF0C288 (12*24*1)Techs researched by player (SC techs only [0-23], tech+player*24)
.
58C050552 (12*46*1)Upgrade max by player (SC upgrades only [0-45], upgrade+player*46)
58C278552 (12*46*1)Upgrades researched by player (SC upgrades only [0-45], upgrade+player*12)
.
58C5788 (8*1)Force membership of each player
58C5804 (4*1)Force flags
58C584120 (4*30)Force names (30 bytes each, null-terminated strings)
58C5Fc144 (12*12*1)Player alliances (First 12 bytes are player 1's alliances, next 12 are player 2's, etc)
58C68C48 (12*4)Mission objectives string index for each player
58C6BC4Countdown timer value
58C6C04Elapsed game time
58C6C44Unknown
58C6C84Unknown
58C6CC4Unknown
58C6D04Leaderboard computer players enabled
58C6D41Unknown
58C6D51Unknown
58C6D62Unknown
58C6D84Unknown
58C6DC4Unknown
58C6E08 (8*1)Pauses left for each player
.
58CC0832Switch states (1 bit per switch)
58CC285100 (255*20)Locations (In [longs]: X Start, Y Start, X End, Y End, [shorts]: String, Flags)
58E0144Countdown timer paused
58E018240 (12*20*1)Tech available by player (BW techs only [24-43]) tech + player*20)
58E108240 (12*20*1)Tech researched by player (BW techs only [24-43]) tech + player*20)
.
58E240180 (12*15*1)Upgrade max by player (BW upgrades only [46-60]) (upgrade + player*15)
58E2F4180 (12*15*1)Upgrade researched by player (BW upgrades only [46-60]) (upgrade + player*15)
.
59B048260 (65*4)MapData.dat string pointers (points beyond data segment)
59BC70571200 (1700*336)UnitNode table
.
62814090000 (2500*36)Sprite array
.
65314461 (61*1)Upgrades.dat - upgrade max
653188122 (61*2)Upgrades.dat - mineral cost base
653208122 (61*2)Upgrades.dat - gas cost factor
653288122 (61*2)Upgrades.dat - gas cost base
653308122 (61*2)Upgrades.dat - unknown
653388122 (61*2)Upgrades.dat - time factor
653408122 (61*2)Upgrades.dat - mineral cost factor
653488122 (61*2)Upgrades.dat - label
653508122 (61*2)Upgrades.dat - Icon
65358461 (61*1)Upgrades.dat - Broodwar flag
6535C8122 (61*2)Upgrades.dat - time base
65364461 (61*1)Upgrades.dat - race
.
653Be088 (44*2)TechData.dat - Unknown 5
653C3888 (44*2)TechData.dat - Gas cost
653C9088 (44*2)Techdata.dat - mineral cost
653CE888 (44*2)Techdata.dat - Label
653D4088 (44*2)TechData.dat - unknown 6
653D9844 (44*1)TechData.dat - researched
653DC888 (44*2)TechData.dat - energy cost
653E2088 (44*2)TechData.dat - research time
653E7888 (44*2)TechData.dat - icon
653ED044 (44*1)TechData.dat - race
653EFC44 (44*1)TechData.dat - broodwar flag
653F28130 (130*1)Weapons.dat - damage factor
653FB0260 (130*2)Weapons.dat - target error message
654140130 (130*1)Weapons.dat - explosion type
6541C8130 (130*1)Weapons.dat - icon
6542D0260 (130*2)Weapons.dat - splash inner
6543D8130 (130*1)Weapons.dat - attack angle
654460520 (130*4)Weapons.dat - minimum range
654668130 (130*1)Weapons.dat - offset y
6546F0520 (130*4)Weapons.dat - missile sprite
6548F8260 (130*2)Weapons.dat - damage amount
654A00130 (130*1)Weapons.dat - coldown delay
654A88130 (130*1)Weapons.dat - missile type
654B10260 (130*2)Weapons.dat - splash medium
654C18130 (130*1)Weapons.dat - upgrade group
654CA0130 (130*1)Weapons.dat - type
654D28260 (130*2)Weapons.dat - label
654E30130 (130*1)Weapons.dat - special attack
654EB8520 (130*4)Weapons.dat - maximum range
6550C0260 (130*2)Weapons.dat - damage bonus
6551C8260 (130*2)Weapons.dat - splash outer
6552D0130 (130*1)Weapons.dat - launch spin
655358130 (130*1)Weapons.dat - offset x
6553E0260 (130*2)Weapons.dat - attack type
.
65D660228 (228*1)Units.dat - max hit air
65D748456 (228*2)Units.dat - vespene cost
65D910228 (228*1)Units.dat - Armor
65D9F44 (4*1)Unknown
65D9F8456 (228*2)Units.dat - What sound start
65DBC0228 (228*1)Units.dat - Comp AI unit type
65DCA8456 (228*2)Units.dat - custom name
65DE70456 (228*2)Units.dat - build time
65E038228 (228*1)Units.dat - starting direction
65E120228 (228*1)Units.dat - broodwar flag
65E208456 (228*2)Units.dat - subunit 1
65E3D0228 (228*1)Units.dat - transport space
65E4B8456 (228*2)Units.dat - restriction flags
65E680456 (228*2)Units.dat - subunit 2
65E848456 (228*2)Units.dat - shield amount
65EA10228 (228*1)Units.dat - movement type
65EAF8912 (228*4)Units.dat - construction animation
65EE88212 (106*2)Units.dat - sound yes end
65EF60456 (228*2)Units.dat - Staredit availability flags
65F128228 (228*1)Units.dat - air weapon
65F2101824 (228*8)Units.dat - Unit boundaries (RECT structs)
65F930212 (106*2)Units.dat - Pissed sound end
65FA08212 (106*2)Units.dat - Ready sound
65FAE0228 (228*1)Units.dat - Action type
65FBC8228 (228*1)Units.dat - Size
65FCB0228 (228*1)Units.dat - Human AI Init Action
65FD98912 (228*4)Units.dat - Hit points
660128384 (192*2)Units.dat - Addon location
6602A8912 (228*4)Units.dat - Building dimensions
660638456 (228*2)Units.dat - What sound end
660800228 (228*1)Units.dat - Seek range
6608E8228 (228*1)Units.dat - Comp AI Init Action
6609D0456 (228*2)Units.dat - Portrait ID
660C80228 (228*1)Units.dat - Unit sight range
660D68228 (228*1)Units.dat - Ground attack action
660E50456 (228*2)Units.dat - Build score
661018228 (228*1)Units.dat - Armor upgrade group
661100228 (228*1)Units.dat - Ground weapon
6611E8228 (228*1)Units.dat - Group flags
6612D0456 (228*2)Units.dat - Mineral cost
661498228 (228*1)Units.dat - Ait attack action
661580212 (106*2)Units.dat - Unknown
661658456 (228*2)Units.dat - Unknown
661730228 (228*1)Units.dat - Unknown
661818228 (228*1)Units.dat - Unknown
661900456 (228*2)Units.dat - Destroy score
661AC8228 (228*1)Units.dat - Special ability flags
661E58228 (228*1)Units.dat - Transport size
661F40228 (228*1)Units.dat - Unit graphic
662028228 (228*1)Units.dat - Max hit ground
662110228 (228*1)Units.dat - Supply produced
6621F8228 (228*1)Units.dat - Unit has shield
6622E0228 (228*1)Units.dat - Idle action
6623C8192 (96*2)Units.dat - Infestation unit
662488189 (189*1)Orders.dat - Flag 4
662548189 (189*1)Orders.dat - Use weapon targeting
662608189 (189*1)Orders.dat - Flag 12
6626C8189 (189*1)Orders.dat - Flag 11
662788189 (189*1)Orders.dat - Animation
662848189 (189*1)Orders.dat - Tech
662908189 (189*1)Orders.dat - Group
662A88189 (189*1)Orders.dat - Can be interrupted
662B48189 (189*1)Orders.dat - Flag 7
662C08378 (189*2)Orders.dat - Flag 9
662CC8378 (189*2)Orders.dat - Label
662E48378 (189*2)Orders.dat - Emulated order
662F08378 (189*2)Orders.dat - Flag 10
662FC8378 (189*2)Orders.dat - Flags
663148189 (189*1)Orders.dat - Flag 8
663208189 (189*1)Orders.dat - Flag 5
6632C8189 (189*1)Orders.dat - Weapon
663388189 (189*1)Orders.dat - Flag 2
663448189 (189*1)Orders.dat - Flag 3
663508387 (387*1)Sprites.dat - Selection circle
663690387 (387*1)Sprites.dat - unknown
663898387 (387*1)Sprites.dat - HP bar length
663A20387 (387*1)Sprites.dat - Selection circle offset
663BA81034 (517*2)Sprites.dat - image index
663FB8517 (517*1)Sprites.dat - visible
6641C03996 (999*4)Images.dat - overlay 4
6651C0999 (999*1)Images.dat - floats
6655483996 (999*4)Images.dat - overlay 3
6664E83996 (999*4)Images.dat - GRP file name
667488999 (999*1)Images.dat - Palette
667870999 (999*1)Images.dat - Palette type
667C583996 (999*4)Images.dat - Overlay 2
668BF83996 (999*4)Images.dat - Overlay 1
669B98999 (999*1)Images.dat - Shadow turns
669F803996 (999*4)Images.dat - Overlay 0
66AF20999 (999*1)Images.dat - Unknown
66B3083996 (999*4)Images.dat - Overlay 5
66C2A8999 (999*1)Images.dat - image turns
66C6903996 (999*4)Images.dat - iscript
.
6C7240209 (209*1)Flingy.dat - movement control
6C7318836 (209*4)Flingy.dat - acceleration
6C7660418 (209*2)Flingy.dat - turning style
6C7808209 (209*1)Flingy.dat - turn radius
6C78E0836 (209*4)Flingy.dat - speed
6C7C28209 (209*1)Flingy.dat - unknown
6C7D00418 (209*2)Flingy.dat - sprite index



Modifying Supply Limits


Ever wanted to expand the 200 unit limit? Now you can!

Modifying Supply Limits

This really isn't that difficult... It just requires you to look a bunch of crap up in lists.

Note: Some things will add to another race's supply limits... (such as in my example screenshot the zerg have 1/2) I haven't looked into it very much, so I'm not exactly sure what causes it specifically.

1. Decide what you want your values to be.
As an example, I'll use Terran 1000 max with an initial 100 available for player 1.

2. Subtract 200 of the Max (and Max only!) as it is already available.
1000 - 200 = 800.

3. Use the Supply Modifier Unit List to find values that add up to what you want. Be sure to take note of whether or not what you are using is a building or unit as we will use this later!
"Nuclear Missile 400 Unit" Two will add up for my 800 Max.
"Citadel of Adun 100 Building" 100 for my initial available.


4. Use the Player Look-up List for the players you want.
Player 1:
Terran Available for Building: 109
Terran Limit for Unit: 217


5. Place your unit.
Place two Nuclear Missiles for player 217.
Place one Citadel of Adun for player 109.


http://www.maplantis.org/storage/wiki/SupplyLimit2.png (img: failed to get size)
Supply Modifier Unit List
Note: Units which do not add anything (0) have been removed. Resources have also been removed as they would require a player greater than 256 to use. They only add 5 anyways. ;)

Code

ID  Unit                           Adds   Type
0   Terran Marine                  25     Unit
1   Terran Ghost                   87.5   Unit
2   Terran Vulture                 37.5   Unit
3   Terran Goliath                 100    Unit
5   Terran Siege Tank (Tank Mode)  175    Unit
7   Terran SCV                     25     Unit
8   Terran Wraith                  200    Unit
9   Terran Science Vessel          312.5  Unit
11  Terran Dropship                150    Unit
12  Terran Battlecruiser           600    Unit
14  Nuclear Missile                400    Unit
32  Terran Firebat                 50     Unit
34  Terran Medic                   62.5   Unit
37  Zerg Zergling                  12.5   Unit
38  Zerg Hydralisk                 62.5   Unit
39  Zerg Ultralisk                 325    Unit
41  Zerg Drone                     25     Unit
42  Zerg Overlord                  50     Unit
43  Zerg Mutalisk                  150    Unit
44  Zerg Guardian                  275    Unit
45  Zerg Queen                     200    Unit
46  Zerg Defiler                   112.5  Unit
47  Zerg Scourge                   50     Unit
50  Infested Terran                100    Unit
58  Terran Valkyrie                200    Unit
60  Protoss Corsair                175    Unit
61  Protoss Dark Templar           162.5  Unit
62  Zerg Devourer                  275    Unit
63  Protoss Dark Archon            325    Unit
64  Protoss Probe                  25     Unit
65  Protoss Zealot                 50     Unit
66  Protoss Dragoon                125    Unit
67  Protoss High Templar           175    Unit
68  Protoss Archon                 350    Unit
69  Protoss Shuttle                100    Unit
70  Protoss Scout                  325    Unit
71  Protoss Arbiter                512.5  Unit
72  Protoss Carrier                475    Unit
73  Protoss Interceptor            15     Unit
83  Protoss Reaver                 200    Unit
84  Protoss Observer               112.5  Unit
103 Zerg Lurker                    125    Unit
106 Terran Command Center          200    Building
107 Terran Comsat Station          37.5   Building
108 Terran Nuclear Silo            37.5   Building
109 Terran Supply Depot            25     Building
110 Terran Refinery                25     Building
111 Terran Barracks                37.5   Building
112 Terran Academy                 50     Building
113 Terran Factory                 100    Building
114 Terran Starport                100    Building
115 Terran Control Tower           50     Building
116 Terran Science Facility        137.5  Building
117 Terran Covert Ops              37.5   Building
118 Terran Physics Lab             37.5   Building
120 Terran Machine Shop            37.5   Building
122 Terran Engineering Bay         32.5   Building
123 Terran Armory                  50     Building
124 Terran Missile Turret          25     Building
125 Terran Bunker                  25     Building
130 Infested Command Center        150    Building
131 Zerg Hatchery                  150    Building
132 Zerg Lair                      50     Building
133 Zerg Hive                      50     Building
134 Zerg Nydus Canal               37.5   Building
135 Zerg Hydralisk Den             50     Building
136 Zerg Defiler Mound             75     Building
137 Zerg Greater Spire             100    Building
138 Zerg Queen's Nest              87.5   Building
139 Zerg Evolution Chamber         20     Building
140 Zerg Ultralisk Cavern          137.5  Building
141 Zerg Spire                     125    Building
142 Zerg Spawning Pool             37.5   Building
143 Zerg Creep Colony              20     Building
144 Zerg Spore Colony              12.5   Building
145 Unused Zerg Bldg               5      Building
146 Zerg Sunken Colony             20     Building
149 Zerg Extractor                 12.5   Building
153 Unused Zerg Bldg 5             5      Building
154 Protoss Nexus                  200    Building
155 Protoss Robotics Facility      150    Building
156 Protoss Pylon                  25     Building
157 Protoss Assimilator            25     Building
158 Protoss Unused                 5      Building
159 Protoss Observatory            87.5   Building
160 Protoss Gateway                37.5   Building
162 Protoss Photon Cannon          50     Building
163 Protoss Citadel of Adun        100    Building
164 Protoss Cybernetics Core       50     Building
165 Protoss Templar Archives       125    Building
166 Protoss Forge                  50     Building
167 Protoss Stargate               150    Building
169 Protoss Fleet Beacon           175    Building
170 Protoss Arbiter Tribunal       225    Building
171 Protoss Robotics Support Bay   62.5   Building
172 Protoss Shield Battery         25     Building
179 Cave                           5      Building
180 Cave-in                        5      Building
181 Cantina                        5      Building
182 Mining Platform                5      Building
183 Independent Command Center     5      Building
184 Independent Starport           5      Building
185 Jump Gate                      5      Building
186 Ruins                          5      Building
187 Kyadarin Crystal Formation     5      Building
Player Look-up List
Note: For Player 5 and above, the Protoss Limit for units will require a player number greater than one byte. This is not possible. These are in square brackets.
Players 9-12 are useless and not included in this list.

Code

Player 1           Unit  Building
Zerg Available     157   73
Zerg Used          169   85
Zerg Limit         181   97
Terran Available   193   109
Terran Used        205   121
Terran Limit       217   133
Protoss Available  229   145
Protoss Used       241   157
Protoss Limit      253   169

Player 2           Unit  Building
Zerg Available     158   74
Zerg Used          170   86
Zerg Limit         182   98
Terran Available   194   110
Terran Used        206   122
Terran Limit       218   134
Protoss Available  230   146
Protoss Used       242   158
Protoss Limit      254   170

Player 3           Unit  Building
Zerg Available     159   75
Zerg Used          171   87
Zerg Limit         183   99
Terran Available   195   111
Terran Used        207   123
Terran Limit       219   135
Protoss Available  231   147
Protoss Used       243   159
Protoss Limit      255   171

Player 4           Unit  Building
Zerg Available     160   76
Zerg Used          172   88
Zerg Limit         184   100
Terran Available   196   112
Terran Used        208   124
Terran Limit       220   136
Protoss Available  232   148
Protoss Used       244   160
Protoss Limit      256   172

Player 5           Unit  Building
Zerg Available     161   77
Zerg Used          173   89
Zerg Limit         185   101
Terran Available   197   113
Terran Used        209   125
Terran Limit       221   137
Protoss Available  233   149
Protoss Used       245   161
Protoss Limit      [257] 173

Player 6           Unit  Building
Zerg Available     162   78
Zerg Used          174   90
Zerg Limit         186   102
Terran Available   198   114
Terran Used        210   126
Terran Limit       222   138
Protoss Available  234   150
Protoss Used       246   162
Protoss Limit      [258] 174

Player 7           Unit  Building
Zerg Available     163   79
Zerg Used          175   91
Zerg Limit         187   103
Terran Available   199   115
Terran Used        211   127
Terran Limit       223   139
Protoss Available  235   151
Protoss Used       247   163
Protoss Limit      [259] 175

Player 8           Unit  Building
Zerg Available     164   80
Zerg Used          176   92
Zerg Limit         188   104
Terran Available   200   116
Terran Used        212   128
Terran Limit       224   140
Protoss Available  236   152
Protoss Used       248   164
Protoss Limit      [260] 176
Player Look-up Form
Help you be more lazy. ;)
Supply Modification Lookup (External Link)


Ammo Systems


Ammo Systems

You'll find these kinds of triggers in some UMS maps-- particularly realistic horror (such as Raccoon City) and GTA maps. It can be pretty frustrating to implement this instead of a real Ammo System because it doesn't actually detect when a player shoots, but when a player kills a unit.

Regardless, this system makes it so you have to watch your ammo gauge, because if you don't you'll be caught in some crossfire without any ammo. Usually you'll be shooting at units with one-shot kills (with notable exceptions) and no buildings. Note: You cannot completely disable a unit from firing at all because the player can manually firing by clicking on the attack button and clicking on the target (although with hyper triggers, it makes doing this much harder with most units). Most of the time, you should set it so that the minerals and the gas is their ammo gauge - Minerals for the ammo in their current clip, and gas for clips they have stored.

Ammo Triggers

Ammo Initialization
Quote
Players
Force 1

Conditions
Always

Actions
Modify resources for Force 1: Set to 6 Ore //Ore is used as ammunition
Modify resources for Force 1: Set to 2 Gas //while Gas is used as Ammo Clips

This makes it so that they'll have six shots to start off with, and 2 extra clips, meaning 18 shots.
Ammo Usage
Quote
Players
Force 1

Conditions
Current Player Kills score is At least 1 //NOTE: This detects a player's kill, not a player's shot.

Actions
Modify score for Current Player: Set to 0 Kills //Resets the kill score to prevent endless loops.
Modify resources for Current Player: Subtract 1 Ore //Uses up ammo per kill.

There you go. This will take away ammo from the unit's ammo gauge.
Ammo Reload
Quote
Players
Force 1

Conditions
Current Player accumulates exactly 0 Ore //0 Ammo
Current Player accumulates at least 1 Gas //and at least 1 Ammo Clip are prerequisites for reloading.

Actions
Preserve Trigger
Display for current player: "Reloading..."
Set All Players to Ally // Temporarily allies the enemy to prevent free kills.
Wait for 2500 milliseconds //Reloading wouldn't make sense if it was instant (although I recommend you use Death Counters as timers)
Modify resources for Current Player: Set to 6 Ore
Modify resources for Current Player: Subtract 1 Gas
Set Force 2 to Enemy //Remarks enemies as hostile so you can shoot again.

You can take out the Wait trigger if you want. The Force 2 in the 2nd Set Alliance after the reload could be the enemies that you're firing at. Anyways, a player has to run out of ammo, doesn't he?
Out of Ammo
Quote
Players
Force 1

Conditions
Current Player accumulates exactly 0 Ore and Gas

Actions
Preserve Trigger
Set All Players to Ally

This is best used with Hyper Triggers.
Ammo Reload
Quote
Players
Force 1

Conditions
Current Player brings at least 1 men to 'retrieve ammo location'

Actions
Modify resources for Current Player: Add 3 Gas

And that's it. If you want to keep that location to always give the player ammo, preserve trigger.


Anti-Lifting off


The Terran building's Liftoff ability cannot be disabled directly, but there are several ways to prevent players from moving their buildings.

Simply destroying buildings that lift off is probably the easiest method. This can be done by placing enemy air attackers near the buildings, or by creating an air-only location over the buildings and killing anything that enter it. If you destroy a player's building for lifting off, you may want to recreate it on the ground.
(user posted image)

Another way is to disable the buildings with the Set Doodad State action. This cannot be used on the Command Center, Starport, or Science Facility. Disabled buildings are unable to liftoff, but their other functions are disabled as well.

Placing the buildings as Unit Sprites and checking their Disabled property will also prevent them from lifting. As with the above method, disabling Liftoff this way will also disable all of the building's other functions. This can be used on all of the buildings. Additionally, this will cause the buildings to appear half-built.
(user posted image)

Lastly, you can allow buildings to lift off, but move them back or destroy them if they leave a designated area. One thing to remember about doing this is that the Move Unit and Order actions are unable to effect buildings that have been given an order to land.


Damage Order of Operations


Damage Order
To determine how much damage an attack will do to a unit, follow these steps.

1. If the unit has shield HP, subtract shield armor upgrades from the damage.
2. Apply the damage to the shield HP.
3. If any damage remains, subtract the unit's armor from the damage.
4. If the damage is Explosive or Concussive type, modify it based on the unit's size.
Explosive damage deals 100% to large units, 75% to medium units, and 50% to small units.
Concussive damage deals 25% to large units, 50% to medium units, and 100% to small units.
5. Apply the remaining damage to the HP. If the remaining damage is one-half or less, it will do a half-point of damage.
Example 1:
Siege Tank (70 damage, explosive) attacks a Zealot (60 shields, 100 hit points, 1 armor)

1. 70 damage is reduced by 0. (No shield armor upgrades)
2. 60 shield points are removed from the zealot. 10 damage remains.
3. 10 damage is reduced by 1. (Zealot base armor)
4. The damage is Explosive type and the Zealot is small. 9 damage becomes 4.5 damage.
5. 100 HP reduced to 96.5.
Example 2:
Hydralisk (10 damage, explosive) attacks a Matriarch (300 hit points, 3 armor, medium size)

1. 10 damage is reduced by 0. (No shield armor upgrades)
2. 0 shield points are removed from the Matriarch. 10 damage remains.
3. 10 damage is reduced by 3. (Matriarch base armor)
4. The damage is Explosive type and the Matriarch is medium (75% damage). 7 damage becomes 5.25 damage.
5. 300 HP reduced to 294.75.
Example 3:
Ghost (10 damage, concussive) attacks a Siege Tank (150 hit points, 1 armor, large size)

1. 10 damage is reduced by 0. (No shield armor upgrades)
2. 0 shield points are removed from the Siege Tank. 10 damage remains.
3. 10 damage is reduced by 1. (Siege Tank base armor)
4. The damage is Concussive type and the Siege Tank is large (25% damage). 9 damage becomes 2.25 damage.
5. 150 HP reduced to 147.75.
Spell damage:
All spells except for Yamato Cannon and Nuke ignore unit armor. Yamato Cannon does 260 explosive damage to a single target. Plague also ignores Protoss shields and does damage directly to the unit or buildings HP. See the 3 spell pages for full details, including damage and duration, for all spells and abilities.
See also: Spells (Terran), Spells (Protoss), Spells (Zerg).


Automatic Doors


The Installation tileset's door doodads can be opened and closed with the Set Doodad State action.
When a door is disabled it opens and becomes walkable. When a door is enabled it closes and become a barrier.

In many maps, doors will open when a ground unit comes near them, and close when the unit moves away. In fact, when ordering a units to the far side of a door, they will expect the door to open for them, and walk up to it, rather than trying to find a path around the door. Doors, however, will not open and close automatically; triggers must be created for this to occur.

The first step in creating an automatic door is to place the door and create a location over it. You may want to set the location to ground-only to prevent air units from opening the door.
(user posted image)

If you place the door as a doodad, it will belong to Player 12, and you will need to reference Player 12 or All Players in your Set Doodad State action.
If you place the door as a unit, take note of which player owns it or use All Players.

Simply disabling the door when a unit is near and enabling it when the unit leaves may not be good enough. This can cause the door to behave very strangely, particularly if you are using Hyper Triggers. To prevent this problem, we will use a switch for each door. The switch will keep track of whether the door is open or closed at any given moment, so we don't accidentally enable or disable it needlessly.

You 'open door' trigger should look something like this:
Quote
Conditions:
'Door 1' is Cleared.
All Players brings at least 1 [men] to 'Door 1'.

Actions:
Preserve trigger.
Set 'Door 1'.
Disable doodad state for Left Upper Level Door for All Players at 'Door 1'.

Then, the close door trigger:
Quote
Conditions:
'Door 1' is Set.
All Players brings exactly 0 [men] to 'Door 1'.

Actions:
Preserve trigger.
Clear 'Door 1'.
Enable doodad state for Left Upper Level Door for All Players at 'Door 1'.
Make sure to choose the correct type of door.

Using this method, your automatic doors will be nearly fool-proof. If a unit moves in and out of the door's location very rapidly it is possible for the door's animations to mess up. This problem can be prevented by giving the open and close triggers a cooldown time.


Burrow Detection


Burrow Detection

First off you will need a 1x1 pixel location. You can create one with StarForge. It should be a tiny dot (not a grid square); we will name that 1x1 pixel location "PL".

You can easily create a Pixel Sized location by changing the coordinates of the ending position of the location in SCMDraft2:
http://maplantis.org/storage/wiki/scmd2pixel.PNG (img: failed to get size)

Now have another unit placed elsewhere where it wont interfere with the map. I will use a Zerg Drone in my example. Make a location around it. I'll call it "Recall".

What we are doing is we are constantly moving (teleporting) a unit to a 1x1 pixel location. Since there is also another unit there, it wont be able to move (teleport) there. If it is able to move (teleport) there, that means the unit is burrowed.

Quote
Conditions
-Always.

Actions
-Center location labeled 'PL' on Unit owned by Player at 'Anywhere'.
-Move all Zerg Drone for Player Comp at 'Anywhere' to 'PL'.
-Preserve trigger.

Quote
Conditions
-Player Comp brings at least 1 Zerg Drone to 'PL'.

Actions
-Actions if the unit is burrowed.

Quote
Conditions
-Player Comp brings exactly 0 Zerg Drone to 'PL'.

Actions
-Actions if the unit is not burrowed.

Quote
Conditions
-Always.

Actions
-Move all Zerg Drone for Player Comp at 'Anywhere' to 'Recall'.
-Preserve trigger.


The order of these triggers matter, so do not change them.

Example Map:
http://www.staredit.net/?file=274


Dark Swarm Firing System


Dark Swarm Firing System(or Disruption Web)

Despite what many people think, it's actually a lot more complex than it seems to be... unless you only intend to use it for one player. The real trick is how to handle shot conflicts, as there is no way to tell who casts a dark swarm/disruption web in the game except by who is closest to it. Anyway, here's how to accomplish the basic trick:
Quote from Dark Swarm
==Players==
-All players.

==Conditions==
-All players brings at least 1 dark swarm to location Anywhere.

==Actions==
-Move location Shot on dark swarm at location Anywhere.
-Remove 1 dark swarm at location Shot for All players.
-Play wav gunshot.wav.
-Create 1 terran wraith for current player at location Shot.
-Kill 1 terran wraith for current player at location Shot.
-Preserve trigger.


All italized actions are optional.
Quote from Disruption Web
==Players==
-All players.

==Conditions==
-All players brings at least 1 disruption web to location Anywhere.

==Actions==
-Move location Shot on disruption web at location Anywhere.
-Remove 1 disruption web at location Shot for All players.
-Play wav gunshot.wav.
-Create 1 terran wraith for current player at location Shot.
-Kill 1 terran wraith for current player at location Shot.
-Preserve trigger.


All italized actions are optional.



Pages: < 1 « 31 >


[09:31 pm]
Pr0nogo -- umad
[08:42 pm]
Dem0n -- ;o;o;o
[08:41 pm]
lil-Inferno -- I care
[08:37 pm]
Gigins -- Dude nobody cares :wtfage:
[08:05 pm]
[07:27 pm]
Pr0nogo -- It's like 44 minutes of me screaming
Please log in to shout.