@name Player Info
@inputs EGP:wirelink
@outputs Page 
@persist Target:entity
@trigger 
runOnChat(1)
interval(100)

Cursor = EGP:egpCursor(owner())
entity():isWeldedTo():propFreeze(1)

if (chatClk(owner()) & owner():lastSaid():find("!")) {    
    Target = findPlayerByName(owner():lastSaid():replace("!",""))
    hideChat(1)
}

if (Page == 0) {
    EGP:egpClear()
    EGP:egpBox(1,vec2(256,256),vec2(512,512))
    EGP:egpMaterial(1,"gui/center_gradient")
    EGP:egpColor(1,vec(155,155,155))
    
    EGP:egpBox(2,vec2(256,56),vec2(512,82))
    EGP:egpMaterial(2,"vgui/button_central_hover")

    EGP:egpText(3,"Divalents Help Machine.",vec2(56,34))
    EGP:egpSize(3,40)
    EGP:egpSaveFrame(3)
    
    #LeftSide
    EGP:egpRoundedBox(4,vec2(157,136),vec2(180,42))
    EGP:egpMaterial(4,"vgui/button_central_disabled")
    
    EGP:egpText(100,"Player Info",vec2(87,120))
    EGP:egpSize(100,30)
    
    EGP:egpRoundedBox(5,vec2(157,196),vec2(180,42))
    EGP:egpMaterial(5,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(6,vec2(157,256),vec2(180,42))
    EGP:egpMaterial(6,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(7,vec2(157,316),vec2(180,42))
    EGP:egpMaterial(7,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(8,vec2(157,376),vec2(180,42))
    EGP:egpMaterial(8,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(9,vec2(157,436),vec2(180,42))
    EGP:egpMaterial(9,"vgui/button_central_disabled")
    
    #RightSide
    EGP:egpRoundedBox(10,vec2(357,136),vec2(180,42))
    EGP:egpMaterial(10,"vgui/button_central_disabled")
    
    EGP:egpText(101,"Health & Armor",vec2(287,124))
    EGP:egpSize(101,22)
    
    EGP:egpRoundedBox(11,vec2(357,196),vec2(180,42))
    EGP:egpMaterial(11,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(12,vec2(357,256),vec2(180,42))
    EGP:egpMaterial(12,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(13,vec2(357,316),vec2(180,42))
    EGP:egpMaterial(13,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(14,vec2(357,376),vec2(180,42))
    EGP:egpMaterial(14,"vgui/button_central_disabled")
    
    EGP:egpRoundedBox(15,vec2(357,436),vec2(180,42))
    EGP:egpMaterial(15,"vgui/button_central_disabled")
    
    function number isOverObject(Obj, Cursor:vector2) {
        Pos1 = EGP:egpPos(Obj) - (EGP:egpSize(Obj) / 2)
        Pos2 = EGP:egpPos(Obj) + (EGP:egpSize(Obj) / 2)
            
        if(Cursor:x() > Pos1:x() & Cursor:y() > Pos1:y() & Cursor:x() < Pos2:x() & Cursor:y() < Pos2:y()) {
            return 1
        } else {return 0}
    }
}

if (Page == 2) {
    EGP:egpClear()
    EGP:egpBox(16,vec2(256,56),vec2(512,82))
    EGP:egpMaterial(16,"vgui/button_central_hover")

    EGP:egpText(17,"Divalents Help Machine.",vec2(56,34))
    EGP:egpSize(17,40)

    EGP:egpText(18,"Name : "+Target:name(),vec2(56,104))
    EGP:egpSize(18,30)

    EGP:egpText(19,"SteamID : "+Target:steamID(),vec2(56,134))
    EGP:egpSize(19,30)

    EGP:egpText(20,"Health : "+Target:health(),vec2(56,164))
    EGP:egpSize(20,30)

    EGP:egpText(21,"Armor : "+Target:armor(),vec2(56,194))
    EGP:egpSize(21,30)

    EGP:egpText(22,"Kills : "+Target:frags(),vec2(56,224))
    EGP:egpSize(22,30)

    EGP:egpText(23,"Deaths : "+Target:deaths(),vec2(56,254))
    EGP:egpSize(23,30)

    EGP:egpText(24,"Job : "+Target:team():teamName(),vec2(56,284))
    EGP:egpSize(24,30)

    EGP:egpText(25,"Weapon : "+Target:weapon():type(),vec2(56,314))
    EGP:egpSize(25,30)

    EGP:egpText(26,"Time Connected : "+floor(round(round(Target:timeConnected() / 60,1)/60,2))+"h " + round((round(round(Target:timeConnected() / 60,1)/60,2) - floor(round(round(Target:timeConnected() / 60,1)/60,2))) * 0.6 * 100, 0) + "m. ",vec2(56,344))
    EGP:egpSize(26,30)

    EGP:egpText(27,"Pos : "+round(Target:pos(), 0),vec2(56,374))
    EGP:egpSize(27,30)

    EGP:egpText(28,"Has : $"+Target:money(),vec2(56,404))
    EGP:egpSize(28,30)

    EGP:egpText(29,"Is : "+round((owner():pos() - Target:pos()):length(), 0)+" Units Away. ",vec2(56,434))
    EGP:egpSize(29,30)

if (Target:aimEntity():type() == "player") {
    EGP:egpText(30,"Is Looking At : "+Target:aimEntity():name(),vec2(56,464))
} elseif (Target:aimEntity():type() == "") {
    EGP:egpText(30,"Is Looking At : The World",vec2(56,464))
} elseif (Target:aimEntity():type() == "spawned_shipment") {
    EGP:egpText(30,"Is Looking At : "+Target:aimEntity():shipmentName(),vec2(56,464))
} elseif (Target:aimEntity():type() == "prop_physics") {
    EGP:egpText(30,"Is Looking At : A Prop",vec2(56,464))
} else {
    EGP:egpText(30,"Is Looking At : "+Target:aimEntity():type(),vec2(56,464))
}
    EGP:egpSize(30,30)
    
    EGP:egpBox(33,vec2(466,466),vec2(82,82))
    EGP:egpMaterial(33,"gui/spawnmenu_toggle_back")
}

if (Page == 3) {
    EGP:egpClear()
    EGP:egpBox(16,vec2(256,56),vec2(512,82))
    EGP:egpMaterial(16,"vgui/button_central_hover")

    EGP:egpText(17,"Divalents Help Machine.",vec2(56,34))
    EGP:egpSize(17,40)
    
    EGP:egpBox(33,vec2(466,466),vec2(82,82))
    EGP:egpMaterial(33,"gui/spawnmenu_toggle_back")
    
    EGP:egpCircle(34,vec2(136,256),vec2(112,112))
    EGP:egpMaterial(34,"gui/faceposer_indicator")
    
    EGP:egpCircle(35,vec2(376,256),vec2(112,112))
    EGP:egpMaterial(35,"gui/faceposer_indicator")
}

if (owner():keyWalk() & owner():keyWalk()) {
    E = entity():isWeldedTo()
    E:setPos(owner():pos() + (owner():forward() * 55) + vec(0, 0, 50))
    E:setAng(ang(80, 180 + (E:pos() - owner():pos()):toAngle():yaw(), 0))
    noCollideAll(E,1)
}

if(Page == 1 & 0){
    EGP:egpClear()
    EGP:egpRoundedBox(31,vec2(256,256),vec2(512,512))
    EGP:egpColor(31,vec(15,15,15))
    
    EGP:egpRoundedBox(32,vec2(256,256),vec2(400,100))
    EGP:egpColor(32,vec(255,0,0))
    Page=2
}

#Page One Buttons
if(owner():keyUse() & isOverObject(4, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(5, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(6, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(7, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(8, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(9, EGP:egpCursor(owner()))){
    Page=2
}
if(owner():keyUse() & isOverObject(10, EGP:egpCursor(owner()))){
    Page=3
}
if(owner():keyUse() & isOverObject(11, EGP:egpCursor(owner()))){
    Page=3
}
if(owner():keyUse() & isOverObject(12, EGP:egpCursor(owner()))){
    Page=3
}
if(owner():keyUse() & isOverObject(13, EGP:egpCursor(owner()))){
    Page=3
}
if(owner():keyUse() & isOverObject(14, EGP:egpCursor(owner()))){
    Page=3
}
if(owner():keyUse() & isOverObject(15, EGP:egpCursor(owner()))){
    Page=3
}

#Page Two Buttons
if(owner():keyUse() & isOverObject(33, EGP:egpCursor(owner()))){
    Page=0
}
if(owner():keyUse() & isOverObject(34, EGP:egpCursor(owner()))){
    owner():setHealth(owner():health()+10)
}
if(owner():keyUse() & isOverObject(35, EGP:egpCursor(owner()))){
    owner():setHealth(100)
}
