Difference between revisions of "User:Troylaurin"

From The Perfect Tower II
Jump to navigation Jump to search
m
(sprite table)
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
A bunch of scripts to craft stuff.
+
I like scripting!
 +
 
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!Click to copy (tamperscript)
 
!Click to copy (tamperscript)
Line 71: Line 72:
 
|}
 
|}
  
 +
Factory scripts: https://www.perfecttower2.com/wiki/AI_Craftapalooza
  
IN DEVELOPMENT.  USE AT YOUR OWN RISK.<br />
 
  
==General scripts==
+
 
 +
<br />
 
{| class="wikitable"
 
{| class="wikitable"
!Script
+
|+Fun sprites
!Impulses
+
!'''#'''
!Conditions
+
!
!Lines
+
!
!Source
+
!'''#'''
 +
!
 +
!
 +
!
 +
!
 +
!
 +
!'''#'''
 +
!
 +
!
 +
!'''#'''
 +
!
 +
!
 +
!'''#'''
 +
!
 
|-
 
|-
|craft init
+
|'''1'''
 +
|gems
 +
|
 +
|'''21'''
 +
|''white pyramid''
 
|
 
|
*On wake
+
|'''41'''
 
|
 
|
|9
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''61'''
!
+
|''memory outline''
 +
|
 +
|'''81'''
 +
|star
 +
|
 +
|'''101'''
 +
|''grey module''
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''2'''
wakeup()
+
|hypercube
 
+
|
global.int.set("craft_busy", 0)
+
|'''22'''
global.int.set("craft_status", 200)
+
|''tree logo''
global.int.set("craft_require_tier", 0)
+
|
global.double.set("craft_require_count", 0.0)
+
|'''42'''
global.int.set("craft_tier", 1)
+
|
global.int.set("craft_mode", 1)
+
|
global.int.set("craft_output", 1)
+
|'''62'''
global.double.set("craft_count", 1.0)
+
|''memory''
global.double.set("craft_inventory", 1.0)
+
|
</syntaxhighlight>
+
|
 +
|
 +
|
 +
|'''102'''
 +
|''right click''
 
|-
 
|-
|<syntaxhighlight lang="text">
+
|'''3'''
CmNyYWZ0IGluaXQBAAAABndha2V1cAAAAAAJAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BApjcmFm
+
|cogs
dF9idXN5CGNvbnN0YW50AgAAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhj
+
|
b25zdGFudALIAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXIIY29u
+
|'''23'''
c3RhbnQCAAAAABFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQTY3JhZnRfcmVxdWlyZV9jb3VudAhj
+
|white infinity
b25zdGFudAMAAAAAAAAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQKY3JhZnRfdGllcghjb25zdGFu
+
|
dAIBAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BApjcmFmdF9tb2RlCGNvbnN0YW50AgEAAAAOZ2xv
+
|'''43'''
YmFsLmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dAhjb25zdGFudAIBAAAAEWdsb2JhbC5kb3Vi
+
|white pencil
bGUuc2V0CGNvbnN0YW50BAtjcmFmdF9jb3VudAhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91Ymxl
+
|
LnNldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50AwAAAAAAAPA/
+
|'''63'''
</syntaxhighlight>
+
|''cpu outline''
|}
+
|
 +
|
 +
|
 +
|
 +
|'''103'''
 +
|''world''
 
|-
 
|-
|craft GO
+
|'''4'''
 +
|white xp
 +
|
 +
|'''24'''
 +
|hourglass
 +
|
 +
|'''44'''
 +
|''space bar''
 +
|
 +
|'''64'''
 +
|''cpu''
 +
|
 
|
 
|
*key 0
 
 
|
 
|
*not busy crafting & factory screen open
 
 
<br />
 
|12
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''104'''
!
+
|''white warning''
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''5'''
:global int craft_mode
+
|exotic gems
:global int craft_output
+
|
:local int max
+
|'''25'''
 
+
|unlock
key.0()
+
|
 
+
|'''45'''
(global.int.get("craft_busy") == 0 & isopen("factory"))
+
|''white 6-pt star''
 
+
|
  global.int.set("craft_busy", 1)
+
|'''65'''
  global.int.set("craft_require_tier", 0)
+
|''server''
  global.double.set("craft_require_count", 0.0)
+
|
  global.int.set("craft_tier:" . craft_mode . "." . craft_output, global.int.get("craft_tier"))
+
|
  global.double.set("craft_count:" . craft_mode . "." . craft_output, global.double.get("craft_count"))
+
|
 
+
|
  execute("craft script check")
+
|'''105'''
  global.int.set("craft_status", 102) ; Processing
+
|''grid mode''
  stop("craft script check")
 
 
 
  executesync("craft " . craft_mode . ":" . craft_output)
 
 
 
; Preserve status if its already in a terminal state
 
end: gotoif(end2, global.int.get("craft_status") > 199)
 
  global.int.set("craft_status", 200) ; OK
 
end2: global.int.set("craft_busy", 0)
 
 
 
</syntaxhighlight>
 
 
|-
 
|-
|<syntaxhighlight lang="text">
+
|'''6'''
CGNyYWZ0IEdPAQAAAAVrZXkuMAEAAAAPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50Dmdsb2Jh
+
|white help
bC5pbnQuZ2V0CGNvbnN0YW50BApjcmFmdF9idXN5CGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAACGNv
+
|
bnN0YW50BAEmEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeQwAAAAOZ2xvYmFsLmlu
+
|'''26'''
dC5zZXQIY29uc3RhbnQECmNyYWZ0X2J1c3kIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25z
+
|white convert shard
dGFudAQSY3JhZnRfcmVxdWlyZV90aWVyCGNvbnN0YW50AgAAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29u
+
|
c3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQIY29uc3RhbnQDAAAAAAAAAAAOZ2xvYmFsLmludC5zZXQG
+
|'''46'''
Y29uY2F0BmNvbmNhdAZjb25jYXQIY29uc3RhbnQEC2NyYWZ0X3RpZXI6A2kycw5nbG9iYWwuaW50Lmdl
+
|white plus
dAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQBLgNpMnMOZ2xvYmFsLmludC5nZXQIY29uc3Rh
+
|
bnQEDGNyYWZ0X291dHB1dA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfdGllchFnbG9iYWwu
+
|'''66'''
ZG91YmxlLnNldAZjb25jYXQGY29uY2F0BmNvbmNhdAhjb25zdGFudAQMY3JhZnRfY291bnQ6A2kycw5n
+
|''graph / statistics''
bG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQBLgNpMnMOZ2xvYmFsLmlu
+
|
dC5nZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQLY3Jh
+
|
ZnRfY291bnQPZ2VuZXJpYy5leGVjdXRlCGNvbnN0YW50BBJjcmFmdCBzY3JpcHQgY2hlY2sOZ2xvYmFs
+
|
LmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAJmAAAADGdlbmVyaWMuc3RvcAhj
+
|
b25zdGFudAQSY3JhZnQgc2NyaXB0IGNoZWNrE2dlbmVyaWMuZXhlY3V0ZXN5bmMGY29uY2F0BmNvbmNh
+
|'''106'''
dAZjb25jYXQIY29uc3RhbnQEBmNyYWZ0IANpMnMOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0
+
|''list mode''
X21vZGUIY29uc3RhbnQEAToDaTJzDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQO
 
Z2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDAAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
 
b25zdGFudAQMY3JhZnRfc3RhdHVzCGNvbnN0YW50BAE+CGNvbnN0YW50AscAAAAOZ2xvYmFsLmludC5z
 
ZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudALIAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0
 
YW50BApjcmFmdF9idXN5CGNvbnN0YW50AgAAAAA=
 
</syntaxhighlight>
 
|}
 
 
|-
 
|-
|craft tier up
+
|'''7'''
 +
|blue module
 +
|
 +
|'''27'''
 +
|white mine nothing
 +
|
 +
|'''47'''
 +
|''white blurry circle''
 +
|
 +
|'''67'''
 +
|blue shield
 +
|
 
|
 
|
*key 1
 
 
<br />
 
 
|
 
|
*not busy crafting
 
|1
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''107'''
!
+
|''save icon''
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''8'''
:global int craft_tier
+
|white circle
 
+
|
key.1()
+
|'''28'''
(global.int.get("craft_busy") == 0)
+
|white shard per time
 
+
|
craft_tier = (craft_tier % 10) + 1
+
|'''48'''
</syntaxhighlight>
+
|''to craft grid''
 +
|
 +
|'''68'''
 +
|grey shield
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|-
 
|-
|<syntaxhighlight lang="text">
+
|'''9'''
DWNyYWZ0IHRpZXIgdXABAAAABWtleS4xAQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
+
|white cube
b25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAEAAAAOZ2xvYmFsLmlu
+
|
dC5zZXQIY29uc3RhbnQECmNyYWZ0X3RpZXIOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOZ2xv
+
|'''29'''
YmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X3RpZXIIY29uc3RhbnQEA21vZAhjb25zdGFudAIKAAAA
+
|white redo arrow
CGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAA=
+
|
</syntaxhighlight>
+
|'''49'''
|}
+
|''from craft grid''
 +
|
 +
|'''69'''
 +
|drill
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|-
 
|-
|craft mode up
+
|'''10'''
 +
|''white target''
 +
|
 +
|'''30'''
 +
|
 +
|
 +
|'''50'''
 +
|cloud
 +
|
 +
|'''70'''
 +
|''trashcan''
 +
|
 +
|
 +
|
 
|
 
|
*key 2
 
 
<br />
 
 
|
 
|
*not busy crafting
 
|2
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''11'''
:global int craft_mode
+
|Dr Cubos
:global int craft_output
+
|
 
+
|'''31'''
key.2()
+
|
(global.int.get("craft_busy") == 0)
+
|
 
+
|'''51'''
craft_mode = (craft_mode % 3) + 1
+
|yellow module
craft_output = 1
+
|
</syntaxhighlight>
+
|'''71'''
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|-
 
|-
|<syntaxhighlight lang="text">
+
|'''12'''
DWNyYWZ0IG1vZGUgdXABAAAABWtleS4yAQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
+
|white tick
b25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAIAAAAOZ2xvYmFsLmlu
+
|
dC5zZXQIY29uc3RhbnQECmNyYWZ0X21vZGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOZ2xv
+
|'''32'''
YmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X21vZGUIY29uc3RhbnQEA21vZAhjb25zdGFudAIDAAAA
+
|
CGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X291
+
|
dHB1dAhjb25zdGFudAIBAAAA
+
|'''52'''
</syntaxhighlight>
+
|red module
|}
+
|
 +
|'''72'''
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|-
 
|-
|craft output up
+
|'''13'''
|1 impulse
+
|lock
 
+
|
*key 3
+
|'''33'''
 
+
|
1 condition
+
|
 
+
|'''53'''
*not busy crafting
+
|purple module
 
+
|
2 actions
+
|'''73'''
 +
|
 +
|
 +
|
 +
|
 +
|
 
|
 
|
*not busy crafting
 
|2
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''14'''
:global int craft_mode
+
|white shard
:global int craft_output
+
|
:local int max
+
|'''34'''
 
+
|
key.3()
+
|
(global.int.get("craft_busy") == 0)
+
|'''54'''
 
+
|''bomb''
max = (13101300 / (100 ^ craft_mode)) % 100
+
|
craft_output = (craft_output % max) + 1
+
|'''74'''
</syntaxhighlight>
+
|
 +
|
 +
|'''94'''
 +
|''checkbox''
 +
|
 +
|
 +
|
 
|-
 
|-
|<syntaxhighlight lang="text">
+
|'''15'''
D2NyYWZ0IG91dHB1dCB1cAEAAAAFa2V5LjMBAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0
+
|white skull
CGNvbnN0YW50BApjcmFmdF9idXN5CGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAAAgAAAA1sb2NhbC5p
+
|
bnQuc2V0CGNvbnN0YW50BANtYXgOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC
+
|'''35'''
9OjHAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAJkAAAACGNvbnN0YW50BANwb3cO
+
|
Z2xvYmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X21vZGUIY29uc3RhbnQEA21vZAhjb25zdGFudAJk
+
|
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQOYXJpdGhtZXRpYy5pbnQOYXJp
+
|'''55'''
dGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dAhjb25zdGFudAQD
+
|''flag / impulse''
bW9kDWxvY2FsLmludC5nZXQIY29uc3RhbnQEA21heAhjb25zdGFudAQBKwhjb25zdGFudAIBAAAA
+
|
</syntaxhighlight>
+
|'''75'''
|}
+
|
|-
+
|
|craft count up
+
|'''95'''
|1 impulse
+
|red gem?!
 
+
|
*key 9
 
 
 
1 condition
 
 
 
*not busy crafting
 
 
 
5 actions
 
 
|
 
|
*not busy crafting
 
|5
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_count
 
:local double pow
 
:local double inc
 
 
key.9()
 
(global.int.get("craft_busy") == 0)
 
 
  gotoif(99, craft_count > 900000.0)
 
  gotoif(a, craft_count < 1.0)
 
  pow = double.floor(0.01 + (craft_count // 10.0))
 
a: inc = 10.0 ^ pow
 
  craft_count = craft_count + inc
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
DmNyYWZ0IGNvdW50IHVwAQAAAAVrZXkuOQEAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQI
 
Y29uc3RhbnQECmNyYWZ0X2J1c3kIY29uc3RhbnQEAj09CGNvbnN0YW50AgAAAAAFAAAADmdlbmVyaWMu
 
Z290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29u
 
c3RhbnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAABAdytBDmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AgQAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EGxvY2FsLmRvdWJsZS5z
 
ZXQIY29uc3RhbnQEA3Bvdwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDexSu
 
R+F6hD8IY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BANsb2cIY29uc3RhbnQDAAAAAAAAJEAQbG9jYWwuZG91Ymxl
 
LnNldAhjb25zdGFudAQDaW5jEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAACRACGNvbnN0
 
YW50BANwb3cQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQDcG93EWdsb2JhbC5kb3VibGUuc2V0CGNv
 
bnN0YW50BAtjcmFmdF9jb3VudBFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25z
 
dGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEASsQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQDaW5j
 
</syntaxhighlight>
 
|}
 
 
|-
 
|-
|craft count down
+
|'''16'''
|1 impulse
+
|''white square''
 
 
*key 8
 
 
 
1 condition
 
 
 
*not busy crafting
 
 
 
5 actions
 
 
|
 
|
*not busy crafting
+
|'''36'''
|5
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_count
 
:local double pow
 
:local double inc
 
 
key.8()
 
(global.int.get("craft_busy") == 0)
 
 
  gotoif(a, craft_count < 1.0)
 
  pow = double.floor(-0.01 + (craft_count // 10.0))
 
a: inc = 10.0 ^ pow
 
  gotoif(99, craft_count - inc < 1.0)
 
  craft_count = craft_count - inc
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EGNyYWZ0IGNvdW50IGRvd24BAAAABWtleS44AQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50Lmdl
 
dAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAUAAAAOZ2VuZXJp
 
Yy5nb3RvaWYIY29uc3RhbnQCAwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91
 
YmxlLnNldAhjb25zdGFudAQDcG93DGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFu
 
dAN7FK5H4XqEvwhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEA2xvZwhjb25zdGFudAMAAAAAAAAkQBBsb2NhbC5k
 
b3VibGUuc2V0CGNvbnN0YW50BANpbmMRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAI
 
Y29uc3RhbnQEA3BvdxBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BANwb3cOZ2VuZXJpYy5nb3RvaWYI
 
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91
 
YmxlLmdldAhjb25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQDaW5jCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0
 
CGNvbnN0YW50BAtjcmFmdF9jb3VudBFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQD
 
aW5j
 
</syntaxhighlight>
 
|}
 
|-
 
|craft inventory use
 
 
|
 
|
*key 5
+
|'''56'''
 
+
|''equals / condition''
<br />
 
 
|
 
|
*not busy crafting
+
|'''76'''
|1
+
|fuel can
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
 
key.5()
 
(global.int.get("craft_busy") == 0)
 
 
craft_inventory = 1.0 - craft_inventory
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
E2NyYWZ0IGludmVudG9yeSB1c2UBAAAABWtleS41AQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50
 
LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAEAAAARZ2xv
 
YmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeRFhcml0aG1ldGljLmRvdWJsZQhj
 
b25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBLRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5
 
</syntaxhighlight>
 
|}
 
|-
 
|craft script check
 
 
|
 
|
 
|
 
|
|3
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_mode
 
:global int craft_output
 
 
executesync("craft " . craft_mode . ":" . craft_output)
 
global.int.set("craft_status", 404) ; Script not found
 
loop: goto(loop)
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EmNyYWZ0IHNjcmlwdCBjaGVjawAAAAAAAAAAAwAAABNnZW5lcmljLmV4ZWN1dGVzeW5jBmNvbmNhdAZj
 
b25jYXQGY29uY2F0CGNvbnN0YW50BAZjcmFmdCADaTJzDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BApj
 
cmFmdF9tb2RlCGNvbnN0YW50BAE6A2kycw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMY3JhZnRfb3V0
 
cHV0Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQClAEAAAxnZW5l
 
cmljLmdvdG8IY29uc3RhbnQCAwAAAA==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft producer set (pg1)
 
 
|
 
|
*key 4
 
 
<br />
 
|<br />
 
 
*not busy crafting & crafting producers
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_output
 
 
key.4()
 
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 1)
 
 
craft_output = 1
 
gotoif(a, isopen("powerplant"))
 
gotoif(b, isopen("mine"))
 
gotoif(c, isopen("factory"))
 
gotoif(d, isopen("headquarters"))
 
gotoif(e, isopen("arcade"))
 
gotoif(f, isopen("laboratory"))
 
goto(99)
 
f: craft_output = craft_output + 1
 
e: craft_output = craft_output + 1
 
d: craft_output = craft_output + 1
 
c: craft_output = craft_output + 1
 
b: craft_output = craft_output + 1
 
a: craft_output = craft_output + 1
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
GGNyYWZ0IHByb2R1Y2VyIHNldCAocGcxKQEAAAAFa2V5LjQBAAAAD2NvbXBhcmlzb24uYm9vbA5jb21w
 
YXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0I
 
Y29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25z
 
dGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAQAAAA4AAAAOZ2xvYmFsLmludC5z
 
ZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dAhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0
 
YW50Ag4AAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BApwb3dlcnBsYW50DmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50Ag0AAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BARtaW5lDmdlbmVyaWMu
 
Z290b2lmCGNvbnN0YW50AgwAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAdmYWN0b3J5Dmdl
 
bmVyaWMuZ290b2lmCGNvbnN0YW50AgsAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAxoZWFk
 
cXVhcnRlcnMOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABJ0b3duLndpbmRvdy5pc29wZW4IY29u
 
c3RhbnQEBmFyY2FkZQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIJAAAAEnRvd24ud2luZG93Lmlzb3Bl
 
bghjb25zdGFudAQKbGFib3JhdG9yeQxnZW5lcmljLmdvdG8IY29uc3RhbnQCYwAAAA5nbG9iYWwuaW50
 
LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNl
 
dAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
 
YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhj
 
b25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25z
 
dGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxj
 
cmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFu
 
dAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFm
 
dF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQM
 
Y3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9v
 
dXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA==
 
</syntaxhighlight>
 
|}
 
 
|-
 
|-
|craft producer set (pg2)
+
|'''17'''
 +
|white cross
 
|
 
|
*key 4
+
|'''37'''
 
+
|white arrow right
<br />
 
 
|
 
|
*not busy crafting & crafting producers
+
|'''57'''
|13
+
|''function / action''
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''77'''
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_output
 
 
 
key.4()
 
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 1)
 
 
 
 
 
gotoif(a, isopen("shipyard"))
 
gotoif(b, isopen("tradingpost"))
 
gotoif(c, isopen("workshop"))
 
gotoif(d, isopen("museum"))
 
gotoif(e, isopen("constructionfirm"))
 
gotoif(f, isopen("statueofcubos"))
 
goto(99)
 
f: craft_output = craft_output + 1
 
e: craft_output = craft_output + 1
 
d: craft_output = craft_output + 1
 
c: craft_output = craft_output + 1
 
b: craft_output = craft_output + 1
 
a: craft_output = craft_output + 7
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
GGNyYWZ0IHByb2R1Y2VyIHNldCAocGcyKQEAAAAFa2V5LjQBAAAAD2NvbXBhcmlzb24uYm9vbA5jb21w
 
YXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0I
 
Y29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25z
 
dGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAQAAAA0AAAAOZ2VuZXJpYy5nb3Rv
 
aWYIY29uc3RhbnQCDQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQECHNoaXB5YXJkDmdlbmVy
 
aWMuZ290b2lmCGNvbnN0YW50AgwAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAt0cmFkaW5n
 
cG9zdA5nZW5lcmljLmdvdG9pZghjb25zdGFudAILAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFu
 
dAQId29ya3Nob3AOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABJ0b3duLndpbmRvdy5pc29wZW4I
 
Y29uc3RhbnQEBm11c2V1bQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIJAAAAEnRvd24ud2luZG93Lmlz
 
b3Blbghjb25zdGFudAQQY29uc3RydWN0aW9uZmlybQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIIAAAA
 
EnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQNc3RhdHVlb2ZjdWJvcwxnZW5lcmljLmdvdG8IY29u
 
c3RhbnQCYwAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMu
 
aW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3Rh
 
bnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50
 
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQC
 
AQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmds
 
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAA
 
AA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2Jh
 
bC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5n
 
bG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5p
 
bnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9i
 
YWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQu
 
Z2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCBwAAAA==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft machine set
 
 
|
 
|
*key 4
 
 
<br />
 
|<br />
 
 
*not busy crafting & crafting machines
 
|4
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''97'''
!
+
|''museum stones''
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_output
 
:global int y
 
:global int x
 
 
 
key.4()
 
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 2 & isopen("factory"))
 
 
 
x = d2i(floor(((x(position()) / i2d(width()) - 0.41) / 0.10) + 1.0))
 
y = d2i(floor(((0.80 - y(position()) / i2d(height())) / 0.214)))
 
 
 
gotoif(99, x<1 | x>5 | y<0 | y>1)
 
craft_output = x + y*5
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EWNyYWZ0IG1hY2hpbmUgc2V0AQAAAAVrZXkuNAEAAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24u
 
Ym9vbA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25z
 
dGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50
 
LmdldAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAgAAAAhjb25zdGFu
 
dAQBJhJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkEAAAADmdsb2JhbC5pbnQuc2V0
 
CGNvbnN0YW50BAF4A2QyaQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5k
 
b3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUGdmVjMi54Dm1vdXNlLnBvc2l0
 
aW9uCGNvbnN0YW50BAEvA2kyZAxzY3JlZW4ud2lkdGgIY29uc3RhbnQEAS0IY29uc3RhbnQDPQrXo3A9
 
2j8IY29uc3RhbnQEAS8IY29uc3RhbnQDmpmZmZmZuT8IY29uc3RhbnQEASsIY29uc3RhbnQDAAAAAAAA
 
8D8OZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEAXkDZDJpDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRv
 
dWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAOamZmZmZnpPwhjb25zdGFudAQBLRFhcml0aG1l
 
dGljLmRvdWJsZQZ2ZWMyLnkObW91c2UucG9zaXRpb24IY29uc3RhbnQEAS8DaTJkDXNjcmVlbi5oZWln
 
aHQIY29uc3RhbnQEAS8IY29uc3RhbnQDMQisHFpkyz8OZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAA
 
AA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29u
 
LmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQBeAhjb25zdGFudAQBPAhjb25zdGFudAIBAAAACGNv
 
bnN0YW50BAF8DmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAF4CGNvbnN0YW50
 
BAE+CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQI
 
Y29uc3RhbnQEAXkIY29uc3RhbnQEATwIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBfA5jb21wYXJpc29u
 
LmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQBeQhjb25zdGFudAQBPghjb25zdGFudAIBAAAADmds
 
b2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmlu
 
dC5nZXQIY29uc3RhbnQEAXgIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQI
 
Y29uc3RhbnQEAXkIY29uc3RhbnQEASoIY29uc3RhbnQCBQAAAA==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft ingot
 
 
|
 
|
 
|
 
|
|15
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
 
|-
 
|-
|<syntaxhighlight lang="actionscript">
+
|'''18'''
:local int tier
+
|health logo
:local double count
 
:local int verify_mode
 
 
 
tier = global.int.get("craft_tier:ingot")
 
count = global.double.get("craft_count:ingot")
 
verify_mode = global.int.get("craft_verify:ingot")
 
global.int.set("craft_verify:ingot", 0)
 
gotoif(99, tier < 1 | tier > 10 | count <= 0.0 | global.int.get("craft_status") > 199)
 
 
 
gotoif(99, count <= count("ingot", tier))
 
gotoif(bad, count > count("ingot", tier) + count("dust", tier) - 1.0)
 
gotoif(99, verify_mode > 0)
 
  waitwhile(active("oven"))
 
  produce("dust", tier, ceil(count - count("ingot", tier)), "oven")
 
  waituntil(count("ingot", tier) >= count)
 
  goto(99) ; ok
 
 
 
bad: global.int.set("craft_require_tier", tier)
 
  global.double.set("craft_require_count", count)
 
  global.int.set("craft_status", 412)
 
 
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
C2NyYWZ0IGluZ290AAAAAAAAAAAPAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBHRpZXIOZ2xvYmFs
 
LmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QQbG9jYWwuZG91YmxlLnNldAhjb25zdGFu
 
dAQFY291bnQRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290DWxvY2Fs
 
LmludC5zZXQIY29uc3RhbnQEC3ZlcmlmeV9tb2RlDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBJjcmFm
 
dF92ZXJpZnk6aW5nb3QOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEmNyYWZ0X3ZlcmlmeTppbmdvdAhj
 
b25zdGFudAIAAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGFyaXNvbi5ib29sD2Nv
 
bXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhj
 
b25zdGFudAQEdGllcghjb25zdGFudAQBPAhjb25zdGFudAIBAAAACGNvbnN0YW50BAF8DmNvbXBhcmlz
 
b24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEAT4IY29uc3RhbnQCCgAA
 
AAhjb25zdGFudAQBfBFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVj
 
b3VudAhjb25zdGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5p
 
bnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFu
 
dALHAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwu
 
ZG91YmxlLmdldAhjb25zdGFudAQFY291bnQIY29uc3RhbnQEAjw9E2ZhY3RvcnkuaXRlbXMuY291bnQI
 
Y29uc3RhbnQEBWluZ290DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIOZ2VuZXJpYy5nb3RvaWYI
 
Y29uc3RhbnQCDQAAABFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVj
 
b3VudAhjb25zdGFudAQBPhFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5
 
Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNv
 
bnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QNbG9jYWwuaW50LmdldAhj
 
b25zdGFudAQEdGllcghjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPw5nZW5lcmljLmdvdG9pZghj
 
b25zdGFudAJjAAAADmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3ZlcmlmeV9t
 
b2RlCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNo
 
aW5lLmFjdGl2ZQhjb25zdGFudAQEb3Zlbg9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBGR1c3QNbG9j
 
YWwuaW50LmdldAhjb25zdGFudAQEdGllcgtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRvdWJsZRBsb2Nh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50
 
CGNvbnN0YW50BAVpbmdvdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BARvdmVu
 
EWdlbmVyaWMud2FpdHVudGlsEWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
 
c3RhbnQEBWluZ290DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEAj49EGxvY2Fs
 
LmRvdWJsZS5nZXQIY29uc3RhbnQEBWNvdW50DGdlbmVyaWMuZ290bwhjb25zdGFudAJjAAAADmdsb2Jh
 
bC5pbnQuc2V0CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXINbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllchFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQTY3JhZnRfcmVxdWlyZV9jb3VudBBsb2Nh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRf
 
c3RhdHVzCGNvbnN0YW50ApwBAAA=
 
</syntaxhighlight>
 
|}
 
|}
 
 
 
==Parts scripts==
 
{| class="wikitable"
 
|+
 
!Output
 
!Part
 
!Scripts
 
|-
 
|1
 
|chips
 
 
|
 
|
{| class="wikitable"
+
|'''38'''
!Name
+
|''firesword logo''
!Lines
 
!Code
 
|-
 
|craft 3:1
 
|19
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''58'''
!
+
|''left click''
|-
 
|<syntaxhighlight lang="actionscript">
 
; Chips
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double board_lo
 
:local double board_hi
 
:local double circuit_lo
 
:local double circuit_hi
 
 
 
tier = global.int.get("craft_tier:3.1")
 
count = global.double.get("craft_count:3.1")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
; Verify ingot resources
 
; Also craft lower tier chips for input
 
executesync("craft 3:1:in")
 
 
 
; Ensure we have enough ingots (lo)
 
board_lo = count * i2d((864410 / (10 ^ tier)) % 10)
 
circuit_lo = count * 2.0
 
global.int.set("craft_tier:ingot", tier * 2 - 1)
 
global.double.set("craft_count:ingot", max(0.0, board_lo - craft_inventory * (count("plate", tier * 2 - 1) + count("plate.circuit", tier * 2 - 1))) + max(0.0, ceil((circuit_lo - craft_inventory * (count("cable", tier * 2 - 1) + count("circuit", tier * 2 - 1)))/2.0)))
 
executesync("craft ingot")
 
 
 
; Ensure we have enough ingots (hi)
 
board_hi = count * i2d((862210 / (10 ^ tier)) % 10)
 
circuit_hi = count * i2d((224420 / (10 ^ tier)) % 10)
 
global.int.set("craft_tier:ingot", tier * 2)
 
global.double.set("craft_count:ingot", max(0.0, board_hi - craft_inventory * (count("plate", tier * 2) + count("plate.circuit", tier * 2))) + max(0.0, ceil((circuit_hi - craft_inventory * (count("cable", tier * 2) + count("circuit", tier * 2)))/2.0)))
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
execute("craft 3:1:board")
 
execute("craft 3:1:circuit")
 
 
 
waituntil(count("plate.circuit", tier * 2 - 1) >= board_lo & count("plate.circuit", tier * 2) >= board_hi & count("circuit", tier * 2 - 1) >= circuit_lo & count("circuit", tier * 2) >= circuit_hi)
 
craft("chip", tier, count)
 
 
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
CWNyYWZ0IDM6MQAAAAAAAAAAEwAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmdsb2JhbC5p
 
bnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAVj
 
b3VudBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xDmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AmMAAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29u
 
LmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAE8CGNvbnN0YW50AgEAAAAI
 
Y29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25z
 
dGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQEBWNvdW50CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVy
 
aWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEDGNyYWZ0IDM6MTppbhBsb2NhbC5kb3VibGUuc2V0CGNvbnN0
 
YW50BAhib2FyZF9sbxFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVj
 
b3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC
 
mjANAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAQbG9j
 
YWwuZG91YmxlLnNldAhjb25zdGFudAQKY2lyY3VpdF9sbxFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5k
 
b3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQA5nbG9i
 
YWwuaW50LnNldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdvdA5hcml0aG1ldGljLmludA5hcml0aG1l
 
dGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIA
 
AAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAABFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRY3Jh
 
ZnRfY291bnQ6aW5nb3QRYXJpdGhtZXRpYy5kb3VibGUKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAA
 
ABFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9sbwhjb25z
 
dGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRf
 
aW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQI
 
Y29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQI
 
Y29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFu
 
dAIBAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1
 
aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGll
 
cghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3Rh
 
bnQEASsKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRv
 
dWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xv
 
CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9j
 
cmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5j
 
b3VudAhjb25zdGFudAQFY2FibGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50
 
LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNv
 
bnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQHY2lyY3Vp
 
dA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVy
 
CGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAAAhjb25zdGFu
 
dAQBLwhjb25zdGFudAMAAAAAAAAAQBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtjcmFmdCBp
 
bmdvdBBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAhib2FyZF9oaRFhcml0aG1ldGljLmRvdWJsZRBs
 
b2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAigNAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhj
 
b25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25z
 
dGFudAQDbW9kCGNvbnN0YW50AgoAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQKY2lyY3VpdF9o
 
aRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFu
 
dAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCpGwDAAhjb25zdGFu
 
dAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAOZ2xvYmFsLmludC5zZXQI
 
Y29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25z
 
dGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0
 
YW50BBFjcmFmdF9jb3VudDppbmdvdBFhcml0aG1ldGljLmRvdWJsZQpkb3VibGUubWF4CGNvbnN0YW50
 
AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJk
 
X2hpCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
 
BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVt
 
cy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhj
 
b25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErCmRvdWJsZS5t
 
YXgIY29uc3RhbnQDAAAAAAAAAAALZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9oaQhjb25zdGFudAQBLRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
 
BWNhYmxlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdj
 
aXJjdWl0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAAAAQBNnZW5lcmljLmV4ZWN1
 
dGVzeW5jCGNvbnN0YW50BAtjcmFmdCBpbmdvdA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJjAAAADmNv
 
bXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQE
 
AT4IY29uc3RhbnQCxwAAAA9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQED2NyYWZ0IDM6MTpib2FyZA9n
 
ZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEEWNyYWZ0IDM6MTpjaXJjdWl0EWdlbmVyaWMud2FpdHVudGls
 
D2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sEWNvbXBhcmlzb24u
 
ZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQB
 
Kghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAj49EGxvY2Fs
 
LmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2xvCGNvbnN0YW50BAEmEWNvbXBhcmlzb24uZG91Ymxl
 
E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
 
YW50BAI+PRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9oaQhjb25zdGFudAQBJhFjb21w
 
YXJpc29uLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0
 
aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAACGNvbnN0YW50BAI+PRBsb2Nh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xvCGNvbnN0YW50BAEmEWNvbXBhcmlzb24uZG91
 
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9j
 
YWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50
 
BAI+PRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2hpDWZhY3RvcnkuY3JhZnQIY29u
 
c3RhbnQEBGNoaXANbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllchBsb2NhbC5kb3VibGUuZ2V0CGNv
 
bnN0YW50BAVjb3VudA==
 
 
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:1:in
 
|18
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''78'''
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
 
tier = global.int.get("craft_tier:3.1")
 
count = global.double.get("craft_count:3.1")
 
 
 
; Ingots (lo)
 
;  board_lo = global.double.get("craft_count:3.1") * i2d((864410 / (10 ^ mytier)) % 10)
 
;  circuit_lo = global.double.get("craft_count:3.1") * 2.0
 
global.int.set("craft_tier:ingot", tier * 2 - 1)
 
global.double.set("craft_count:ingot", max(0.0, count * i2d((864410 / (10 ^ tier)) % 10) - craft_inventory * (count("plate", tier * 2 - 1) + count("plate.circuit", tier * 2 - 1))) + max(0.0, ceil((count*2.0 - craft_inventory * (count("cable", tier * 2 - 1) + count("circuit", tier * 2 - 1)))/2.0)))
 
global.int.set("craft_verify:ingot", 1)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Ingots (hi)
 
;  board_hi = global.double.get("craft_count:3.1") * i2d((862210 / (10 ^ mytier)) % 10)
 
;  circuit_hi = global.double.get("craft_count:3.1") * i2d((224420 / (10 ^ mytier)) % 10)
 
global.int.set("craft_tier:ingot", tier * 2)
 
global.double.set("craft_count:ingot", max(0.0, count * i2d((862210 / (10 ^ tier)) % 10) - craft_inventory * (count("plate", tier * 2) + count("plate.circuit", tier * 2))) + max(0.0, ceil((count * i2d((224420 / (10 ^ tier)) % 10) - craft_inventory * (count("cable", tier * 2) + count("circuit", tier * 2)))/2.0)))
 
global.int.set("craft_verify:ingot", 1)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Input chips
 
global.int.set("craft_tier:3.1", tier - 1)
 
global.double.set("craft_count:3.1", count * 2.0 * (floor(664200.0 / (10.0 ^ i2d(tier))) % 10.0) - craft_inventory * count("chip", tier - 1))
 
executesync("craft part:1")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Restore state for this tier
 
global.int.set("craft_tier:3.1", tier)
 
global.double.set("craft_count:3.1", count)
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
DGNyYWZ0IDM6MTppbgAAAAAAAAAAEgAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmdsb2Jh
 
bC5pbnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50
 
BAVjb3VudBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xDmdsb2JhbC5p
 
bnQuc2V0CGNvbnN0YW50BBBjcmFmdF90aWVyOmluZ290DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMu
 
aW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhj
 
b25zdGFudAQBLQhjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBFjcmFmdF9j
 
b3VudDppbmdvdBFhcml0aG1ldGljLmRvdWJsZQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFy
 
aXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
BWNvdW50CGNvbnN0YW50BAEqA2kyZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludAhjb25zdGFu
 
dAKaMA0ACGNvbnN0YW50BAEvDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29uc3RhbnQEA3Bv
 
dw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAAhj
 
b25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
 
bnQIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5n
 
ZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25z
 
dGFudAIBAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNp
 
cmN1aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQE
 
dGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29u
 
c3RhbnQEASsKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGlj
 
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0
 
CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
 
BWNhYmxlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQE
 
BHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAACGNv
 
bnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQD
 
AAAAAAAAAEAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEmNyYWZ0X3ZlcmlmeTppbmdvdAhjb25zdGFu
 
dAIBAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC2NyYWZ0IGluZ290DmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AmMAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNy
 
YWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50
 
BBBjcmFmdF90aWVyOmluZ290DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRp
 
ZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRY3Jh
 
ZnRfY291bnQ6aW5nb3QRYXJpdGhtZXRpYy5kb3VibGUKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAA
 
ABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0
 
YW50BAVjb3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29u
 
c3RhbnQCAigNAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50
 
BANwb3cNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoA
 
AAAIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
D2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
 
b3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsKZG91YmxlLm1h
 
eAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
 
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhj
 
b25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCpGwDAAhj
 
b25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwu
 
aW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAIY29uc3RhbnQE
 
AS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVu
 
dG9yeQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0
 
YW50BAVjYWJsZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0
 
YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
 
dAQHY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0
 
YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEAOZ2xvYmFsLmlu
 
dC5zZXQIY29uc3RhbnQEEmNyYWZ0X3ZlcmlmeTppbmdvdAhjb25zdGFudAIBAAAAE2dlbmVyaWMuZXhl
 
Y3V0ZXN5bmMIY29uc3RhbnQEC2NyYWZ0IGluZ290DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAO
 
Y29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFu
 
dAQBPghjb25zdGFudALHAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMQ5h
 
cml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEtCGNvbnN0
 
YW50AgEAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2NyYWZ0X2NvdW50OjMuMRFhcml0aG1l
 
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQB
 
KhFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQD
 
AAAAABBFJEEIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAIY29u
 
c3RhbnQEA3BvdwNpMmQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNv
 
bnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3Vu
 
dAhjb25zdGFudAQEY2hpcA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVy
 
CGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQMY3Jh
 
ZnQgcGFydDoxDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
 
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmds
 
b2JhbC5pbnQuc2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMQ1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAR0aWVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9jcmFmdF9jb3VudDozLjEQbG9jYWwuZG91
 
YmxlLmdldAhjb25zdGFudAQFY291bnQ=
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:1:board
 
|15
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double board_lo
 
:local double board_hi
 
 
tier = global.int.get("craft_tier:3.1")
 
board_lo = global.double.get("craft_count:3.1") * i2d((864410 / (10 ^ tier)) % 10)
 
board_hi = global.double.get("craft_count:3.1") * i2d((862210 / (10 ^ tier)) % 10)
 
 
; Craft plates
 
lo1: gotoif(hi1, board_lo <= craft_inventory * (count("plate.circuit", tier * 2 - 1) + count("plate", tier * 2 - 1)))
 
  waitwhile(active("presser"))
 
  produce("ingot", tier * 2 - 1, board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1) + count("plate", tier * 2 - 1)), "presser")
 
 
hi1: gotoif(lo2, board_hi <= craft_inventory * (count("plate.circuit", tier * 2) + count("plate", tier * 2)))
 
  waitwhile(active("presser"))
 
  produce("ingot", tier * 2, board_hi - craft_inventory * (count("plate.circuit", tier * 2) + count("plate", tier * 2)), "presser")
 
 
; Craft circuit boards
 
lo2: gotoif(hi2, board_lo <= craft_inventory * (count("plate.circuit", tier * 2 - 1)))
 
  waitwhile(active("refinery") | count("plate", tier * 2 - 1) < board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1)))
 
  produce("plate", tier * 2 - 1, board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1)), "refinery")
 
 
hi2: gotoif(99, board_hi <= craft_inventory * (count("plate.circuit", tier * 2)))
 
  waitwhile(active("refinery") | count("plate", tier * 2) < board_hi - craft_inventory * (count("plate.circuit", tier * 2)))
 
  produce("plate", tier * 2, board_hi - craft_inventory * (count("plate.circuit", tier * 2)), "refinery")
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
D2NyYWZ0IDM6MTpib2FyZAAAAAAAAAAADwAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmds
 
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0
 
YW50BAhib2FyZF9sbxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
 
Y3JhZnRfY291bnQ6My4xCGNvbnN0YW50BAEqA2kyZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmlu
 
dAhjb25zdGFudAKaMA0ACGNvbnN0YW50BAEvDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29u
 
c3RhbnQEA3Bvdw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3Rh
 
bnQCCgAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAhib2FyZF9oaRFhcml0aG1ldGljLmRvdWJs
 
ZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xCGNvbnN0YW50BAEqA2ky
 
ZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludAhjb25zdGFudAICKA0ACGNvbnN0YW50BAEvDmFy
 
aXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29uc3RhbnQEA3Bvdw1sb2NhbC5pbnQuZ2V0CGNvbnN0
 
YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFu
 
dAIHAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2xv
 
CGNvbnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
 
Y3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
 
YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
 
dAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAR
 
Z2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHcHJlc3Nlcg9m
 
YWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWluZ290DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50
 
DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25z
 
dGFudAQBLQhjb25zdGFudAIBAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29u
 
c3RhbnQECGJvYXJkX2xvCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUT
 
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA5h
 
cml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0
 
YW50AgIAAAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5p
 
bnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS0I
 
Y29uc3RhbnQCAQAAAAhjb25zdGFudAQHcHJlc3Nlcg5nZW5lcmljLmdvdG9pZghjb25zdGFudAIKAAAA
 
EWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2hpCGNvbnN0
 
YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRf
 
aW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQI
 
Y29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQE
 
BHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1h
 
Y2hpbmUuYWN0aXZlCGNvbnN0YW50BAdwcmVzc2VyD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQFaW5n
 
b3QOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJv
 
YXJkX2hpCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
 
YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5p
 
dGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQu
 
Z2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFj
 
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAdwcmVzc2Vy
 
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50Ag0AAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
 
LmdldAhjb25zdGFudAQIYm9hcmRfbG8IY29uc3RhbnQEAjw9EWFyaXRobWV0aWMuZG91YmxlEWdsb2Jh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5p
 
dGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA5hcml0aG1ldGlj
 
LmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAI
 
Y29uc3RhbnQEAS0IY29uc3RhbnQCAQAAABFnZW5lcmljLndhaXR3aGlsZQ9jb21wYXJpc29uLmJvb2wW
 
ZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQIcmVmaW5lcnkIY29uc3RhbnQEAXwRY29tcGFy
 
aXNvbi5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEATwRYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRfbG8IY29uc3RhbnQEAS0RYXJp
 
dGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhj
 
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1wbGF0ZS5jaXJjdWl0DmFyaXRo
 
bWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3Rh
 
bnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAD2ZhY3RvcnkucHJvZHVj
 
ZQhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0
 
YW50AgEAAAARYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRf
 
bG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
D2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1w
 
bGF0ZS5jaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29u
 
c3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIB
 
AAAACGNvbnN0YW50BAhyZWZpbmVyeQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAJjAAAAEWNvbXBhcmlz
 
b24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2hpCGNvbnN0YW50BAI8PRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJp
 
dGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFu
 
dAICAAAAEWdlbmVyaWMud2FpdHdoaWxlD2NvbXBhcmlzb24uYm9vbBZmYWN0b3J5Lm1hY2hpbmUuYWN0
 
aXZlCGNvbnN0YW50BAhyZWZpbmVyeQhjb25zdGFudAQBfBFjb21wYXJpc29uLmRvdWJsZRNmYWN0b3J5
 
Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEATwRYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRfaGkIY29uc3RhbnQEAS0RYXJp
 
dGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhj
 
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1wbGF0ZS5jaXJjdWl0DmFyaXRo
 
bWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQC
 
AgAAAA9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DWxvY2FsLmlu
 
dC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFhcml0aG1ldGljLmRv
 
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9oaQhjb25zdGFudAQBLRFhcml0aG1l
 
dGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0
 
YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAA
 
CGNvbnN0YW50BAhyZWZpbmVyeQ==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:1:circuit
 
|15
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''98'''
!
+
|''white stairs''
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double circuit_lo
 
:local double circuit_hi
 
 
 
tier = global.int.get("craft_tier:3.1")
 
circuit_lo = global.double.get("craft_count:3.1") * 2.0
 
circuit_hi = global.double.get("craft_count:3.1") * i2d((224420 / (10 ^ tier)) % 10)
 
 
 
; Craft cables
 
lo1: gotoif(hi1, circuit_lo <= craft_inventory * (count("circuit", tier * 2 - 1) + count("cable", tier * 2 - 1)))
 
waitwhile(active("refinery"))
 
produce("ingot", tier * 2 - 1, ceil((circuit_lo - craft_inventory * (count("circuit", tier * 2 - 1) + count("cable", tier * 2 - 1))) / 2.0), "refinery")
 
 
 
hi1: gotoif(lo2, circuit_hi <= craft_inventory * (count("circuit", tier * 2) + count("cable", tier * 2)))
 
waitwhile(active("refinery"))
 
produce("ingot", tier * 2, ceil((circuit_hi - craft_inventory * (count("circuit", tier * 2) + count("cable", tier * 2))) / 2.0), "refinery")
 
 
 
; Craft circuit wires
 
lo2: gotoif(hi2, circuit_lo <= craft_inventory * count("circuit", tier * 2 - 1))
 
  waitwhile(count("cable", tier * 2 - 1) < circuit_lo - craft_inventory * count("circuit", tier * 2 - 1) | active("assembler"))
 
  produce("cable", tier * 2 - 1, circuit_lo - craft_inventory * count("circuit", tier * 2 - 1), "assembler")
 
 
 
hi2: gotoif(99, circuit_hi <= craft_inventory * count("circuit", tier * 2))
 
  waitwhile(count("cable", tier * 2) < circuit_hi - craft_inventory * count("circuit", tier * 2) | active("assembler"))
 
  produce("cable", tier * 2, circuit_hi - craft_inventory * count("circuit", tier * 2), "assembler")
 
 
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EWNyYWZ0IDM6MTpjaXJjdWl0AAAAAAAAAAAPAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBHRpZXIO
 
Z2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmNyYWZ0X3RpZXI6My4xEGxvY2FsLmRvdWJsZS5zZXQIY29u
 
c3RhbnQECmNpcmN1aXRfbG8RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQED2NyYWZ0X2NvdW50OjMuMQhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQBBsb2NhbC5kb3Vi
 
bGUuc2V0CGNvbnN0YW50BApjaXJjdWl0X2hpEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9jb3VudDozLjEIY29uc3RhbnQEASoDaTJkDmFyaXRobWV0aWMuaW50
 
DmFyaXRobWV0aWMuaW50CGNvbnN0YW50AqRsAwAIY29uc3RhbnQEAS8OYXJpdGhtZXRpYy5pbnQIY29u
 
c3RhbnQCCgAAAAhjb25zdGFudAQDcG93DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3Rh
 
bnQEA21vZAhjb25zdGFudAIKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgcAAAARY29tcGFyaXNv
 
bi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9sbwhjb25zdGFudAQCPD0R
 
YXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9y
 
eQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
 
BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3Rh
 
bnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAA
 
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMu
 
aW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoI
 
Y29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZh
 
Y3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQECHJlZmluZXJ5D2ZhY3RvcnkucHJvZHVjZQhjb25z
 
dGFudAQFaW5nb3QOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25z
 
dGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEA
 
AAALZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91
 
YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9sbwhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFn
 
bG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRo
 
bWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQB
 
Kghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9y
 
eS5pdGVtcy5jb3VudAhjb25zdGFudAQFY2FibGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
 
YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
 
CHJlZmluZXJ5DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAARY29tcGFyaXNvbi5kb3VibGUQbG9j
 
YWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9oaQhjb25zdGFudAQCPD0RYXJpdGhtZXRpYy5k
 
b3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQB
 
KhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFy
 
aXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3Rh
 
bnQCAgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVjYWJsZQ5hcml0
 
aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50
 
AgIAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQIcmVm
 
aW5lcnkPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5hcml0aG1ldGljLmludA1sb2NhbC5p
 
bnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAALZG91YmxlLmNlaWwR
 
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
 
dAQKY2lyY3VpdF9oaQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
 
dAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2Zh
 
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50
 
LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2Zh
 
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5n
 
ZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLwhjb25z
 
dGFudAMAAAAAAAAAQAhjb25zdGFudAQIcmVmaW5lcnkOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDQAA
 
ABFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xvCGNv
 
bnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1
 
aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGll
 
cghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAARZ2VuZXJp
 
Yy53YWl0d2hpbGUPY29tcGFyaXNvbi5ib29sEWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmlu
 
dC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhj
 
b25zdGFudAIBAAAACGNvbnN0YW50BAE8EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQI
 
Y29uc3RhbnQECmNpcmN1aXRfbG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2Fs
 
LmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQB
 
LQhjb25zdGFudAIBAAAACGNvbnN0YW50BAF8FmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQE
 
CWFzc2VtYmxlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DmFy
 
aXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3Rh
 
bnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQECmNpcmN1aXRfbG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUR
 
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0
 
b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMu
 
aW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhj
 
b25zdGFudAQBLQhjb25zdGFudAIBAAAACGNvbnN0YW50BAlhc3NlbWJsZXIOZ2VuZXJpYy5nb3RvaWYI
 
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApj
 
aXJjdWl0X2hpCGNvbnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
 
c3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghj
 
b25zdGFudAQBKghjb25zdGFudAICAAAAEWdlbmVyaWMud2FpdHdoaWxlD2NvbXBhcmlzb24uYm9vbBFj
 
b21wYXJpc29uLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVjYWJsZQ5hcml0aG1l
 
dGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIA
 
AAAIY29uc3RhbnQEATwRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQK
 
Y2lyY3VpdF9oaQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
 
c3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghj
 
b25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAF8FmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
 
Y29uc3RhbnQECWFzc2VtYmxlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0
 
aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAA
 
ABFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2hpCGNv
 
bnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9jcmFm
 
dF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQHY2lyY3Vp
 
dA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNv
 
bnN0YW50AgIAAAAIY29uc3RhbnQECWFzc2VtYmxlcg==
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|2
 
|plates
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:2
 
|9
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Regular plates
 
:global int craft_status
 
:local double count
 
:local int tier
 
 
tier = global.int.get("craft_tier:3.2")
 
count = global.double.get("craft_count:3.2")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count)
 
executesync("craft ingot")
 
gotoif(99, craft_status > 199)
 
 
waitwhile(active("presser"))
 
produce("ingot", tier, count, "presser")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|3
 
|dense plates
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
 
|-
 
|-
|craft 3:3
+
|'''19'''
|14
+
|damage logo
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''39'''
!
+
|kreds
|-
 
|<syntaxhighlight lang="actionscript">
 
; Dense plates
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double plates
 
 
 
tier = global.int.get("craft_tier:3.3")
 
count = global.double.get("craft_count:3.3")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
plates = count * 9.0 - craft_inventory * count("plate.stack", tier)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", plates)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
plates: gotoif(stacks, plates <= craft_inventory * count("plate", tier))
 
  waitwhile(active("presser"))
 
  produce("ingot", tier, plates - craft_inventory * count("plate", tier), "presser")
 
 
 
stacks: waitwhile(count("plate", tier) < plates | active("presser"))
 
  craft("plate.stack", tier, count - craft_inventory * count("plate.stack", tier))
 
  produce("plate.stack", tier, count, "presser")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|4
 
|blocks
 
 
|
 
|
{| class="wikitable"
+
|'''59'''
!Name
+
|''ship''
!Lines
 
!Code
 
|-
 
|craft 3:4
 
|10
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''79'''
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Blocks
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double platesperblock
 
:local double stacks
 
:local double plates
 
 
 
tier = global.int.get("craft_tier:3.4")
 
count = global.double.get("craft_count:3.4")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
plates: platesperblock = 4.0 * round((33332222220.0 / (10.0 ^ i2d(tier))) % 10.0)
 
  global.int.set("craft_tier:3.3", tier)
 
  global.double.set("craft_count:3.3", count * platesperblock - craft_inventory * count("plate.dense", tier))
 
  executesync("craft part:3")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
waitwhile(count("plate.dense", tier) < count * platesperblock)
 
craft("block", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|5
 
|cables
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:5
 
|9
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''99'''
!
+
|''shipping box''
|-
 
|<syntaxhighlight lang="actionscript">
 
; Cables
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
 
tier = global.int.get("craft_tier:3.5")
 
count = global.double.get("craft_count:3.5")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
waitwhile(active("refinery"))
 
produce("ingot", tier, ceil(count / 2.0), "refinery")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|6
 
|insulated cables
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:6
 
|17
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Insulated cables
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double cables
 
:local double rubber
 
 
tier = global.int.get("craft_tier:3.6")
 
count = global.double.get("craft_count:3.6")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
cables = count * max(max(1.0, i2d(tier) - 2.0), max(10.0 - (5.0 * ((i2d(tier) - 8.0) ^ 2.0)), ceil(((i2d(tier) - 1.0) ^ 1.5) - 11.0)))
 
rubber = count * max(0.0, ((2.0 * i2d(tier)) - 4.0) - max(0.0, 2.0 - ((i2d(tier) - 8.0) * (i2d(tier) - 9.0))))
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", (cables - count("cable", tier)) / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
cables: gotoif(rubber, cables <= craft_inventory * count("cable", tier))
 
  waitwhile(active("refinery"))
 
  produce("ingot", tier, ceil((cables - craft_inventory * count("cable", tier)) / 2.0), "refinery")
 
 
rubber: gotoif(craft, rubber <= count("plate.rubber", 1))
 
  waitwhile(active("presser"))
 
  produce("rubber", tier, rubber, "presser")
 
 
craft: waituntil(count("cable", tier) >= cables & count("plate.rubber", 1) >= rubber)
 
craft("cable.insulated", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|7
 
|rods
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
 
|-
 
|-
|craft 3:7
+
|'''20'''
|9
+
|wave logo
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''40'''
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Rods
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
 
tier = global.int.get("craft_tier:3.7")
 
count = global.double.get("craft_count:3.7")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
waitwhile(active("refinery"))
 
produce("ingot", tier, ceil(count / 2.0), "shaper")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|8
 
|motors
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:8
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''60'''
!
+
|''circle/orb''
|-
 
|<syntaxhighlight lang="actionscript">
 
; Motor
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double plates
 
 
 
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
; ingots
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count * 5.625) ; TODO count existing bits
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
execute("craft part:8:rods")
 
execute("craft part:8:wire")
 
 
 
; plates
 
;plates = count * 4.0
 
 
 
gotoif(wait, count * 4.0 <= craft_inventory * count("plate", global.int.get("craft_tier:3.2")))
 
waitwhile(active("presser"))
 
produce("ingot", tier, count * 4.0 - craft_inventory * count("plate", tier), "presser")
 
 
 
wait: waituntil(count("plate", tier) >= count * 4.0 & count("rod", tier) >= count * 2.0 & count("screw", tier) >= count & count("wire", tier) >= count)
 
craft("motor", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:8:rods
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|'''80'''
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double rods
 
;:local double screws
 
 
 
; rods & screws
 
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
;screws = count
 
rods = count * 2.0 + max(0.0, ceil((count - craft_inventory * count("screw", tier))/4.0))
 
 
 
; gotoif
 
waitwhile(active("shaper"))
 
produce("ingot", tier, ceil((rods - craft_inventory * count("rod", tier))/2.0), "shaper")
 
 
 
; gotoif
 
waitwhile(count("rod", tier) < (count - craft_inventory * count("screw", tier))/4.0 | active("cutter"))
 
produce("rod", tier, ceil((count - craft_inventory * count("screw", tier))/4.0), "cutter")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:8:wire
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
; rods & screws
 
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
 
gotoif(wire, count <= craft_inventory * (count("cable", tier) + count("wire", tier)))
 
waitwhile(active("refinery"))
 
produce("ingot", tier, ceil((count - craft_inventory * (count("cable", tier) + count("wire", tier)))/2.0), "refinery")
 
 
wire: gotoif(99, count <= craft_inventory * count("wire", tier))
 
waitwhile(count("cable", tier) < count - count - craft_inventory * count("wire", tier) | active("refinery"))
 
produce("cable", tier, count - craft_inventory * count("wire", tier), "refinery")
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|9
 
|pumps
 
 
|
 
|
{| class="wikitable"
+
|'''100'''
!Name
+
|save icon
!Lines
 
!Code
 
|-
 
|craft 3:9
 
|19
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Pumps
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double rods
 
 
tier = global.int.get("craft_tier:3.9")
 
count = global.double.get("craft_count:3.9")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
; ingots
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count * 8.625) ; TODO count existing bits
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
global.int.set("craft_tier:3.8", tier)
 
global.double.set("craft_count:3.8", count - craft_inventory * count("motor", tier))
 
executesync("craft 3:8")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
execute("craft 3:9:plates")
 
 
; 2 rings
 
rods = count * 2.0 - count("ring", tier)
 
waitwhile(active("shaper"))
 
produce("ingot", tier, ceil((rods - craft_inventory * count("rod", tier))/2.0), "shaper")
 
 
waitwhile(count("rod", tier) < rods | active("shaper"))
 
produce("rod", tier, count*2.0 - craft_inventory * count("ring", tier), "shaper")
 
 
waituntil(count("plate", tier) >= count*2.0 & count("plate.rubber", 1) >= count*4.0 & count("ring", tier) >= count*2.0)
 
craft("pump", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:9:plates
 
|?
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Pumps
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
tier = global.int.get("craft_tier:3.9")
 
count = global.double.get("craft_count:3.9")
 
 
; 2 rings
 
;plates = count * 2.0
 
; TODO gotoif
 
plates: waitwhile(active("presser"))
 
  produce("ingot", tier, count*2.0 - craft_inventory * count("plate", tier), "presser")
 
 
; TODO gotoif
 
rubber: waitwhile(active("presser"))
 
  produce("rubber", 1, count*4.0 - craft_inventory * count("plate.rubber", tier), "presser")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|}
 
<br />
 
 
 
==Producer scripts==
 
<br />
 
 
==Machine scripts==
 
 
 
 
<br />
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|x
 
|x
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
x
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
 
|}
 
|}

Latest revision as of 10:04, 31 January 2021

I like scripting!

Click to copy (tamperscript)
// ==UserScript==
// @name         Click to copy on <pre> tags
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add click to copy buttons to <pre> tags
// @author       Troy.Laurin@gmail.com
// @match        https://www.perfecttower2.com/wiki/*
// @grant        GM_addStyle
// @require      https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js
// @require      http://code.jquery.com/jquery-3.5.1.slim.min.js
// ==/UserScript==

(function() {
    'use strict';

    // ------------------------------------------
    // CSS part injected in the page
    GM_addStyle(" \
.precontainer { \
position: relative; \
} \
.copy-btn { \
background: #DDD; \
font-family: monospace; \
font-weight: bolder; \
margin: 0; \
opacity: 0; \
padding: 4px; \
position: absolute; \
right: 1px; \
top: 1px; \
cursor: pointer; \
-webkit-transition: opacity 0.3s ease-in-out; \
-o-transition: opacity 0.3s ease-in-out; \
transition: opacity 0.3s ease-in-out; \
} \
.precontainer:hover >.copy-btn { \
opacity: 1; \
} \
table { width: 100% } \
");

    $('pre').wrap('<div class="precontainer"></div>');
    $('pre').before($('<span class="copy-btn">&lt;/&gt;</span>'));

    new ClipboardJS('.copy-btn', {
        text: function(trigger) {
            return $(trigger.nextElementSibling).text();
        }
    })
        .on('success',function (e) {
        $(e.trigger).html("&lt;copied/&gt;")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    })
        .on('error',function (e) {
        $(e.trigger).html("Error!")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    });
})();

Factory scripts: https://www.perfecttower2.com/wiki/AI_Craftapalooza



Fun sprites
# # # # #
1 gems 21 white pyramid 41 61 memory outline 81 star 101 grey module
2 hypercube 22 tree logo 42 62 memory 102 right click
3 cogs 23 white infinity 43 white pencil 63 cpu outline 103 world
4 white xp 24 hourglass 44 space bar 64 cpu 104 white warning
5 exotic gems 25 unlock 45 white 6-pt star 65 server 105 grid mode
6 white help 26 white convert shard 46 white plus 66 graph / statistics 106 list mode
7 blue module 27 white mine nothing 47 white blurry circle 67 blue shield 107 save icon
8 white circle 28 white shard per time 48 to craft grid 68 grey shield
9 white cube 29 white redo arrow 49 from craft grid 69 drill
10 white target 30 50 cloud 70 trashcan
11 Dr Cubos 31 51 yellow module 71
12 white tick 32 52 red module 72
13 lock 33 53 purple module 73
14 white shard 34 54 bomb 74 94 checkbox
15 white skull 35 55 flag / impulse 75 95 red gem?!
16 white square 36 56 equals / condition 76 fuel can
17 white cross 37 white arrow right 57 function / action 77 97 museum stones
18 health logo 38 firesword logo 58 left click 78 98 white stairs
19 damage logo 39 kreds 59 ship 79 99 shipping box
20 wave logo 40 60 circle/orb 80 100 save icon