Exec Method not working

I've made this script that identifies the server with most max money value and start a basic hack script at max threads, while testing i forgot to check if the server selected has root access. After implementing that, it no longer runs the hack script. Pls help

/** [u/param](/u/param)/** [u/param](/u/param) {NS} ns */
import { multiscan } from "scripts/utils.js"
export async function main(ns) {
  ns.disableLog("ALL")
  ns.ui.openTail()


  //search for the server with most max money value & root access
  //name = best server
  const list = multiscan(ns, "home")
  let name = "", money = 0
  for (let i = 0; i < list.length; i++) {
    //checks for root, max money & if hack is possible
    if (ns.hasRootAccess(list[i]) && ns.getServerMaxMoney(list[i]) > money && ns.getServerRequiredHackingLevel(list[i]) <= ns.getHackingLevel()) {
      name = list[i]
      money = ns.getServerMaxMoney(list[i])
    }
  }


  //calculate the number of threads to run hack script(sHost = server running hack script)
  let sHost = ns.args[0]
  //checks if sHost is gived a value, defaults to home
  sHost = typeof sHost !== "undefined" ? sHost : "home"


  let scriptRam = ns.getScriptRam("scripts/basic-hack.js"),
    tNum = ns.formatNumber((ns.getServerMaxRam(sHost) - ns.getServerUsedRam(sHost)) / scriptRam, 0, 1000, false)


  //executes hack script on specefied server with max threads
  ns.exec("scripts/basic-hack.js", sHost, tNum, name)
  ns.print(`Started Hack on ${sHost}\nUsing "scripts/basic-hack.js"\nAt ${tNum} theards\nTargeting ${name}`)
} {NS} ns */
import { multiscan } from "scripts/utils.js"
export async function main(ns) {
  ns.disableLog("ALL")
  ns.ui.openTail()


  //search for the server with most max money value & root access
  //name = best server
  const list = multiscan(ns, "home")
  let name = "", money = 0
  for (let i = 0; i < list.length; i++) {
    //checks for root, max money & if hack is possible
    if (ns.hasRootAccess(list[i]) && ns.getServerMaxMoney(list[i]) > money && ns.getServerRequiredHackingLevel(list[i]) <= ns.getHackingLevel()) {
      name = list[i]
      money = ns.getServerMaxMoney(list[i])
    }
  }


  //calculate the number of threads to run hack script(sHost = server running hack script)
  let sHost = ns.args[0]
  //checks if sHost is gived a value, defaults to home
  sHost = typeof sHost !== "undefined" ? sHost : "home"


  let scriptRam = ns.getScriptRam("scripts/basic-hack.js"),
    tNum = ns.formatNumber((ns.getServerMaxRam(sHost) - ns.getServerUsedRam(sHost)) / scriptRam, 0, 1000, false)


  //executes hack script on specefied server with max threads
  ns.exec("scripts/basic-hack.js", sHost, tNum, name)
  ns.print(`Started Hack on ${sHost}\nUsing "scripts/basic-hack.js"\nAt ${tNum} theards\nTargeting ${name}`)
}

Posted Mar 5, 2026, 7:47 PM UTC

315
Loading comments…