~~DISCUSSION:off~~ <- CRPL reference <- Script Commands
Arguments | Result | Notation |
---|---|---|
Unit UID, script name, var name, var value | i1 s1 s2 d1 – |
Sets the named variable on the specified unit script to a value.
Can also set the variables of built-in units like spore towers and emitters. You can check the names of built-in variable for units on the GetScriptVar page or at the bottom of this page.
Interval values for Emitters, Inhibitors, Spore Towers, Runner Nests should be set as the number of frames, rather than seconds. For example, 2 second interval as shown in-game should be set as 60 frames.
This is what setting an Emitter with 32.5 power and 2.5 second interval would look like:
SetScriptVar(<-unit 0 "productionAmt" 32.5 1000000 mul) SetScriptVar(<-unit 0 "productionInterval" 2.5 30 mul)
If you're procedurally generating a unit, and you want to give it a delay, you need to add the current time elapsed to it.
This is what setting a delay of 10 seconds would look like:
SetScriptVar(<-unit 0 "startTime" 300 GetGameTimeFrames add)
@CreateBullet :CreateBullet CreateUnit("CRPLCore" CurrentCoords) ->unit AddScriptToUnit(<-unit "CRBullet.crpl") SetScriptVar(<-unit "CRBullet.crpl" "targetX" <-targetX) SetScriptVar(<-unit "CRBullet.crpl" "targetY" <-targetY) SetScriptVar(<-unit "CRBullet.crpl" "payload" <-payload) SetImage(<-unit "main" "Custom2") SetImagePositionZ(<-unit "main" -0.01) SetImageRotation(<-unit "main" self "barrel" GetImageRotation)
CreateUnit("SPORETOWER" 0 0) ->sporeTowerUID SetScriptVar(<-sporeTowerUID 0 "startTime" 3600) # The number of frames before the tower commences firing. SetScriptVar(<-sporeTowerUID 0 "waveInterval" 3600) # The number of frames between each volley of spores. SetScriptVar(<-sporeTowerUID 0 "waveCount" 1) SetScriptVar(<-sporeTowerUID 0 "sporePayload" 25000000)
CreateUnit("EMITTER" 31 8) ->unit SetScriptVar(<-unit 0 "productionInterval" 45) SetScriptVar(<-unit 0 "productionAmt" 800000) SetScriptVar(<-unit 0 "startTime" 45)
CreateUnit("RUNNERNEST" <-spawnX <-spawnY) ->uid SetScriptVar(<-uid 0 "moveSpeed" 1) SetScriptVar(<-uid 0 "spawnInterval" 150) SetScriptVar(<-uid 0 "maxPopulation" 5) SetScriptVar(<-uid 0 "runnerMaxHealth" 5) SetScriptVar(<-uid 0 "creeperPayload" 75000000)
# Added in 1.66 CreateUnit("RESOURCEPACK" <-spawnX <-spawnY) ->uid SetScriptVar(<-uid 0 "resourceType" "ORE") # Can be ORE, ENERGY or AETHER SetScriptVar(<-uid 0 "amt" 150)
Emitter
Script: 0 STARTTIME Number of frames before emitter starts production. FINISHTIME Number of frames before emitter halts production. Defaults to 2147483647 (the maximum signed 32 bit integer). PRODUCTIONINTERVAL Number of frames between each creeper production. PRODUCTIONAMT The amount of creeper produced per production, multiplied by 1000000.
SporeTower
Script: 0 STARTTIME The number of frames before the tower starts producing spores. WAVEINTERVAL The number of frames between each wave of spores. WAVECOUNT The number of spores in each wave. SPOREPAYLOAD The amount of creeper that each spores dumps on the map when it lands, multiplied by 1000000.
AETower
Script: 0 RANGE The size of the exclusion zone.
RunnerNest
Script: 0 SPAWNINTERVAL The number of frames between the production of each runner MAXPOPULATION The maximum number of runners produced by this nest on the map at any given time. MOVESPEED The movement speed in pixels per second of each runner. RUNNERMAXHEALTH The maximum health and starting health of each runner. CREEPERPAYLOAD The amount of creeper that each runner dumps to the map when it dies or is killed, multiplied by 1000000.
Inhibitor
Script: 0 STARTTIME The number of frames before the inhibitor starts producing creeper. PRODUCTIONINTERVAL The number of frames between each production of creeper. PRODUCTIONAMT The amount of creeper produced. RANGE The range of the aerial exclusion zone. Set to 0 for none.
ResourcePack
Script: 0 AMT The starting amount that the pack carries. Must be less than MAXAMT. MAXAMT The maximum amount that the pack carries. RESOURCETYPE The type of resource that the pack carries. Either ENERGY, ORE or AETHER.
Guppy Pad (added in 1.68)
Script: "" MODE The type of cargo that the guppy ferries. Either PACKET, ORE or AC.
Artifact of Odin (AOO)
Script: 0 TYPE The type of AoO. Either FREEZE, MASS or CONVERT.
Tech Artifact (Added in 1.83)
Script: 0 COUNT The number of items the tech artifact should unlock.