This is a very rough and tumble automated company progression script. its main purpose is to work you through every company that has an augment list (うまくいけば), and even auto-promotes you if available!
General Description
This script moves you through every company that has an augment list that I’m aware of, checking if you have been invited each, setting you to work if you haven’t, and even auto-promoting you over time! そうは言っても, it’s probably full of redundancy, and is less than elegant to put it lightly. I’m self-taught thanks to this game and the various different people making helpful tutorials in here, so I understand if you want or need to tweak it to make the script more efficient.
I should also mention this script won’t work unless you are on or have completed bit node-5, for obvious reasons.
さもないと, also included in the script are my creator notes that explain what everything does, 多かれ少なかれ. it should help new players who just reached bit node-5 to understand more how some things work if they don’t already. お役に立てば幸いです, if nothing else to serve as an example of how badly you can code and still have it work!
追伸. I know the formatting is as ugly as sin, but it’s the best I could do to make copy/pasting easy on people and still keep my notes. Just hit beautify on it, should fix it right up.
スクリプト
/** @param {NS} ns **/ 非同期関数メインのエクスポート(ns) { //sets parameters for the script, var invites = ns.checkFactionInvitations() // what invites we have, var completed = []; // companies we have accepted invites from, var busy = ns.isBusy() //whether we're currently working, // and gives us both our company targets and matches each company to their respective city. var city = ["Sector-12", "Sector-12", "Sector-12", "Chongqing", "Volhaven", "Volhaven", "Aevum", "Aevum", "Aevum", "Aevum"] var company = ["Four Sigma", "Blade Industries", "MegaCorp", "KuaiGong International", "NWO", "OmniTek Incorporated", "Clarke Incorporated", "Bachman & Associates", "Fulcrum Secret Technologies", "ECorp"]; その間 (真実) { var joined = false while (!joined) { ために (var career = 0; career < company.length; career++) { //初め, we set the loop, sticking on the first company on our array, unless we have an invite //from them already, ために (var i = 0; 私 < invites.length; i++) { もし (company[career] == invites) { ns.joinFaction(invites); ns.tprint(invites + "has been joined!"); completed.push(company[career]);//then it checks if we completed that company. joined = true; await ns.sleep(1000); //fun fact, these times are offset strangely to help me find where the hell my code was screwing // 上! } そうでなければ (company[career] !== invites && company[career] !== completed[career]) {//if we haven't, // we stay with our current company. career = 0 await ns.sleep(1100); } そうでなければ (company[career] == completed[career]) { //this is probably redundant, but it works so i'm not touching it. ns.tprint("Transfering to " + company[career++]) await ns.sleep(1200) } } もし (!busy) { //if we're not working, ns.travelToCity(市[career]) //we go to our companies city, ns.tprint("Starting work at " + company[career]) // the terminal prints where we are, ns.applyToCompany(company[career], "ソフトウェア"); //we ask nicely for a job or promotion, ns.workForCompany(company[career], "ソフトウェア"); // then we get to work! await ns.sleep(60000); //then the script sleeps for a minute } そうでなければ (busy) {// if we're working, ns.tprint("Payday!");// we print a fun payday on terminal, ns.applyToCompany(company[career], "ソフトウェア");// we ask for a promotion, ns.workForCompany(company[career], "ソフトウェア");//and get our money and get back to work, await ns.sleep(60000);// then sleep for another minute. } //these are likewise also probably redundant, but i'm not touchin' them. そうでなければ (!joined) { await ns.sleep(1300) } そうでなければ (joined) { await ns.sleep(1400); } } } } }