There were two large holes in the existing offline server handling: 1. It didn't include IPs, so scripts that used IPs instead of hostnames would get exceptions thrown for "server not found." 2. Coverage was very low for non-Darknet APIs. Maybe most of them don't need to be covered, but many obvious ones like "ps", "killall" and "hasRootAccess" were missing. IMO the only reliable answer is one that enforces *all* are covered via the type system. To accomplish the second part, helpers.getServer() was changed to return null when a server is offline. This intentionally breaks a lot of its utility, which was to return a server unconditionally. To compensate, its utility was increased - it now also does unknown argument processing, allowing it to subsume a common line that all callers were repeating. Some callers switched to ctx.workerScript.getServer(), because they didn't actually need to be using helpers.getServer(). Similarly, a few callsites switched to GetServerOrThrow(), for the cases where it should be guaranteed that the server is valid. The rest are returning a default/failure response when the server is offline. (Except for contracts, which threw on failure already anyway.)
1.5 KiB
Home > bitburner > NS > getScriptIncome
NS.getScriptIncome() method
Get the income of a script.
Signature:
getScriptIncome(script: string, host?: string, ...args: ScriptArg[]): number;
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
script |
string |
Filename of script. |
|
host |
string |
(Optional) Hostname/IP of the server on which the script is running. Optional. Defaults to current server if not provided. |
|
args |
Arguments that the script is running with. |
Returns:
number
Amount of income the specified script generates while online.
Remarks
RAM cost: 0.1 GB
Returns the amount of income the specified script generates while online (when the game is open, does not apply for offline income). Remember that a script is uniquely identified by both its name and its arguments. So for example if you ran a script with the arguments “foodnstuff” and “5” then in order to use this function to get that script’s income you must specify those same arguments in the same order in this function call.