• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:29
CEST 07:29
KST 14:29
  • 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
ByuL, and the Limitations of Standard Play1Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview8
Community News
[TLMC] Summer 2026 Ladder Map Rotation05.0.16 patch for SC2 goes live (8 worker start)65ZeroSpace at Steam NextFest - Last free demo31Weekly Cups (June 8-14): Clem and Solar double, PTR tested0RSL: S6 Finals played at BlizzCon 202611
StarCraft 2
General
Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start) Mizenhauer's Douyu Cup Preview ByuL, and the Limitations of Standard Play Possible bug in the new patch?
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event Douyu Cup 2026: $20,000 Legends Event (June 26-28) INu's Battles#17 <BO.9> Sparkling Tuna Cup - Weekly Open Tournament GSL CK #4 20-21th June
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 531 Experimental Artillery Mutation # 530 One For All Mutation # 529 Opportunities Unleashed
Brood War
General
vespene.gg — BW replays in browser Quality of life changes in BW that you will like ? ASL 22 Proposed Map Pool BW General Discussion [BSL22] Non-Korean Championship from 13 to 28 June
Tourneys
[Megathread] Daily Proleagues The Casual Games of the Week Thread [BSL22] GosuLeague Casts - Tue & Thu 22:00 CEST CSLAN 4 is Coming!
Strategy
Creating a full chart of Zerg builds Relatively freeroll strategies Why doesn't anyone use restoration? Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Beyond All Reason Nintendo Switch Thread ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread [H]Internet/Gaming Cafe Tips and Tricks
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 McBoner: A hockey love story Formula 1 Discussion Cricket [SPORT]
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
Listen To The Coaches!
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6125 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
Croatia9540 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 States3161 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 States3161 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 States3161 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
Douyu Cup 2020
05:00
2026 - Day 2
Neeb vs Impact
MacSed vs Cyan
Scarlett vs Kelazhur
INnoVation vs Dear
CranKy Ducklings104
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft640
Nina 192
RuFF_SC2 166
ProTech133
StateSC2 1
StarCraft: Brood War
Rain 4505
GuemChi 3032
Shuttle 475
Snow 131
ZergMaN 33
Noble 15
Bale 14
Icarus 6
Dota 2
NeuroSwarm107
League of Legends
JimRising 725
Counter-Strike
Coldzera 1151
Other Games
summit1g11459
C9.Mang0936
ViBE141
Mew2King133
Organizations
Other Games
gamesdonequick1134
StarCraft: Brood War
UltimateBattle 82
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP24
• practicex 18
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1240
• Stunt394
Upcoming Events
Big Brain Bouts
10h 31m
Jumy vs eGGz
Harstem vs sebesdes
TriGGeR vs HeRoMaRinE
Douyu Cup 2020
23h 31m
Maestros of the Game
1d 7h
herO vs Classic
Maru vs Serral
BSL22 NKC (BSL vs China)
1d 8h
Douyu Cup 2020
1d 23h
BSL22 NKC (BSL vs China)
2 days
Online Event
2 days
RSL Revival
2 days
WardiTV Weekly
3 days
RSL Revival
4 days
[ Show More ]
RSL Revival
4 days
Bombastic Starleague
4 days
Kung Fu Cup
5 days
OSC
5 days
CrankTV Team League
6 days
Bombastic Starleague
6 days
Replay Cast
6 days
Liquipedia Results

Completed

CSCL: Masked Kings S4
WardiTV Spring 2026
Heroes Pulsing #2

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
BSL 22 Non-Korean Championship
CSL Season 21: Qualifier 1
CSL Season 21: Qualifier 2
SCTL 2026 Spring
Douyu Cup 2026
Maestros of the Game 2
Murky Cup 2026
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
IEM Rio 2026

Upcoming

CSL 2026 Summer (S21)
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
BCC 2026
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E1
Heroes Pulsing #3
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 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.