mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-22 15:43:49 +01:00
1c20a24079
This eliminates a hole where spawn was unrelaible, because other scripts could jump in and steal the RAM. It's not an API break, because 0 used to be an invalid value.
1.8 KiB
1.8 KiB
NS.spawn() method
Terminate current script and start another in a defined number of milliseconds.
Signature:
spawn(script: string, threadOrOptions?: number | SpawnOptions, ...args: ScriptArg[]): void;
Parameters
Parameter | Type | Description |
---|---|---|
script | string | Filename of script to execute. |
threadOrOptions | number | SpawnOptions | (Optional) Either an integer number of threads for new script, or a SpawnOptions object. Threads defaults to 1 and spawnDelay defaults to 10,000 ms. |
args | ScriptArg[] | Additional arguments to pass into the new script that is being run. |
Returns:
void
Remarks
RAM cost: 2 GB
Terminates the current script, and then after a defined delay it will execute the newly-specified script. The purpose of this function is to execute a new script without being constrained by the RAM usage of the current one. This function can only be used to run scripts on the local server.
The delay specified can be 0; in this case the new script will synchronously replace the old one. (There will not be any opportunity for other scripts to use up the RAM in-between.)
Because this function immediately terminates the script, it does not have a return value.
Running this function with 0 or fewer threads will cause a runtime error.
Example
//The following example will execute the script ‘foo.js’ with 10 threads, in 500 milliseconds and the arguments ‘foodnstuff’ and 90:
ns.spawn("foo.js", {threads: 10, spawnDelay: 500}, "foodnstuff", 90);