@name Tiny2Tent EGP
@inputs EGP:wirelink S:entity 
@outputs User:entity Page Fade 
@persist 
@trigger 
interval(100)

Cursor = EGP:egpCursor(User)

findByClass("Player")
User = findClosest(S:pos())

if (first()) {
    EGP:egpClear()
    
    EGP:egpBox(1,vec2(256,256),vec2(512,512))
    EGP:egpMaterial(1,"vgui/pipboy_overlay")
    
    EGP:egpBox(2,vec2(256,256),vec2(412,412))
    EGP:egpMaterial(2,"vgui/button_central_disabled")
    
    EGP:egpBox(3,vec2(256,356),vec2(312,82))
    EGP:egpMaterial(3,"vgui/button_central_disabled")
    
    EGP:egpText(4,"Log In",vec2(256,356))
    EGP:egpSize(4,50)
    EGP:egpAlign(4,1,1)
    
    EGP:egpText(5,"Security",vec2(256,156))
    EGP:egpSize(5,90)
    EGP:egpAlign(5,1,1)
    
    EGP:egpText(6,"System",vec2(256,206))
    EGP:egpSize(6,60)
    EGP:egpAlign(6,1,1)
}
if(inrange(Cursor, EGP:egpPos(3)-EGP:egpSize(3)/2, EGP:egpPos(3)+EGP:egpSize(3)/2) & User:keyUse() & User == owner()){
    Page = 2
    S:soundPlay(1,0,"buttons/button14.wav")
} elseif(inrange(Cursor, EGP:egpPos(3)-EGP:egpSize(3)/2, EGP:egpPos(3)+EGP:egpSize(3)/2) & User:keyUse() & User != owner()){
    Page = 3
    S:soundPlay(2,0,"buttons/button10.wav")
}

if (Page == 2) {
    EGP:egpClear()
    
    EGP:egpBox(7,vec2(256,256),vec2(512,512))
    EGP:egpMaterial(7,"vgui/pipboy_overlay")
    
    EGP:egpBox(8,vec2(256,256),vec2(452,452))
    EGP:egpMaterial(8,"vgui/button_central_disabled")
    
    EGP:egpBox(9,vec2(386,406),vec2(102,42))
    EGP:egpMaterial(9,"vgui/button_central_disabled")
    
    EGP:egpText(10,"Log Out",vec2(356,396))
    EGP:egpSize(10,20)
    
    EGP:egpBox(11,vec2(256,156),vec2(312,82))
    EGP:egpMaterial(11,"vgui/button_central_disabled")
    
    EGP:egpText(12,"Open Door",vec2(256,156))
    EGP:egpSize(12,50)
    EGP:egpAlign(12,1,1)
}

if (Page == 3) {
    EGP:egpClear()
    
    EGP:egpBox(13,vec2(256,256),vec2(512,512))
    EGP:egpMaterial(13,"vgui/pipboy_overlay")
    
    EGP:egpBox(14,vec2(256,256),vec2(512,212))
    EGP:egpColor(14,vec4(255,0,0,100))
    
    EGP:egpText(15,"System Locked",vec2(256,256))
    EGP:egpSize(15,50)
    EGP:egpAlign(15,1,1)
    
    if (changed(Page == 3)) {
        printColor(vec(147,65,0),User:name(),vec(0,45,45)," has locked the EGP.")
    }
    
    if(inrange(Cursor, EGP:egpPos(13)-EGP:egpSize(13)/2, EGP:egpPos(13)+EGP:egpSize(13)/2) & User:keyUse() & User == owner()){
        Page = 1
    }
}

if(inrange(Cursor, EGP:egpPos(9)-EGP:egpSize(9)/2, EGP:egpPos(9)+EGP:egpSize(9)/2) & User:keyUse()){
    Page = 1
}

if (Page == 1) {
    EGP:egpClear()
    
    EGP:egpBox(1,vec2(256,256),vec2(512,512))
    EGP:egpMaterial(1,"vgui/pipboy_overlay")
    
    EGP:egpBox(2,vec2(256,256),vec2(412,412))
    EGP:egpMaterial(2,"vgui/button_central_disabled")
    
    EGP:egpBox(3,vec2(256,356),vec2(312,82))
    EGP:egpMaterial(3,"vgui/button_central_disabled")
    
    EGP:egpText(4,"Log In",vec2(256,356))
    EGP:egpSize(4,50)
    EGP:egpAlign(4,1,1)
    
    EGP:egpText(5,"Security",vec2(256,156))
    EGP:egpSize(5,90)
    EGP:egpAlign(5,1,1)
    
    EGP:egpText(6,"System",vec2(256,206))
    EGP:egpSize(6,60)
    EGP:egpAlign(6,1,1)
}

if(inrange(Cursor, EGP:egpPos(11)-EGP:egpSize(11)/2, EGP:egpPos(11)+EGP:egpSize(11)/2) & User:keyUse()){
    Fade = 1
    timer("close",5000)
}

if (clk("close")) {
    Fade = 0
}

if (changed(Fade == 1) & Fade == 1) {
    S:soundPlay(3,0,"buttons/button4.wav")
    timer("closesound",4500)
}

if (clk("closesound")) {
    S:soundPlay(4,0,"buttons/button5.wav")
}

if (User:aimEntity() != S) {
    timer("timeout",25000)
}

if (clk("timeout")) {
    Page = 1
}

if(EGP:entity():pos():distance(User:pos()) > 100) {EGP}

EGP:egpCircle(100, vec2(0,0), vec2(8,8))
EGP:egpColor(100,vec4(255,255,255,0))
EGP:egpParentToCursor(100)
