Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---VERSION 2.3.0
- -- CUSTOMIZABLE VARIABLES
- txtColor = colors.orange
- bgColor = colors.black
- offsetX = 38
- offsetY = 20
- offsetX2 = 18
- offsetY2 = 10
- delay = 60
- -----------------------------------------------
- ------- END OF USER EDITABLE VARIABLES --------
- -----------------------------------------------
- -- LOGO TABLE
- logo = {
- " .,-:;//;:=,",
- " . :H@@@MM@M#H/.,+%;,",
- " ,/X+ +M@@M@MM%=,-%HMMM@X/,",
- " -+@MM; $M@@MH+-,;XMMMM@MMMM@+-",
- " ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/.",
- " ,%MM@@MH ,@%= .---=-=:=,.",
- " -@#@@@MX ., -%HX$$%%%+;",
- " =-./@M@M$ .;@MMMM@MM:",
- " X@/ -$MM/ .+MM@@@M$",
- ",@M@H: :@: . -X#@@@@-",
- ",@@@MMX, . /H- ;@M@M=",
- ".H@@@@M@+, %MM+..%#$.",
- " /MMMM@MMH/. XM@MH; -;",
- " /%+%$XHH@$= , .H@@@@MX,",
- " .=--------. -%H.,@@@@@MX,",
- " .%MM@@@HHHXX$$$%+- .:$MMX -M@@MM%.",
- " =XMMM@MM@MM#H;,-+HMM@M+ /MMMX=",
- " =%@M@M#@$-.=$@MM@@@M; %M%=",
- " ,:+$+-,/H#MMMMMMM@- -,",
- " =++%%%%+/:-."}
- radiation = {
- " =+$HM####@H%;,",
- " /H###############M$,",
- " ,@################+",
- " .H##############+",
- " X############/",
- " $##########/",
- " %########/",
- " /X/;;+X/",
- " ",
- " -XHHX-",
- " ,######,",
- "#############X .M####M. X#############",
- "##############- -//- -##############",
- "X##############%, ,+##############X",
- "-##############X X##############-",
- " %############% %############%",
- " %##########; ;##########%",
- " ;#######M= =M#######;",
- " .+M###@, ,@###M+.",
- " :XH. .HX:" }
- cake = {
- " ,:/+/-",
- " /M/ .,-=;//;-",
- " .:/= ;MH/, ,=/+%$XH@MM#@:",
- " -$##@+$###@H@MMM#######H:. -/H#",
- " .,H@H@ X######@ -H#####@+- -+H###@X",
- " .,@##H; +XM##M/, =%@###@X;-",
- "X%- :M##########$. .:%M###@%:",
- "M##H, +H@@@$/-. ,;$M###@%, -",
- "M####M=,,---,.-%%H####M$: ,+@##",
- "@##################@/. :%H##@$-",
- "M###############H, ;HM##M$=",
- "#################. .=$M##M$=",
- "################H..;XM##M$= .:+",
- "M###################@%= =+@MH%",
- "@#################M/. =+H#X%=",
- "=+M###############M, ,/X#H+:,",
- " .;XM###########H= ,/X#H+:;",
- " .=+HM#######M+/+HM@+=.",
- " ,:/%XM####H/.",
- " ,.:=-." }
- blackMesa = {
- " .-;+$XHHHHHHX$+;-.",
- " ,;X@@X%/;=----=:/%X@@X/,",
- " =$@@%=. .=+H@X:",
- " -XMX: =XMX=",
- " /@@: =H@+",
- " %@X, .$@$",
- " +@X. $@%",
- "-@@, .@@=",
- "%@% +@$",
- "H@: :@H",
- "H@: :HHHHHHHHHHHHHHHHHHX, =@H",
- "%@% ;@M@@@@@@@@@@@@@@@@@H- +@$",
- "=@@, :@@@@@@@@@@@@@@@@@@@@@= .@@:",
- " +@X :@@@@@@@@@@@@@@@M@@@@@@:%@%",
- " $@$, ;@@@@@@@@@@@@@@@@@M@@@@@@$.",
- " +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+",
- " =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=",
- " :$@@@@@@@@@@@@@@@@@@@M@@@@$:",
- " ,;$@@@@@@@@@@@@@@@@@@X/-",
- " .-;+$XXHHHHHX$+;-." }
- fire = {
- " -$-",
- " .H##H,",
- " +######+",
- " .+#########H.",
- " -$############@.",
- " =H###############@ -X:",
- " .$##################: @#@-",
- " ,; .M###################; H###;",
- " ;@#: @###################@ ,#####:",
- " -M###. M#################@. ;######H",
- " M####- +###############$ =@#######X",
- " H####$ -M###########+ :#########M,",
- " /####X- =########% :M########@/.",
- " ,;%H@X; .$###X :##MM@%+;:-",
- " ..",
- " -/;:-,. ,,-==+M########H",
- " -##################@HX%%+%%$%%%+:,,",
- " .-/H%%%+%%$H@###############M@+=:/+:",
- "/XHX%:#####MH%= ,---:;;;;/&&XHM,:###$",
- "$@#MX %+;- ." }
- atomic = {
- " =/;;/-",
- " +: //",
- " /; /;",
- " -X H.",
- ".//;;;:;;-, X= :+ .-;:=;:;%;.",
- "M- ,=;;;#:, ,:#;;:=, ,@",
- ":% :%.=/++++/=.$= %=",
- " ,%; %/:+/;,,/++:+/ ;+.",
- " ,+/. ,;@+, ,%H;, ,/+,",
- " ;+;;/= @. .H##X -X :///+;",
- " ;+=;;;.@, .XM@$. =X.//;=%/.",
- " ,;: :@%= =$H: .+%-",
- " ,%= %;-///==///-// =%,",
- ";+ :%-;;;;;;;;-X- +:",
- "@- .-;;;;M- =M/;;;-. -X",
- " :;;::;;-. %- :+ ,-;;-;:==",
- " ,X H.",
- " ;/ %=",
- " // +;",
- " ,////," }
- brokenHeart = {
- " .,---.",
- " ,/XM#MMMX;,",
- " -%##########M%,",
- " -@######% $###@=",
- " .,--, -H#######$ $###M:",
- " ,;$M###MMX; .;##########$;HM###X=",
- ",/@###########H= ;################+",
- "-+#############M/, %##############+",
- "%M###############= /##############:",
- "H################ .M#############;.",
- "@###############M ,@###########M:.",
- "X################, -$=X#######@:",
- "/@##################%- +######$-",
- ".;##################X .X#####+,",
- " .;H################/ -X####+.",
- " ,;X##############, .MM/",
- " ,:+$H@M#######M#$- .$$=",
- " .,-=;+$@###X: ;/=.",
- " .,/X$; .::,",
- " ., .." }
- explosion = {
- " .+",
- " /M;",
- " H#@: ;,",
- " -###H- -@/",
- " %####$. -; .%#X",
- " M#####+;#H :M#M.",
- ".. .+/;%#############-",
- " -/%H%+;-, +##############/",
- " .:$M###MH$%+############X ,--=;-",
- " -/H#####################H+=.",
- " .+#################X.",
- " =%M####################H;.",
- " /@###############+;;/%%;,",
- " -%###################$",
- " ;H######################M=",
- " ,%#####MH$%;+#####M###-/@####%",
- " :$H%+;=- -####X.,H# -+M##@-",
- " . ,###; ; =$##+",
- " .#H, :XH,",
- " + .;-" }
- check = {
- " :X-",
- " :X###",
- " ;@####@",
- " ;M######X",
- " -@########$",
- " .$##########@",
- " =M############-",
- " +##############$",
- " .H############$=.",
- " ,/: ,M##########M;.",
- " -+@###; =##########M;",
- " =%M#######; :#########M/",
- "-$M###########; :########/",
- " ,;X###########; =#######$.",
- " ;H#########+######M=",
- " ,+#############+",
- " /M########@-",
- " ;M#####%",
- " +####:",
- " ,$M-" }
- GLaDOS = {
- " #+ @ # # M#@",
- " . .X X.%##@;# # +@#######X. @H%",
- " ,==. ,######M+ -#####%M####M- #",
- " :H##M%:=##+ .M##M,;#####/+#######% ,M#",
- " .M########= =@#@.=#####M=M#######= X#",
- " :@@MMM##M. -##M.,#######M#######. = M",
- " @##..###:. .H####. @@ X,",
- " ############: ###,/####; /##= @#. M",
- " ,M## ;##,@#M;/M#M @# X#% X#",
- ".%= ######M## ##.M#: ./#M ,M #M ,#$",
- "##/ $## #+;#: #### ;#/ M M- @# :",
- "#+ #M@MM###M-;M #:$#-##$H# .#X @ + $#. #",
- " ######/.: #%=# M#:MM./#.-# @#: H#",
- "+,.= @###: /@ %#,@ ##@X #,-#@.##% .@#",
- "#####+;/##/ @## @#,+ /#M . X,",
- " ;###M#@ M###H .#M- ,##M ;@@; ###",
- " .M#M##H ;####X ,@#######M/ -M###$ -H",
- " .M###% X####H .@@MM@; ;@#M@",
- " H#M /@####/ ,++. / ==-,",
- " ,=/:, .+X@MMH@#H #####$=" }
- blank = {
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " " }
- songPage1 = {
- "Forms FORM-29827281-12:",
- "Test Assesment Report",
- " ",
- " ",
- "This was a triumph!",
- "I'm making a note here:",
- "HUGE SUCCESS!",
- "It's hard to overstate",
- "my satisfaction.",
- "Aperture Science",
- "We do what we must.",
- "because we can.",
- "For the good of all of us.",
- "Except the ones who are dead.",
- " ",
- "But there's no sense crying",
- "over every mistake.",
- "You just keep on trying",
- "till you run out of cake.",
- "And the Science gets done.",
- "And you make a neat gun.",
- "For the people who are",
- "still alive." }
- songPage2 = {
- "Forms FORM-55551-5",
- "Personnel File Addendum:",
- " ",
- "Dear <<Subject Name Here>>,",
- " ",
- "I'm not even angry.",
- "I'm being so sincere right now.",
- "Even though you broke my",
- "heart and killed me.",
- "And tore me to pieces.",
- "And threw every piece into",
- "a fire.",
- "As they burned it hurt because",
- "I was so happy for you!",
- "Now these points of data",
- "make a beautiful line.",
- "And we're out of beta.",
- "We're releasing on time.",
- "So I'm GLaD. I got burned.",
- "Think of all the things",
- "we learned.",
- "For the people who are",
- "still alive." }
- songPage3 = {
- "Forms FORM-55551-6:",
- "Personnel File",
- "Addendum Addendum",
- " ",
- "One Last Thing:",
- " ",
- "Go ahead and leave me.",
- "I think I prefer to stay inside",
- "Maybe you'll find someone else",
- "to help you.",
- "Maybe Black Mesa...",
- "THAT WAS A JOKE. FAT CHANCE.",
- "Anyway, this cake is great.",
- "It's so delicious and moist.",
- "Look at me still talking",
- "when there's Science to do.",
- "When I look out there,",
- "it makes me GLaD I'm not you.",
- "I've experiments to run.",
- "There is research to be done.",
- "On the people who are",
- "still alive" }
- songPage4 = {
- "PS: Believe me I am",
- "still alive",
- "PPS: I'm doing Science and I'm",
- "still alive",
- "PPPS: I feel FANTASTIC and I'm",
- "still alive",
- " ",
- "FINAL THOUGHT:",
- "While you're dying I'll be",
- "still alive",
- " ",
- "FINAL THOUGHT PS:",
- "And when you're dead I will be",
- "still alive",
- " ",
- " ",
- "STILL ALIVE" }
- top = "--------------------------------- -------------------------------------"
- middle = "| | -------------------------------------"
- bottom = "---------------------------------"
- borderTop = "| | | |"
- borderBottom = "| |"
- -- FUNCTIONS
- function monitorSearch()
- local names = peripheral.getNames()
- local i, name
- for i, name in pairs(names) do
- if peripheral.getType(name) == "monitor" then
- test = name
- return peripheral.wrap(name)
- else
- --return null
- end
- end
- end
- function send(x,y,text)
- mon.setCursorPos(x,y)
- mon.write(text)
- end
- function getKey( t, value )
- for k,v in pairs(t) do
- if v==value then return k end
- end
- return nil
- end
- function lyrics(song)
- local y = 2
- local i = 1
- length = table.getn(song)
- while (i <= length) do
- songLine = song[i]
- logoLookup(songLine)
- os.sleep(0.1)
- mon.setCursorPos(2,y)
- mon.write(songLine)
- os.sleep(2)
- y = y + 1
- i = i + 1
- end
- os.sleep(1)
- local z = 1
- local y = 2
- length = table.getn(song)
- while (z <= length) do
- send(1,y,borderBottom)
- z = z + 1
- y = y + 1
- end
- os.sleep(5)
- end
- function mainLogo(image,sleep)
- mon.clear()
- x = (w/2) - offsetX2
- y = (h/2) - offsetY2
- local i = 1
- while (i <= 20) do
- mon.setCursorPos(x,y)
- line = image[i]
- mon.write(line)
- y = y + 1
- i = i + 1
- end
- os.sleep(sleep)
- end
- function subLogo(image)
- x = w - offsetX
- y = h - offsetY
- local i = 1
- while (i <= 20) do
- mon.setCursorPos(x,y)
- line = blank[i]
- mon.write(line)
- mon.setCursorPos(x,y)
- mon.write("|")
- y = y + 1
- i = i + 1
- end
- x = w - offsetX
- y = h - offsetY
- local i = 1
- while (i <= 20) do
- mon.setCursorPos(x,y)
- line = image[i]
- mon.write(line)
- mon.setCursorPos(x,y)
- mon.write("|")
- y = y + 1
- i = i + 1
- end
- end
- function logoLookup(line)
- if (line == "Aperture Science" or line == "For the people who are" or line == "On the people who are") then
- subLogo(logo)
- elseif (line == "But there's no sense crying" or line == "When I look out there,") then
- subLogo(logo)
- elseif (line == "And the Science gets done." or line == "I've experiments to run.") then
- subLogo(atomic)
- elseif (line == "Think of all the things") then
- subLogo(atomic)
- elseif (line == "Except the ones who are dead." or line == "when there's Science to do.") then
- subLogo(radiation)
- elseif (line == "There is research to be done." or line == "So I'm GLaD. I got burned.") then
- subLogo(explosion)
- elseif (line == "And tore me to pieces.") then
- subLogo(explosion)
- elseif (line == "Even though you broke my") then
- subLogo(brokenHeart)
- elseif (line == "I was so happy for you!") then
- subLogo(check)
- elseif (line == "Maybe Black Mesa...") then
- subLogo(blackMesa)
- elseif (line == "a fire.") then
- subLogo(fire)
- elseif (line == "Anyway, this cake is great.") then
- subLogo(cake)
- elseif (line == "Look at me still talking") then
- subLogo(GLaDOS)
- elseif (line == "STILL ALIVE") then
- subLogo(blank)
- end
- end
- function screenSetup()
- mon.clear()
- send(1,1,top)
- z = 2
- while (z <= 17) do
- send(1,z,borderTop)
- z = z + 1
- end
- send(1,18,middle)
- while (z <= 39) do
- send(1,z,borderBottom)
- z = z + 1
- end
- send(1,40,bottom)
- end
- -- CRITICAL SETUP
- mon = monitorSearch()
- mon.setBackgroundColor(bgColor)
- mon.setTextColor(txtColor)
- mon.clear()
- w,h = mon.getSize()
- --SCREEN DISPLAY
- while true do
- mainLogo(logo,delay)
- subLogo(blank)
- screenSetup()
- lyrics(songPage1)
- lyrics(songPage2)
- lyrics(songPage3)
- lyrics(songPage4)
- mainLogo(logo,delay)
- mainLogo(cake,delay)
- mainLogo(logo,delay)
- mainLogo(blackMesa,delay)
- mainLogo(atomic,delay)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement