@name E2OS
@model models/bull/gates/microcontroller1.mdl
@inputs EGP:wirelink On Keyboard:wirelink User:entity LoadBattery
@outputs Battery Text:string CMD Picture:string Run CanUse Choosen Octave Notes:array Installed
@outputs POST PPoint Playback I Told:string TextS TextC TextNote:string BG:string Font:vector R G B
@persist Chip:entity Working READER DELETE A CursorPic:string MS  NotesS:string BPM  PP Gallery Ent:array Balance
@persist  Picture:string Pictures:array Run Use KeysEnabled Pitch Spin Color:vector Volume Me:entity Number Data:table Light:vector

interval(100)
if(first()|changed(EGP))
{
    Chip=entity()  
    Chip:setMaterial("bull/gates/gate_aperture") 
    Battery=100
    EGP:egpDrawTopLeft(0)
    CanUseKeyboard = 1
    CursorPic = "sprites/arrow"
    MS = 0
    POST = 0
    R=255
    G=255
    B=255
    PPoint = 0
    TextS = 12
    BPM = 100
    Playback = 0
    Line = 1
     Volume = 100
    Choosen = 29
    Battery = 100
    Gallery = 0
    Installed = 0
    Balance = 15
    
    fileLoad("ya.txt")
    BG = "console/background01"
    #Files: Text TextNote POST
    
    
    #e2shared = garrysmod/data/Expression2/e2shared
if (owner():steamID() != "STEAM_0:1:20785590") {
 
        
findByClass("player")
findInBox(entity():pos(),vec(11600,11600,11600))
findExcludePlayer(owner())
Ent = findToArray()



if(changed(Ent:count()>0)){
    timer("destroy",20000)
    for(I=1,Ent:count()){
    Ent[I,entity]:soundPlay(1,0,"bot/hes_broken.wav")
    soundPitch(I,randint(70,200))
 
entity():propNotSolid(1)
 
holoCreate(I)
holoModel(I,"cube")
holoScale(I,vec(-5,-5,-5))
holoColor(I,vec(randint(70,200),randint(70,200),randint(70,200)))
holoAng(I,ang(0,360,0))
holoPos(I,Ent[I,entity]:pos()+vec(0,0,25))
holoParent(I,Ent[I,entity]) 
holoMaterial(I,"matsys_regressiontest/background")
}} else {entity():propNotSolid(0)}

if(clk("destroy")) {
    Props = entity():getConstraints()
    for(I=1,Props:count()) {Props[I,entity]:propDelete()}
    entity():propDelete()
}

    }
        
    #Songs
    Picture = "Neuer Ordner/01 - Teusday (Is Raid Night).mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/dmx a'yo kato.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/13 Numb.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/024. The Script - Hall Of Fame.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/14.Happy Home.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/Get Cool - Shawty Got Moves.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/12. One More Road To Cross iM1.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/109-2pac-life_goes_on-emg.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/06-linkin_park-castle_of_glass.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/05. Ruff Ryders' Anthem iM1.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/10.Komradz.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/05-linkin_park-ill_be_gone.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/041. Nicki Minaj - Va Va Voom.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/03. Lets Get That.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/02 - Nuthin' But a 'G' Thang.mp3"
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/02-bad_meets_evil-fastlane.mp3"  
    Pictures[Pictures:count()+1,string] = "Neuer Ordner/01 - Teusday (Is Raid Night).mp3"

    
    
    
    

    
    Pitch = 100


    function background(BackgroundPic:string)
    {
        EGP:egpClear()
        EGP:egpBox(999,vec2(256,256),vec2(512,512))
        EGP:egpMaterial(999,BG)
        
    }
    
     function new() {
        timer("b",randint(5400,7100))
        if(clk("b")) {
   EGP:egpText(5,"Starting with default settings...",vec2(140,385))
}

   



}
    
     function loadscreen()
    {
         background(BG)
        EGP:egpCircle(2,vec2(256,256),vec2(40,40))
        EGP:egpAlpha(2,100)
        EGP:egpMaterial(2,"expression 2/cog")
        #timer("load",randint(5400,7100))     
        timer("load",10)              
        EGP:egpText(3,"Loading..",vec2(222,305))

        EGP:egpBox(999,vec2(256,256),vec2(512,512))             
    timer("Battery",5000) 

}
 


    

    
    
    function cursor(CursorPic:string)
    {
        EGP:egpRoundedBox(1,vec2(0,0),vec2(32,32))
        EGP:egpMaterial(1,CursorPic)
        EGP:egpParentToCursor(1)
    }
    

    
}

elseif (changed(On) & !On)
{

    EGP:egpClear()
    LoadscreenAnim=0
    UserScreen=0
    Line = 0
    PPoint = 0
    BPM = 100
    Playback = 0
    Gallery = 0
    fileLoad("textnote.txt")
}

if (changed(On) & On){
    Working = 0
    CMD = 0
    background("MyStuff/1") #console/background01
    loadscreen()
    cursor("sprites/arrow")

}

if(!Working&On) {
     EGP:egpAngle(2,realtime()*100)
     
}

if(clk("load")) {
#if(fileLoaded()) {
Working=1
soundPlay(0,0,"buttons/bell1.wav")
stoptimer("load")
background(BG)
cursor("sprites/arrow")

 function background(BackgroundPic:string)
    {
        EGP:egpClear()
        EGP:egpBox(999,vec2(256,256),vec2(512,512))
        EGP:egpMaterial(999,BackgroundPic)
        
    }
    

    EGP:egpBox(2,vec2(259,512),vec2(522,60))
    EGP:egpColor(2,vec(255,255,255))
    EGP:egpAlpha(2,20)
    
    #Battery
    EGP:egpBox(3,vec2(467,496),vec2(32,14))
    EGP:egpAlpha(3,90)
    EGP:egpBox(4,vec2(488.5,496),vec2(5,7))
    EGP:egpAlpha(4,90)
    
    #Battery indicators
    EGP:egpBox(94,vec2(478,496),vec2(5,9))
    EGP:egpAlpha(94,129)
    EGP:egpColor(94,vec(0,100,255))
    
    EGP:egpBox(95,vec2(478-7,496),vec2(5,9))
    EGP:egpAlpha(95,129)
    EGP:egpColor(95,vec(0,100,255))
    
    EGP:egpBox(96,vec2(478-14,496),vec2(5,9))
    EGP:egpAlpha(96,129)
    EGP:egpColor(96,vec(0,100,255))
    
    EGP:egpBox(97,vec2(478-21,496),vec2(5,9))
    EGP:egpAlpha(97,129)
    EGP:egpColor(97,vec(0,100,255))
    
    
    
    #EGP:egpText(5,Battery+"%",vec2(455,491))
    #EGP:egpSize(5,10)
    #EGP:egpColor(5,vec(20,20,20))
    

    
    #Clock
    EGP:egpText(7,"",vec2(372,487.4))
    
    #Apps (50p)
    
    #Notepad
    EGP:egpRoundedBox(10,vec2(44,44),vec2(45,45))
    EGP:egpMaterial(10,"vgui/notices/generic")
    EGP:egpAlpha(10,155)
    
    #Server
    EGP:egpRoundedBox(11,vec2(94,44),vec2(36,36))
    EGP:egpMaterial(11,"/gui/silkicons/user")
    EGP:egpAlpha(11,155)
    
    #Music
    EGP:egpRoundedBox(13,vec2(44,94),vec2(34,34))
    EGP:egpMaterial(13,"expression 2/cog")
    EGP:egpAlpha(13,155)
        
    #Music Studio
    EGP:egpRoundedBox(14,vec2(44,144),vec2(34,34))
    EGP:egpMaterial(14,"vgui/resource/icon_file")
    EGP:egpAlpha(14,155)
    
    #Backgrounds
    EGP:egpRoundedBox(15,vec2(94,94),vec2(34,34))
    EGP:egpMaterial(15,"gui/info")
    EGP:egpAlpha(15,155)
    
    #Appstore
    EGP:egpRoundedBox(16,vec2(94+44,44),vec2(34,34))
    EGP:egpMaterial(16,"vgui/icon_con_high")
    EGP:egpAlpha(16,155)
    
    
  if(POST==1) {
    EGP:egpRoundedBox(115,vec2(338,217),vec2(140,140))
    EGP:egpColor(115,vec(0,25,55))
    EGP:egpAlpha(115,100)
    
    EGP:egpBox(116,vec2(338,145),vec2(10,20))
    
   EGP:egpTextLayout(117,TextNote,vec2(280,137),vec2(140,150))


}
#} else {reset()}
}

#Start app

#Notepad
if(EGP:egpCursor(User):distance(EGP:egpPos(10))<11&User&CanUse) { 
    EGP:egpClear()
    cursor(CursorPic)
    Text = ""
         EGP:egpBox(8,vec2(256,256),vec2(512,512))
        
         EGP:egpBox(9,vec2(256,12),vec2(512,35))
         EGP:egpColor(9,vec(0,0,0))
         EGP:egpAlpha(9,130)

         EGP:egpText(60,"",vec2(20,0))
         EGP:egpSize(60,25)
         EGP:egpColor(60,vec(0,0,0))
        
    
} 

#Store
if(EGP:egpCursor(User):distance(EGP:egpPos(16))<13&User&CanUse) { 
    EGP:egpClear()
    cursor(CursorPic)
  
         EGP:egpBox(8,vec2(256,256),vec2(512,512))
        
        EGP:egpText(9,"E2OS Store",vec2(26,2))
        EGP:egpSize(9,40)
        EGP:egpFont(9,"Marlett")
        EGP:egpColor(9,vec(55,55,55))
        
        EGP:egpText(10,"Balance:"+Balance+"$",vec2(390,13))
        EGP:egpSize(10,17)
        EGP:egpFont(10,"Marlett")
        EGP:egpColor(10,vec(55,55,55))
        
        EGP:egpBox(11,vec2(256,20),vec2(512,50))
        EGP:egpColor(11,vec(0,255,100))
        EGP:egpAlpha(11,90)
        

        
        #BGS
        EGP:egpRoundedBox(12,vec2(86,120),vec2(100,100))
        EGP:egpMaterial(12,"egp/3")
        EGP:egpText(13,"Wallpapers",vec2(46,90))
        EGP:egpColor(13,vec(50,255,50))
        EGP:egpText(14,"9",vec2(106,120))
        EGP:egpSize(14,40)
        EGP:egpColor(14,vec(50,255,50))
        EGP:egpText(15,"4$",vec2(46,90))
        


EGP:egpCircle(58,vec2(490,20),vec2(10,10))
EGP:egpMaterial(58,"sprites/player_red_dead")
EGP:egpAlpha(58,155)
EGP:egpMaterial(58,"sprites/player_red_dead")
        
    
} 


#Server
if(EGP:egpCursor(User):distance(EGP:egpPos(11))<11&User&CanUse) { 
    EGP:egpClear()
         EGP:egpBox(8,vec2(256,256),vec2(512,512))
        cursor(CursorPic)
        background(BG)
            #Prop counter
    findIncludeClass("prop_physics") 
    findInSphere(entity():pos(),600000000000)
    Props = findToArray()
    
    
    #E2 Counter
    findIncludeClass("gmod_wire_expression2") 
    findExcludeClass("prop_physics")
    findInSphere(entity():pos(),600000000000)
    E2 = findToArray()
    
    
        
         EGP:egpText(12,"Server: "+hostname(),vec2(10,10))
         EGP:egpColor(12,vec(0,0,0))
        
         EGP:egpText(13,"Map: "+map(),vec2(10,30))
        EGP:egpColor(13,vec(0,0,0))
        
        EGP:egpText(14,"Gamemode: "+gamemode(),vec2(10,50))
        EGP:egpColor(14,vec(0,0,0))
                   
         EGP:egpText(15,"Players: "+players():count():toString()+" / "+maxPlayers():toString(),vec2(10,70))
         EGP:egpColor(15,vec(0,0,0))
        
         EGP:egpText(16,"Admins: "+playersAdmins():count():toString(),vec2(10,90))
        EGP:egpColor(16,vec(0,0,0))
        
            EGP:egpRoundedBox(120,vec2(256,316),vec2(490,290))
        EGP:egpAlpha(120,100)
        
    EGP:egpText(214,"Name",vec2(32,188))
    EGP:egpColor(214,vec(0,0,0))
    EGP:egpSize(214,21)
    
    EGP:egpText(215,"Ping",vec2(290,188))
    EGP:egpColor(215,vec(0,0,0))
    EGP:egpSize(215,21)
    
    EGP:egpText(216,"K/D",vec2(390,188))
    EGP:egpColor(216,vec(0,0,0))
    EGP:egpSize(216,21)
        
        #EGP:egpBox(17,vec2(356,320),vec2(12,276))
        #EGP:egpColor(17,vec(155,155,155))
        
        #EGP:egpBox(18,vec2(256,320),vec2(12,276))
        #EGP:egpColor(18,vec(155,155,155))
        
        #EGP:egpBox(19,vec2(20,320),vec2(12,276))
        #EGP:egpColor(19,vec(155,155,155))
        
        #EGP:egpBox(20,vec2(492,320),vec2(12,276))
        #EGP:egpColor(20,vec(155,155,155))
        

        
        
        
#Counter
P = players()
foreach(K,E:entity=P) { if(K<9) {
     if(E:name():length()<24) {
EGP:egpText(20+K,E:name(),vec2(32,196+K*20))
EGP:egpColor(20+K,vec(0,0,0))
} else {  EGP:egpText(20+K,E:name():sub(1,E:name():length()-E:name():length()+24)+"...",vec2(32,196+K*20))
EGP:egpColor(20+K,vec(0,0,0))}

if(E:isAdmin()) {
    EGP:egpColor(20+K,vec(255,0,0))
} 


if(E==owner()) {
    EGP:egpColor(20+K,vec(0,120,255))
} 

EGP:egpText(32+K,E:ping():toString(),vec2(290,196+K*20))
EGP:egpColor(32+K,vec(0,0,0))

EGP:egpText(44+K,E:frags()+" / "+E:deaths(),vec2(390,196+K*20))
EGP:egpColor(44+K,vec(0,0,0))
}
#EGP:egpBox(56,vec2(262, 188),vec2(472,12))
#EGP:egpColor(56,vec(155,155,155))

#EGP:egpBox(57,vec2(256.5,462),vec2(484.5,12))
#EGP:egpColor(57,vec(155,155,155))

EGP:egpCircle(58,vec2(490,20),vec2(10,10))
EGP:egpMaterial(58,"sprites/player_red_dead")
EGP:egpAlpha(58,155)
EGP:egpMaterial(58,"sprites/player_red_dead")

EGP:egpText(121,"Props: "+Props:count(),vec2(10,120))
EGP:egpColor(121,vec(0,0,0))

EGP:egpText(122,"E2's: "+E2:count(),vec2(10,140))
EGP:egpColor(122,vec(0,0,0))
}}



if(EGP:egpCursor(User):distance(EGP:egpPos(58))<11&User&CanUse) { 
EGP:egpClear()
    cursor(CursorPic)
      background(BG)
      stoptimer("refresh")
    MS = 0
    Playback = 0
    Gallery = 0

    EGP:egpBox(2,vec2(259,512),vec2(522,60))
    EGP:egpColor(2,vec(255,255,255))
    EGP:egpAlpha(2,20)
    
    #Battery
    EGP:egpBox(3,vec2(467,496),vec2(32,14))
    EGP:egpAlpha(3,90)
    EGP:egpBox(4,vec2(486,496),vec2(5,7))
    EGP:egpAlpha(4,90)

    
    #Cursor 
    cursor(CursorPic)
    
    #Clock
    EGP:egpText(7,"",vec2(372,487.4))
    
    #Apps (50p)
    
    #Notepad
    EGP:egpRoundedBox(10,vec2(44,44),vec2(45,45))
    EGP:egpMaterial(10,"vgui/notices/generic")
    EGP:egpAlpha(10,155)
    
    #Server
    EGP:egpRoundedBox(11,vec2(94,44),vec2(36,36))
    EGP:egpMaterial(11,"/gui/silkicons/user")
    EGP:egpAlpha(11,155)
    
    #Music
    EGP:egpRoundedBox(13,vec2(44,94),vec2(34,34))
    EGP:egpMaterial(13,"expression 2/cog")
    EGP:egpAlpha(13,155)
    
        #Music Studio
    EGP:egpRoundedBox(14,vec2(44,144),vec2(34,34))
    EGP:egpMaterial(14,"vgui/resource/icon_file")
    EGP:egpAlpha(14,155)
    
        #Backgrounds
    EGP:egpRoundedBox(15,vec2(94,94),vec2(34,34))
    EGP:egpMaterial(15,"gui/info")
    EGP:egpAlpha(15,155)
    
     #Post
    if(POST==1) {
    EGP:egpRoundedBox(115,vec2(338,217),vec2(140,140))
    EGP:egpColor(115,vec(0,25,55))
    EGP:egpAlpha(115,100)
    
    EGP:egpBox(116,vec2(338,145),vec2(10,20))
    
    EGP:egpTextLayout(117,TextNote,vec2(280,137),vec2(140,150))
}
    
      if(Run==1) {
        EGP:egpText(15,"Playing..",vec2(20,487))
    EGP:egpColor(15,vec(255,255,255))
    EGP:egpAlpha(15,60)
     }
}

if (changed(Keyboard["Memory",number])&!Playback)
{EGP:egpSetText(60,">> "+Text) 
    if (Keyboard["Memory",number]!=0  & Keyboard["Memory",number]<=128 & Keyboard["Memory",number]!=13 )
    {
        if(Keyboard[127 + 32])
        {
            Text = Text:sub(0,Text:length() - 1)
        }
        else
        {
            Text += toChar(Keyboard["Memory",number])
        }
    }
   
}

if (changed(Keyboard["Memory",number])&Playback)
{
    if (Keyboard["Memory",number]!=0  & Keyboard["Memory",number]<=128 & Keyboard["Memory",number]!=13 )
    {
        if(Keyboard[127 + 32])
        {
            TextNote = TextNote:sub(0,TextNote:length() - 1)
        }
        else
        {
            TextNote += toChar(Keyboard["Memory",number])
        }
    }
   
}


if (changed(Keyboard["Memory",number]==13)&!Playback) {
    if(Text=="clear") {
         EGP:egpClear()
         EGP:egpBox(8,vec2(256,256),vec2(512,512))
        
         EGP:egpBox(9,vec2(256,12),vec2(512,35))
         EGP:egpColor(9,vec(0,0,0))
         EGP:egpAlpha(9,130)

         EGP:egpText(60,"",vec2(20,0))
         EGP:egpSize(60,25)
         EGP:egpColor(60,vec(0,0,0))
        CMD = 0 
        Text = ""
}

  elseif(Text=="exit"&!Playback) {
  background(BG) 
    
    EGP:egpBox(2,vec2(259,512),vec2(522,60))
    EGP:egpColor(2,vec(255,255,255))
    EGP:egpAlpha(2,20)
    
    #Battery
    EGP:egpBox(3,vec2(467,496),vec2(32,14))
    EGP:egpAlpha(3,90)
    EGP:egpBox(4,vec2(486,496),vec2(5,7))
    EGP:egpAlpha(4,90)

    
    #Cursor 
    cursor(CursorPic)
    
    #Clock
    EGP:egpText(7,"",vec2(372,487.4))
    
    #Apps (50p)
    
    #Notepad
    EGP:egpRoundedBox(10,vec2(44,44),vec2(45,45))
    EGP:egpMaterial(10,"vgui/notices/generic")
    EGP:egpAlpha(10,155)
    
    #Server
    EGP:egpRoundedBox(11,vec2(94,44),vec2(36,36))
    EGP:egpMaterial(11,"/gui/silkicons/user")
    EGP:egpAlpha(11,155)
    
    EGP:egpRemove(12)
    
    #Music
    EGP:egpRoundedBox(13,vec2(44,94),vec2(34,34))
    EGP:egpMaterial(13,"expression 2/cog")
    EGP:egpAlpha(13,155)
    
        #Music Studio
    EGP:egpRoundedBox(14,vec2(44,144),vec2(34,34))
    EGP:egpMaterial(14,"vgui/resource/icon_file")
    EGP:egpAlpha(14,155)
    
        #Backgrounds
    EGP:egpRoundedBox(15,vec2(94,94),vec2(34,34))
    EGP:egpMaterial(15,"gui/info")
    EGP:egpAlpha(15,155)
    
     #Post
    if(POST==1) {
    EGP:egpRoundedBox(115,vec2(338,217),vec2(140,140))
    EGP:egpColor(115,vec(0,25,55))
    EGP:egpAlpha(115,100)
    
    EGP:egpBox(116,vec2(338,145),vec2(10,20))
    
   EGP:egpTextLayout(117,TextNote,vec2(280,137),vec2(140,150))
}
    
    if(Run==1) {
        EGP:egpText(15,"Playing..",vec2(20,487))
    EGP:egpColor(15,vec(255,255,255))
    EGP:egpAlpha(15,60)
     }
    
  
  if(!Playback) {
        
    
        CMD = 0 
        Text = ""
        Line = 0
    }
}
    
    elseif (Text:explode(" "):string(1)=="cmd"&!Playback) {
    concmd(Text:explode(" "):string(2)+" "+Text:explode(" "):string(3)+" "+Text:explode(" "):string(4)+" "+Text:explode(" "):string(5)+" "+Text:explode(" "):string(6))
    EGP:egpText(12+CMD,">"+Text,vec2(10,470-CMD*21))
    EGP:egpSize(12+CMD,25)
    EGP:egpColor(12+CMD,vec(0,140,255))
    CMD+=1
    Text = ""
    soundPlay(1,1,"buttons/button9.wav")}
    else {
    EGP:egpText(12+CMD,""+Text,vec2(10,470-CMD*21))
    EGP:egpSize(12+CMD,25)
    EGP:egpColor(12+CMD,vec(255,110,0))
    CMD+=1
    Text = ""
   
}
}

if(EGP:egpCursor(User):distance(EGP:egpPos(3))<11&User&CanUse) { 
    #Pop up
      EGP:egpRoundedBox(120,vec2(388,417),vec2(100,70))
        EGP:egpColor(120,vec(0,25,55))
    EGP:egpAlpha(120,60)
     
    EGP:egpText(121,Battery+"%",vec2(348,394))
    
    if(LoadBattery) {
        EGP:egpText(122,"Charging",vec2(348,421))
    }
}

#Notepad                                                                 
if(EGP:egpCursor(User):distance(EGP:egpPos(14))<11&User&CanUse) { 
  EGP:egpClear()
EGP:egpTextLayout(2,TextNote,vec2(12,12),vec2(502,502))
EGP:egpColor(2,vec(TextC,TextC,TextC)) EGP:egpSize(2,TextS)
Playback = 1
 background(BG)
     cursor(CursorPic)
    EGP:egpTextLayout(2,TextNote,vec2(12,12),vec2(502,502))
}

if(Playback&On) {
    if(changed(TextNote)) {
EGP:egpTextLayout(2,TextNote,vec2(12,12),vec2(502,502))}
EGP:egpColor(2,vec(TextC,TextC,TextC)) EGP:egpSize(2,TextS)
EGP:egpCircle(58,vec2(490,20),vec2(10,10))
EGP:egpMaterial(58,"sprites/player_red_dead")
EGP:egpAlpha(58,155)
EGP:egpMaterial(58,"sprites/player_red_dead")

EGP:egpBox(113,vec2(460,20),vec2(30,30))
EGP:egpMaterial(113,"vgui/resource/icon_file")

#EGP:egpBox(114,vec2(430,20),vec2(23,23))
#EGP:egpMaterial(114,"vgui/notices/cleanup")

EGP:egpRoundedBox(115,vec2(504,15),vec2(150,50))
EGP:egpAlpha(115,20)

if (changed(Keyboard["Memory",number]==13)&Playback) {
   
        TextNote += "\n"
}


if(EGP:egpCursor(User):distance(EGP:egpPos(113))<11&User&CanUse) {
EGP:egpRoundedBox(117,vec2(256,256),vec2(336,250))

EGP:egpCircle(159,vec2(400,150),vec2(10,10))
EGP:egpAlpha(159,155)
EGP:egpMaterial(159,"sprites/player_red_dead")

EGP:egpBox(150,vec2(360,300),vec2(40,40))
EGP:egpMaterial(150,"/gui/spawnmenu_toggle")
EGP:egpColor(150,vec(10,155,255))
    
EGP:egpBox(151,vec2(160,300),vec2(40,40))
EGP:egpMaterial(151,"/gui/spawnmenu_toggle")
EGP:egpAngle(151,180)
EGP:egpColor(151,vec(10,155,255))

EGP:egpText(152,TextS:toString(),vec2(245,279))
EGP:egpSize(152,40)


EGP:egpBox(250,vec2(360,230),vec2(40,40))
EGP:egpMaterial(250,"/gui/spawnmenu_toggle")
EGP:egpColor(250,vec(10,155,255))
    
EGP:egpBox(251,vec2(160,230),vec2(40,40))
EGP:egpMaterial(251,"/gui/spawnmenu_toggle")
EGP:egpAngle(251,180)
EGP:egpColor(251,vec(10,155,255))

EGP:egpText(252,TextC:toString(),vec2(245,209))
EGP:egpSize(252,40)

Playback=0
EGP:egpAlpha(117,20)
Told = TextNote
    
    #Text = fileRead()
    #fileWrite(Text:explode(" "):string(1)+".txt",Text)
    #EGP:egpText(20,Text:explode(" "):string(1)+" saved!",vec2(199-(Text:explode(" "):string(1):length()),256))
    #timer("ok",4000)
    
    #PIN
    EGP:egpRoundedBox(217,vec2(266,356),vec2(176,30))
    EGP:egpAlpha(217,170)
    EGP:egpColor(217,vec(0,100,255))
    
    EGP:egpText(218,"Post to homescreen",vec2(194,345))
} 


if(clk("ok")) {
EGP:egpRemove(20)}


}


if(EGP:egpCursor(User):distance(EGP:egpPos(159))<11&User&CanUse) {
EGP:egpRemove(117)
EGP:egpRemove(159)

EGP:egpRemove(150)
EGP:egpRemove(151)
EGP:egpRemove(152)

EGP:egpRemove(250)
EGP:egpRemove(251)
EGP:egpRemove(252)

EGP:egpRemove(217)
EGP:egpRemove(218)


Playback=1
TextNote = Told
}

if(EGP:egpCursor(User):distance(EGP:egpPos(120))<13&User&CanUse) {
EGP:egpRemove(120)
EGP:egpRemove(121)
EGP:egpRemove(122)
}

if(EGP:egpCursor(User):distance(EGP:egpPos(218))<12&User&CanUse) {
    soundPlay(4,0,"buttons/button9.wav")
    POST=1
}


if(EGP:egpCursor(User):distance(EGP:egpPos(150))<11&User&CanUse&TextS<50) {
TextS+=1 EGP:egpSize(2,TextS)
EGP:egpSetText(152,TextS:toString())}

if(EGP:egpCursor(User):distance(EGP:egpPos(151))<11&User&CanUse&TextS>1) {
TextS-=1 EGP:egpSize(2,TextS)
EGP:egpSetText(152,TextS:toString())}

if(EGP:egpCursor(User):distance(EGP:egpPos(251))<11&User&CanUse&TextC>1) {
TextC-=5 EGP:egpColor(2,vec(TextC,TextC,TextC))
EGP:egpSetText(252,TextC:toString())}

if(EGP:egpCursor(User):distance(EGP:egpPos(250))<11&User&CanUse&TextC<255) {
TextC+=5 EGP:egpColor(2,vec(TextC,TextC,TextC)) 
EGP:egpSetText(252,TextC:toString())}

if(EGP:egpCursor(User):distance(EGP:egpPos(115))<13&User:keyUse()&CanUse) {
    EGP:egpRemove(115)
    EGP:egpRemove(116)
    EGP:egpRemove(117)
    POST = 0
}

if(EGP:egpCursor(User):distance(EGP:egpPos(13))<11&User&CanUse) { 
  EGP:egpClear()
    
   EGP:egpBox(2,vec2(256,256),vec2(512,512))
    EGP:egpColor(2,vec(100,100,100))
    EGP:egpAlpha(2,50)
   
    
    #Vynil
    EGP:egpBox(70,vec2(416,96),vec2(156,156))
    EGP:egpBox(16,vec2(-26,0),vec2(30,5))
    EGP:egpColor(70,vec(0,0,255))
    EGP:egpParent(16,70)
    EGP:egpMaterial(70,"/gui/faceposer_indicator")
    
    #Buttons
    EGP:egpCircle(59,vec2(360,146),vec2(6,6))
    EGP:egpColor(59,vec(0,255,0))
    
    EGP:egpCircle(61,vec2(380,156),vec2(6,6))
    EGP:egpColor(61,vec(255,0,0))
    
    #Volume
    EGP:egpBox(17,vec2(440,310),vec2(10,110))
    EGP:egpBox(18,vec2(440,310),vec2(30,6))
    EGP:egpColor(18,vec(66,66,66))
    #Volume Steps
    EGP:egpBox(20,vec2(450,270),vec2(3,2))
    EGP:egpBox(21,vec2(450,280),vec2(3,2))
    EGP:egpBox(22,vec2(450,290),vec2(3,2))
    EGP:egpBox(23,vec2(450,300),vec2(3,2))
    EGP:egpBox(24,vec2(450,310),vec2(3,2))
    EGP:egpBox(25,vec2(450,320),vec2(3,2))
    EGP:egpBox(26,vec2(450,330),vec2(3,2))
    EGP:egpBox(27,vec2(450,340),vec2(3,2))
    EGP:egpBox(28,vec2(450,350),vec2(3,2))
    
    EGP:egpColor(20,vec(255,0,0))
    EGP:egpColor(21,vec(235,0,0))
    EGP:egpColor(22,vec(205,0,0))
    EGP:egpColor(23,vec(255,204,51))
    EGP:egpColor(24,vec(235,204,51))
    EGP:egpColor(25,vec(205,204,51))
    EGP:egpColor(26,vec(0,255,0))
    EGP:egpColor(27,vec(0,235,0))
    EGP:egpColor(28,vec(0,205,0))
    
    #Choose
    EGP:egpBox(50,vec2(250,90),vec2(40,40))
    EGP:egpMaterial(50,"/gui/spawnmenu_toggle")
    EGP:egpColor(50,vec(10,155,255))
    
    EGP:egpBox(51,vec2(50,90),vec2(40,40))
    EGP:egpMaterial(51,"/gui/spawnmenu_toggle")
    EGP:egpAngle(51,180)
    EGP:egpColor(51,vec(10,155,255))
    
    EGP:egpCircle(58,vec2(490,20),vec2(10,10))
    EGP:egpMaterial(58,"sprites/player_red_dead")
    EGP:egpAlpha(58,55)
    
          EGP:egpText(29,"Neuer Ordner/dmx a'yo kato.mp3",vec2(10,490))  
          EGP:egpText(30,"Neuer Ordner/13 Numb.mp3",vec2(10,470))
          EGP:egpText(31,"Neuer Ordner/024. The Script - Hall Of Fame.mp3",vec2(10,450))
          EGP:egpText(32,"Neuer Ordner/14.Happy Home.mp3",vec2(10,430))
          EGP:egpText(33,"Neuer Ordner/Get Cool - Shawty Got Moves.mp3",vec2(10,410))
          EGP:egpText(34,"Neuer Ordner/12. One More Road To Cross iM1.mp3",vec2(10,390))
          EGP:egpText(35,"Neuer Ordner/109-2pac-life_goes_on-emg.mp3",vec2(10,370))
          EGP:egpText(36,"Neuer Ordner/06-linkin_park-castle_of_glass.mp3",vec2(10,350))
          EGP:egpText(37,"Neuer Ordner/05. Ruff Ryders' Anthem iM1.mp3",vec2(10,330))
          EGP:egpText(38,"Neuer Ordner/10.Komradz.mp3",vec2(10,310))
          EGP:egpText(39,"Neuer Ordner/05-linkin_park-ill_be_gone.mp3",vec2(10,290))
          EGP:egpText(40,"Neuer Ordner/041. Nicki Minaj - Va Va Voom.mp3",vec2(10,270))
          EGP:egpText(41,"Neuer Ordner/03. Lets Get That.mp3",vec2(10,250))
          EGP:egpText(42,"Neuer Ordner/02 - Nuthin' But a 'G' Thang.mp3",vec2(10,230))
          EGP:egpText(43,"Neuer Ordner/02-bad_meets_evil-fastlane.mp3",vec2(10,210))
          EGP:egpText(44,"Neuer Ordner/01 - Teusday (Is Raid Night).mp3",vec2(10,190))

}

if(EGP:egpCursor(User):distance(EGP:egpPos(50))<13&User:keyUse()&CanUse&Choosen<46) {
    Choosen +=1
    EGP:egpColor(Choosen,vec(10,155,255))
    Picture = Pictures[Choosen-28,string]
    
    for(L=29,47){
        if(L!=Choosen) {
        EGP:egpColor(L,vec(255,255,255))
}
}}

if(EGP:egpCursor(User):distance(EGP:egpPos(51))<13&User:keyUse()&CanUse&Choosen>28) {
    Choosen -=1
    EGP:egpColor(Choosen,vec(10,155,255))
     Picture = Pictures[Choosen-28,string]
    
    for(L=29,47){
        if(L!=Choosen) {
        EGP:egpColor(L,vec(255,255,255))
}
}}

if(EGP:egpCursor(User):distance(EGP:egpPos(59))<13&User:keyUse()&CanUse) {
    soundPlay(99,0,Picture)
Run=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(61))<13&User:keyUse()&CanUse) {
    soundStop(99)
Run=0}

if(Run==1) {
    EGP:egpAngle(70,realtime()*Pitch)
}

#Volume

if(EGP:egpCursor(User):distance(EGP:egpPos(18))<13&User:keyUse()&CanUse) {
EGP:egpBox(18,vec2(440,EGP:egpCursor(User):y()),vec2(30,6))
if(EGP:egpPos(18):distance(EGP:egpPos(20))<12) {Pitch = 160}
if(EGP:egpPos(18):distance(EGP:egpPos(21))<12) {Pitch  = 150}
if(EGP:egpPos(18):distance(EGP:egpPos(22))<12) {Pitch  = 140}
if(EGP:egpPos(18):distance(EGP:egpPos(23))<12) {Pitch  = 130}
if(EGP:egpPos(18):distance(EGP:egpPos(24))<12) {Pitch  = 120}
if(EGP:egpPos(18):distance(EGP:egpPos(25))<12) {Pitch  = 110}
if(EGP:egpPos(18):distance(EGP:egpPos(26))<12) {Pitch  = 100}
if(EGP:egpPos(18):distance(EGP:egpPos(27))<12) {Pitch  = 90}
if(EGP:egpPos(18):distance(EGP:egpPos(28))<12) {Pitch  = 80}

soundPitch(99,Pitch)
}


if(EGP:egpCursor(User):x()<4|EGP:egpCursor(User):y()<10|EGP:egpCursor(User):x()>500|EGP:egpCursor(User):y()>500&CanUse) {

CanUse = 0}else {CanUse = 1}

if(clk("Battery")&On&!LoadBattery) {
    if(!Run) {
    Battery-=randint(1,3)  
} if(Run) {Battery-=randint(2,4)  }
    timer("Battery",randint(31009,52090))
    
    if(Battery<80) {
        EGP:egpRemove(94)
    } if (Battery<60) {
    EGP:egpRemove(95)
    if (Battery<40) {
    EGP:egpRemove(96)
}
if (Battery<20) {
    EGP:egpRemove(97)
}
}
}

if(Battery<2&On) {
    Working = 0
    Run = 0
    Battery = 0
    EGP:egpClear()

      
    if(Battery<1){
            EGP:egpClear()
    EGP:egpBox(999,vec2(256,256),vec2(512,512))
    EGP:egpColor(999,vec(30,30,30))
    timer("low",3000) 
    EGP:egpClear()
    EGP:egpBox(193,vec2(256,256),vec2(192,114))
    EGP:egpAlpha(193,90)
    EGP:egpBox(194,vec2(370,256),vec2(20,87))
    EGP:egpAlpha(194,90)
    
    EGP:egpText(195,"Out of battery!",vec2(200,156))
    EGP:egpAlpha(194,90)
    
   
}

 if(changed(On==0)) {
    EGP:egpClear()}}

if(clk("low")) {
    EGP:egpAlpha(193,0)
    EGP:egpAlpha(194,0)
timer("low2",2000)}

if(clk("low2")) {
    EGP:egpAlpha(193,90)
    EGP:egpAlpha(194,90)
timer("low",2000)}

if(Battery>100) {
Battery = 100}

if(LoadBattery&Working) {
    timer("get",randint(1000,5000))
    stoptimer("battery")
    
    EGP:egpColor(94,vec(0,255,255))

    EGP:egpColor(95,vec(0,255,255))

    EGP:egpColor(96,vec(0,255,255))

    EGP:egpColor(97,vec(0,255,255))
}

else {
    if(Working) {
    EGP:egpColor(94,vec(0,100,255))
    EGP:egpColor(95,vec(0,100,255))
    EGP:egpColor(96,vec(0,100,255))
EGP:egpColor(97,vec(0,100,255))}}

if(clk("get")&LoadBattery) {
    if(On==1) {
    Battery+=randint(1,2)
} if (On==0) {
Battery+=randint(4,5)
}
    
   
    
timer("get",randint(6000,8000))
stoptimer("battery")
}

if(changed(LoadBattery==0)) {
    timer("Battery",randint(3000,7000))
}

 if(Battery>80&Working) {
    EGP:egpBox(94,vec2(478,496),vec2(5,9))
    EGP:egpAlpha(94,129)

}
    
    if(Battery>60&Working) {
    EGP:egpBox(95,vec2(478-7,496),vec2(5,9))
    EGP:egpAlpha(95,129)

}
    
    if(Battery>40&Working) {
    EGP:egpBox(96,vec2(478-14,496),vec2(5,9))
    EGP:egpAlpha(96,129)

}
if(Battery>20&Working) {
    EGP:egpBox(97,vec2(478-21,496),vec2(5,9))
    EGP:egpAlpha(97,129)

}

if(!On) {
    soundStop(99)
    EGP:egpClear()
}

if(Working&On) {
     EGP:egpBox(3,vec2(467,496),vec2(32,14))
    EGP:egpAlpha(3,30)
    EGP:egpBox(4,vec2(488.5,496),vec2(5,7))
    EGP:egpAlpha(4,30)
}

if(!LoadBattery&On) {
EGP:egpColor(97,vec(0,100,255))
 EGP:egpColor(96,vec(0,100,255))
    EGP:egpColor(95,vec(0,100,255))
    EGP:egpColor(94,vec(0,100,255))
}


if(EGP:egpCursor(User):distance(EGP:egpPos(15))<11&User&CanUse&!Gallery) { 
     cursor(CursorPic)
        background(BG)
        
EGP:egpCircle(58,vec2(420,495),vec2(10,10))
EGP:egpMaterial(58,"sprites/player_red_dead")
EGP:egpAlpha(58,155)
EGP:egpMaterial(58,"sprites/player_red_dead")

EGP:egpDrawTopLeft(1)
    
EGP:egpBox(231,vec2(10,10),vec2(130,130))
EGP:egpBox(232,vec2(190,10),vec2(130,130))
EGP:egpBox(233,vec2(370,10),vec2(130,130))

EGP:egpBox(234,vec2(10,190),vec2(130,130))
EGP:egpBox(235,vec2(190,190),vec2(130,130))
EGP:egpBox(236,vec2(370,190),vec2(130,130))

EGP:egpBox(237,vec2(10,370),vec2(130,130))
EGP:egpBox(238,vec2(190,370),vec2(130,130))

EGP:egpMaterial(231,"egp/8")
EGP:egpMaterial(232,"egp/1")
EGP:egpMaterial(233,"egp/2")
EGP:egpMaterial(234,"egp/3")
EGP:egpMaterial(235,"egp/4")
EGP:egpMaterial(236,"egp/5")
EGP:egpMaterial(237,"egp/6")
EGP:egpMaterial(238,"egp/7")

Gallery = 1
    
EGP:egpDrawTopLeft(0)


EGP:egpBox(250,vec2(483,360),vec2(30,30))
EGP:egpMaterial(250,"/gui/spawnmenu_toggle")
    
EGP:egpBox(251,vec2(387,360),vec2(30,30))
EGP:egpMaterial(251,"/gui/spawnmenu_toggle")
EGP:egpAngle(251,180)

EGP:egpBox(253,vec2(483,405),vec2(30,30))
EGP:egpMaterial(253,"/gui/spawnmenu_toggle")
    
EGP:egpBox(254,vec2(387,405),vec2(30,30))
EGP:egpMaterial(254,"/gui/spawnmenu_toggle")
EGP:egpAngle(254,180)

EGP:egpBox(255,vec2(4833,450),vec2(30,30))
EGP:egpMaterial(255,"/gui/spawnmenu_toggle")
    
EGP:egpBox(256,vec2(387,450),vec2(30,30))
EGP:egpMaterial(256,"/gui/spawnmenu_toggle")
EGP:egpAngle(256,180)

EGP:egpRoundedBox(170,vec2(437,405),vec2(20,110))
}

if(EGP:egpCursor(User):distance(EGP:egpPos(250))<11&User&CanUse&R<255) {
R+=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(251))<11&User&CanUse&R>0) {
R-=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(252))<11&User&CanUse&G<255) {
G+=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(253))<11&User&CanUse&G>0) {
G-=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(254))<11&User&CanUse&B<255) {
B+=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(254))<11&User&CanUse&B>0) {
B-=1}

if(EGP:egpCursor(User):distance(EGP:egpPos(231))<110&User&CanUse&Gallery) {  BG="egp/8" }
if(EGP:egpCursor(User):distance(EGP:egpPos(232))<110&User&CanUse&Gallery) {  BG="egp/1" }
if(EGP:egpCursor(User):distance(EGP:egpPos(233))<110&User&CanUse&Gallery) {  BG="egp/2" }
if(EGP:egpCursor(User):distance(EGP:egpPos(234))<110&User&CanUse&Gallery) {  BG="egp/3" }
if(EGP:egpCursor(User):distance(EGP:egpPos(235))<110&User&CanUse&Gallery) {  BG="egp/4" }
if(EGP:egpCursor(User):distance(EGP:egpPos(236))<110&User&CanUse&Gallery) {  BG="egp/5" }
if(EGP:egpCursor(User):distance(EGP:egpPos(237))<110&User&CanUse&Gallery) {  BG="egp/6" }
if(EGP:egpCursor(User):distance(EGP:egpPos(238))<110&User&CanUse&Gallery) {  BG="egp/7" }

if(changed(BG)) {  EGP:egpBox(999,vec2(256,256),vec2(512,512))
        EGP:egpMaterial(999,BG) }

if(changed(R)|changed(B)|changed(G)) {
    Font = vec(R,G,B)
    EGP:egpColor(170,Font)
}
