Code:
@name Personal Superdevice
@persist LS:string O:entity EX:array AMPM:string HA J1:string J2:string J3:string
@persist MT:string K1:string WK:string HSPIN N1:string A1
runOnChat(1)
#Variables
O = owner()
LS = owner():lastSaid()
EX = LS:explode(" ")
TC = chatClk(O)
if (TC) {
if (LS:left(1)=="/") {hideChat(1)}
#Color
if (LS:find("/color ")) {O:setColor(EX:string(2):toNumber(),EX:string(3):toNumber(),EX:string(4):toNumber())}
if (LS:find("/nocolor")) {O:setColor(255,255,255)}
#Materials
if ((LS:find("/material ")|LS:find("/mat "))&TC) {O:setMaterial(EX:string(2))}
if (LS:find("/nomat")) {O:setMaterial("")}
#Sound
if (LS:find("/play ")) {O:soundPlay(EX:string(3):toNumber(),0,EX:string(2))}
if (LS:find("/stop ")) {soundStop(EX:string(2):toNumber())}
if (LS:find("/stopall")) {soundPurge()}
if (LS:find("/volume ")) {soundVolume(EX:string(3):toNumber(),EX:string(2):toNumber())}
if (LS:find("/pitch ")) {soundPitch(EX:string(3):toNumber(),EX:string(2):toNumber())}
#Date/time
if (LS:find("/time")) {print("The time is "+J1+toString(time("hour")-HA)+":"+J2+toString(time("min"))+":"+J3+toString(time("sec"))+" "+AMPM+".")}
if (time("hour")>12) {HA = 12, AMPM = "PM"}
else {HA = 0, AMPM = "AM"}
if (time("hour")-HA<10) {J1 = "0"} else {J1 = ""}
if (time("min")<10) {J2 = "0"} else {J2 = ""}
if (time("sec")<10) {J3 = "0"} else {J3 = ""}
if (LS:find("/date")) {print("The date is "+WK+", "+MT+" "+toString(time("day"))+K1+", "+toString(time("year"))+".")}
if (time("month")==1) {MT="January"}
if (time("month")==2) {MT="Febuary"}
if (time("month")==3) {MT="March"}
if (time("month")==4) {MT="April"}
if (time("month")==5) {MT="May"}
if (time("month")==6) {MT="June"}
if (time("month")==7) {MT="July"}
if (time("month")==8) {MT="August"}
if (time("month")==9) {MT="September"}
if (time("month")==10) {MT="October"}
if (time("month")==11) {MT="November"}
if (time("month")==12) {MT="December"}
if (time("day")==1|time("day")==21|time("day")==31|time("day")==2|time("day")==22|time("day")==3|time("day")==23)
{
if (time("day")==1|time("day")==21|time("day")==31) {K1 = "st"}
if (time("day")==2|time("day")==22) {K1 ="nd"}
if (time("day")==3|time("day")==23) {K1 ="rd"}
}
else {K1 = "th"}
if (time("wday")==1) {WK = "Sunday"}
if (time("wday")==2) {WK = "Monday"}
if (time("wday")==3) {WK = "Tuesday"}
if (time("wday")==4) {WK = "Wednesay"}
if (time("wday")==5) {WK = "Thursday"}
if (time("wday")==6) {WK = "Friday"}
if (time("wday")==7) {WK = "Saturday"}
#Holo shat
if (LS:find("/halo")) {
holoCreate(0,vec()+vec(0,0,71),vec(1,1,1),ang(),vec(255,255,0))
holoPos(0,O:pos()+vec(0,0,71))
holoMaterial(0,"models/debug/debugwhite")
holoModel(0,"torus3")
holoParent(0,owner())
}
if (LS:find("/nohalo")) {holoDelete(0)}
if (LS:find("/healthring")) {holoCreate(1),holoMaterial(1,"models/debug/debugwhite"),holoScale(1,vec(4.5,4.5,0))}
if (LS:find("/noring")) {holoDelete(1),stoptimer("ring")}
#Calculator
if (LS:find("/calc ")) {
if (EX:string(3)=="+") {print("Answer is "+toString(EX:string(2):toNumber()+EX:string(4):toNumber()))}
if (EX:string(3)=="-") {print("Answer is "+toString(EX:string(2):toNumber()-EX:string(4):toNumber()))}
if (EX:string(3)=="*") {print("Answer is "+toString(EX:string(2):toNumber()*EX:string(4):toNumber()))}
if (EX:string(3)=="/") {print("Answer is "+toString(EX:string(2):toNumber()/EX:string(4):toNumber()))}
if (EX:string(3)=="^") {print("Answer is "+toString(EX:string(2):toNumber()^EX:string(4):toNumber()))}
if (EX:string(3)=="%") {print("Answer is "+toString(EX:string(2):toNumber()%EX:string(4):toNumber()))}
}
#Trail
if (LS:find("/trail ")&TC) {
O:setTrails(EX:string(2):toNumber(),EX:string(3):toNumber(),EX:string(4):toNumber(),EX:string(5),vec(EX:string(6):toNumber(),EX:string(7):toNumber(),EX:string(8):toNumber()),EX:string(9):toNumber())
}
if (LS:find("/notrail")&TC) {O:removeTrails()}
#i dont even know
if (LS:find("/glados")) {
O:soundPlay(20,0,"vo/aperture_ai/escape_02_miscbabble-"+N1+toString(A1)+".wav")
}
A1=randint(1,27)
if (A1 > 10) {N1 = ""}
else {N1 = "0"}
#wat
if (LS=="/exit") {selfDestruct()}
#HEEEEEELP
if (LS=="/help")
{
hint("Help file printed to console",7)
concmd("echo ")
concmd("echo -=SuperMarioKarter's Chat Device=-")
concmd("echo ")
concmd("echo /color <r> <g> <b>- Changes your color")
concmd("echo /nocolor- Sets you back to your normal color")
concmd("echo /mat <s>- Changes your material")
concmd("echo /nomat- Sets you back to your normal material")
concmd("echo ")
concmd("echo /play <s> <n>- Plays sound S under index N")
concmd("echo /stop <n>- Stops sound indexed to N")
concmd("echo /stopall- Stops all sounds")
concmd("echo /volume <n> <n2> Changes volume of sound n to number n2")
concmd("echo /pitch <n> <n2> Changes pitch of sound n to number n2")
concmd("echo ")
concmd("echo /date- Prints server date to chat")
concmd("echo /time- Prints server time to chat")
concmd("echo ")
concmd("echo /halo- Gives you a hologram halo")
concmd("echo /healthring- Gives you a spinning ring that shows your health")
concmd("echo /nohalo- Removes your halo")
concmd("echo /noring- Removes your health ring")
concmd("echo ")
concmd("echo /calc <n1> <operator> <n2>- Calculates n1 and n2 using the specified operator. Available operators are +, -, *, /, ^, and %(modulo)).")
concmd("echo ")
concmd("echo /trail <startsize> <endsize> <length> <material> <r> <g> <b> <alpha>- Gives you a trail")
concmd("echo /notrail- Removes your trail")
concmd("echo ")
concmd("echo /glados- Plays a glados sound file")
concmd("echo ")
concmd("echo /exit- Removes the expression")
concmd("echo ")
}
}
if (holoEntity(1)) {
timer("ring",10)
holoModel(1,"torus3")
holoPos(1,O:pos())
holoColor(1,vec(255-((O:health()/100)*255),(O:health()/100)*255,0))
if (LS:find("/noring")&TC) {holoDelete(1)}
HSPIN += (O:health()/100)*4
if (HSPIN > 180) {HSPIN = -180}
holoAng(1,ang(0,HSPIN+((O:pos()+vec(0,0,68))-O:aimPos()):normalized():toAngle():yaw(),0))
}
I may add more contraptions or a zip of all this stuff later.
Bookmarks