• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 20:02
CET 01:02
KST 09:02
  • 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
[ASL22] Finals Preview: Sweet Victory!11[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Evil Geniuses - shutting down16ISSL (IntoTheTV x SOOP SC2 League): Premier5Weekly Cups (October 12-18): 5.0.17 era begins1[$1250] International ShieldBattery League80Weekly Cups (October 5-11): Farewell to 5.0.167
StarCraft 2
General
REPORT: StarCraft 2: Remastered In Development Evil Geniuses - shutting down How do you feel about the mass reverts in the 5.0.17 PTR? Team Liquid Map Contest #22: Results and Winners No more SC2 streamers on team liquid?
Tourneys
RSL goes to London! 2026 Offline Finals Nov 21-22 ScienceCraft (October 24-25) - Live Event Sparkling Tuna Cup - Weekly Open Tournament ISSL (IntoTheTV x SOOP SC2 League): Premier WORTEX Challenger Series — Open SC2 LAN in Budapes
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[G] How to playtest arcade maps [A] Nemrods 1/4 players [M] (2) Sweltering Sands
External Content
Mutation # 549 Endless Sparkles The PondCast: SC2 News & Results Mutation # 548 Shining Bright Mutation # 547 Temple Of Terror
Brood War
General
[ASL22] Finals Preview: Sweet Victory! Recent recommended BW games [Megathread] Daily Funny Videos Hands of Pluto Oceanic Brood War - Join and chat!
Tourneys
[$1250] International ShieldBattery League [Megathread] Daily Proleagues [ASL22] Grand Finals [BSL23] RO24 Group C
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Mobile Legends: Bang Bang Armies of Exigo - YesYes? General RTS Discussion Thread
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread European Politico-economics QA Mega-thread US Politics Mega-thread Russo-Ukrainian War Thread
Fan Clubs
Reynor Fan Club The Flash Fan Club Serral Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 10221 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
Croatia9571 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
TL+ Member
Freakling
Profile Joined October 2012
Germany1534 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
Germany1534 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
Germany1534 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 28m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft309
Nathanias 103
ViBE100
RuFF_SC2 96
Nina 92
CosmosSc2 39
StarCraft: Brood War
Britney 10398
Rain 1517
GuemChi 855
Artosis 609
ProTech182
White-Ra 116
910 35
Dota 2
syndereN516
febbydoto10
League of Legends
Doublelift4991
Counter-Strike
Fnx 1374
Heroes of the Storm
Trikslyr97
Other Games
summit1g11438
shahzam557
C9.Mang0223
ToD204
minikerr11
fpsfer 1
Organizations
Other Games
gamesdonequick1980
[ Show 14 non-featured ]
StarCraft 2
• Hupsaiya 89
• RyuSc2 29
• davetesta8
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota2598
League of Legends
• TFBlade323
Other Games
• Shiphtur832
Upcoming Events
PiGosaur Cup
28m
IntoTheTV X SOOP
1h 58m
The PondCast
9h 58m
Kung Fu Cup
10h 58m
IntoTheTV X SOOP
1d 10h
SHIN vs GuMiho
Clem vs Classic
OSC
1d 21h
WardiTV Invitational
2 days
GSL
2 days
Epic.LAN
2 days
Replay Cast
2 days
[ Show More ]
Sparkling Tuna Cup
3 days
Epic.LAN
3 days
Yamato Cup
4 days
Map Test Tournament
4 days
WardiTV Weekly
5 days
Replay Cast
5 days
Rogue vs Classic
Patches Events
6 days
Liquipedia Results

Completed

Acropolis #5 - GSC
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026

Upcoming

IPSL Winter 2026-27
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 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.