From 07a5baabc8673e7c0cee54dde0f820f270a9c186 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 08:48:35 -0500 Subject: [PATCH 01/16] script exporter porpuse --- Script Exporter/SCRIPT EXPORT.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Script Exporter/SCRIPT EXPORT.md diff --git a/Script Exporter/SCRIPT EXPORT.md b/Script Exporter/SCRIPT EXPORT.md new file mode 100644 index 0000000..dc87f1a --- /dev/null +++ b/Script Exporter/SCRIPT EXPORT.md @@ -0,0 +1,2 @@ +SCRIPT EXPORT MD + a system to export all your scripts \ No newline at end of file From 434cf845f59b586e62eb14c1ba7b913eb3442fde Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 08:58:32 -0500 Subject: [PATCH 02/16] script exporter this iterates through all scripts and encodes them, storing the output in a .json (name:script) --- Script Exporter/scriptExporter.js | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Script Exporter/scriptExporter.js diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js new file mode 100644 index 0000000..9f6570b --- /dev/null +++ b/Script Exporter/scriptExporter.js @@ -0,0 +1,33 @@ +/** @param {NS} ns **/ +export async function main(ns) { + + const SELF = ns.getScriptName(); + const OUTPUT = "scripts_dump.json"; + + const files = ns.ls("home", ".js"); + + let result = {}; + + for (const file of files) { + + if (file === SELF) continue; + + const content = ns.read(file); + if (!content) continue; + + let encoded; + try { + encoded = btoa(content); + } catch { + ns.tprint(`Failed to encode ${file}`); + continue; + } + + // key = filename, value = encoded content + result[file] = encoded; + } + + await ns.write(OUTPUT, JSON.stringify(result, null, 2), "w"); + + ns.tprint(`Exported ${Object.keys(result).length} scripts to ${OUTPUT}`); +} \ No newline at end of file From 5f21b41d4a1eabec85ca4f2679db2ece819c41d2 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:01:10 -0500 Subject: [PATCH 03/16] pack script pack the script into a single line of text --- Script Exporter/packScript.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Script Exporter/packScript.js diff --git a/Script Exporter/packScript.js b/Script Exporter/packScript.js new file mode 100644 index 0000000..e9e10c3 --- /dev/null +++ b/Script Exporter/packScript.js @@ -0,0 +1,28 @@ +/** @param {NS} ns **/ +export async function main(ns) { + + const INPUT = "scripts_dump.json"; + const OUTPUT = "scripts_dump.txt"; + + // 1. Read JSON file + const content = ns.read(INPUT); + + if (!content) { + ns.tprint(`ERROR: ${INPUT} is empty or missing`); + return; + } + + // 2. Encode whole file + let encoded; + try { + encoded = btoa(content); + } catch { + ns.tprint("ERROR: Failed to encode JSON"); + return; + } + + // 3. Save to txt (overwrite) + await ns.write(OUTPUT, encoded, "w"); + + ns.tprint(`Packed ${INPUT} → ${OUTPUT}`); +} \ No newline at end of file From e88b20f544db800599d8e422cc72b674994ace68 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:06:53 -0500 Subject: [PATCH 04/16] merge into one merge the two scripts to one, as it should be --- Script Exporter/packScript.js | 28 --------------------------- Script Exporter/scriptExporter.js | 32 +++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 32 deletions(-) delete mode 100644 Script Exporter/packScript.js diff --git a/Script Exporter/packScript.js b/Script Exporter/packScript.js deleted file mode 100644 index e9e10c3..0000000 --- a/Script Exporter/packScript.js +++ /dev/null @@ -1,28 +0,0 @@ -/** @param {NS} ns **/ -export async function main(ns) { - - const INPUT = "scripts_dump.json"; - const OUTPUT = "scripts_dump.txt"; - - // 1. Read JSON file - const content = ns.read(INPUT); - - if (!content) { - ns.tprint(`ERROR: ${INPUT} is empty or missing`); - return; - } - - // 2. Encode whole file - let encoded; - try { - encoded = btoa(content); - } catch { - ns.tprint("ERROR: Failed to encode JSON"); - return; - } - - // 3. Save to txt (overwrite) - await ns.write(OUTPUT, encoded, "w"); - - ns.tprint(`Packed ${INPUT} → ${OUTPUT}`); -} \ No newline at end of file diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index 9f6570b..d5e57fa 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -2,12 +2,16 @@ export async function main(ns) { const SELF = ns.getScriptName(); - const OUTPUT = "scripts_dump.json"; + const JSON_OUT = "scripts_dump.json"; + const TXT_OUT = "scripts_dump.txt"; const files = ns.ls("home", ".js"); let result = {}; + // ---------------------------------------- + // 1. Build JSON object in memory + // ---------------------------------------- for (const file of files) { if (file === SELF) continue; @@ -23,11 +27,31 @@ export async function main(ns) { continue; } - // key = filename, value = encoded content result[file] = encoded; } - await ns.write(OUTPUT, JSON.stringify(result, null, 2), "w"); + // ---------------------------------------- + // 2. Convert to JSON string + // ---------------------------------------- + const jsonString = JSON.stringify(result); + + // ---------------------------------------- + // 3. Save JSON (optional artifact) + // ---------------------------------------- + await ns.write(JSON_OUT, jsonString, "w"); + + // ---------------------------------------- + // 4. Encode JSON → TXT + // ---------------------------------------- + let packed; + try { + packed = btoa(jsonString); + } catch { + ns.tprint("Failed to encode JSON"); + return; + } + + await ns.write(TXT_OUT, packed, "w"); - ns.tprint(`Exported ${Object.keys(result).length} scripts to ${OUTPUT}`); + ns.tprint(`Exported ${Object.keys(result).length} scripts → JSON + TXT`); } \ No newline at end of file From 96c6a06a9df63d837a28ea70402ee65681b414ba Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:17:21 -0500 Subject: [PATCH 05/16] correct format was coming out as one line. this should fix that --- Script Exporter/scriptExporter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index d5e57fa..824086a 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -33,7 +33,7 @@ export async function main(ns) { // ---------------------------------------- // 2. Convert to JSON string // ---------------------------------------- - const jsonString = JSON.stringify(result); + const jsonString = JSON.stringify(result, null, 2); // ---------------------------------------- // 3. Save JSON (optional artifact) From 64e35b14be9b6fe650406513e2bb8d86ea9d6cea Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:33:17 -0500 Subject: [PATCH 06/16] wipe file clear all changes --- Script Exporter/scriptExporter.js | 54 ------------------------------- 1 file changed, 54 deletions(-) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index d5e57fa..b0ce195 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -1,57 +1,3 @@ /** @param {NS} ns **/ export async function main(ns) { - - const SELF = ns.getScriptName(); - const JSON_OUT = "scripts_dump.json"; - const TXT_OUT = "scripts_dump.txt"; - - const files = ns.ls("home", ".js"); - - let result = {}; - - // ---------------------------------------- - // 1. Build JSON object in memory - // ---------------------------------------- - for (const file of files) { - - if (file === SELF) continue; - - const content = ns.read(file); - if (!content) continue; - - let encoded; - try { - encoded = btoa(content); - } catch { - ns.tprint(`Failed to encode ${file}`); - continue; - } - - result[file] = encoded; - } - - // ---------------------------------------- - // 2. Convert to JSON string - // ---------------------------------------- - const jsonString = JSON.stringify(result); - - // ---------------------------------------- - // 3. Save JSON (optional artifact) - // ---------------------------------------- - await ns.write(JSON_OUT, jsonString, "w"); - - // ---------------------------------------- - // 4. Encode JSON → TXT - // ---------------------------------------- - let packed; - try { - packed = btoa(jsonString); - } catch { - ns.tprint("Failed to encode JSON"); - return; - } - - await ns.write(TXT_OUT, packed, "w"); - - ns.tprint(`Exported ${Object.keys(result).length} scripts → JSON + TXT`); } \ No newline at end of file From 9764f08da893089408b126ef221b706010154a6a Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:34:53 -0500 Subject: [PATCH 07/16] control base control system --- Script Exporter/scriptExporter.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index b0ce195..5c87832 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -1,3 +1,18 @@ /** @param {NS} ns **/ export async function main(ns) { + const mode = ns.args[0]; + + const SELF = ns.getScriptName(); + const JSON_OUT = "scripts_dump.json"; + const TXT_OUT = "scripts_dump.txt"; + + if (mode === "ex") { + await exportScripts(ns, SELF, JSON_OUT, TXT_OUT); + } + else if (mode === "im") { + await importScripts(ns, SELF, TXT_OUT); + } + else { + ns.tprint("Usage: run script.js [ex | im]"); + } } \ No newline at end of file From 9015052d5099348bca1814386d1c160d576820ce Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:40:11 -0500 Subject: [PATCH 08/16] export+comment add export code, comment controll code --- Script Exporter/scriptExporter.js | 47 ++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index 5c87832..3269c49 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -1,18 +1,51 @@ /** @param {NS} ns **/ + export async function main(ns) { - const mode = ns.args[0]; + const mode = ns.args[0]; //extract mode - const SELF = ns.getScriptName(); - const JSON_OUT = "scripts_dump.json"; - const TXT_OUT = "scripts_dump.txt"; + const SELF = ns.getScriptName(); //get name + const JSON_OUT = "scripts_dump.json"; //name of output .json + const TXT_OUT = "scripts_dump.txt"; //name of output text - if (mode === "ex") { + if (mode === "ex") { //trigger export await exportScripts(ns, SELF, JSON_OUT, TXT_OUT); } - else if (mode === "im") { + else if (mode === "im") { //trigger import await importScripts(ns, SELF, TXT_OUT); } - else { + else { //explain format ns.tprint("Usage: run script.js [ex | im]"); } +} + +async function exportScripts(ns, SELF, JSON_OUT, TXT_OUT) { + + const files = ns.ls("home", ".js"); + + let result = {}; + + for (const file of files) { + + // skip self (prevents recursion) + if (file === SELF) continue; + + const content = ns.read(file); + if (!content) continue; + + try { + result[file] = btoa(content); + } catch { + ns.tprint(`Failed to encode ${file}`); + } + } + + const jsonString = JSON.stringify(result, null, 2); + + await ns.write(JSON_OUT, jsonString, "w"); + + const packed = btoa(jsonString); + + await ns.write(TXT_OUT, packed, "w"); + + ns.tprint(`Exported ${Object.keys(result).length} scripts`); } \ No newline at end of file From 0f70b78b3592e4e14dc0d24376ec4227a0c2a037 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:45:26 -0500 Subject: [PATCH 09/16] io code code for import and export --- Script Exporter/scriptExporter.js | 96 ++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index 3269c49..a6e47f2 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -29,7 +29,7 @@ async function exportScripts(ns, SELF, JSON_OUT, TXT_OUT) { // skip self (prevents recursion) if (file === SELF) continue; - const content = ns.read(file); + const content = ns.read(file); //get contents if (!content) continue; try { @@ -48,4 +48,98 @@ async function exportScripts(ns, SELF, JSON_OUT, TXT_OUT) { await ns.write(TXT_OUT, packed, "w"); ns.tprint(`Exported ${Object.keys(result).length} scripts`); +} + +async function importScripts(ns, SELF, TXT_OUT) { + + const content = ns.read(TXT_OUT); + + if (!content) { + ns.tprint("ERROR: Missing dump file"); + return; + } + + let jsonString; + try { + jsonString = atob(content); + } catch { + ns.tprint("ERROR: Decode failed"); + return; + } + + let data; + try { + data = JSON.parse(jsonString); + } catch { + ns.tprint("ERROR: Invalid JSON"); + return; + } + + let count = 0; + + for (const file in data) { + + // safety: never overwrite importer/exporter script + if (file === SELF) continue; + + let decoded; + try { + decoded = atob(data[file]); + } catch { + ns.tprint(`Failed: ${file}`); + continue; + } + + await ns.write(file, decoded, "w"); + count++; + } + + ns.tprint(`Imported ${count} scripts`); +} + +async function importScripts(ns, SELF, TXT_OUT) { + + const content = ns.read(TXT_OUT); + + if (!content) { + ns.tprint("ERROR: Missing dump file"); + return; + } + + let jsonString; + try { + jsonString = atob(content); + } catch { + ns.tprint("ERROR: Decode failed"); + return; + } + + let data; + try { + data = JSON.parse(jsonString); + } catch { + ns.tprint("ERROR: Invalid JSON"); + return; + } + + let count = 0; + + for (const file in data) { + + // safety: never overwrite importer/exporter script + if (file === SELF) continue; + + let decoded; + try { + decoded = atob(data[file]); + } catch { + ns.tprint(`Failed: ${file}`); + continue; + } + + await ns.write(file, decoded, "w"); + count++; + } + + ns.tprint(`Imported ${count} scripts`); } \ No newline at end of file From a00b125da8535d25cae63007b9a972bcba2e9f37 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sat, 16 May 2026 19:09:12 -0500 Subject: [PATCH 10/16] Revert "Merge branch 'script-exporter-code' into import+export" This reverts commit 784f5145b76522336448f5d42e1d38ecbe68399b, reversing changes made to 0f70b78b3592e4e14dc0d24376ec4227a0c2a037. --- Script Exporter/scriptExporter.js | 140 ++++++++++++++++++++++++------ 1 file changed, 114 insertions(+), 26 deletions(-) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/scriptExporter.js index 824086a..a6e47f2 100644 --- a/Script Exporter/scriptExporter.js +++ b/Script Exporter/scriptExporter.js @@ -1,57 +1,145 @@ /** @param {NS} ns **/ + export async function main(ns) { + const mode = ns.args[0]; //extract mode + + const SELF = ns.getScriptName(); //get name + const JSON_OUT = "scripts_dump.json"; //name of output .json + const TXT_OUT = "scripts_dump.txt"; //name of output text + + if (mode === "ex") { //trigger export + await exportScripts(ns, SELF, JSON_OUT, TXT_OUT); + } + else if (mode === "im") { //trigger import + await importScripts(ns, SELF, TXT_OUT); + } + else { //explain format + ns.tprint("Usage: run script.js [ex | im]"); + } +} - const SELF = ns.getScriptName(); - const JSON_OUT = "scripts_dump.json"; - const TXT_OUT = "scripts_dump.txt"; +async function exportScripts(ns, SELF, JSON_OUT, TXT_OUT) { const files = ns.ls("home", ".js"); let result = {}; - // ---------------------------------------- - // 1. Build JSON object in memory - // ---------------------------------------- for (const file of files) { + // skip self (prevents recursion) if (file === SELF) continue; - const content = ns.read(file); + const content = ns.read(file); //get contents if (!content) continue; - let encoded; try { - encoded = btoa(content); + result[file] = btoa(content); } catch { ns.tprint(`Failed to encode ${file}`); - continue; } - - result[file] = encoded; } - // ---------------------------------------- - // 2. Convert to JSON string - // ---------------------------------------- const jsonString = JSON.stringify(result, null, 2); - // ---------------------------------------- - // 3. Save JSON (optional artifact) - // ---------------------------------------- await ns.write(JSON_OUT, jsonString, "w"); - // ---------------------------------------- - // 4. Encode JSON → TXT - // ---------------------------------------- - let packed; + const packed = btoa(jsonString); + + await ns.write(TXT_OUT, packed, "w"); + + ns.tprint(`Exported ${Object.keys(result).length} scripts`); +} + +async function importScripts(ns, SELF, TXT_OUT) { + + const content = ns.read(TXT_OUT); + + if (!content) { + ns.tprint("ERROR: Missing dump file"); + return; + } + + let jsonString; try { - packed = btoa(jsonString); + jsonString = atob(content); } catch { - ns.tprint("Failed to encode JSON"); + ns.tprint("ERROR: Decode failed"); return; } - await ns.write(TXT_OUT, packed, "w"); + let data; + try { + data = JSON.parse(jsonString); + } catch { + ns.tprint("ERROR: Invalid JSON"); + return; + } + + let count = 0; + + for (const file in data) { + + // safety: never overwrite importer/exporter script + if (file === SELF) continue; + + let decoded; + try { + decoded = atob(data[file]); + } catch { + ns.tprint(`Failed: ${file}`); + continue; + } + + await ns.write(file, decoded, "w"); + count++; + } + + ns.tprint(`Imported ${count} scripts`); +} + +async function importScripts(ns, SELF, TXT_OUT) { + + const content = ns.read(TXT_OUT); + + if (!content) { + ns.tprint("ERROR: Missing dump file"); + return; + } + + let jsonString; + try { + jsonString = atob(content); + } catch { + ns.tprint("ERROR: Decode failed"); + return; + } + + let data; + try { + data = JSON.parse(jsonString); + } catch { + ns.tprint("ERROR: Invalid JSON"); + return; + } + + let count = 0; + + for (const file in data) { + + // safety: never overwrite importer/exporter script + if (file === SELF) continue; + + let decoded; + try { + decoded = atob(data[file]); + } catch { + ns.tprint(`Failed: ${file}`); + continue; + } + + await ns.write(file, decoded, "w"); + count++; + } - ns.tprint(`Exported ${Object.keys(result).length} scripts → JSON + TXT`); + ns.tprint(`Imported ${count} scripts`); } \ No newline at end of file From 43c846a4b4989f0f72172698e46bfd8c856ec24f Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sat, 16 May 2026 19:15:37 -0500 Subject: [PATCH 11/16] script import/export --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c9ed38..281aaf0 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# Bitburner Scripts \ No newline at end of file +# Bitburner Scripts +Import Export: A system made for importing and exporting other scripts via base64 \ No newline at end of file From fd97e2fce6d0c0202bef60272807dd74bbda1aa3 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sat, 16 May 2026 19:22:22 -0500 Subject: [PATCH 12/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c9ed38..259d6f2 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# Bitburner Scripts \ No newline at end of file +# Bitburner Scripts: netscript \ No newline at end of file From 694cbffd85092ddd9e8df4973c80926166a810d9 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sat, 16 May 2026 19:25:50 -0500 Subject: [PATCH 13/16] Hardcoded Export code hardcoded to export only, an older version --- Script Exporter/{ => oldIterations}/scriptExporter.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Script Exporter/{ => oldIterations}/scriptExporter.js (100%) diff --git a/Script Exporter/scriptExporter.js b/Script Exporter/oldIterations/scriptExporter.js similarity index 100% rename from Script Exporter/scriptExporter.js rename to Script Exporter/oldIterations/scriptExporter.js From c4b9cb5440d5c6e5a29e4ae59529eb62bb11a807 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sat, 16 May 2026 19:25:55 -0500 Subject: [PATCH 14/16] Delete SCRIPT EXPORT.md --- Script Exporter/SCRIPT EXPORT.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 Script Exporter/SCRIPT EXPORT.md diff --git a/Script Exporter/SCRIPT EXPORT.md b/Script Exporter/SCRIPT EXPORT.md deleted file mode 100644 index dc87f1a..0000000 --- a/Script Exporter/SCRIPT EXPORT.md +++ /dev/null @@ -1,2 +0,0 @@ -SCRIPT EXPORT MD - a system to export all your scripts \ No newline at end of file From aca73579103029b2d23f8137e7515c4ea9607e4b Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sun, 17 May 2026 13:38:19 -0500 Subject: [PATCH 15/16] Revert "Hardcoded Export" This reverts commit 694cbffd85092ddd9e8df4973c80926166a810d9. --- Script Exporter/{oldIterations => }/scriptExporter.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Script Exporter/{oldIterations => }/scriptExporter.js (100%) diff --git a/Script Exporter/oldIterations/scriptExporter.js b/Script Exporter/scriptExporter.js similarity index 100% rename from Script Exporter/oldIterations/scriptExporter.js rename to Script Exporter/scriptExporter.js From b97a67387d850c9d79a6e86fd08bbc627d9a4986 Mon Sep 17 00:00:00 2001 From: "Um... Figure it out!" <33612115+CTH999@users.noreply.github.com> Date: Sun, 17 May 2026 13:43:18 -0500 Subject: [PATCH 16/16] Revert "Merge branch 'main' into Script-ImportExport" This reverts commit 2a92d262d40826910c1a0879f60dcc1f130c6bcf, reversing changes made to 43c846a4b4989f0f72172698e46bfd8c856ec24f. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81925fb..281aaf0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # Bitburner Scripts -## DETAILS TBA \ No newline at end of file +Import Export: A system made for importing and exporting other scripts via base64 \ No newline at end of file