mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-16 14:28:36 +02:00
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.6 KiB
1.6 KiB
Home > bitburner > NS > hackAnalyzeThreads
NS.hackAnalyzeThreads() method
Calculate the decimal number of threads needed to hack a specified amount of money from a target host.
Signature:
hackAnalyzeThreads(host: string, hackAmount: number): number;
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
host |
string |
Hostname/IP of the target server to analyze. |
|
hackAmount |
number |
Amount of money you want to hack from the server. |
Returns:
number
The number of threads needed to hack the server for hackAmount money.
Remarks
RAM cost: 1 GB
This function returns the decimal number of script threads you need when running the hack command to steal the specified amount of money from the target server. If hackAmount is less than zero, greater than the amount of money available on the server, or your hacking level is below the required level for the target server, then this function returns -1.
Example
// Calculate the thread count of a single hack that would take $100k from n00dles
const hackThreads = ns.hackAnalyzeThreads("n00dles", 1e5);
// Launching a script requires an integer thread count. The below would take less than the targeted $100k.
ns.run("noodleHack.js", Math.floor(hackThreads));