@name DG-PC @inputs Power Memory User:entity Screen:wirelink Mouse1 Mouse2 @model models\props/cs_office/computer_caseB.mdl @persist E:wirelink Num ColSch:array Power IsOn SdT RM:table @persist DDD DDDS:string StopDDD PWC Pw:string Windows:table @persist Writes:table BGstuff:array Fade1 BGs:table Buttons:table #------------------------------# # DGROUSE - 14/01/14 # #------------------------------# if( !Memory ){ function number between(N,X,Y){ if(N>X && N0){ if(clk("CheckButtons")){ cb() } } function bg1(){ rm("BG") box(vec2(256,256),vec2(512,512),cols(4)) rmn("BG1") perf() box(vec2(256,256),vec2(750,750),cols(5)) rmn("BG2") perf() E:egpMaterial(Num,"gui/gradient") perf() E:egpAngle(Num,45) txt(vec2(200,440),"DG-PC",cols(2),40,1) rmn("BG3") rmi("BG4",Num-1) } function bg2(){ box(vec2(256,256),vec2(512,512),cols(4)) rmn("BG1") perf() box(vec2(256,256),vec2(750,750),cols(5)) rmn("BG2") perf() E:egpMaterial(Num,"gui/gradient") perf() E:egpAngle(Num,45) perf() box(vec2(256,492),vec2(512,40),cols(4)) rmn("TB1") perf() box(vec2(256,492),vec2(512,40),cols(3)) rmn("TB2") perf() E:egpMaterial(Num,"gui/gradient") perf() box(vec2(30,492),vec2(80,40),cols(1)) rmn("StB1") E:egpMaterial(Num,"gui/gradient") box(vec2(15,487),vec2(20,20),cols(6)) rmn("logo1") box(vec2(20,492),vec2(20,20),cols(7)) rmn("logo2") box(vec2(25,497),vec2(20,20),cols(8)) rmn("logo3") box(vec2(256,473),vec2(512,1),cols(2)) E:egpAlpha(Num,100) rmn("Bevel1") } function logon(){ LogWinP = array( "W2header","W2desc1","W2PwBox","incopw","Loginwrite" ) window1(vec2(256,256),vec2(400,100),"LoginP",LogWinP) txt(vec2(200,210),"Login",cols(1),30,0) rmn("W2header") txt(vec2(140,240),"Please enter your password.",cols(1),20,0) rmn("W2desc1") box(vec2(256,280),vec2(350,30),cols(6)) rmn("W2PwBox") createWrite("Loginwrite",vec2(100,270),20,cols(1),20,"Enter here",1,1,2) } function enterpw(Name:string,Pass:string){ Pw = Pass PWC = 1 col(rmg("W1PwBox"),cols(7)) Writes[Name,array][4,number] = 0 txt(vec2(110,320),"Password Saved - Applying Settings",cols(1),20,0) rmn("SavePW") timer("ShowSaved",3000) } if( clk("ShowSaved") ){ rwindow1("PwCWin") Writes:remove("CreatePW") logon() } function checkpw(Name:string,Pass:string){ if( Pass == Pw ){ Writes[Name,array][4,number] = 0 col(rmg("W2PwBox"),cols(7)) timer("Welcome",1000) }else{ txt(vec2(165,320),"Incorrect Password",cols(6),20,0) rmn("incopw") } } function desktop(){ bg2() cpos() runCursor() } if( clk("Welcome") ){ Writes:remove("Loginwrite") perf() rwindow1("LoginP") txt(vec2(155,220),"Welcome",cols(2),50,1) rmn("CorrectPW1") rmi("CorrectPW2",Num-1) timer("DesktopWait",4000) timer("FadeBG1",3000) BGstuff = array("CorrectPW1","CorrectPW2","BG1","BG2","BG3","BG4") Fade1 = 255 } if( clk("FadeBG1") ){ Fade1=Fade1-25.5 if( Fade1 > 0 ){ for(I=1,BGstuff:count()){ E:egpAlpha( rmg(BGstuff[I,string]),Fade1 ) } timer("FadeBG1",100) } } if( clk("DesktopWait") ){ rma(BGstuff) desktop() } function createpassword(){ PwCWin = array( "W1header","W1desc1","W1desc2","W1PwBox","CreatePW","SavePW" ) window1(vec2(256,256),vec2(400,200),"PwCWin",PwCWin) txt(vec2(110,160),"Create your password",cols(1),30,0) rmn("W1header") txt(vec2(110,210),"Use the keyboard to type password",cols(1),20,0) rmn("W1desc1") txt(vec2(110,240),"and hit enter to continue.",cols(1),20,0) rmn("W1desc2") box(vec2(256,300),vec2(350,30),cols(6)) rmn("W1PwBox") createWrite("CreatePW",vec2(100,290),20,cols(1),20,"Write password here",1,1,1) } function boot(){ txt(vec2(50,80),"DGrouse Industries",cols(2),50,0) rmn("boot1") perf() txt(vec2(100,180),"Computer now booting",cols(2),30,0) rmn("boot2") DDDS = "." txt(vec2(100,270),DDDS,cols(2),30,0) rmn("boot3") timer("DDD",200) timer("StopDDD",5000) } if( clk("StopDDD") ){ StopDDD = 1 rm("boot1") rm("boot2") bg1() if( !PWC ){ createpassword() }else{ logon() } } if( clk("DDD") ){ DDD++ if( DDD < 8 ){ DDDS = DDDS+" ." E:egpText(rmg("boot3"),DDDS,vec2(100,270)) }else{ DDD = 0, DDDS = "." E:egpText(rmg("boot3"),DDDS,vec2(100,270)) } if( !StopDDD ){ timer("DDD",200) }else{ StopDDD = 0 rm("boot3") } } function shutdown(){ E:egpClear() perf() box(vec2(256,256),vec2(512,512),vec()) IsOn = 0 } if( first() ){ E = Screen ColSch = array( vec(), #1 Black vec(255,255,255), #2 White vec(100,100,255), #3 Blue 1 vec(190,210,255), #4 Blue 2 vec(50,50,255), #5 Blue 3 vec(255,120,120), #6 Red 1 vec(120,255,120), #7 Green 1 vec(255,255,120), #8 Yellow 1 vec(230,230,190) #9 Yellow 2 ) E:egpClear() perf() box(vec2(256,256),vec2(512,512),vec()) rmn("BG") } if( Power ){ if( IsOn ){ txt(vec2(150,30),"Shutting Down",cols(3),30,0) rmn("sdt") timer("SDhold",5000) }else{ E:egpClear() boot() IsOn = 1 } }else{ rm("sdt") stoptimer("SDhold") } if( clk("SDhold") ){ shutdown() } } if(Memory){ if(Writes:count()>0){ foreach(K,V:array=Writes){ if( V[4,number] ){ if(Memory==127){ V[3,string] = V[3,string]:left(V[3,string]:length()-1) editWrite(K,V[3,string]) }else{ if(Memory==13){ if( V[7,number]==1 ){ enterpw(K,V[3,string]) } if( V[7,number]==2 ){ checkpw(K,V[3,string]) } }else{ if(between(Memory,126,300) | between(Memory,16,21) ){}else{ V[3,string] = (V[3,string]+toChar(Memory)):left(V[5,number]) editWrite(K,V[3,string]) } } } } }} }