@name Gunshop2
@inputs S:wirelink [Prop Light]:entity 
@outputs User:entity Page 
@persist [CornerPos1 CornerPos2]:vector Spawn  
@trigger 
interval(100)

Cursor = S:egpCursor(User)

if (first() | dupefinished()) {
    entity():setColor(vec(255,255,255),0)
    
    Scale = vec(2,2,5) * 12
    
    Holo = holoCreate(1)
    holoScaleUnits(1,Scale)
    holoPos(1,Prop:toWorld(vec(30,0,10)))
    holoAng(1,Prop:angles())
    holoColor(1,vec(255,255,255),255)
    holoParent(1,Prop)
    
    CornerPos1 = Scale / 2
    CornerPos2 = -CornerPos1
    
    CornerPos1 = Holo:toWorld(CornerPos1)
    CornerPos2 = Holo:toWorld(CornerPos2)
    
    CornerScale = vec() + 1
    
    holoCreate(2)
    holoPos(2,CornerPos1)
    holoScaleUnits(2,CornerScale)
    holoParent(2,Holo)
    
    holoCreate(3)
    holoPos(3,CornerPos2)
    holoScaleUnits(3,CornerScale)
    holoParent(3,Holo)
    
    for (I = 1,3) {holoColor(I,vec(),0)}
    
    holoCreate(4)
    holoPos(4,Light:pos())
    holoAng(4,Light:angles())
    holoScale(4,Light:boxSize()/12 + vec(-0.1,-0.1,0))
    holoDisableShading(4,1)
    holoParent(4,Light)
    
    Light:setAlpha(0)
    
    S:egpClear()
    
    S:egpBox(5,vec2(256,256),vec2(512,512))
    S:egpMaterial(5,"gui/center_gradient")
    
    S:egpText(6,"Divs Gunshop",vec2(256,226))
    S:egpColor(6,vec(0,0,0))
    S:egpAlign(6,1,1)
    S:egpSize(6,50)
    
    S:egpText(7,"Divs Gunshop",vec2(258,228))
    S:egpColor(7,vec(65,65,65))
    S:egpAlign(7,1,1)
    S:egpSize(7,50)
    
    S:egpText(8,"(Click E anywhere to begin)",vec2(256,254))
    S:egpColor(8,vec(0,0,0))
    S:egpAlign(8,1,1)
    S:egpSize(8,20)
    
    S:egpText(9,"(Click E anywhere to begin)",vec2(257.7,255))
    S:egpColor(9,vec(65,65,65))
    S:egpAlign(9,1,1)
    S:egpSize(9,20)
}

findInBox(CornerPos1,CornerPos2)
findIncludeClass("player")
User = findClosest(holoEntity(1):pos())

if(changed(inrange(Cursor,S:egpPos(5)-S:egpSize(5)/2,S:egpPos(5)+S:egpSize(5)/2) & User:keyUse()) & inrange(Cursor,S:egpPos(5)-S:egpSize(5)/2,S:egpPos(5)+S:egpSize(5)/2) & User:keyUse()){
    Page = 2
}

if (Page == 2) {
    S:egpClear()
    
    S:egpBox(10,vec2(256,256),vec2(512,512))
    S:egpMaterial(10,"gui/center_gradient")
    
    S:egpText(11,"Deagle",vec2(256,206))
    S:egpColor(11,vec(0,0,0))
    S:egpAlign(11,1,1)
    S:egpSize(11,40)
    
    S:egpText(12,"Deagle",vec2(258,208))
    S:egpColor(12,vec(65,65,65))
    S:egpAlign(12,1,1)
    S:egpSize(12,40)
    
    S:egpBox(13,vec2(256,256),vec2(82,52))
    S:egpMaterial(13,"vgui/button_central_disabled")
}

if(changed(inrange(Cursor,S:egpPos(13)-S:egpSize(13)/2,S:egpPos(13)+S:egpSize(13)/2) & User:keyUse()) & inrange(Cursor,S:egpPos(13)-S:egpSize(13)/2,S:egpPos(13)+S:egpSize(13)/2) & User:keyUse()){
    Page = 3
}

if (Page == 3) {
    S:egpClear()
    
    S:egpBox(14,vec2(256,256),vec2(512,512))
    S:egpMaterial(14,"gui/center_gradient")
    
    S:egpBox(15,vec2(156,256),vec2(82,52))
    S:egpMaterial(15,"vgui/button_central_disabled")
    
    S:egpBox(16,vec2(356,256),vec2(82,52))
    S:egpMaterial(16,"vgui/button_central_disabled")
    
    S:egpText(17,"Yes",vec2(156,206))
    S:egpColor(17,vec(0,0,0))
    S:egpAlign(17,1,1)
    S:egpSize(17,40)
    
    S:egpText(18,"Yes",vec2(158,208))
    S:egpColor(18,vec(65,65,65))
    S:egpAlign(18,1,1)
    S:egpSize(18,40)
    
    S:egpText(19,"No",vec2(356,206))
    S:egpColor(19,vec(0,0,0))
    S:egpAlign(19,1,1)
    S:egpSize(19,40)
    
    S:egpText(20,"No",vec2(358,208))
    S:egpColor(20,vec(65,65,65))
    S:egpAlign(20,1,1)
    S:egpSize(20,40)
}

if(changed(inrange(Cursor,S:egpPos(16)-S:egpSize(16)/2,S:egpPos(16)+S:egpSize(16)/2) & User:keyUse()) & inrange(Cursor,S:egpPos(16)-S:egpSize(16)/2,S:egpPos(16)+S:egpSize(16)/2) & User:keyUse()){
    Page = 4
}

if(changed(inrange(Cursor,S:egpPos(15)-S:egpSize(15)/2,S:egpPos(15)+S:egpSize(15)/2) & User:keyUse()) & inrange(Cursor,S:egpPos(15)-S:egpSize(15)/2,S:egpPos(15)+S:egpSize(15)/2) & User:keyUse()){
    moneyRequest(User,1000,20,"Buy Gun")
}

if (moneyClk()) {
    Page = 4
    Spawn = 1
}

if (moneyNoClk()) {
    Page = 4
}

if (Page == 4) {
    S:egpClear()
    
    S:egpBox(5,vec2(256,256),vec2(512,512))
    S:egpMaterial(5,"gui/center_gradient")
    
    S:egpText(6,"Divs Gunshop",vec2(256,226))
    S:egpColor(6,vec(0,0,0))
    S:egpAlign(6,1,1)
    S:egpSize(6,50)
    
    S:egpText(7,"Divs Gunshop",vec2(258,228))
    S:egpColor(7,vec(65,65,65))
    S:egpAlign(7,1,1)
    S:egpSize(7,50)
    
    S:egpText(8,"(Click E anywhere to begin)",vec2(256,254))
    S:egpColor(8,vec(0,0,0))
    S:egpAlign(8,1,1)
    S:egpSize(8,20)
    
    S:egpText(9,"(Click E anywhere to begin)",vec2(257.7,255))
    S:egpColor(9,vec(65,65,65))
    S:egpAlign(9,1,1)
    S:egpSize(9,20)
}

if (changed(Spawn == 1) & Spawn == 1) {
    luaCheat("
        local gun = ents.Create('fas2_deagle')
        gun:Spawn()
        gun:SetPos( Entity(" + Prop:id() + "):GetPos() + Vector(0,0,5) )
    ")
    Spawn = 0
}

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

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