Merge pull request #132 from ComputeLinux/master

Fix tutorial
This commit is contained in:
Michael VanOverbeek 2017-06-19 19:06:39 +00:00 committed by GitHub
commit df37f3c366
2 changed files with 32 additions and 49 deletions

View file

@ -432,19 +432,9 @@ namespace ShiftOS.WinForms.Applications
Thread.Sleep(2000);
Console.WriteLine("Ahh, that reminds me. I suppose you don't know how to use the Terminal yet, do you...");
Thread.Sleep(2000);
Console.WriteLine("Well, the ShiftOS terminal is similar to a regular Linux terminal, however things are a bit... how you say.... primitive.");
Console.WriteLine("Well, you know what you say, things are best learned by doing them!");
Thread.Sleep(2000);
Console.WriteLine("Let's just say.... I've been focusing more on function than form with this one.... Anyways, here's how the terminal works.");
Thread.Sleep(2000);
Console.WriteLine("Each command is categorized into a \"Namespace\". All a namespace is, is a nice way of distinguishing between commands.");
Thread.Sleep(2000);
Console.WriteLine("...For example you may have a bunch of commands for managing files, and others for opening/closing programs.");
Thread.Sleep(2000);
Console.WriteLine("The three main namespaces you'll be using for the next while are the \"sos\", \"shiftorium\", and \"win\" namespaces.");
Thread.Sleep(2000);
Console.WriteLine("To run a command, simply type its namespace, followed by a period/full-stop, followed by the command name.");
Thread.Sleep(2000);
Console.WriteLine("Give it a try! Type \"sos.help\" in the following prompt to view a list of all ShiftOS commands.");
Console.WriteLine("Give it a try! Type \"help\" in the following prompt to view a list of all ShiftOS commands.");
Thread.Sleep(2000);
TerminalBackend.InStory = false;
TerminalBackend.PrefixEnabled = true;
@ -452,7 +442,7 @@ namespace ShiftOS.WinForms.Applications
bool help_entered = false;
TerminalBackend.CommandProcessed += (text, args) =>
{
if (text.EndsWith("sos.help") && help_entered == false)
if (text.EndsWith("help") && help_entered == false)
help_entered = true;
};
while (help_entered == false)
@ -460,45 +450,15 @@ namespace ShiftOS.WinForms.Applications
TerminalBackend.InStory = true;
TerminalBackend.PrefixEnabled = false;
Thread.Sleep(2000);
Console.WriteLine("Good job! Next, we will look at how to pass data to a command, such as win.open.");
Console.WriteLine("Good job! Next, we will look at how to pass data to a command, such as buy.");
Thread.Sleep(2000);
Console.WriteLine("In ShiftOS, passing data to a command is quite simple! After the command name, place an opening and closing curly brace, like so: \"win.open{}\".");
Console.WriteLine("In ShiftOS, passing data to a command is quite simple! All you have to do is put --, and then the name of the argument! For example, you could do \"buy --upgrade \"name_of_upgrade\"\"!");
Thread.Sleep(2000);
Console.WriteLine("Everything between those two curly braces is treated as command data.");
Thread.Sleep(2000);
Console.WriteLine("However, you can't just spam a bunch of 1s and 0s and call it a day, nonono!");
Thread.Sleep(2000);
Console.WriteLine("Command data is split into a list of keys and values.");
Thread.Sleep(2000);
Console.WriteLine("The key tells the command the name of the data, and the value is what the command will see when it looks at the key.");
Console.WriteLine("However, you can't just spam a bunch of 1s and 0s and call it a day, nonono! You have to give it a value!");
Thread.Sleep(2000);
Console.WriteLine("There are three main types of values. Booleans, which can be either \"true\" or \"false\", Numbers, which can be any integer number, positive or negative, and Strings - any piece of text as long as it is surrounded by double-quotes.");
Thread.Sleep(2000);
Console.WriteLine("For example, we could write every programmer's first program - by typing \"trm.echo{msg:\"Hello, world!\"}\". Running this will cause the Terminal to print, well, \"Hello, world!\"");
Thread.Sleep(2000);
Console.WriteLine("To open an application in ShiftOS, you can use this principle with the \"win.open\" command.");
Thread.Sleep(2000);
Console.WriteLine("First, type \"win.open\" with no data to see a list of all installed programs.");
Thread.Sleep(2000);
TerminalBackend.InStory = false;
bool winopenEntered = false;
TerminalBackend.PrefixEnabled = true;
TerminalBackend.PrintPrompt();
TerminalBackend.CommandProcessed += (text, args) =>
{
if (help_entered == true)
if (text.EndsWith("win.open") && winopenEntered == false)
winopenEntered = true;
};
while (winopenEntered == false)
Thread.Sleep(10);
TerminalBackend.InStory = true;
TerminalBackend.PrefixEnabled = false;
Thread.Sleep(2000);
Console.WriteLine("Pretty cool, it gave you a nice list of other win.open commands that will let you open each program.");
Thread.Sleep(2000);
Console.WriteLine("You've got the just of using ShiftOS. Now, for your goal.");
Thread.Sleep(10000);
Console.WriteLine("Now that you've got the gist of using ShiftOS, I have a goal for you.");
Thread.Sleep(2000);
Console.WriteLine("As you know, ShiftOS doesn't have very many features.");
Thread.Sleep(2000);
@ -561,7 +521,7 @@ and only a few small programs to use to earn very little amounts of Codepoints.
Now, let's get you your first Shiftorium upgrade!");
Story.PushObjective("First Steps: The Shiftorium", "Buy your first Shiftorium upgrade with your new Codepoints using shiftorium.list, shiftorium.info and shiftorium.buy.",
Story.PushObjective("First Steps: The Shiftorium", "Buy your first Shiftorium upgrade with your new Codepoints using upgrades, upgradeinfo and buy.",
() =>
{
return SaveSystem.CurrentSave.CountUpgrades() > 0;

View file

@ -54,6 +54,7 @@
"{ERR_HIGHERPERMS}": "That user has more rights than you!",
"{ERR_PASSWD_MISMATCH}": "Passwords don't match!",
"{ERR_SYNTAXERROR}": "Syntax error.",
"{ERR_COMMANDNOTFOUND}": "Command not found.",
//Command results
"{RES_ACLUPDATED}": "User permissions updated.",
@ -246,6 +247,28 @@
"{FORMATEDITOR_VALUE_LOWER}": "value",
"{FORMATEDITOR_ENTERSYNTAX}": "Enter syntax here",
//Program commands
"{WO_ABOUT}": "about",
"{WO_ADDRESSBOOK}": "adress_book",
"{WO_ARTPAD}": "artpad",
"{WO_AUDIOPLAYER}": "audio_player",
"{WO_CALCULATOR}": "calculator",
"{WO_DOWNLOADER}": "downloader",
"{WO_FILESKIMMER}": "file_skimmer",
"{WO_INSTALLER}": "installer",
"{WO_MINDBLOW}": "mindblow",
"{WO_NAMECHANGER}": "name_changer",
"{WO_PONG}": "pong",
"{WO_SHIFTER}": "shifter",
"{WO_SHIFTLETTERS}": "shiftletters",
"{WO_SHIFTLOTTO}": "shiftlotto",
"{WO_SHIFTNET}": "shiftnet",
"{WO_SHIFTORIUM}": "shiftorium",
"{WO_SHIFTSWEEPER}": "shiftsweeper",
"{WO_SIMPLESRC}": "simplesrc",
"{WO_TERMINAL}": "terminal",
"{WO_TEXTPAD}": "textpad",
//BIOS screen text
"{MISC_BIOSCOPYRIGHT}": "AMIBIOS (C) %year Australian Microtrends, Plc",
"{MISC_BIOSVERSION}": "Shiftsoft 480-L ACPI BIOS Revision 1002",