From cdd376f2ae3ac59ca4a5e625981bc590630f9e46 Mon Sep 17 00:00:00 2001 From: Olivier Gagnon Date: Sat, 12 Jun 2021 04:23:15 -0400 Subject: [PATCH] gave some love to the tutorial. --- css/interactivetutorial.scss | 19 ++++ src/InteractiveTutorial.js | 171 ++++++++++++++++++----------------- src/Script/ScriptHelpers.js | 6 +- src/Terminal.jsx | 24 ++--- src/index.html | 2 +- 5 files changed, 121 insertions(+), 101 deletions(-) diff --git a/css/interactivetutorial.scss b/css/interactivetutorial.scss index e3f7a58a5..f6e0cebe4 100644 --- a/css/interactivetutorial.scss +++ b/css/interactivetutorial.scss @@ -69,3 +69,22 @@ float: right; padding: 4px; } + +.interactive-tutorial-command { + background-color: #000; + color: $hacker-green; + white-space: nowrap; +} + +.interactive-tutorial-code { + background-color: #272822; + color: white; + padding: 3px; +} + +.interactive-tutorial-tab { + background-color: #555; + color: #e6e6e6; + padding: 3px; + box-shadow: 0 0 3px #000; +} \ No newline at end of file diff --git a/src/InteractiveTutorial.js b/src/InteractiveTutorial.js index a8e93b71f..8f5dc12fe 100644 --- a/src/InteractiveTutorial.js +++ b/src/InteractiveTutorial.js @@ -11,7 +11,6 @@ import { createElement } from "../utils/uiHelpers/createElement"; import { createPopup } from "../utils/uiHelpers/createPopup"; import { removeElementById } from "../utils/uiHelpers/removeElementById"; - // Ordered array of keys to Interactive Tutorial Steps const orderedITutorialSteps = [ "Start", @@ -24,10 +23,10 @@ const orderedITutorialSteps = [ "TerminalScan", // Using 'scan' Terminal command "TerminalScanAnalyze1", // Using 'scan-analyze' Terminal command "TerminalScanAnalyze2", // Using 'scan-analyze 3' Terminal command - "TerminalConnect", // Connecting to foodnstuff - "TerminalAnalyze", // Analyzing foodnstuff - "TerminalNuke", // NUKE foodnstuff - "TerminalManualHack", // Hack foodnstuff + "TerminalConnect", // Connecting to n00dles + "TerminalAnalyze", // Analyzing n00dles + "TerminalNuke", // NUKE n00dles + "TerminalManualHack", // Hack n00dles "TerminalHackingMechanics", // Explanation of hacking mechanics "TerminalCreateScript", // Create a script using 'nano' "TerminalTypeScript", // Script Editor page - Type script and then save & close @@ -51,7 +50,7 @@ for (let i = 0; i < orderedITutorialSteps.length; ++i) { iTutorialSteps[orderedITutorialSteps[i]] = i; } -var ITutorial = { +const ITutorial = { currStep: 0, // iTutorialSteps.Start isRunning: false, @@ -76,21 +75,21 @@ function iTutorialStart() { document.getElementById("interactive-tutorial-container").style.display = "block"; // Exit tutorial button - var exitButton = clearEventListeners("interactive-tutorial-exit"); + const exitButton = clearEventListeners("interactive-tutorial-exit"); exitButton.addEventListener("click", function() { iTutorialEnd(); return false; }); // Back button - var backButton = clearEventListeners("interactive-tutorial-back"); + const backButton = clearEventListeners("interactive-tutorial-back"); backButton.addEventListener("click", function() { iTutorialPrevStep(); return false; }); // Next button - var nextButton = clearEventListeners("interactive-tutorial-next"); + const nextButton = clearEventListeners("interactive-tutorial-next"); nextButton.addEventListener("click", function() { iTutorialNextStep(); return false; @@ -103,12 +102,12 @@ function iTutorialEvaluateStep() { if (!ITutorial.isRunning) {return;} // Disable and clear main menu - var terminalMainMenu = clearEventListeners("terminal-menu-link"); - var statsMainMenu = clearEventListeners("stats-menu-link"); - var activeScriptsMainMenu = clearEventListeners("active-scripts-menu-link"); - var hacknetMainMenu = clearEventListeners("hacknet-nodes-menu-link"); - var cityMainMenu = clearEventListeners("city-menu-link"); - var tutorialMainMenu = clearEventListeners("tutorial-menu-link"); + const terminalMainMenu = clearEventListeners("terminal-menu-link"); + const statsMainMenu = clearEventListeners("stats-menu-link"); + const activeScriptsMainMenu = clearEventListeners("active-scripts-menu-link"); + const hacknetMainMenu = clearEventListeners("hacknet-nodes-menu-link"); + const cityMainMenu = clearEventListeners("city-menu-link"); + const tutorialMainMenu = clearEventListeners("tutorial-menu-link"); terminalMainMenu.removeAttribute("class"); statsMainMenu.removeAttribute("class"); activeScriptsMainMenu.removeAttribute("class"); @@ -117,20 +116,20 @@ function iTutorialEvaluateStep() { tutorialMainMenu.removeAttribute("class"); // Interactive Tutorial Next button - var nextBtn = document.getElementById("interactive-tutorial-next"); + const nextBtn = document.getElementById("interactive-tutorial-next"); switch(ITutorial.currStep) { case iTutorialSteps.Start: Engine.loadTerminalContent(); iTutorialSetText("Welcome to Bitburner, a cyberpunk-themed incremental RPG! " + - "The game takes place in a dark, dystopian future...The year is 2077...

" + + "The game takes place in a dark, dystopian future... The year is 2077...

" + "This tutorial will show you the basics of the game. " + "You may skip the tutorial at any time."); nextBtn.style.display = "inline-block"; break; case iTutorialSteps.GoToCharacterPage: Engine.loadTerminalContent(); - iTutorialSetText("Let's start by heading to the Stats page. Click the 'Stats' tab on " + + iTutorialSetText("Let's start by heading to the Stats page. Click the Stats tab on " + "the main navigation menu (left-hand side of the screen)"); nextBtn.style.display = "none"; @@ -144,13 +143,13 @@ function iTutorialEvaluateStep() { break; case iTutorialSteps.CharacterPage: Engine.loadCharacterContent(); - iTutorialSetText("The Stats page shows a lot of important information about your progress, " + - "such as your skills, money, and bonuses/multipliers. ") + iTutorialSetText("The Stats page shows a lot of important information about your progress, " + + "such as your skills, money, and bonuses. ") nextBtn.style.display = "inline-block"; break; case iTutorialSteps.CharacterGoToTerminalPage: Engine.loadCharacterContent(); - iTutorialSetText("Let's head to your computer's terminal by clicking the 'Terminal' tab on the " + + iTutorialSetText("Let's head to your computer's terminal by clicking the Terminal tab on the " + "main navigation menu."); nextBtn.style.display = "none"; @@ -164,57 +163,56 @@ function iTutorialEvaluateStep() { break; case iTutorialSteps.TerminalIntro: Engine.loadTerminalContent(); - iTutorialSetText("The Terminal is used to interface with your home computer as well as " + + iTutorialSetText("The Terminal is used to interface with your home computer as well as " + "all of the other machines around the world."); nextBtn.style.display = "inline-block"; break; case iTutorialSteps.TerminalHelp: Engine.loadTerminalContent(); - iTutorialSetText("Let's try it out. Start by entering the 'help' command into the Terminal " + + iTutorialSetText("Let's try it out. Start by entering the help command into the Terminal " + "(Don't forget to press Enter after typing the command)"); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalLs: Engine.loadTerminalContent(); - iTutorialSetText("The 'help' command displays a list of all available Terminal commands, how to use them, " + - "and a description of what they do.

Let's try another command. Enter the 'ls' command"); + iTutorialSetText("The help command displays a list of all available Terminal commands, how to use them, " + + "and a description of what they do.

Let's try another command. Enter the ls command."); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalScan: Engine.loadTerminalContent(); - iTutorialSetText("'ls' is a basic command that shows all of the contents (programs/scripts) " + - "on the computer. Right now, it shows that you have a program called 'NUKE.exe' on your computer. " + + iTutorialSetText(" ls is a basic command that shows files " + + "on the computer. Right now, it shows that you have a program called NUKE.exe on your computer. " + "We'll get to what this does later.

Using your home computer's terminal, you can connect " + "to other machines throughout the world. Let's do that now by first entering " + - "the 'scan' command."); + "the scan command."); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalScanAnalyze1: Engine.loadTerminalContent(); - iTutorialSetText("The 'scan' command shows all available network connections. In other words, " + + iTutorialSetText("The scan command shows all available network connections. In other words, " + "it displays a list of all servers that can be connected to from your " + - "current machine. A server is identified by either its IP or its hostname.

" + + "current machine. A server is identified by its hostname.

" + "That's great and all, but there's so many servers. Which one should you go to? " + - "The 'scan-analyze' command gives some more detailed information about servers on the " + - "network. Try it now"); + "The scan-analyze command gives some more detailed information about servers on the " + + "network. Try it now!"); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalScanAnalyze2: Engine.loadTerminalContent(); - iTutorialSetText("You just ran 'scan-analyze' with a depth of one. This command shows more detailed " + + iTutorialSetText("You just ran scan-analyze with a depth of one. This command shows more detailed " + "information about each server that you can connect to (servers that are a distance of " + - "one node away).

It is also possible to run 'scan-analyze' with " + - "a higher depth. Let's try a depth of two with the following command: 'scan-analyze 2'.") + "one node away).

It is also possible to run scan-analyze with " + + "a higher depth. Let's try a depth of two with the following command: scan-analyze 2.") nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalConnect: Engine.loadTerminalContent(); iTutorialSetText("Now you can see information about all servers that are up to two nodes away, as well " + "as figure out how to navigate to those servers through the network. You can only connect to " + - "a server that is one node away. To connect to a machine, use the 'connect [ip/hostname]' command. You can type in " + - "the ip or the hostname, but dont use both.

" + - "From the results of the 'scan-analyze' command, we can see that the 'foodnstuff' server is " + - "only one node away. Let's connect so it now using: 'connect foodnstuff'"); + "a server that is one node away. To connect to a machine, use the connect [hostname] command.

" + + "From the results of the scan-analyze command, we can see that the n00dles server is " + + "only one node away. Let's connect so it now using: connect n00dles"); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalAnalyze: @@ -223,30 +221,30 @@ function iTutorialEvaluateStep() { "become digital and decentralized. People and corporations store their money " + "on servers and computers. Using your hacking abilities, you can hack servers " + "to steal money and gain experience.

" + - "Before you try to hack a server, you should run diagnostics using the 'analyze' command"); + "Before you try to hack a server, you should run diagnostics using the analyze command."); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalNuke: Engine.loadTerminalContent(); - iTutorialSetText("When the 'analyze' command finishes running it will show useful information " + - "about hacking the server.

For this server, the required hacking skill is only 1, " + + iTutorialSetText("When the analyze command finishes running it will show useful information " + + "about hacking the server.

For this server, the required hacking skill is only 1, " + "which means you can hack it right now. However, in order to hack a server " + - "you must first gain root access. The 'NUKE.exe' program that we saw earlier on your " + + "you must first gain root access. The NUKE.exe program that we saw earlier on your " + "home computer is a virus that will grant you root access to a machine if there are enough " + - "open ports.

The 'analyze' results shows that there do not need to be any open ports " + + "open ports.

The analyze results shows that there do not need to be any open ports " + "on this machine for the NUKE virus to work, so go ahead and run the virus using the " + - "'run NUKE.exe' command."); + "run NUKE.exe command."); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalManualHack: Engine.loadTerminalContent(); - iTutorialSetText("You now have root access! You can hack the server using the 'hack' command. " + + iTutorialSetText("You now have root access! You can hack the server using the hack command. " + "Try doing that now."); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalHackingMechanics: Engine.loadTerminalContent(); - iTutorialSetText("You are now attempting to hack the server. Note that performing a hack takes time and " + + iTutorialSetText("You are now attempting to hack the server. Performing a hack takes time and " + "only has a certain percentage chance " + "of success. This time and success chance is determined by a variety of factors, including " + "your hacking skill and the server's security level.

" + @@ -261,25 +259,22 @@ function iTutorialEvaluateStep() { Engine.loadTerminalContent(); iTutorialSetText("Hacking is the core mechanic of the game and is necessary for progressing. However, " + "you don't want to be hacking manually the entire time. You can automate your hacking " + - "by writing scripts!

To create a new script or edit an existing one, you can use the 'nano' " + - "command. Scripts must end with the '.script' extension. Let's make a script now by " + - "entering 'nano foodnstuff.script' after the hack command finishes running (Sidenote: Pressing ctrl + c" + + "by writing scripts!

To create a new script or edit an existing one, you can use the nano " + + "command. Scripts must end with the .script extension. Let's make a script now by " + + "entering nano n00dles.script after the hack command finishes running (Sidenote: Pressing ctrl + c" + " will end a command like hack early)"); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalTypeScript: - Engine.loadScriptEditorContent("foodnstuff.script", ""); + Engine.loadScriptEditorContent("n00dles.script", ""); iTutorialSetText("This is the script editor. You can use it to program your scripts. Scripts are " + - "written in the Netscript language, a programming language created for " + - "this game. There are details about the Netscript language in the documentation, which " + - "can be accessed in the 'Tutorial' tab on the main navigation menu. I highly suggest you check " + - "it out after this tutorial. For now, just copy " + - "and paste the following code into the script editor:

" + - "while(true) {
" + - "  hack('foodnstuff');
" + - "}

" + + "written in a simplified version of javascript. Copy and paste the following code into the script editor:

" + + "
" +
+                         "while(true) {\n" +
+                         "  hack('n00dles');\n" +
+                         "}
" + "For anyone with basic programming experience, this code should be straightforward. " + - "This script will continuously hack the 'foodnstuff' server.

" + + "This script will continuously hack the n00dles server.

" + "To save and close the script editor, press the button in the bottom left, or press ctrl + b."); nextBtn.style.display = "none"; // next step triggered in saveAndCloseScriptEditor() (Script.js) break; @@ -288,25 +283,25 @@ function iTutorialEvaluateStep() { iTutorialSetText("Now we'll run the script. Scripts require a certain amount of RAM to run, and can be " + "run on any machine which you have root access to. Different servers have different " + "amounts of RAM. You can also purchase more RAM for your home server.

To check how much " + - "RAM is available on this machine, enter the 'free' command."); + "RAM is available on this machine, enter the free command."); nextBtn.style.display = "none"; // next step triggered by terminal commmand break; case iTutorialSteps.TerminalRunScript: Engine.loadTerminalContent(); iTutorialSetText("We have 16GB of free RAM on this machine, which is enough to run our " + - "script. Let's run our script using 'run foodnstuff.script'."); + "script. Let's run our script using run n00dles.script."); nextBtn.style.display = "none"; // next step triggered by terminal commmand break; case iTutorialSteps.TerminalGoToActiveScriptsPage: Engine.loadTerminalContent(); - iTutorialSetText("Your script is now running! The script might take a few seconds to 'fully start up'. " + - "Your scripts will continuously run in the background and will automatically stop if " + - "the code ever completes (the 'foodnstuff.script' will never complete because it " + + iTutorialSetText("Your script is now running! " + + "It will continuously run in the background and will automatically stop if " + + "the code ever completes (the n00dles.script will never complete because it " + "runs an infinite loop).

These scripts can passively earn you income and hacking experience. " + "Your scripts will also earn money and experience while you are offline, although at a " + - "much slower rate.

" + + "slightly slower rate.

" + "Let's check out some statistics for our running scripts by clicking the " + - "'Active Scripts' link in the main navigation menu."); + "Active Scripts link in the main navigation menu."); nextBtn.style.display = "none"; // Flash 'Active Scripts' menu and set its tutorial click handler @@ -319,10 +314,9 @@ function iTutorialEvaluateStep() { break; case iTutorialSteps.ActiveScriptsPage: Engine.loadActiveScriptsContent(); - iTutorialSetText("This page displays stats/information about all of your scripts that are " + - "running across every existing server. You can use this to gauge how well " + - "your scripts are doing. Let's go back to the Terminal now using the 'Terminal' " + - "link."); + iTutorialSetText("This page displays information about all of your scripts that are " + + "running across every server. You can use this to gauge how well " + + "your scripts are doing. Let's go back to the Terminal"); nextBtn.style.display = "none"; // Flash 'Terminal' button and set its tutorial click handler @@ -336,27 +330,27 @@ function iTutorialEvaluateStep() { case iTutorialSteps.ActiveScriptsToTerminal: Engine.loadTerminalContent(); iTutorialSetText("One last thing about scripts, each active script contains logs that detail " + - "what it's doing. We can check these logs using the 'tail' command. Do that " + - "now for the script we just ran by typing 'tail foodnstuff.script'"); + "what it's doing. We can check these logs using the tail command. Do that " + + "now for the script we just ran by typing tail n00dles.script"); nextBtn.style.display = "none"; // next step triggered by terminal command break; case iTutorialSteps.TerminalTailScript: Engine.loadTerminalContent(); iTutorialSetText("The log for this script won't show much right now (it might show nothing at all) because it " + "just started running...but check back again in a few minutes!

" + - "This pretty much covers the basics of hacking. To learn more about writing " + - "scripts using the Netscript language, select the 'Tutorial' link in the " + + "This covers the basics of hacking. To learn more about writing " + + "scripts, select the Tutorial link in the " + "main navigation menu to look at the documentation. " + "If you are an experienced JavaScript " + "developer, I would highly suggest you check out the section on " + - "NetscriptJS/Netscript 2.0.

For now, let's move on to something else!"); + "NetscriptJS/Netscript 2.0, it's faster and more powerful.

For now, let's move on to something else!"); nextBtn.style.display = "inline-block"; break; case iTutorialSteps.GoToHacknetNodesPage: Engine.loadTerminalContent(); iTutorialSetText("Hacking is not the only way to earn money. One other way to passively " + "earn money is by purchasing and upgrading Hacknet Nodes. Let's go to " + - "the 'Hacknet Nodes' page through the main navigation menu now."); + "the Hacknet page through the main navigation menu now."); nextBtn.style.display = "none"; // Flash 'Hacknet' menu and set its tutorial click handler @@ -369,7 +363,7 @@ function iTutorialEvaluateStep() { break; case iTutorialSteps.HacknetNodesIntroduction: Engine.loadHacknetNodesContent(); - iTutorialSetText("From this page you can purchase new Hacknet Nodes and upgrade your " + + iTutorialSetText("here you can purchase new Hacknet Nodes and upgrade your " + "existing ones. Let's purchase a new one now."); nextBtn.style.display = "none"; // Next step triggered by purchaseHacknet() (HacknetNode.js) break; @@ -379,7 +373,7 @@ function iTutorialEvaluateStep() { "earn you money over time, both online and offline. When you get enough " + " money, you can upgrade " + "your newly-purchased Hacknet Node below.

" + - "Let's go to the 'City' page through the main navigation menu."); + "Let's go to the City page through the main navigation menu."); nextBtn.style.display = "none"; // Flash 'City' menu and set its tutorial click handler @@ -396,7 +390,7 @@ function iTutorialEvaluateStep() { "travel to. Each location has something that you can do. " + "There's a lot of content out in the world, make sure " + "you explore and discover!

" + - "Lastly, click on the 'Tutorial' link in the main navigation menu."); + "Lastly, click on the Tutorial link in the main navigation menu."); nextBtn.style.display = "none"; // Flash 'Tutorial' menu and set its tutorial click handler @@ -493,8 +487,8 @@ function iTutorialEnd() { document.getElementById("interactive-tutorial-container").style.display = "none"; // Create a popup with final introductory stuff - var popupId = "interactive-tutorial-ending-popup"; - var txt = createElement("p", { + const popupId = "interactive-tutorial-ending-popup"; + const txt = createElement("p", { innerHTML: "If you are new to the game, the following links may be useful for you!

" + "Getting Started Guide" + @@ -502,7 +496,7 @@ function iTutorialEnd() { "The Beginner's Guide to Hacking was added to your home computer! It contains some tips/pointers for starting out with the game. " + "To read it, go to Terminal and enter

cat " + LiteratureNames.HackersStartingHandbook, }); - var gotitBtn = createElement("a", { + const gotitBtn = createElement("a", { class:"a-link-button", float:"right", padding:"6px", innerText:"Got it!", clickListener:()=>{ removeElementById(popupId); @@ -513,9 +507,16 @@ function iTutorialEnd() { Player.getHomeComputer().messages.push(LiteratureNames.HackersStartingHandbook); } +let textBox = null; +(function() { + function set() { + textBox = document.getElementById("interactive-tutorial-text"); + document.removeEventListener("DOMContentLoaded", set); + } + document.addEventListener("DOMContentLoaded", set); +})(); + function iTutorialSetText(txt) { - var textBox = document.getElementById("interactive-tutorial-text"); - if (textBox == null) {throw new Error("Could not find text box"); return;} textBox.innerHTML = txt; textBox.parentElement.scrollTop = 0; // this resets scroll position } diff --git a/src/Script/ScriptHelpers.js b/src/Script/ScriptHelpers.js index 9d6fde7b1..838ac19aa 100644 --- a/src/Script/ScriptHelpers.js +++ b/src/Script/ScriptHelpers.js @@ -231,12 +231,12 @@ function saveAndCloseScriptEditor() { if (ITutorial.isRunning && ITutorial.currStep === iTutorialSteps.TerminalTypeScript) { //Make sure filename + code properly follow tutorial - if (filename !== "foodnstuff.script") { - dialogBoxCreate("Leave the script name as 'foodnstuff'!"); + if (filename !== "n00dles.script") { + dialogBoxCreate("Leave the script name as 'n00dles'!"); return; } code = code.replace(/\s/g, ""); - if (code.indexOf("while(true){hack('foodnstuff');}") == -1) { + if (code.indexOf("while(true){hack('n00dles');}") == -1) { dialogBoxCreate("Please copy and paste the code from the tutorial!"); return; } diff --git a/src/Terminal.jsx b/src/Terminal.jsx index 0af22e1de..28451adf6 100644 --- a/src/Terminal.jsx +++ b/src/Terminal.jsx @@ -742,8 +742,8 @@ let Terminal = { /****************** Interactive Tutorial Terminal Commands ******************/ if (ITutorial.isRunning) { - var foodnstuffServ = GetServerByHostname("foodnstuff"); - if (foodnstuffServ == null) {throw new Error("Could not get foodnstuff server"); return;} + var n00dlesServ = GetServerByHostname("n00dles"); + if (n00dlesServ == null) {throw new Error("Could not get n00dles server"); return;} switch(ITutorial.currStep) { case iTutorialSteps.TerminalHelp: @@ -780,11 +780,11 @@ let Terminal = { case iTutorialSteps.TerminalConnect: if (commandArray.length == 2) { if ((commandArray[0] == "connect") && - (commandArray[1] == "foodnstuff" || commandArray[1] == foodnstuffServ.ip)) { + (commandArray[1] == "n00dles" || commandArray[1] == n00dlesServ.ip)) { Player.getCurrentServer().isConnectedTo = false; - Player.currentServer = foodnstuffServ.ip; + Player.currentServer = n00dlesServ.ip; Player.getCurrentServer().isConnectedTo = true; - post("Connected to foodnstuff"); + post("Connected to n00dles"); iTutorialNextStep(); } else {post("Wrong command! Try again!"); return;} } else {post("Bad command. Please follow the tutorial");} @@ -804,8 +804,8 @@ let Terminal = { case iTutorialSteps.TerminalNuke: if (commandArray.length == 2 && commandArray[0] == "run" && commandArray[1] == "NUKE.exe") { - foodnstuffServ.hasAdminRights = true; - post("NUKE successful! Gained root access to foodnstuff"); + n00dlesServ.hasAdminRights = true; + post("NUKE successful! Gained root access to n00dles"); iTutorialNextStep(); } else {post("Bad command. Please follow the tutorial");} break; @@ -817,8 +817,8 @@ let Terminal = { break; case iTutorialSteps.TerminalCreateScript: if (commandArray.length == 2 && - commandArray[0] == "nano" && commandArray[1] == "foodnstuff.script") { - Engine.loadScriptEditorContent("foodnstuff.script", ""); + commandArray[0] == "nano" && commandArray[1] == "n00dles.script") { + Engine.loadScriptEditorContent("n00dles.script", ""); iTutorialNextStep(); } else {post("Bad command. Please follow the tutorial");} break; @@ -830,16 +830,16 @@ let Terminal = { break; case iTutorialSteps.TerminalRunScript: if (commandArray.length == 2 && - commandArray[0] == "run" && commandArray[1] == "foodnstuff.script") { + commandArray[0] == "run" && commandArray[1] == "n00dles.script") { Terminal.runScript(commandArray); iTutorialNextStep(); } else {post("Bad command. Please follow the tutorial");} break; case iTutorialSteps.ActiveScriptsToTerminal: if (commandArray.length == 2 && - commandArray[0] == "tail" && commandArray[1] == "foodnstuff.script") { + commandArray[0] == "tail" && commandArray[1] == "n00dles.script") { // Check that the script exists on this machine - var runningScript = findRunningScript("foodnstuff.script", [], Player.getCurrentServer()); + var runningScript = findRunningScript("n00dles.script", [], Player.getCurrentServer()); if (runningScript == null) { post("Error: No such script exists"); return; diff --git a/src/index.html b/src/index.html index 1303d7a12..3d329668e 100644 --- a/src/index.html +++ b/src/index.html @@ -67,7 +67,7 @@ if (htmlWebpackPlugin.options.googleAnalytics.trackingId) { %>