• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 03:36
CEST 09:36
KST 16:36
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy18ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book20
Community News
Weekly Cups (March 23-29): herO takes triple6Aligulac acquired by REPLAYMAN.com/Stego Research8Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool51Weekly Cups (March 9-15): herO, Clem, ByuN win4
StarCraft 2
General
Rongyi Cup S3 - Preview & Info Team Liquid Map Contest #22 - Presented by Monster Energy Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool What mix of new & old maps do you want in the next ladder pool? (SC2) Aligulac acquired by REPLAYMAN.com/Stego Research
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament StarCraft Evolution League (SC Evo Biweekly) WardiTV Mondays World University TeamLeague (500$+) | Signups Open
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 520 Moving Fees Mutation # 519 Inner Power Mutation # 518 Radiation Zone
Brood War
General
so ive been playing broodwar for a week straight. BSL 22 Map Contest — Submissions OPEN to March 10 Klaucher discontinued / in-game color settings BGH Auto Balance -> http://bghmmr.eu/ Pros React To: JaeDong vs Queen
Tourneys
[Megathread] Daily Proleagues [ASL21] Ro24 Group E [ASL21] Ro24 Group F Azhi's Colosseum - Foreign KCM
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Starcraft Tabletop Miniature Game Nintendo Switch Thread General RTS Discussion Thread Darkest Dungeon
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread The Chess Thread NASA and the Private Sector Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Broowar part 2
qwaykee
China Uses Video Games to Sh…
TrAiDoS
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
ASL S21 English Commentary…
namkraft
Electronics
mantequilla
Customize Sidebar...

Website Feedback

Closed Threads



Active: 15683 users

Custom map/ UMS creators wanted - Page 4

Forum Index > BW General
Post a Reply
Prev 1 2 3 4 5 Next All
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 19:42:32
April 29 2017 19:41 GMT
#61
The amount of code necessary to implement proper binary multiplication with triggers ...

[image loading]

I'm almost sure it works correctly t.t
2Pacalypse-
Profile Joined October 2006
Croatia9530 Posts
Last Edited: 2017-04-29 19:45:43
April 29 2017 19:45 GMT
#62
On April 30 2017 04:41 nlight wrote:
The amount of code necessary to implement proper binary multiplication with triggers ...

+ Show Spoiler +
[image loading]


I'm almost sure it works correctly t.t

Infinite amount of code necessary to implement that? It just keeps on scrolling!
Moderator"We're a community of geniuses because we've found how to extract 95% of the feeling of doing something amazing without actually doing anything." - Chill
Freakling
Profile Joined October 2012
Germany1533 Posts
April 29 2017 20:17 GMT
#63
On April 29 2017 19:52 nlight wrote:
Show nested quote +
You are still missing a lot of them. Those are just the standard StarEdit accessible ones. There are also all the Campaign scripts some spell scripts (recall/Dweb/nuke here, load nuclear silo), scripts that handle some unit spawns in some of the campaign missions, the all-so-important junkyard dog script (makes any unit move around like a critter), the vision scripts, and you even seem to have missed the suicide mission scripts.
Basically, have a look in SCMDraft, it can access all of them, to get the full list.


I dumped these from scmdraft by using the Classic Triggers editor. Maybe they're not all listed there? Give me some hints where to look.


Not sure what you did, but you should have access to all of them to either the "execute AI script" or the "execute AI script at location" trigger actions. Maybe you do not have the latest official SCMDraft version (2.0.8.)?
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 20:59:38
April 29 2017 20:24 GMT
#64
Not sure what you did, but you should have access to all of them to either the "execute AI script" or the "execute AI script at location" trigger actions. Maybe you do not have the latest official SCMDraft version (2.0.8.)?


I see now. My bad. It appears I did use StarEdit after all because I do see a lot of other AI scripts in scmdraft. I'll make sure to dump these also and include them in the list. Thanks!

EDIT:

I dumped all AI script names from scmdraft, I think. Here it is https://gist.github.com/AlexanderDzhoganov/c64c59d2f6fdb0f148c0ac628872fab9

If anyone can match them to their names that'd be amazing help. Sadly they don't appear to be in the same order as in the menu.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-30 02:02:18
April 29 2017 23:26 GMT
#65
New major feature - arrays. Glenstorm will have to update the syntax highlighting again lol.


global player_score[8];

deaths(Player2, AtLeast, 1, TerranMarine) => {
remove_deaths(Player2, TerranMarine, 1);
player_score[0]++;
player_score[1]++;
}

fn main() {
var foo[4];
foo[0] = 15;
foo[1] = 42;

if (foo[0] == 15) {
print("foo[0] == 15");
}

if ((foo[1] * 2) == 84) {
print("(foo[1] * 2) == 84");
}

while (true) {
poll_events();
}
}


Right now can only be indexed with a constant but there will be a way to iterate them at some point. Indexing with variables is unlikely to be supported.

Also comparison operators are now 5000% (not a real number) faster. Well, much faster and generate much less triggers.
Freakling
Profile Joined October 2012
Germany1533 Posts
April 30 2017 10:57 GMT
#66
On April 30 2017 05:24 nlight wrote:
Show nested quote +
Not sure what you did, but you should have access to all of them to either the "execute AI script" or the "execute AI script at location" trigger actions. Maybe you do not have the latest official SCMDraft version (2.0.8.)?


I see now. My bad. It appears I did use StarEdit after all because I do see a lot of other AI scripts in scmdraft. I'll make sure to dump these also and include them in the list. Thanks!

EDIT:

I dumped all AI script names from scmdraft, I think. Here it is https://gist.github.com/AlexanderDzhoganov/c64c59d2f6fdb0f148c0ac628872fab9

If anyone can match them to their names that'd be amazing help. Sadly they don't appear to be in the same order as in the menu.

I forwarded your request to Suicidal Insanity.
S.I.
Profile Joined April 2017
58 Posts
April 30 2017 12:20 GMT
#67
Have fun!

+ Show Spoiler +


static const size_t NumAIScripts = 293;
const TCHAR AIShortNames[NumAIScripts][5] = {
TEXT("Ter3"),
TEXT("Ter5"),
TEXT("Te5H"),
TEXT("Ter6"),
TEXT("Te6b"),
TEXT("Te6c"),
TEXT("Ter7"),
TEXT("Te7s"),
TEXT("Te7m"),
TEXT("Ter8"),
TEXT("Tr9L"),
TEXT("Tr9H"),
TEXT("Te10"),
TEXT("T11z"),
TEXT("T11a"),
TEXT("T11b"),
TEXT("T12N"),
TEXT("T12P"),
TEXT("T12T"),
TEXT("TED1"),
TEXT("TED2"),
TEXT("TED3"),
TEXT("TSW1"),
TEXT("TSW2"),
TEXT("TSW3"),
TEXT("TSW4"),
TEXT("TSW5"),
TEXT("Zer1"),
TEXT("Zer2"),
TEXT("Zer3"),
TEXT("Zer4"),
TEXT("Ze4S"),
TEXT("Zer6"),
TEXT("Zr7a"),
TEXT("Zr7g"),
TEXT("Zr7s"),
TEXT("Zer8"),
TEXT("Ze8T"),
TEXT("Zer9"),
TEXT("Z9ly"),
TEXT("Z9ry"),
TEXT("Z9lo"),
TEXT("Z9ro"),
TEXT("Z10a"),
TEXT("Z10b"),
TEXT("Z10c"),
TEXT("Z10d"),
TEXT("Z10e"),
TEXT("Pro1"),
TEXT("Pro2"),
TEXT("Pr3R"),
TEXT("Pr3G"),
TEXT("Pro4"),
TEXT("Pr5I"),
TEXT("Pr5B"),
TEXT("Pro7"),
TEXT("Pr7B"),
TEXT("Pr7S"),
TEXT("Pro8"),
TEXT("Pr8B"),
TEXT("Pr8D"),
TEXT("Pro9"),
TEXT("Pr9W"),
TEXT("Pr9Y"),
TEXT("Pr10"),
TEXT("P10C"),
TEXT("P10o"),
TEXT("PB1A"),
TEXT("PB1B"),
TEXT("PB1C"),
TEXT("PB1D"),
TEXT("PB1E"),
TEXT("PB1F"),
TEXT("PB2A"),
TEXT("PB2B"),
TEXT("PB2C"),
TEXT("PB2D"),
TEXT("PB2E"),
TEXT("PB2F"),
TEXT("PB3A"),
TEXT("PB3B"),
TEXT("PB3C"),
TEXT("PB3D"),
TEXT("PB3E"),
TEXT("PB3F"),
TEXT("PB4A"),
TEXT("PB4B"),
TEXT("PB4C"),
TEXT("PB4D"),
TEXT("PB4E"),
TEXT("PB4F"),
TEXT("PB5A"),
TEXT("PB5B"),
TEXT("PB5C"),
TEXT("PB5D"),
TEXT("PB5E"),
TEXT("PB5F"),
TEXT("PB6A"),
TEXT("PB6B"),
TEXT("PB6C"),
TEXT("PB6D"),
TEXT("PB6E"),
TEXT("PB6F"),
TEXT("PB7A"),
TEXT("PB7B"),
TEXT("PB7C"),
TEXT("PB7D"),
TEXT("PB7E"),
TEXT("PB7F"),
TEXT("PB8A"),
TEXT("PB8B"),
TEXT("PB8C"),
TEXT("PB8D"),
TEXT("PB8E"),
TEXT("PB8F"),
TEXT("TB1A"),
TEXT("TB1B"),
TEXT("TB1C"),
TEXT("TB1D"),
TEXT("TB1E"),
TEXT("TB1F"),
TEXT("TB2A"),
TEXT("TB2B"),
TEXT("TB2C"),
TEXT("TB2D"),
TEXT("TB2E"),
TEXT("TB2F"),
TEXT("TB3A"),
TEXT("TB3B"),
TEXT("TB3C"),
TEXT("TB3D"),
TEXT("TB3E"),
TEXT("TB3F"),
TEXT("TB4A"),
TEXT("TB4B"),
TEXT("TB4C"),
TEXT("TB4D"),
TEXT("TB4E"),
TEXT("TB4F"),
TEXT("TB5A"),
TEXT("TB5B"),
TEXT("TB5C"),
TEXT("TB5D"),
TEXT("TB5E"),
TEXT("TB5F"),
TEXT("TB6A"),
TEXT("TB6B"),
TEXT("TB6C"),
TEXT("TB6D"),
TEXT("TB6E"),
TEXT("TB6F"),
TEXT("TB7A"),
TEXT("TB7B"),
TEXT("TB7C"),
TEXT("TB7D"),
TEXT("TB7E"),
TEXT("TB7F"),
TEXT("TB8A"),
TEXT("TB8B"),
TEXT("TB8C"),
TEXT("TB8D"),
TEXT("TB8E"),
TEXT("TB8F"),
TEXT("ZB1A"),
TEXT("ZB1B"),
TEXT("ZB1C"),
TEXT("ZB1D"),
TEXT("ZB1E"),
TEXT("ZB1F"),
TEXT("ZB2A"),
TEXT("ZB2B"),
TEXT("ZB2C"),
TEXT("ZB2D"),
TEXT("ZB2E"),
TEXT("ZB2F"),
TEXT("ZB3A"),
TEXT("ZB3B"),
TEXT("ZB3C"),
TEXT("ZB3D"),
TEXT("ZB3E"),
TEXT("ZB3F"),
TEXT("ZB4A"),
TEXT("ZB4B"),
TEXT("ZB4C"),
TEXT("ZB4D"),
TEXT("ZB4E"),
TEXT("ZB4F"),
TEXT("ZB5A"),
TEXT("ZB5B"),
TEXT("ZB5C"),
TEXT("ZB5D"),
TEXT("ZB5E"),
TEXT("ZB5F"),
TEXT("ZB6A"),
TEXT("ZB6B"),
TEXT("ZB6C"),
TEXT("ZB6D"),
TEXT("ZB6E"),
TEXT("ZB6F"),
TEXT("ZB7A"),
TEXT("ZB7B"),
TEXT("ZB7C"),
TEXT("ZB7D"),
TEXT("ZB7E"),
TEXT("ZB7F"),
TEXT("ZB8A"),
TEXT("ZB8B"),
TEXT("ZB8C"),
TEXT("ZB8D"),
TEXT("ZB8E"),
TEXT("ZB8F"),
TEXT("ZB9A"),
TEXT("ZB9B"),
TEXT("ZB9C"),
TEXT("ZB9D"),
TEXT("ZB9E"),
TEXT("ZB9F"),
TEXT("ZB0A"),
TEXT("ZB0B"),
TEXT("ZB0C"),
TEXT("ZB0D"),
TEXT("ZB0E"),
TEXT("ZB0F"),
TEXT("TMCu"),
TEXT("ZMCu"),
TEXT("PMCu"),
TEXT("TMCx"),
TEXT("ZMCx"),
TEXT("PMCx"),
TEXT("TLOf"),
TEXT("TMED"),
TEXT("THIf"),
TEXT("TSUP"),
TEXT("TARE"),
TEXT("ZLOf"),
TEXT("ZMED"),
TEXT("ZHIf"),
TEXT("ZSUP"),
TEXT("ZARE"),
TEXT("PLOf"),
TEXT("PMED"),
TEXT("PHIf"),
TEXT("PSUP"),
TEXT("PARE"),
TEXT("TLOx"),
TEXT("TMEx"),
TEXT("THIx"),
TEXT("TSUx"),
TEXT("TARx"),
TEXT("ZLOx"),
TEXT("ZMEx"),
TEXT("ZHIx"),
TEXT("ZSUx"),
TEXT("ZARx"),
TEXT("PLOx"),
TEXT("PMEx"),
TEXT("PHIx"),
TEXT("PSUx"),
TEXT("PARx"),
TEXT("Suic"),
TEXT("SuiR"),
TEXT("Rscu"),
TEXT("+Vi0"),
TEXT("+Vi1"),
TEXT("+Vi2"),
TEXT("+Vi3"),
TEXT("+Vi4"),
TEXT("+Vi5"),
TEXT("+Vi6"),
TEXT("+Vi7"),
TEXT("-Vi0"),
TEXT("-Vi1"),
TEXT("-Vi2"),
TEXT("-Vi3"),
TEXT("-Vi4"),
TEXT("-Vi5"),
TEXT("-Vi6"),
TEXT("-Vi7"),
TEXT("MvTe"),
TEXT("ClrC"),
TEXT("Enmy"),
TEXT("Ally"),
TEXT("VluA"),
TEXT("EnBk"),
TEXT("StTg"),
TEXT("StPt"),
TEXT("EnTr"),
TEXT("ExTr"),
TEXT("NuHe"),
TEXT("HaHe"),
TEXT("JYDg"),
TEXT("DWHe"),
TEXT("ReHe") };


const TCHAR AILongNames[NumAIScripts][100] = {
TEXT("Terran 3 - Zerg Town"),
TEXT("Terran 5 - Terran Main Town"),
TEXT("Terran 5 - Terran Harvest Town"),
TEXT("Terran 6 - Air Attack Zerg"),
TEXT("Terran 6 - Ground Attack Zerg"),
TEXT("Terran 6 - Zerg Support Town"),
TEXT("Terran 7 - Bottom Zerg Town"),
TEXT("Terran 7 - Right Zerg Town"),
TEXT("Terran 7 - Middle Zerg Town"),
TEXT("Terran 8 - Confederate Town"),
TEXT("Terran 9 - Light Attack"),
TEXT("Terran 9 - Heavy Attack"),
TEXT("Terran 10 - Confederate Towns"),
TEXT("Terran 11 - Zerg Town"),
TEXT("Terran 11 - Lower Protoss Town"),
TEXT("Terran 11 - Upper Protoss Town"),
TEXT("Terran 12 - Nuke Town"),
TEXT("Terran 12 - Phoenix Town"),
TEXT("Terran 12 - Tank Town"),
TEXT("Terran 1 - Electronic Distribution"),
TEXT("Terran 2 - Electronic Distribution"),
TEXT("Terran 3 - Electronic Distribution"),
TEXT("Terran 1 - Shareware"),
TEXT("Terran 2 - Shareware"),
TEXT("Terran 3 - Shareware"),
TEXT("Terran 4 - Shareware"),
TEXT("Terran 5 - Shareware"),
TEXT("Zerg 1 - Terran Town"),
TEXT("Zerg 2 - Protoss Town"),
TEXT("Zerg 3 - Terran Town"),
TEXT("Zerg 4 - Right Terran Town"),
TEXT("Zerg 4 - Lower Terran Town"),
TEXT("Zerg 6 - Protoss Town"),
TEXT("Zerg 7 - Air Town"),
TEXT("Zerg 7 - Ground Town"),
TEXT("Zerg 7 - Support Town"),
TEXT("Zerg 8 - Scout Town"),
TEXT("Zerg 8 - Templar Town"),
TEXT("Zerg 9 - Teal Protoss"),
TEXT("Zerg 9 - Left Yellow Protoss"),
TEXT("Zerg 9 - Right Yellow Protoss"),
TEXT("Zerg 9 - Left Orange Protoss"),
TEXT("Zerg 9 - Right Orange Protoss"),
TEXT("Zerg 10 - Left Teal (Attack)"),
TEXT("Zerg 10 - Right Teal (Support)"),
TEXT("Zerg 10 - Left Yellow (Support)"),
TEXT("Zerg 10 - Right Yellow (Attack)"),
TEXT("Zerg 10 - Red Protoss"),
TEXT("Protoss 1 - Zerg Town"),
TEXT("Protoss 2 - Zerg Town"),
TEXT("Protoss 3 - Air Zerg Town"),
TEXT("Protoss 3 - Ground Zerg Town"),
TEXT("Protoss 4 - Zerg Town"),
TEXT("Protoss 5 - Zerg Town Island"),
TEXT("Protoss 5 - Zerg Town Base"),
TEXT("Protoss 7 - Left Protoss Town"),
TEXT("Protoss 7 - Right Protoss Town"),
TEXT("Protoss 7 - Shrine Protoss"),
TEXT("Protoss 8 - Left Protoss Town"),
TEXT("Protoss 8 - Right Protoss Town"),
TEXT("Protoss 8 - Protoss Defenders"),
TEXT("Protoss 9 - Ground Zerg"),
TEXT("Protoss 9 - Air Zerg"),
TEXT("Protoss 9 - Spell Zerg"),
TEXT("Protoss 10 - Mini-Ttowns"),
TEXT("Protoss 10 - Mini-Town Master"),
TEXT("Protoss 10 - Overmind Defenders"),
TEXT("Brood Wars Protoss 1 - Town A"),
TEXT("Brood Wars Protoss 1 - Town B"),
TEXT("Brood Wars Protoss 1 - Town C"),
TEXT("Brood Wars Protoss 1 - Town D"),
TEXT("Brood Wars Protoss 1 - Town E"),
TEXT("Brood Wars Protoss 1 - Town F"),
TEXT("Brood Wars Protoss 2 - Town A"),
TEXT("Brood Wars Protoss 2 - Town B"),
TEXT("Brood Wars Protoss 2 - Town C"),
TEXT("Brood Wars Protoss 2 - Town D"),
TEXT("Brood Wars Protoss 2 - Town E"),
TEXT("Brood Wars Protoss 2 - Town F"),
TEXT("Brood Wars Protoss 3 - Town A"),
TEXT("Brood Wars Protoss 3 - Town B"),
TEXT("Brood Wars Protoss 3 - Town C"),
TEXT("Brood Wars Protoss 3 - Town D"),
TEXT("Brood Wars Protoss 3 - Town E"),
TEXT("Brood Wars Protoss 3 - Town F"),
TEXT("Brood Wars Protoss 4 - Town A"),
TEXT("Brood Wars Protoss 4 - Town B"),
TEXT("Brood Wars Protoss 4 - Town C"),
TEXT("Brood Wars Protoss 4 - Town D"),
TEXT("Brood Wars Protoss 4 - Town E"),
TEXT("Brood Wars Protoss 4 - Town F"),
TEXT("Brood Wars Protoss 5 - Town A"),
TEXT("Brood Wars Protoss 5 - Town B"),
TEXT("Brood Wars Protoss 5 - Town C"),
TEXT("Brood Wars Protoss 5 - Town D"),
TEXT("Brood Wars Protoss 5 - Town E"),
TEXT("Brood Wars Protoss 5 - Town F"),
TEXT("Brood Wars Protoss 6 - Town A"),
TEXT("Brood Wars Protoss 6 - Town B"),
TEXT("Brood Wars Protoss 6 - Town C"),
TEXT("Brood Wars Protoss 6 - Town D"),
TEXT("Brood Wars Protoss 6 - Town E"),
TEXT("Brood Wars Protoss 6 - Town F"),
TEXT("Brood Wars Protoss 7 - Town A"),
TEXT("Brood Wars Protoss 7 - Town B"),
TEXT("Brood Wars Protoss 7 - Town C"),
TEXT("Brood Wars Protoss 7 - Town D"),
TEXT("Brood Wars Protoss 7 - Town E"),
TEXT("Brood Wars Protoss 7 - Town F"),
TEXT("Brood Wars Protoss 8 - Town A"),
TEXT("Brood Wars Protoss 8 - Town B"),
TEXT("Brood Wars Protoss 8 - Town C"),
TEXT("Brood Wars Protoss 8 - Town D"),
TEXT("Brood Wars Protoss 8 - Town E"),
TEXT("Brood Wars Protoss 8 - Town F"),
TEXT("Brood Wars Terran 1 - Town A"),
TEXT("Brood Wars Terran 1 - Town B"),
TEXT("Brood Wars Terran 1 - Town C"),
TEXT("Brood Wars Terran 1 - Town D"),
TEXT("Brood Wars Terran 1 - Town E"),
TEXT("Brood Wars Terran 1 - Town F"),
TEXT("Brood Wars Terran 2 - Town A"),
TEXT("Brood Wars Terran 2 - Town B"),
TEXT("Brood Wars Terran 2 - Town C"),
TEXT("Brood Wars Terran 2 - Town D"),
TEXT("Brood Wars Terran 2 - Town E"),
TEXT("Brood Wars Terran 2 - Town F"),
TEXT("Brood Wars Terran 3 - Town A"),
TEXT("Brood Wars Terran 3 - Town B"),
TEXT("Brood Wars Terran 3 - Town C"),
TEXT("Brood Wars Terran 3 - Town D"),
TEXT("Brood Wars Terran 3 - Town E"),
TEXT("Brood Wars Terran 3 - Town F"),
TEXT("Brood Wars Terran 4 - Town A"),
TEXT("Brood Wars Terran 4 - Town B"),
TEXT("Brood Wars Terran 4 - Town C"),
TEXT("Brood Wars Terran 4 - Town D"),
TEXT("Brood Wars Terran 4 - Town E"),
TEXT("Brood Wars Terran 4 - Town F"),
TEXT("Brood Wars Terran 5 - Town A"),
TEXT("Brood Wars Terran 5 - Town B"),
TEXT("Brood Wars Terran 5 - Town C"),
TEXT("Brood Wars Terran 5 - Town D"),
TEXT("Brood Wars Terran 5 - Town E"),
TEXT("Brood Wars Terran 5 - Town F"),
TEXT("Brood Wars Terran 6 - Town A"),
TEXT("Brood Wars Terran 6 - Town B"),
TEXT("Brood Wars Terran 6 - Town C"),
TEXT("Brood Wars Terran 6 - Town D"),
TEXT("Brood Wars Terran 6 - Town E"),
TEXT("Brood Wars Terran 6 - Town F"),
TEXT("Brood Wars Terran 7 - Town A"),
TEXT("Brood Wars Terran 7 - Town B"),
TEXT("Brood Wars Terran 7 - Town C"),
TEXT("Brood Wars Terran 7 - Town D"),
TEXT("Brood Wars Terran 7 - Town E"),
TEXT("Brood Wars Terran 7 - Town F"),
TEXT("Brood Wars Terran 8 - Town A"),
TEXT("Brood Wars Terran 8 - Town B"),
TEXT("Brood Wars Terran 8 - Town C"),
TEXT("Brood Wars Terran 8 - Town D"),
TEXT("Brood Wars Terran 8 - Town E"),
TEXT("Brood Wars Terran 8 - Town F"),
TEXT("Brood Wars Zerg 1 - Town A"),
TEXT("Brood Wars Zerg 1 - Town B"),
TEXT("Brood Wars Zerg 1 - Town C"),
TEXT("Brood Wars Zerg 1 - Town D"),
TEXT("Brood Wars Zerg 1 - Town E"),
TEXT("Brood Wars Zerg 1 - Town F"),
TEXT("Brood Wars Zerg 2 - Town A"),
TEXT("Brood Wars Zerg 2 - Town B"),
TEXT("Brood Wars Zerg 2 - Town C"),
TEXT("Brood Wars Zerg 2 - Town D"),
TEXT("Brood Wars Zerg 2 - Town E"),
TEXT("Brood Wars Zerg 2 - Town F"),
TEXT("Brood Wars Zerg 3 - Town A"),
TEXT("Brood Wars Zerg 3 - Town B"),
TEXT("Brood Wars Zerg 3 - Town C"),
TEXT("Brood Wars Zerg 3 - Town D"),
TEXT("Brood Wars Zerg 3 - Town E"),
TEXT("Brood Wars Zerg 3 - Town F"),
TEXT("Brood Wars Zerg 4 - Town A"),
TEXT("Brood Wars Zerg 4 - Town B"),
TEXT("Brood Wars Zerg 4 - Town C"),
TEXT("Brood Wars Zerg 4 - Town D"),
TEXT("Brood Wars Zerg 4 - Town E"),
TEXT("Brood Wars Zerg 4 - Town F"),
TEXT("Brood Wars Zerg 5 - Town A"),
TEXT("Brood Wars Zerg 5 - Town B"),
TEXT("Brood Wars Zerg 5 - Town C"),
TEXT("Brood Wars Zerg 5 - Town D"),
TEXT("Brood Wars Zerg 5 - Town E"),
TEXT("Brood Wars Zerg 5 - Town F"),
TEXT("Brood Wars Zerg 6 - Town A"),
TEXT("Brood Wars Zerg 6 - Town B"),
TEXT("Brood Wars Zerg 6 - Town C"),
TEXT("Brood Wars Zerg 6 - Town D"),
TEXT("Brood Wars Zerg 6 - Town E"),
TEXT("Brood Wars Zerg 6 - Town F"),
TEXT("Brood Wars Zerg 7 - Town A"),
TEXT("Brood Wars Zerg 7 - Town B"),
TEXT("Brood Wars Zerg 7 - Town C"),
TEXT("Brood Wars Zerg 7 - Town D"),
TEXT("Brood Wars Zerg 7 - Town E"),
TEXT("Brood Wars Zerg 7 - Town F"),
TEXT("Brood Wars Zerg 8 - Town A"),
TEXT("Brood Wars Zerg 8 - Town B"),
TEXT("Brood Wars Zerg 8 - Town C"),
TEXT("Brood Wars Zerg 8 - Town D"),
TEXT("Brood Wars Zerg 8 - Town E"),
TEXT("Brood Wars Zerg 8 - Town F"),
TEXT("Brood Wars Zerg 9 - Town A"),
TEXT("Brood Wars Zerg 9 - Town B"),
TEXT("Brood Wars Zerg 9 - Town C"),
TEXT("Brood Wars Zerg 9 - Town D"),
TEXT("Brood Wars Zerg 9 - Town E"),
TEXT("Brood Wars Zerg 9 - Town F"),
TEXT("Brood Wars Zerg 10 - Town A"),
TEXT("Brood Wars Zerg 10 - Town B"),
TEXT("Brood Wars Zerg 10 - Town C"),
TEXT("Brood Wars Zerg 10 - Town D"),
TEXT("Brood Wars Zerg 10 - Town E"),
TEXT("Brood Wars Zerg 10 - Town F"),
TEXT("Terran Custom Level"),
TEXT("Zerg Custom Level"),
TEXT("Protoss Custom Level"),
TEXT("Terran Expansion Custom Level"),
TEXT("Zerg Expansion Custom Level"),
TEXT("Protoss Expansion Custom Level"),
TEXT("Terran Campaign Easy"),
TEXT("Terran Campaign Medium"),
TEXT("Terran Campaign Difficult"),
TEXT("Terran Campaign Insane"),
TEXT("Terran Campaign Area Town"),
TEXT("Zerg Campaign Easy"),
TEXT("Zerg Campaign Medium"),
TEXT("Zerg Campaign Difficult"),
TEXT("Zerg Campaign Insane"),
TEXT("Zerg Campaign Area Town"),
TEXT("Protoss Campaign Easy"),
TEXT("Protoss Campaign Medium"),
TEXT("Protoss Campaign Difficult"),
TEXT("Protoss Campaign Insane"),
TEXT("Protoss Campaign Area Town"),
TEXT("Expansion Terran Campaign Easy"),
TEXT("Expansion Terran Campaign Medium"),
TEXT("Expansion Terran Campaign Difficult"),
TEXT("Expansion Terran Campaign Insane"),
TEXT("Expansion Terran Campaign Area Town"),
TEXT("Expansion Zerg Campaign Easy"),
TEXT("Expansion Zerg Campaign Medium"),
TEXT("Expansion Zerg Campaign Difficult"),
TEXT("Expansion Zerg Campaign Insane"),
TEXT("Expansion Zerg Campaign Area Town"),
TEXT("Expansion Protoss Campaign Easy"),
TEXT("Expansion Protoss Campaign Medium"),
TEXT("Expansion Protoss Campaign Difficult"),
TEXT("Expansion Protoss Campaign Insane"),
TEXT("Expansion Protoss Campaign Area Town"),
TEXT("Send All Units on Strategic Suicide Missions"),
TEXT("Send All Units on Random Suicide Missions"),
TEXT("Switch Computer Player To Rescue Passive"),
TEXT("Turn ON Shared Vision of Player 1 with current player"),
TEXT("Turn ON Shared Vision of Player 2 with current player"),
TEXT("Turn ON Shared Vision of Player 3 with current player"),
TEXT("Turn ON Shared Vision of Player 4 with current player"),
TEXT("Turn ON Shared Vision of Player 5 with current player"),
TEXT("Turn ON Shared Vision of Player 6 with current player"),
TEXT("Turn ON Shared Vision of Player 7 with current player"),
TEXT("Turn ON Shared Vision of Player 8 with current player"),
TEXT("Turn OFF Shared Vision of Player 1 with current player"),
TEXT("Turn OFF Shared Vision of Player 2 with current player"),
TEXT("Turn OFF Shared Vision of Player 3 with current player"),
TEXT("Turn OFF Shared Vision of Player 4 with current player"),
TEXT("Turn OFF Shared Vision of Player 5 with current player"),
TEXT("Turn OFF Shared Vision of Player 6 with current player"),
TEXT("Turn OFF Shared Vision of Player 7 with current player"),
TEXT("Turn OFF Shared Vision of Player 8 with current player"),
TEXT("Move Dark Templars To Region"),
TEXT("Clear Previous Combat Data"),
TEXT("Set Player To Enemy here"),
TEXT("Set Player To Ally here"),
TEXT("Value This Area Higher"),
TEXT("Enter Closest Bunker"),
TEXT("Set Generic Command Target"),
TEXT("Make These Units Patrol"),
TEXT("Enter Transport"),
TEXT("Exit Transport"),
TEXT("AI Nuke Here"),
TEXT("AI Harass Here"),
TEXT("Set Unit Order To: Junk Yard Dog"),
TEXT("Cast Disruption Web"),
TEXT("Cast Recall (Arbiter required)") };

nlight
Profile Joined October 2011
Bulgaria58 Posts
April 30 2017 12:58 GMT
#68
On April 30 2017 21:20 S.I. wrote:
Have fun!


Awesome! Thank you so much, I'll be implementing all of these asap.
S.I.
Profile Joined April 2017
58 Posts
April 30 2017 13:14 GMT
#69
Looking back on it using a 2D array would have been better... but its 15 year old code ;(
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-30 16:09:59
April 30 2017 13:18 GMT
#70
On April 30 2017 22:14 S.I. wrote:
Looking back on it using a 2D array would have been better... but its 15 year old code ;(


Doesn't really matter to me, I already added them to LangUMS so thanks again.

New feature - template event declarations, so you don't have to write a million event handlers.


for <PlayerId> in (Player1, Player2, Player3, Player4, Player5, Player6) {
accumulate(PlayerId, AtLeast, 10, Minerals),
bring(PlayerId, AtLeast, 1, AllUnits, BuyMarines) => {
take_resource(PlayerId, Minerals, 10);
spawn(TerranMarine, PlayerId, 1, BuyMarines);
print("You purchased a marine, take good care of it.");
}
}


You can repeat players, locations, unit types, pretty much anything with these.
integral
Profile Blog Joined February 2009
United States3156 Posts
April 30 2017 16:23 GMT
#71
Welcome to TL, SI! Big fan.
Whiplash
Profile Blog Joined October 2008
United States2929 Posts
Last Edited: 2017-04-30 16:50:09
April 30 2017 16:49 GMT
#72
Will your editor be able to do advanced functions that programs in the past like firegraft/memgraft have been able to do such as assigning abilities to different units, or replacing unit/portrait graphics with new content, or terrain blending between different titlesets? Doing this without a custom exe is the kind of flexibility I want in SC1.

BTW I'd check the http://www.campaigncreations.org/forum/ forums, there are a lot of old school modders/campaign creators there, potentially a good place to share your work.
Cinematographer / Steadicam Operator. Former Starcraft commentator/player
integral
Profile Blog Joined February 2009
United States3156 Posts
April 30 2017 16:50 GMT
#73
nlight I think I might be the only mapmaker in the world who has a current need to use arrays, and I don't know enough computer science to intuitively grok your implementation here. I don't really have a specific question because I'm not even sure what you've done.

+ Show Spoiler +

global player_score[8];

deaths(Player2, AtLeast, 1, TerranMarine) => {
remove_deaths(Player2, TerranMarine, 1);
player_score[0]++;
player_score[1]++;
}

fn main() {
var foo[4];
foo[0] = 15;
foo[1] = 42;

if (foo[0] == 15) {
print("foo[0] == 15");
}

if ((foo[1] * 2) == 84) {
print("(foo[1] * 2) == 84");
}

while (true) {
poll_events();
}
}



So my understanding is that you're defining an array with 5 elements, 0-4, and then you're able to do stuff with that. What does that look like in triggers though? A unique death count for each element, I assume?
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-30 17:22:39
April 30 2017 17:13 GMT
#74
with 5 elements, 0-4


It's four elements - foo[N] declares an array with size N so foo[4] will declare foo with 4 elements.

What does that look like in triggers though? A unique death count for each element, I assume?


Yeah. Each array element takes a register (i.e. death count). It's fair to say that "regular" variables are just arrays with size of one as far as the compiler treats them. Arrays don't survive past the IR phase, they are more or less what you'd call "syntax sugar". Indexing with anything that's not a constant literal is not possible at the moment e.g. being able to say "myArray[someVariable]". Though there are (inefficient) ways to implement it so I'll look into that in the future.

On another note I've started making a "real" playable map to use as example. You can follow the progress here - https://github.com/AlexanderDzhoganov/langums/tree/master/examples
integral
Profile Blog Joined February 2009
United States3156 Posts
April 30 2017 17:30 GMT
#75
On May 01 2017 02:13 nlight wrote:
Show nested quote +
with 5 elements, 0-4


It's four elements - foo[N] declares an array with size N so foo[4] will declare foo with 4 elements.


Ah, ok.

Yeah. Each array element takes a register (i.e. death count). It's fair to say that "regular" variables are just arrays with size of one as far as the compiler treats them. Arrays don't survive past the IR phase, they are more or less what you'd call "syntax sugar". Indexing with anything that's not a constant literal is not possible at the moment e.g. being able to say "myArray[someVariable]". Though there are (inefficient) ways to implement it so I'll look into that in the future.


Everything in starcraft coding is super inefficient, I dunno how the developers could stand making maps and the campaign without actual variables and operators. Kinda boggles my mind a bit.

On another note I've started making a "real" playable map to use as example. You can follow the progress here - https://github.com/AlexanderDzhoganov/langums/tree/master/examples

An example map will be super helpful, thanks. I can't read code very well or fast but I am fluent in triggers
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-05-01 13:59:57
May 01 2017 13:58 GMT
#76
I have a question. I am getting this really weird repeating sound on my example map about 30 seconds after the map starts.

Here is a video, sound starts at 11 seconds and keeps repeating. Please tell me how to find out what's causing it.

Freakling
Profile Joined October 2012
Germany1533 Posts
May 01 2017 14:53 GMT
#77
That sound is the Terran rescue unit sound (sound\misc\TRescue.wav). Either you have some trigger using that sound directly, or you are creating rescuable units (units for a player set to rescuable) somewhere near your own.
Powder_Keg
Profile Joined May 2017
8 Posts
Last Edited: 2017-05-01 17:09:00
May 01 2017 17:08 GMT
#78
Hi! I by no means mean to deter you from continuing this project (I think it's awesome), but as is the code seems to be a bit difficult to read (i.e. just by looking at your code, it's hard to tell what exactly everything does).

Is there a way you could make it more readable?
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-05-01 17:29:37
May 01 2017 17:23 GMT
#79
On May 02 2017 02:08 Powder_Keg wrote:
Hi! I by no means mean to deter you from continuing this project (I think it's awesome), but as is the code seems to be a bit difficult to read (i.e. just by looking at your code, it's hard to tell what exactly everything does).

Is there a way you could make it more readable?


You mean the code of the compiler or the LangUMS language itself? Also you'll have to be more specific, which parts do you find unreadable? Maybe give examples.

On May 01 2017 23:53 Freakling wrote:
That sound is the Terran rescue unit sound (sound\misc\TRescue.wav). Either you have some trigger using that sound directly, or you are creating rescuable units (units for a player set to rescuable) somewhere near your own.


It turned out to be a glitched map issue, not triggers related. I'm still investigating what's up.
Powder_Keg
Profile Joined May 2017
8 Posts
May 01 2017 17:59 GMT
#80
Maybe it's just me, and maybe it's just that your language is meant to be understood differently from what people are used to, but here's what I had trouble understanding while reading through your code:

  • When triggers start and when they end
  • Which players own the triggers
  • What variables are deathcounters and what are just integers (similarly boolians and switches)


Though, these are relatively minor complaints. Looking through it again the code is quite understandable, it just takes some getting used to.
Prev 1 2 3 4 5 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 2h 24m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
NeuroSwarm 188
SortOf 2
StarCraft: Brood War
Pusan 237
ggaemo 148
910 131
Nal_rA 96
Larva 50
Killer 46
Bale 17
League of Legends
JimRising 664
Counter-Strike
shoxiejesuss254
Super Smash Bros
C9.Mang0256
Heroes of the Storm
Khaldor141
Other Games
summit1g13192
WinterStarcraft523
ceh9419
Organizations
Counter-Strike
PGL5071
Other Games
BasetradeTV204
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• LUISG 0
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1534
• Stunt432
Upcoming Events
Afreeca Starleague
2h 24m
Wardi Open
3h 24m
Replay Cast
16h 24m
Sparkling Tuna Cup
1d 2h
PiGosaur Cup
1d 16h
Kung Fu Cup
2 days
The PondCast
3 days
Replay Cast
3 days
Replay Cast
4 days
CranKy Ducklings
5 days
[ Show More ]
BSL
5 days
Replay Cast
5 days
Sparkling Tuna Cup
6 days
BSL
6 days
Replay Cast
6 days
Liquipedia Results

Completed

CSL Elite League 2026
RSL Revival: Season 4
NationLESS Cup

Ongoing

BSL Season 22
ASL Season 21
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
StarCraft2 Community Team League 2026 Spring
Nations Cup 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026

Upcoming

Escore Tournament S2: W2
IPSL Spring 2026
Escore Tournament S2: W3
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
RSL Revival: Season 5
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.