Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** @param {NS} ns */
- export async function main(ns) {
- var nohack = ["CSEC", "avmnite-02h", "I.I.I.I", "run4theh111z", ".", "icarus", "darkweb"]
- const int_sst = 5 // set how high above security level we want to wait for
- const int_smt = .75 // set how close to max server money we want to wait for
- const vHOST = ns.getHostname()
- const sn = ns.getScriptName()
- const smr = ns.getServerMaxRam(vHOST)
- const smm = ns.getServerMaxMoney(vHOST)
- const sms = ns.getServerMinSecurityLevel(vHOST)
- function get_gt() {
- // get grow time with 2 decimal
- var gt = ns.getGrowTime(vHOST).toFixed(2)
- return gt
- }
- function get_gr() {
- var gr = ns.getServerGrowth(vHOST)
- return gr
- }
- function get_ht() {
- // get hack time with 2 decimal
- var ht = ns.getHackTime(vHOST).toFixed(2)
- return ht
- }
- function get_phl() {
- // get player hack level
- var phl = ns.getHackingLevel()
- return phl
- }
- function get_sma() {
- // get server money available
- var sma = ns.getServerMoneyAvailable(vHOST)
- return sma
- }
- function get_spr() {
- // get server ports required to hack
- var spr = ns.getServerNumPortsRequired(vHOST)
- return spr
- }
- function get_shlr() {
- // get server required hacking level
- var shlr = ns.getServerRequiredHackingLevel(vHOST)
- return shlr
- }
- function get_swt() {
- // get server weaken time
- var swt = ns.getWeakenTime(vHOST).toFixed(2)
- return swt
- }
- function get_sur() {
- // get server used ram
- var sur = ns.getServerUsedRam(vHOST)
- return sur
- }
- function get_sar() {
- //get server available ram
- var sar = smr - get_sur()
- return sar
- }
- function get_sr() {
- // get script ram requirements
- var sr = ns.getScriptRam(sn)
- return sr
- }
- function get_ras() {
- // get ram available after script run
- var ras = get_sar() - get_sr()
- return ras
- }
- function get_ssl() {
- // get server security level
- var ssl = ns.getServerSecurityLevel(vHOST).toFixed(2)
- return ssl
- }
- function get_sst() {
- // get security level we want to run at
- var sst = sms + int_sst
- return sst
- }
- function get_smt() {
- // get amount of money we want to attack at
- var smt = smm * int_smt
- return smt
- }
- ns.brutessh(vHOST)
- ns.relaysmtp(vHOST)
- ns.httpworm(vHOST)
- ns.sqlinject(vHOST)
- ns.ftpcrack(vHOST)
- if (!nohack.includes(vHOST)) {
- while (true) {
- if (get_ssl() > get_sst()) {
- // ns.tprint("need to weaken " + vHOST)
- await ns.weaken(vHOST)
- // ns.tprint(ns.weakenAnalyze() + " points in " + ns.getWeakenTime().toFixed(2) + " miliseconds")
- } else if (get_sma() > get_smt()) {
- // ns.tprint("hacking " + vHOST)
- await ns.hack(vHOST)
- } else {
- // ns.tprint("growing " + vHOST)
- await ns.grow(vHOST)
- // ns.tprint(ns.grow)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement