Loading...
  OR  Zero-K Name:    Password:   

Post edit history

Game mode random goo WIP

To display differences between versions, select one or more edits in the list using checkboxes and click "diff selected"
Post edit history
Date Editor Before After
2/11/2025 4:28:08 PMAUrankSmokeDragon before revert after revert
2/11/2025 4:13:39 PMAUrankSmokeDragon before revert after revert
2/11/2025 4:11:57 PMAUrankSmokeDragon before revert after revert
Before After
1 SOLVED: customParams => customparams 1 SOLVED: customParams => customparams
2 \n 2 \n
3 [spoiler] 3 [spoiler]
4 bG9jYWwgZnVuY3Rpb24gc2h1ZmZsZSh0YmwpCiAgICBsb2NhbCBsZW4gPSAjdGJsCiAgICBmb3IgaSA9IGxlbiwgMiwgLTEgZG8KICAgICAgICBsb2NhbCBqID0gbWF0aC5yYW5kb20oaSkKICAgICAgICB0YmxbaV0sIHRibFtqXSA9IHRibFtqXSwgdGJsW2ldCiAgICBlbmQKICAgIHJldHVybiB0YmwKZW5kCgpsb2NhbCBDb21WYWxpZFVuaXROYW1lcyA9IHsKICAgIFsiR3VhcmRpYW4gQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJTdHJpa2UgQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJSZWNvbiBDb21tYW5kZXIiXSA9IHRydWUsCiAgICBbIkVuZ2luZWVyIENvbW1hbmRlciJdID0gdHJ1ZQp9Cgpsb2NhbCBSYW5kb21CdWlsZE9wdGlvbnMgPSB7CiAgICAiY2xvYWtyYWlkIiwgImNsb2Frc2tpcm0iLCAiY2xvYWtyaW90IiwgImNsb2FrYXNzYXVsdCIsICJjbG9ha2FydHkiLCAiY2xvYWtoZWF2eXJhaWQiLCAiY2xvYWtzbmlwZSIsICJjbG9ha2JvbWIiLAogICAgInNoaWVsZHJhaWQiLCAic2hpZWxkc2tpcm0iLCAic2hpZWxkcmlvdCIsICJzaGllbGRhc3NhdWx0IiwgInNoaWVsZHNjb3V0IiwgInNoaWVsZGZlbG9uIiwgInNoaWVsZGJvbWIiLAogICAgInZlaHJhaWQiLCAidmVoc3VwcG9ydCIsICJ2ZWhyaW90IiwgInZlaGFzc2F1bHQiLCAidmVoYXJ0eSIsICJ2ZWhzY291dCIsICJ2ZWhoZWF2eWFydHkiLCAidmVoY2FwdHVyZSIsCiAgICAiaG92ZXJyYWlkIiwgImhvdmVyc2tpcm0iLCAiaG92ZXJyaW90IiwgImhvdmVyYXNzYXVsdCIsICJob3ZlcmFydHkiLCAiaG92ZXJoZWF2eXJhaWQiLCAiaG92ZXJkZXB0aGNoYXJnZSIsCiAgICAiZ3Vuc2hpcHJhaWQiLCAiZ3Vuc2hpcHNraXJtIiwgImd1bnNoaXBib21iIiwgImd1bnNoaXBhc3NhdWx0IiwgImd1bnNoaXBoZWF2eXNraXJtIiwgImd1bnNoaXBlbXAiLCAiZ3Vuc2hpcGtyb3ciLAogICAgImd1bnNoaXBoZWF2eXRyYW5zIiwgIm1hZ3BpZSIsICJib21iZXJyaW90IiwgImJvbWJlcnByZWMiLCAiYm9tYmVyaGVhdnkiLCAiYm9tYmVyZGlzYXJtIiwgIm9kaW4iLAogICAgInBsYW5lZmlnaHRlciIsICJzcGlkZXJzY291dCIsICJzcGlkZXJza2lybSIsICJzcGlkZXJyaW90IiwgInNwaWRlcmFzc2F1bHQiLCAic3BpZGVyZW1wIiwgInNwaWRlcmNyYWJlIiwgInNwaWRlcmFudGloZWF2eSIsCiAgICAianVtcHJhaWQiLCAianVtcHNraXJtIiwgImp1bXBhc3NhdWx0IiwgImp1bXBhcnR5IiwgImp1bXBzY291dCIsICJqdW1wc3VtbyIsICJqdW1wYm9tYiIsICJqdW1wYmxhY2tob2xlIiwKICAgICJ0YW5raGVhdnlyYWlkIiwgInRhbmtyaW90IiwgInRhbmthc3NhdWx0IiwgInRhbmthcnR5IiwgInRhbmtyYWlkIiwgInRhbmtoZWF2eWFzc2F1bHQiLCAidGFua2hlYXZ5YXJ0eSIsCiAgICAiYW1waHJhaWQiLCAiYW1waGZsb2F0ZXIiLCAiYW1waHJpb3QiLCAiYW1waHN1cHBvcnQiLCAiYW1waGltcHVsc2UiLCAiYW1waGFzc2F1bHQiLCAiYW1waGJvbWIiLCAiYW1waGxhdW5jaCIsCiAgICAic2hpcHRvcnByYWlkZXIiLCAic2hpcHNraXJtIiwgInNoaXByaW90IiwgInNoaXBhc3NhdWx0IiwgInNoaXBhcnR5IiwgInNoaXBzY291dCIsICJzdWJyYWlkZXIiCn0KCmxvY2FsIHNodWZmbGVkT3B0aW9ucyA9IHNodWZmbGUoUmFuZG9tQnVpbGRPcHRpb25zKQpsb2NhbCBzZWxlY3RlZFVuaXQgPSBzaHVmZmxlZE9wdGlvbnNbMV0KClNwcmluZy5FY2hvKCJTZWxlY3RlZCBVbml0OiAiIC4uIHNlbGVjdGVkVW5pdCkKCmZvciBuYW1lLCB1ZCBpbiBwYWlycyhVbml0RGVmcykgZG8KICAgIGlmIENvbVZhbGlkVW5pdE5hbWVzW3VkLm5hbWVdIHRoZW4KICAgICAgICB1ZC5jdXN0b21QYXJhbXMgPSB1ZC5jdXN0b21QYXJhbXMgb3Ige30KCiAgICAgICAgdWQuY3VzdG9tUGFyYW1zLmdyZXlfZ29vID0gMgogICAgICAgIHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19kcmFpbiA9IDAuMDEKICAgICAgICB1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fY29zdCA9IDAuMDEKICAgICAgICB1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fcmFuZ2UgPSAxMDAwMAogICAgICAgIHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19zcGF3biA9IHNlbGVjdGVkVW5pdAogICAgICAgIAogICAgICAgIFNwcmluZy5FY2hvKCJVbml0OiAiIC4uIHVkLm5hbWUpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vOiAiIC4uIHRvc3RyaW5nKHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvbykpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vX2RyYWluOiAiIC4uIHRvc3RyaW5nKHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19kcmFpbikpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vX2Nvc3Q6ICIgLi4gdG9zdHJpbmcodWQuY3VzdG9tUGFyYW1zLmdyZXlfZ29vX2Nvc3QpKQogICAgICAgIFNwcmluZy5FY2hvKCJncmV5X2dvb19yYW5nZTogIiAuLiB0b3N0cmluZyh1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fcmFuZ2UpKQogICAgICAgIFNwcmluZy5FY2hvKCJncmV5X2dvb19zcGF3bjogIiAuLiB0b3N0cmluZyh1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fc3Bhd24pKQogICAgZW5kCmVuZAo= 4 bG9jYWwgZnVuY3Rpb24gc2h1ZmZsZSh0YmwpCiAgICBsb2NhbCBsZW4gPSAjdGJsCiAgICBmb3IgaSA9IGxlbiwgMiwgLTEgZG8KICAgICAgICBsb2NhbCBqID0gbWF0aC5yYW5kb20oaSkKICAgICAgICB0YmxbaV0sIHRibFtqXSA9IHRibFtqXSwgdGJsW2ldCiAgICBlbmQKICAgIHJldHVybiB0YmwKZW5kCgpsb2NhbCBDb21WYWxpZFVuaXROYW1lcyA9IHsKICAgIFsiR3VhcmRpYW4gQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJTdHJpa2UgQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJSZWNvbiBDb21tYW5kZXIiXSA9IHRydWUsCiAgICBbIkVuZ2luZWVyIENvbW1hbmRlciJdID0gdHJ1ZQp9Cgpsb2NhbCBSYW5kb21CdWlsZE9wdGlvbnMgPSB7CiAgICAiY2xvYWtyYWlkIiwgImNsb2Frc2tpcm0iLCAiY2xvYWtyaW90IiwgImNsb2FrYXNzYXVsdCIsICJjbG9ha2FydHkiLCAiY2xvYWtoZWF2eXJhaWQiLCAiY2xvYWtzbmlwZSIsICJjbG9ha2JvbWIiLAogICAgInNoaWVsZHJhaWQiLCAic2hpZWxkc2tpcm0iLCAic2hpZWxkcmlvdCIsICJzaGllbGRhc3NhdWx0IiwgInNoaWVsZHNjb3V0IiwgInNoaWVsZGZlbG9uIiwgInNoaWVsZGJvbWIiLAogICAgInZlaHJhaWQiLCAidmVoc3VwcG9ydCIsICJ2ZWhyaW90IiwgInZlaGFzc2F1bHQiLCAidmVoYXJ0eSIsICJ2ZWhzY291dCIsICJ2ZWhoZWF2eWFydHkiLCAidmVoY2FwdHVyZSIsCiAgICAiaG92ZXJyYWlkIiwgImhvdmVyc2tpcm0iLCAiaG92ZXJyaW90IiwgImhvdmVyYXNzYXVsdCIsICJob3ZlcmFydHkiLCAiaG92ZXJoZWF2eXJhaWQiLCAiaG92ZXJkZXB0aGNoYXJnZSIsCiAgICAiZ3Vuc2hpcHJhaWQiLCAiZ3Vuc2hpcHNraXJtIiwgImd1bnNoaXBib21iIiwgImd1bnNoaXBhc3NhdWx0IiwgImd1bnNoaXBoZWF2eXNraXJtIiwgImd1bnNoaXBlbXAiLCAiZ3Vuc2hpcGtyb3ciLAogICAgImd1bnNoaXBoZWF2eXRyYW5zIiwgIm1hZ3BpZSIsICJib21iZXJyaW90IiwgImJvbWJlcnByZWMiLCAiYm9tYmVyaGVhdnkiLCAiYm9tYmVyZGlzYXJtIiwgIm9kaW4iLAogICAgInBsYW5lZmlnaHRlciIsICJzcGlkZXJzY291dCIsICJzcGlkZXJza2lybSIsICJzcGlkZXJyaW90IiwgInNwaWRlcmFzc2F1bHQiLCAic3BpZGVyZW1wIiwgInNwaWRlcmNyYWJlIiwgInNwaWRlcmFudGloZWF2eSIsCiAgICAianVtcHJhaWQiLCAianVtcHNraXJtIiwgImp1bXBhc3NhdWx0IiwgImp1bXBhcnR5IiwgImp1bXBzY291dCIsICJqdW1wc3VtbyIsICJqdW1wYm9tYiIsICJqdW1wYmxhY2tob2xlIiwKICAgICJ0YW5raGVhdnlyYWlkIiwgInRhbmtyaW90IiwgInRhbmthc3NhdWx0IiwgInRhbmthcnR5IiwgInRhbmtyYWlkIiwgInRhbmtoZWF2eWFzc2F1bHQiLCAidGFua2hlYXZ5YXJ0eSIsCiAgICAiYW1waHJhaWQiLCAiYW1waGZsb2F0ZXIiLCAiYW1waHJpb3QiLCAiYW1waHN1cHBvcnQiLCAiYW1waGltcHVsc2UiLCAiYW1waGFzc2F1bHQiLCAiYW1waGJvbWIiLCAiYW1waGxhdW5jaCIsCiAgICAic2hpcHRvcnByYWlkZXIiLCAic2hpcHNraXJtIiwgInNoaXByaW90IiwgInNoaXBhc3NhdWx0IiwgInNoaXBhcnR5IiwgInNoaXBzY291dCIsICJzdWJyYWlkZXIiCn0KCmxvY2FsIHNodWZmbGVkT3B0aW9ucyA9IHNodWZmbGUoUmFuZG9tQnVpbGRPcHRpb25zKQpsb2NhbCBzZWxlY3RlZFVuaXQgPSBzaHVmZmxlZE9wdGlvbnNbMV0KClNwcmluZy5FY2hvKCJTZWxlY3RlZCBVbml0OiAiIC4uIHNlbGVjdGVkVW5pdCkKCmZvciBuYW1lLCB1ZCBpbiBwYWlycyhVbml0RGVmcykgZG8KICAgIGlmIENvbVZhbGlkVW5pdE5hbWVzW3VkLm5hbWVdIHRoZW4KICAgICAgICB1ZC5jdXN0b21QYXJhbXMgPSB1ZC5jdXN0b21QYXJhbXMgb3Ige30KCiAgICAgICAgdWQuY3VzdG9tUGFyYW1zLmdyZXlfZ29vID0gMgogICAgICAgIHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19kcmFpbiA9IDAuMDEKICAgICAgICB1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fY29zdCA9IDAuMDEKICAgICAgICB1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fcmFuZ2UgPSAxMDAwMAogICAgICAgIHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19zcGF3biA9IHNlbGVjdGVkVW5pdAogICAgICAgIAogICAgICAgIFNwcmluZy5FY2hvKCJVbml0OiAiIC4uIHVkLm5hbWUpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vOiAiIC4uIHRvc3RyaW5nKHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvbykpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vX2RyYWluOiAiIC4uIHRvc3RyaW5nKHVkLmN1c3RvbVBhcmFtcy5ncmV5X2dvb19kcmFpbikpCiAgICAgICAgU3ByaW5nLkVjaG8oImdyZXlfZ29vX2Nvc3Q6ICIgLi4gdG9zdHJpbmcodWQuY3VzdG9tUGFyYW1zLmdyZXlfZ29vX2Nvc3QpKQogICAgICAgIFNwcmluZy5FY2hvKCJncmV5X2dvb19yYW5nZTogIiAuLiB0b3N0cmluZyh1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fcmFuZ2UpKQogICAgICAgIFNwcmluZy5FY2hvKCJncmV5X2dvb19zcGF3bjogIiAuLiB0b3N0cmluZyh1ZC5jdXN0b21QYXJhbXMuZ3JleV9nb29fc3Bhd24pKQogICAgZW5kCmVuZAo=
5 [/spoiler] 5 [/spoiler]
6 \n 6 \n
7 why cant this code work O.o ??? 7 why cant this code work O.o ???
8 \n 8 \n
9 [spoiler] 9 [spoiler]
10 [q] 10 [q]
11 {{{ 11 {{{
12 \n 12 \n
13 local function shuffle(tbl) 13 local function shuffle(tbl)
14 local len = #tbl 14 local len = #tbl
15 for i = len, 2, -1 do 15 for i = len, 2, -1 do
16 local j = math.random(i) 16 local j = math.random(i)
17 tbl[i], tbl[j] = tbl[j], tbl[i] 17 tbl[i], tbl[j] = tbl[j], tbl[i]
18 end 18 end
19 return tbl 19 return tbl
20 end 20 end
21 \n 21 \n
22 local ComValidUnitNames = { 22 local ComValidUnitNames = {
23 ["Guardian Commander"] = true, 23 ["Guardian Commander"] = true,
24 ["Strike Commander"] = true, 24 ["Strike Commander"] = true,
25 ["Recon Commander"] = true, 25 ["Recon Commander"] = true,
26 ["Engineer Commander"] = true 26 ["Engineer Commander"] = true
27 } 27 }
28 \n 28 \n
29 local RandomBuildOptions = { 29 local RandomBuildOptions = {
30 "cloakraid", "cloakskirm", "cloakriot", "cloakassault", "cloakarty", "cloakheavyraid", "cloaksnipe", "cloakbomb", 30 "cloakraid", "cloakskirm", "cloakriot", "cloakassault", "cloakarty", "cloakheavyraid", "cloaksnipe", "cloakbomb",
31 "shieldraid", "shieldskirm", "shieldriot", "shieldassault", "shieldscout", "shieldfelon", "shieldbomb", 31 "shieldraid", "shieldskirm", "shieldriot", "shieldassault", "shieldscout", "shieldfelon", "shieldbomb",
32 "vehraid", "vehsupport", "vehriot", "vehassault", "veharty", "vehscout", "vehheavyarty", "vehcapture", 32 "vehraid", "vehsupport", "vehriot", "vehassault", "veharty", "vehscout", "vehheavyarty", "vehcapture",
33 "hoverraid", "hoverskirm", "hoverriot", "hoverassault", "hoverarty", "hoverheavyraid", "hoverdepthcharge", 33 "hoverraid", "hoverskirm", "hoverriot", "hoverassault", "hoverarty", "hoverheavyraid", "hoverdepthcharge",
34 "gunshipraid", "gunshipskirm", "gunshipbomb", "gunshipassault", "gunshipheavyskirm", "gunshipemp", "gunshipkrow", 34 "gunshipraid", "gunshipskirm", "gunshipbomb", "gunshipassault", "gunshipheavyskirm", "gunshipemp", "gunshipkrow",
35 "gunshipheavytrans", "magpie", "bomberriot", "bomberprec", "bomberheavy", "bomberdisarm", "odin", 35 "gunshipheavytrans", "magpie", "bomberriot", "bomberprec", "bomberheavy", "bomberdisarm", "odin",
36 "planefighter", "spiderscout", "spiderskirm", "spiderriot", "spiderassault", "spideremp", "spidercrabe", "spiderantiheavy", 36 "planefighter", "spiderscout", "spiderskirm", "spiderriot", "spiderassault", "spideremp", "spidercrabe", "spiderantiheavy",
37 "jumpraid", "jumpskirm", "jumpassault", "jumparty", "jumpscout", "jumpsumo", "jumpbomb", "jumpblackhole", 37 "jumpraid", "jumpskirm", "jumpassault", "jumparty", "jumpscout", "jumpsumo", "jumpbomb", "jumpblackhole",
38 "tankheavyraid", "tankriot", "tankassault", "tankarty", "tankraid", "tankheavyassault", "tankheavyarty", 38 "tankheavyraid", "tankriot", "tankassault", "tankarty", "tankraid", "tankheavyassault", "tankheavyarty",
39 "amphraid", "amphfloater", "amphriot", "amphsupport", "amphimpulse", "amphassault", "amphbomb", "amphlaunch", 39 "amphraid", "amphfloater", "amphriot", "amphsupport", "amphimpulse", "amphassault", "amphbomb", "amphlaunch",
40 "shiptorpraider", "shipskirm", "shipriot", "shipassault", "shiparty", "shipscout", "subraider" 40 "shiptorpraider", "shipskirm", "shipriot", "shipassault", "shiparty", "shipscout", "subraider"
41 } 41 }
42 \n 42 \n
43 local shuffledOptions = shuffle(RandomBuildOptions) 43 local shuffledOptions = shuffle(RandomBuildOptions)
44 local selectedUnit = shuffledOptions[1] 44 local selectedUnit = shuffledOptions[1]
45 \n 45 \n
46 Spring.Echo("Selected Unit: " .. selectedUnit) 46 Spring.Echo("Selected Unit: " .. selectedUnit)
47 \n 47 \n
48 for name, ud in pairs(UnitDefs) do 48 for name, ud in pairs(UnitDefs) do
49 if ComValidUnitNames[ud.name] then 49 if ComValidUnitNames[ud.name] then
50 ud.customParams = ud.customParams or {} 50 ud.customParams = ud.customParams or {}
51 \n 51 \n
52 ud.customParams.grey_goo = 2 52 ud.customParams.grey_goo = 2
53 ud.customParams.grey_goo_drain = 0.01 53 ud.customParams.grey_goo_drain = 0.01
54 ud.customParams.grey_goo_cost = 0.01 54 ud.customParams.grey_goo_cost = 0.01
55 ud.customParams.grey_goo_range = 10000 55 ud.customParams.grey_goo_range = 10000
56 ud.customParams.grey_goo_spawn = selectedUnit 56 ud.customParams.grey_goo_spawn = selectedUnit
57 57
58 Spring.Echo("Unit: " .. ud.name) 58 Spring.Echo("Unit: " .. ud.name)
59 Spring.Echo("grey_goo: " .. tostring(ud.customParams.grey_goo)) 59 Spring.Echo("grey_goo: " .. tostring(ud.customParams.grey_goo))
60 Spring.Echo("grey_goo_drain: " .. tostring(ud.customParams.grey_goo_drain)) 60 Spring.Echo("grey_goo_drain: " .. tostring(ud.customParams.grey_goo_drain))
61 Spring.Echo("grey_goo_cost: " .. tostring(ud.customParams.grey_goo_cost)) 61 Spring.Echo("grey_goo_cost: " .. tostring(ud.customParams.grey_goo_cost))
62 Spring.Echo("grey_goo_range: " .. tostring(ud.customParams.grey_goo_range)) 62 Spring.Echo("grey_goo_range: " .. tostring(ud.customParams.grey_goo_range))
63 Spring.Echo("grey_goo_spawn: " .. tostring(ud.customParams.grey_goo_spawn)) 63 Spring.Echo("grey_goo_spawn: " .. tostring(ud.customParams.grey_goo_spawn))
64 end 64 end
65 end 65 end
66 \n 66 \n
67 }}} 67 }}}
68 [/q] 68 [/q]
69 [/spoiler] 69 [/spoiler]
70 \n 70 \n
71 got to love XNT he so op helps me solve problems so quick 71 got to love XNT he so op helps me solve problems so quick
72 \n
73 also i keep forgetting about lowercase customparams XD