• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:15
CEST 07:15
KST 14:15
  • 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
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 Weekly Cups (March 23-29): herO takes triple
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
[Req][Books] Good Fantasy/SciFi books [Manga] One Piece 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
Shocked by a laser…
Spydermine0240
ASL S21 English Commentary…
namkraft
Electronics
mantequilla
Customize Sidebar...

Website Feedback

Closed Threads



Active: 14429 users

Custom map/ UMS creators wanted - Page 3

Forum Index > BW General
Post a Reply
Prev 1 2 3 4 5 Next All
Freakling
Profile Joined October 2012
Germany1533 Posts
Last Edited: 2017-04-27 19:22:32
April 27 2017 17:38 GMT
#41
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.


If the triggers are already written for a map, you certainly don't need any tools for that any more. However, when any one, including you, starts any new map from scratch...

I understand. I come from a programming background where we're drilled that "the compiler knows better" from day 1, it's like a mantra (and it's mostly true given a decent enough compiler, which mine most likely ain't yet).


A good compiler for a sufficiently complex program, certainly. The issue is more that UMS map makers are used to writing all their stuff in assembler, and they don't want to rewrite any code that ain't broken ;D
Also, there is the issue that when memory is very limited (not just data memory but also the memory the program itself takes up, in this case meaning there is a trigger limit to a map), assembler might just be the best choice... So to run with the analogy, you should probably include the option for the super-geeks to use some inline assembler...
KhaosKreator
Profile Joined April 2009
Canada145 Posts
April 27 2017 18:34 GMT
#42
On April 27 2017 21:57 integral wrote:
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.

But established mapmakers make completely new maps all the time?

Having the compiler use available unused memory by default is obviously the way to go. You just have to make sure there are advanced options for people that want to manage that themselves.
Kyrie, Ignis Divine, Eleison
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 01:32:15
April 27 2017 21:46 GMT
#43
I've pushed a new version with a much cleaned-up internal code representation with hopefully way less codegen bugs. If something didn't work as it should before, hopefully it works now.

An example of the new rnd256() function.

#define LUCKY_NUMBER 90

countdown(Exactly, 0) => {
set_countdown(2 + rnd256() / 80);

if (rnd256() >= LUCKY_NUMBER) {
print("lucky you");
spawn(TerranMarine, Player1, 1 + rnd256() / 40, "TestLocation");
order(TerranMarine, Player1, Attack, "TestLocation", "TestLocation2");
} else {
print("try again next time");
spawn(TerranMarine, Player2, 1 + rnd256() / 40, "TestLocation2");
order(TerranMarine, Player2, Attack, "TestLocation2", "TestLocation");
}
}

fn main() {
while(true) {
poll_events();
}
}


Also template functions:


fn spawn_units<T>(T, qty) {
talking_portrait(T, 5);
spawn(T, Player1, qty, "TestLocation");
order(T, Player1, Move, "TestLocation", "TestLocation2");
}

fn main() {
spawn_units(TerranMarine, 5);
}

kane]deth[
Profile Joined October 2009
Canada368 Posts
April 28 2017 01:04 GMT
#44
Just wanna chime in and say it's really really cool what you're doing here. I've never made any detailed maps before, but as a programmer knowing I can make cool advanced maps using code instead of having to learn about the trigger system and manipulating death counters is really enticing. I'm going to take a look at this soon!
integral
Profile Blog Joined February 2009
United States3156 Posts
Last Edited: 2017-04-28 03:05:06
April 28 2017 03:03 GMT
#45
On April 28 2017 02:38 Freakling wrote:
Show nested quote +
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.


If the triggers are already written for a map, you certainly don't need any tools for that any more. However, when any one, including you, starts any new map from scratch...


On April 28 2017 03:34 KhaosKreator wrote:
But established mapmakers make completely new maps all the time?



What? Even for maps I've already completed, I still use tools to update and edit it... Even if I didn't, this isn't actually relevant to what I was saying, because even in new maps I still copy and paste from what I've done in the past. The whole point of a program like this is to save time.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 14:30:06
April 28 2017 12:35 GMT
#46
The last big limitation is now lifted. You no longer need a reserved player at all. The "unused" unit death counters for all players are mapped by default. This gives us 416 memory locations to work with which should be more than enough for the default configuration. You can still pass a registers file with --reg to override it.

I still need a list of the names of all AI scripts if anyone has such a thing. Otherwise I'll just export a map from scmdraft 2 and extract them manually but it'd be nice to not have to.
integral
Profile Blog Joined February 2009
United States3156 Posts
April 28 2017 16:07 GMT
#47
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 16:21:30
April 28 2017 16:15 GMT
#48
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.
integral
Profile Blog Joined February 2009
United States3156 Posts
April 28 2017 16:59 GMT
#49
On April 29 2017 01:15 nlight wrote:
Show nested quote +
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.


Yeah. It's a long-running joke how slow it is.
nlight
Profile Joined October 2011
Bulgaria58 Posts
April 28 2017 17:40 GMT
#50
TMCu - TerranCustomLevel
ZMCu - ZergCustomLevel
PMCu - ProtossCustomLevel
TMCx - TerranExpansionCustomLevel
ZMCx - ZergExpansionCustomLevel
PMCx - ProtossExpansionCustomLevel
TLOf - TerranCampaignEasy
TMED - TerranCampaignMedium
THIf - TerranCampaignDifficult
TSUP - TerranCampaignInsane
TARE - TerranCampaignAreaTown
ZLOf - ZergCampaignEasy
ZMED - ZergCampaignMedium
ZHIf - ZergCampaignDifficult
ZSUP - ZergCampaignInsane
ZARE - ZergCampaignAreaTown
PLOf - ProtossCampaignEasy
PMED - ProtossCampaignMedium
PHIf - ProtossCampaignDifficult
PSUP - ProtossCampaignInsane
PARE - ProtossCampaignAreaTown
TLOx - ExpansionTerranCampaignEasy
TMEx - ExpansionTerranCampaignMedium
THIx - ExpansionTerranCampaignDifficult
TSUx - ExpansionTerranCampaignInsane
TARx - ExpansionTerranCampaignAreaTown
ZLOx - ExpansionZergCampaignEasy
ZMEx - ExpansionZergCampaignMedium
ZHIx - ExpansionZergCampaignDifficult
ZSUx - ExpansionZergCampaignInsane
ZARx - ExpansionZergCampaignAreaTown
PLOx - ExpansionProtossCampaignEasy
PMEx - ExpansionProtossCampaignMedium
PHIx - ExpansionProtossCampaignDifficult
PSUx - ExpansionProtossCampaignInsane
PARx - ExpansionProtossCampaignAreaTown
Enmy - SetPlayerToEnemy
Ally - SetPlayerToAlly
VluA - ValueThisAreaHigher
EnBk - EnterClosestBunker
EnTr - EnterTransport
ExTr - ExitTransport


I made a list of all AI script names if anyone is interested in it for whatever reason.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 21:40:50
April 28 2017 21:33 GMT
#51
There is now a way to spawn units with properties. I think it is more flexible (?) than scmdraft or staredit as you can reuse CUWP slots for different unit types and they're quite scarce at 64 max. More info in the README here - https://github.com/AlexanderDzhoganov/langums#spawning-units-with-properties

Example:

unit LurkerType1 {
Health = 10,
Burrowed = true
}

fn main() {
spawn(ZergLurker, Player1, 1, "TestLocation", LurkerType1);
}
Glenstorm
Profile Joined January 2009
United States69 Posts
Last Edited: 2017-04-29 05:12:25
April 29 2017 05:04 GMT
#52
Just pushed an update to my vscode extension which adds in code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.

Some future features I might be looking at are filling in intellisense when working with intrinsic functions, and scanning the .scx file for locations and exposing those to autocomplete (if I figure out a friendly cross-platform way of distributing libmpq, might poke around asm.js).

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 29 2017 05:09 GMT
#53
On April 29 2017 14:04 Glenstorm wrote:
Just pushed an update to my vscode extension which adds in code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.

Some future features I might be looking at are filling in intellisense when working with intrinsic functions, and scanning the .scx file for locations and exposing those to autocomplete (if I figure out a friendly cross-platform way of distributing libmpq).

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates

You might be interested in: https://github.com/neivv/bw-chk

Probably doesn't get you all the way there (it's missing a lot of the stuff that'd probably be useful for you to auto-complete), but gets you much closer without using any native code, and is open for contributions if you'd like to add things
Can you jam with the console cowboys in cyberspace?
Glenstorm
Profile Joined January 2009
United States69 Posts
April 29 2017 05:22 GMT
#54
Looks like that plus your https://github.com/ShieldBattery/scm-extractor should get me there. VSCode is built on a node.js stack so I wont even have to deal with interop Thanks!
Freakling
Profile Joined October 2012
Germany1533 Posts
April 29 2017 09:35 GMT
#55
On April 29 2017 02:40 nlight wrote:
+ Show Spoiler +
TMCu - TerranCustomLevel
ZMCu - ZergCustomLevel
PMCu - ProtossCustomLevel
TMCx - TerranExpansionCustomLevel
ZMCx - ZergExpansionCustomLevel
PMCx - ProtossExpansionCustomLevel
TLOf - TerranCampaignEasy
TMED - TerranCampaignMedium
THIf - TerranCampaignDifficult
TSUP - TerranCampaignInsane
TARE - TerranCampaignAreaTown
ZLOf - ZergCampaignEasy
ZMED - ZergCampaignMedium
ZHIf - ZergCampaignDifficult
ZSUP - ZergCampaignInsane
ZARE - ZergCampaignAreaTown
PLOf - ProtossCampaignEasy
PMED - ProtossCampaignMedium
PHIf - ProtossCampaignDifficult
PSUP - ProtossCampaignInsane
PARE - ProtossCampaignAreaTown
TLOx - ExpansionTerranCampaignEasy
TMEx - ExpansionTerranCampaignMedium
THIx - ExpansionTerranCampaignDifficult
TSUx - ExpansionTerranCampaignInsane
TARx - ExpansionTerranCampaignAreaTown
ZLOx - ExpansionZergCampaignEasy
ZMEx - ExpansionZergCampaignMedium
ZHIx - ExpansionZergCampaignDifficult
ZSUx - ExpansionZergCampaignInsane
ZARx - ExpansionZergCampaignAreaTown
PLOx - ExpansionProtossCampaignEasy
PMEx - ExpansionProtossCampaignMedium
PHIx - ExpansionProtossCampaignDifficult
PSUx - ExpansionProtossCampaignInsane
PARx - ExpansionProtossCampaignAreaTown
Enmy - SetPlayerToEnemy
Ally - SetPlayerToAlly
VluA - ValueThisAreaHigher
EnBk - EnterClosestBunker
EnTr - EnterTransport
ExTr - ExitTransport


I made a list of all AI script names if anyone is interested in it for whatever reason.

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.
JungleTerrain
Profile Joined January 2012
Chile799 Posts
April 29 2017 09:49 GMT
#56
On April 29 2017 01:59 integral wrote:
Show nested quote +
On April 29 2017 01:15 nlight wrote:
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.


Yeah. It's a long-running joke how slow it is.


Besides not really being a UMS mapmaker, this is one of the reasons I try to stay away from Staredit.net lol. But for me it's like 1-2 mins to load a page. My god it is horrible. So frustrating lol.

However I find it funny that some of the smartest guys in BW use such a slow website.
www.broodwarmaps.net
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 10:53:42
April 29 2017 10:52 GMT
#57
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.

code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.


Awesome!

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates


Don't worry this won't be for too long, I'm almost done with the core features
fazek42
Profile Blog Joined April 2011
Hungary438 Posts
April 29 2017 11:19 GMT
#58
You guys are total beasts :O
Glenstorm
Profile Joined January 2009
United States69 Posts
April 29 2017 13:29 GMT
#59
What's the strategy for handling multi-condition events? I was working on some demo code where I found myself wanting to do the trigger equivalent of "Player 1 brings 1 civ to location and has >=100 minerals" and I haven't seen anything setup like that in the tests. Some syntaxes I imagined where nested lambdas, using one condition as an if inside the other, or some weird bring(...) && accumulate(...) => { } setup.

I've been poking around with snippets and in all likelihood I have to make the event snippets a bit less aggressive at setting up syntax for you, if they're viable in stuff like if statements.
[image loading]
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 18:05:06
April 29 2017 14:32 GMT
#60
On April 29 2017 22:29 Glenstorm wrote:
What's the strategy for handling multi-condition events? I was working on some demo code where I found myself wanting to do the trigger equivalent of "Player 1 brings 1 civ to location and has >=100 minerals" and I haven't seen anything setup like that in the tests.


You can specify more than one condition per event handler separated by commas (up to 63 total), it's actually in the examples in the README. I will add some to the tests as well. For your case it would look like:


bring(Player1, AtLeast, 1, TerranCivilian, BuyMarines),
accumulate(Player1, AtLeast, 100, Minerals) => {
take_resource(Player1, Minerals, 100);
}


That code completion gif is really cool, nice job.

On a sidenote, LangUMS now supports 100% of the built-in trigger conditions & actions in the game. Now I'm starting to expand into new territory. The first addition is the is_present(Player) function which tells you if a player (or players) is currently present in the game.


if (is_present(Player3)) {
print("Player 3 is in the game.");
}


You can also use it to get the number of players in-game at the moment like this:


var playerCount = is_present();


Everyone who is actively trying out, testing, using, doing whatever with the tool please join the discord here - https://discord.gg/TNehfve so we can talk in real time.
Prev 1 2 3 4 5 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 4h 45m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft484
NeuroSwarm 213
UpATreeSC 38
StarCraft: Brood War
GuemChi 5546
BeSt 1300
scan(afreeca) 286
ggaemo 130
Pusan 110
Nal_rA 100
Shinee 46
Bale 16
Noble 13
Icarus 6
Dota 2
monkeys_forever600
League of Legends
JimRising 768
Counter-Strike
m0e_tv441
Heroes of the Storm
Khaldor123
Other Games
summit1g14821
C9.Mang0221
RuFF_SC2184
Nina34
Organizations
Other Games
BasetradeTV126
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH280
• Light_VIP 17
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo1194
• Rush835
• Stunt325
Upcoming Events
Afreeca Starleague
4h 45m
Wardi Open
4h 45m
Replay Cast
18h 45m
Sparkling Tuna Cup
1d 4h
Kung Fu Cup
2 days
The PondCast
3 days
Replay Cast
3 days
Replay Cast
4 days
CranKy Ducklings
5 days
BSL
5 days
[ Show More ]
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.