DSO User Manual: Difference between revisions
(Created page with "== Welcome to the Dark Signs Online ''officially'' Unofficial Users Manual for Beta Stages of DSO. == '''Current Edition is for 0.80.1''' Composed by Toni. First of all in case you missed this on the front page: Dark Signs Online is the new improved, online multi-player version of Dark Signs, allowing people to own their own domains, share missions instantly, and hack other users. Dark Signs Online includes major enhancements to the script language, which to many new...") |
|||
Line 78: | Line 78: | ||
''If you already know how to set and register a name, feel free to skip this part.'' | ''If you already know how to set and register a name, feel free to skip this part.'' | ||
[[How_to_create_a_nick | [[How_to_create_a_nick|How to create a nick.]]. | ||
= '''Commands:''' = | = '''Commands:''' = |
Revision as of 04:53, 18 March 2024
Welcome to the Dark Signs Online officially Unofficial Users Manual for Beta Stages of DSO.
Current Edition is for 0.80.1
Composed by Toni.
First of all in case you missed this on the front page:
Dark Signs Online is the new improved, online multi-player version of Dark Signs, allowing people to own their own domains, share missions instantly, and hack other users. Dark Signs Online includes major enhancements to the script language, which to many newcomers can be a steeper learning curve.
So, with that in mind, I decided to write this manual for those that may need more information than could be found in the wiki.
Let's get started!
If you have yet to register a username, you should do so here.
Please read the terms of service carefully. We would hate to lose players simply because they didn't realize they were violating the rules of the game.
Suggestion:
Use a notepad, whether it is on the computer, or a real paper tablet. This is a useful tool to keep track of usernames and passwords, which name owns what domains and so on. For use with creating or modifying scripts, download Notepad++ as well as the user defined Ds Language.
Now if you have yet to do so, download and install the latest release here DSO 0.80.1
DSO doesn't need to be installed, really. Simply create a shortcut of DSO.exe onto your desktop from the DSO folder.
For the sake of this manual, as well as what you might find in the forums, <info> will be used in place of what you need to fill in. Omit the <> as well.
Open up dso.exe
You will notice when DSO first boots up, it automatically begins to log you in, but you have yet to set your login details.
So type
logout
Then type
username <your new user name>
Then
password <password>
This sets your username and password, which you shouldn't need to change unless if you want to login under a different name
Ready to go online?
Type
login
Look at the comm window. This can be found at the TOP of the console. Notice it displays your username, the version of DSO, and your stats.
The Comm window plays an important role at times during the game, so don't forget that it is there.
Let's take a quick overview of the tabs that are in the bottom right hand corner
1 2 3 4 are separate consoles.
You cannot login two or more usernames at once. It's not gonna happen. I am told you can run more than one script or set of commands using each console for each script/command, the author has yet to have a decent connection to test this theory.
^ Hides the Comm window (listkey is also F11)
For those that want the feeling of a real console I suppose, but don't forget that the comm is helpful most of the time. (In other words, use this only when unsuspecting friends are around that don't know it is a game, <wink>)
"Smiley" Is the Chat window
I am not sure what they do here, though I assume it's for passing messages to other users who are paying attention. <author shrugs shoulders>
db is the Database
This is where users can share scripts, or code bits for quick and easy access to other members. This is a great place to find scripts to reverse engineer so you can get a better idea of how Dscript works.
DSO Chat
If you already know how to set and register a name, feel free to skip this part.
Commands:
Now that we have covered the basics of the console I refer you to the Commands_List and Functions_List
Typing
help
Into the console also gives you more information on commands.
I advise all newcomers to refer to these often, and learn them well.
Commands that if used in a script they will only affect you (not another user) on your console,comm or hard drive:
CD CAT Closeport DATE DEL DIR Display Getip Getdomain Listcolors Listkeys Music Now Ping Pingport RD Register Rename Restart Run Stats Time Unregister Upload
And of course
Username Password Login Logout
These commands the author is unsure (has yet to test) if they fit into the above category, or the next category:
Copy Lookup Move Ydiv
Commands that can be used in scripts, to create files, or folders into the DEFAULT\User folder of your, or other users; hard drive.
Append Lineup MD Write
Commands that can be used in a script to be displayed onto the console or comm, without affecting the users hard drive:
Clear Connect Draw Lineup Pause Say Sayall Saycomm
Now, I want to help you understand some of these in more context.
APPEND is easier than it looks, but let's dismantle the usage for a second.
myfile.txt
This is the file that the information is being written to, this can also be a script (.ds) but it is not limited to what KIND of file you want to make(anything after the period becomes the "extension" and can be read by DSO)
test1, test2, test3, and so on; is the information that is being written.
Using start and end
Append myfile.txt <start Or end> test1
Will write
test1
either at the top (start) of the file, or the bottom (end) of myfile.txt
Write does the same as Append, however the only difference between the two is this:
If the <file> exists, Append only adds the <info>.
Write will erase the existing <file> and create a new <file>.
Take care and try not to confuse the two.
Closeport This closes the port and erases the script in that port completely. This is for Domain owner and Subowner use only.
When you load a script into a port (using upload <domain> <port> <file>) you should mark down the domain,script and port. Currently, even if you use remotedir, scripts loaded into a port are not shown. This feature has been addressed and (hopefully) will be in the next release of DSO. Provided there are no conflicts the developers may come across.
Using download <domain> <port> <script> you can retrieve it if some how the script on your hard drive becomes currupted.
When you use remoteupload <domain> <file>; the <file> can be interacted with a script using server commands.
However, at the current moment, there is no way to run a script (.ds) if it has been remoteupload-ed.
Functions:
Functions are used in scripts and are pretty advanced for new users. So if you have any questions, use the forum and others with a vast majority of experience will gladly be able to help you.
Note: Be patient for a response, players are from all over the world here, so you might not get a response immediately.
Symbols that are used with functions in scripting.
< Lesser than > Greater than + Adds to - Subtracts from = Equals to ! NOT Equal to ~ also NOT equal to @ At tag ("GOTO Menu" would send the script to "@Menu") $ Wildcard (used for Variables)
Variables:
$<anything you want> can be a variable (it has been stressed not to use $<numbers> though $<letter><number> such as $a1 is alright)
Global_variables cannot be changed or used for any other purpose than the intended use.
// <notes>
This is used in a script for authors to make <notes> or comments and is not used or displayed by the script. It is useful, especially when making a complex script, for others that may read the source.
Basic matrix of a script:
IF <action> // If the <action, string or input> occurs then. GOTO <tag> // If the tag is not found, you will receive a "GOTO TAG" error. ELSE IF <opposite or unwanted action> // Multiple Else IFs may be used. Also, if you simply want only ONE IF; where any other response //than the one you state is invalid,use Else. Goto <tag> // Needed when additional Else IF's, or an Else is used. END IF <closes the IFs> // You must use this in order to close the IF statements, or else the script will pass into the //next statement; causing the IF to fail. EXIT // Disconnects the user from the domain the script is running.
Functions:
Note: These can ONLY be used in scripts.
Server Functions:
(These can ONLY be used in a script, and on the same domain as the script is running.) Server Append This works as Append, it will append to the server that script is running on. Server Append <file> <info> Depending on the <files> privileges; this might not be availible to visitors.
Privileges: Public (visitor can append) Private (visitor cannot append)
Sever Write
Server Write <file> <info>
This works just like Write on a server, with the same <file> rules of privileges as Server Append.
ServerFileDelete
ServerFileDownload(<domain>, <file>)
No, that is not a typo. All three words Server File Download, combined for one function.
This downloads to the console, NOT to an actual hard drive.
If the <file> has not been remotupload-ed to the <domain> the script with ServerFileDownload is being run, it will fail.
Note: The parameter does not use double quotes
That is the end of Server Functions.
INSTR
This stands for In String.
Let's break this down to an easier way of understanding it.
Say there is a list of cookie recipes, called yummies.txt
Yummies.txt Chocolate-chip Oatmeal Vanilla-Wafer Oreo Peanut-Butter Sugar-Cookie
Now then, if you wanted to search the list for a certain cookie like Sugar-Cookie you would use the syntax like so:
$var1 = Sugar-Cookie $var2 = yummies.txt IF INSTR("$var2", "$var1") > 0 Then SAY Sugar-Cookie Recipe found! Else SAY No Recipes were found :(
Now, the return is either (0) which is not present, or the start of were the variable is found on the list, in this case (62)
Keep this in mind when you are using math functions (<>!=) when you want to search.
Because Sugar-Cookie was indeed found (62) in yummies.txt, it returned that it was greater than (>) 0 and the console would display
Sugar-Cookie Recipe found!
And if you used:
$var = Gingersnap
It would return that it was 0 and the console would display:
No Recipes were found :(
But,bear in mind, if you used this syntax:
$var = Sugar-Cookies
You would still receive the response:
Sugar-Cookie Recipe found!
LEFT(<String>,<length to go before it stops>)
RIGHT(<String>,<length to go before it stops>)
Currently, Right has a small bug where it chops off the last char of the string.
If we were to use
$var = LEFT(Poppa don't preach,20) $var1 = RIGHT(Poppa don't preach,20) SAY $var SAY $var1
You would receive
Poppa don't preach Poppa don't preac
If we were to use
$var = LEFT(Poppa don't preach,5) $var1 = RIGHT(Poppa don't preach,5) SAY $var SAY $var1
You would receive
Poppa (because it is 5 characters from the left) preac (because it is five characters from the right, with the bug subtracting the last character in the line. If the bug did not exist, "reach" would be the response)
REVERSE and REPLACE at the moment are a bit buggy. avoid using these until fixes have been declared.
CHR
chr(<number of desired character>)
This takes the decimal value (<number of desired character>) and displays that character. See here for the decimal value of alphabet characters.
Or, you can use ASC(letter or symbol) in the console.
Typing
SAY ASC(A)
will display
65
So if we used
$var = chr(103)chr(105)chr(109)chr(109)chr(101) Say $var
We would receive
gimme
If we used
$var = chr(71)chr(105)chr(109)chr(109)chr(101) Say $var
We would receive
Gimme
Note: If you place a space or spaces between each chr() it will return spaced.
Example: // (note the space below) $var = chr(71)chr(105)chr(118)chr(101) chr(109)chr(101) Say $var
We would receive
Give me
This is Beta, so of course there may be bugs other than those stated here or on the forums.
If you receive an error displayed onto the console, check that you are sure you are using the syntax properly. If you cannot seem to correct your script, post a copy of your it into the forums here and other users will help you with debugging your script.
If you know for sure you are using the correct syntax, confirm it with another user (usually one with more experience) and post the bug here
The forums contain a wealth of information, although some may be outdated (don't overlook hereeither so read and re-read posts to make sure it isn't. (In other words, some threads contain information that was relevant to older stages of beta, and may not apply to the current version)
Don't be afraid of bumping an old thread (asking a question, making a comment, or simply answering an old comment or thread) it is not taboo here... the forums are there for you to use.
Note: your DSO username and password does not work in the forums, you will need to register there as well if you want to respond to posts, or create a new thread.
Thats it...for now. I hope this helps anyone that reads this manual. Please, feel free to post in the discussion any comments (such as suggestions for improvements, simply to say thanks, this manual is useless or even that the author has no clue of what is going on!)