This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Awesomesause200's profile picture

[OS]Ariana v.2.1

Started by Awesomesause200, 08 May 2013 - 04:35 PM
Awesomesause200 #1
Posted 08 May 2013 - 06:35 PM
Hello there noobs and experts in CC lua alike.Today i bring you an operation system that is very small and very basic but with time and your input I would make this operating system alot better

For starters lets give you a list of what the current version(s) can do.
————————————————————-+
[v.2.1]
+Made new features for the instant messaging:
+Private messaging
+next page option to:
+List all peoples name and terminal numbers for private messaging
-Happy to say still no bugs to report
————————————————————-+
[v.2]
+Started over from scratch
+Using new directory .os
+Custom made Instant messaging
How to use Instant messaging:
Spoiler

Enter your name
Press enter to send a message,or press left or right control to get to options

+Icons(restricted 7 by 7 size)
+Added new login to click as a guest or a user
+When you click user it give a small effect
-No bug to report,for now anyways
————————————————————-+
[v.1.1]
+fixed messed up right click menu(you cant click too far right anymore)
+added icon for file browser
+added new directory(The directory is called os)
+New variable "slc" used to control context more easily
+If you use 1 argument in the command line you can skip the login process
–bugs or downfalls
+when you click on a menu and then click out then click anywhere but a menu the file browser will open
+Clock still stops when a menu is open
————————————————————-+
[v.1]
+initial release
+clock at top right
+drop down menu on top right labeled "-os-"
+right click menu
+file browser(Brought to you from
BigSHinyToys)
–Buggs or downfalls
+When you right click the clock stops
+If you right click too far right the menu will be messed up
————————————————————-+

+——————Planned feature———————+
+add icons(adding more later as i develop more)
+Instant messaging(Called "block talk")
+interchangable wallpapers(Maybe depending on user)
+Easier to add users
+———————————————————–+

This as I said is very basic,I want to hear from those who test this OS out and tell me how i can improve
in the reply section below


Please report bugs you find by PM or comment(I will check this forum everyday that i can)

I made an installer:
[Version 1]
SpoilerType this in an advanced computer: pastebin get hrB5kJn5 install
or
Check the pastebin for the installer: http://pastebin.com/hrB5kJn5
[Version 1.1]
SpoilerType this in an advanced computer: pastebin get 0shT6ABa install
or
Check the pastebin for the installer:http://pastebin.com/0shT6ABa
[version 2]
SpoilerType in an advanced computer: pastebin get fsrx2vQb install
then run install
or
Look at the installer yourself http://pastebin.com/fsrx2vQb
[version 2.1]
SpoilerStill the same junk from version 2 xD

Type in an advanced computer: pastebin get fsrx2vQb install
then run install
or
Look at the installer yourself http://pastebin.com/fsrx2vQb

Screenshots:(they turned out small x.x)
SpoilerLogin screen(W.I.P):
[attachment=1165:Screenshot (412).png]
Main screen:
[attachment=1166:Screenshot (413).png]
Instant messaging(Made by me):
[attachment=1167:Screenshot (414).png]

*FAIR WARNING*

When you use this installer the following files will be used:
file:Ariana
directory:.os
file: .os/Block_Talk
file: .os/FileExplore
file: .os/IMIcon
Be careful because you do not want those file overwritten

*FAIR WARNING*
superaxander #2
Posted 09 May 2013 - 02:18 PM
Nice
nutcase84 #3
Posted 09 May 2013 - 02:54 PM
Good, but you need some screenies.
Awesomesause200 #4
Posted 09 May 2013 - 03:20 PM
Good, but you need some screenies.

I added some screenshots under the spoiler tab.
Thanks for the feedback anyways =)
Goof #5
Posted 09 May 2013 - 03:37 PM
i somehow think the PB links are outdated, since the only thing im getting (when running ariana) is the login screen..
then when i press enter it just returns back to shell…

EDIT: omg.. nevermind. great GUI :D/> but the right click menu shouldnt be showed when clicking on the top bar… :D/>..
Engineer #6
Posted 09 May 2013 - 04:28 PM
This looks very promising, but after taking a look at your code: Use locals! :P/>

No but seriously, Im going to learn it you right here, and you should it almost everywhere (there are very few exceptions).

So what is a local variable? It is a variable that is only for your file and for the current block. Then the question comes up, what is a block?
A block is, well a block. I have some sample code that hopefully makes the term "block" clear.

Sample
Spoiler

local var = 0 --# Current block is: file-global. You can acces this from the current file, everywhere

if var == 0 then --# Here starts a new block
	local newVar = 0 --# you can only acces this within the if statement
	while newVar == 0 do --# Start of a new block
			newVar = newVar + 1 --# You can acces the variable because this block is in the previous block
	end --# end the lastblock

	local anotherVar = 9 --# new variable, in the if block
end --# ends the if block

--# Now if you try to acces the anotherVar, it is nil, because this block is back in the global one
Also an image might help (Paintskills! :D/>):

I hope that blocks are explained now, so lets continue.
Actually.. If you understand the above, you should get how local works.
The advantages of local:

- Another file can not acces it (You dont load it into _G)
- You can use a variable name more often, with separate values (not recommended though)
- nothing, just do it :P/>

There is an exception when you are making API's (a function is can also be a variable!)
Then you want to make your functions global, if you want it to be accesed by a file who loaded it. Also locals protect your variables here, since the cant be accessed.

This is a quick overview of local usage, I hope you learned something new! :D/>
Awesomesause200 #7
Posted 09 May 2013 - 04:48 PM
This looks very promising, but after taking a look at your code: Use locals! :P/>

No but seriously, Im going to learn it you right here, and you should it almost everywhere (there are very few exceptions).

So what is a local variable? It is a variable that is only for your file and for the current block. Then the question comes up, what is a block?
A block is, well a block. I have some sample code that hopefully makes the term "block" clear.

Sample
Spoiler

local var = 0 --# Current block is: file-global. You can acces this from the current file, everywhere

if var == 0 then --# Here starts a new block
	local newVar = 0 --# you can only acces this within the if statement
	while newVar == 0 do --# Start of a new block
			newVar = newVar + 1 --# You can acces the variable because this block is in the previous block
	end --# end the lastblock

	local anotherVar = 9 --# new variable, in the if block
end --# ends the if block

--# Now if you try to acces the anotherVar, it is nil, because this block is back in the global one
Also an image might help (Paintskills! :D/>):

I hope that blocks are explained now, so lets continue.
Actually.. If you understand the above, you should get how local works.
The advantages of local:

- Another file can not acces it (You dont load it into _G)
- You can use a variable name more often, with separate values (not recommended though)
- nothing, just do it :P/>

There is an exception when you are making API's (a function is can also be a variable!)
Then you want to make your functions global, if you want it to be accesed by a file who loaded it. Also locals protect your variables here, since the cant be accessed.

This is a quick overview of local usage, I hope you learned something new! :D/>

I know what a local variable is and I will see what I can do about adding local variables,Thanks alot I appreciate the feedback and advice

i somehow think the PB links are outdated, since the only thing im getting (when running ariana) is the login screen..
then when i press enter it just returns back to shell…

EDIT: omg.. nevermind. great GUI :D/> but the right click menu shouldnt be showed when clicking on the top bar… :D/>..

Thank you for telling me that I will fix it,It's almost like a one line edit thing =D
Shnupbups #8
Posted 09 May 2013 - 05:53 PM
I took one look at the installer:
  • You delete the OS when you're meant to delete any pre-existing 'os' folder. You literally delete the file you just downloaded named 'Ariana'
  • Nothing is saved as startup, so CraftOS is still run when you boot up the PC
Those were the only problems in that…
Then I saw the actual OS.
  • Please use local variables, as said above!
  • In order for arguments to work, the wrapping of {…} to tArgs has to be before term.getSize()
  • Please hide the password with
    
    read("*")
    
    instead of
    
    read()
    
    !
  • It lets you through even if the password is wrong
  • Etc.
i could go on, but I want to drink mah hot chocolate :3
Awesomesause200 #9
Posted 09 May 2013 - 06:57 PM
I took one look at the installer:
  • You delete the OS when you're meant to delete any pre-existing 'os' folder. You literally delete the file you just downloaded named 'Ariana'
  • Nothing is saved as startup, so CraftOS is still run when you boot up the PC
Those were the only problems in that…
Then I saw the actual OS.
  • Please use local variables, as said above!
  • In order for arguments to work, the wrapping of {…} to tArgs has to be before term.getSize()
  • Please hide the password with
    
    read("*")
    
    instead of
    
    read()
    
    !
  • It lets you through even if the password is wrong
  • Etc.
i could go on, but I want to drink mah hot chocolate :3


I noticed that aswell and i do plan on fixing that…Sorry
I'm not sure how those problems surfaced in the first place
Local variables are all over version 2
Noted:the tArgs={…} problem
Thanks for the help =D
spyman68 #10
Posted 09 May 2013 - 07:14 PM
Please, PLEASE don't give us something you could've EASILY got from NDJay and not have anything really special
Awesomesause200 #11
Posted 09 May 2013 - 07:39 PM
Please, PLEASE don't give us something you could've EASILY got from NDJay and not have anything really special

not sure who NDJay is,I don't like copying others ideas,its not quite right,If i use ideas i make sure i give credit

I don't plan on it,When I'm changing it up I'm going to attempt to use Coroutines instead of the parallel api, and I also intend on using a more advanced and different setup to work with the User interface
Spongy141 #12
Posted 09 May 2013 - 10:58 PM
You can make a Directory for your OS, so you don't have to worry about the user overwriting the file, unless there stupid and messes with the files in the directory, and naming a file '.test' will make it hidden, so if you don't want the user to know the files are there…. well just do that.
Awesomesause200 #13
Posted 10 May 2013 - 01:01 AM
You can make a Directory for your OS, so you don't have to worry about the user overwriting the file, unless there stupid and messes with the files in the directory, and naming a file '.test' will make it hidden, so if you don't want the user to know the files are there…. well just do that.

Thanks for the feedback that was what I was considering to reduce the chances of overwriting anyfiles