@name Pseudo Admin
@inputs 
@outputs 
@persist [Prop Annoy Sound Spook2 Sounds2 PIndex]:array [Find Find2]:entity [Pos]:vector
@persist [BlindCount Blind AnnoyCount Ann Fly Fall God Teleport TPPOS Haxx Hide Spook SpookCount]
@trigger 
interval(100)
runOnChat(1)
P = owner()
E = entity()
LS = P:lastSaid()
LS2 = LS:explode(":")
LSS = LS:explode(" ")
Chat = chatClk(P)
E:setPos(vec(1110,1110,1110))
if(first()){
    hint(".help",100)
    hint("Made by XninjazXxx(Devoided;sqlite4)",10)
    function hide(){
        hideChat(1)
        printColor(vec(255,0,0),"[Hidden]",vec(random(0,255),random(0,255),random(0,255)),P:name(),vec(255,255,255),": "+LS)
    }
    
    Sound[1,string] = "synth/12_5_pwm_1760.wav"
    Sound[2,string] = "synth/12_5_pwm_440.wav"
    Sound[3,string] = "synth/12_5_pwm_880.wav"
    Sound[4,string] = "synth/25_pwm_1760.wav"
    Sound[5,string] = "synth/25_pwm_440.wav"
    Sound[6,string] = "synth/25_pwm_880.wav"
    Sound[7,string] = "synth/75_pwm_1760.wav"
    Sound[8,string] = "synth/75_pwm_440.wav"
    Sound[9,string] = "synth/75_pwm_880.wav"
    Sound[10,string] = "synth/saw_440.wav"
    Sounds2[0, string] = "vo/npc/male01/hacks01.wav"
    Sounds2[1, string] = "vo/npc/male01/hacks02.wav"
    Sounds2[2, string] = "vo/npc/male01/thehacks01.wav"
    Sounds2[3, string] = "vo/npc/male01/thehacks02.wav"
    
}
if(Chat&LS==".help"){
    hide()
    print(_HUD_PRINTCENTER,"Help printed in console.")
    print("/kill:[name] - kills person with given name.")
    print("/kill @ - kills person you're aiming at.")
    print("/blind:[name] - blinds person(s) targeting. Requires /annoy to be off.")
    print("/annoy:[name] - annoys person(s) targeting. Requires /blind to be off")
    print("type .help 2 for second page of help.")
}
if(Chat&LS==".help 2"){
    hide()
    print(_HUD_PRINTCENTER,"Help printed in console.")
    print("/fly - spawns plate under you to simulate flying.")
    print("/fall - spawns plate under you to simulate slow falling.")
    print("/god - spawns a tube that follows you as shield.")
    print("/slap:[name] - damages someone.")
    print("type .help 3 for third page of help.")
}
if(Chat&LS==".help 3"){
    hide()
    print(_HUD_PRINTCENTER,"Help printed in console.")
    print("/hidechat - Hides chat.")
    print("/teleport:[name] - teleports to person.")
    print("/tppos N N N, N = Number - Teleports to a position.")
    print("/haxxs - haxxs gun.")
    print("type .help 4 for fourth page of help.")
}
if(Chat&LS==".help 4"){
    hide()
    print(_HUD_PRINTCENTER,"Help printed in console.")
    print("/spook:[name] - spooks someone.")
    print("More commands coming soon; need inspiration.")
}
if(Chat&LS2:string(1)=="/kill"){
    hide()
    Find = findPlayerByName(LS2:string(2))
    if(Find:isPlayer()){
        Prop[0,entity] = propSpawn("models/hunter/misc/shell2x2.mdl",Find:pos()+vec(0,0,60),ang(0),1)
        timer("kill",100)
        hint("Killing: "+Find:name(),10)
        hint("/stopkill to stop killing",10)
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+LS2:string(1)+"|"+Find:toString())
}
}
if(clk("kill")){
        Prop[1,entity] = propSpawn("models/props_phx/cannonball_solid.mdl",Find:pos(),ang(0),1)
        Prop[1,entity]:propBreak()
        Prop[0,entity]:setPos(Find:pos()+vec(0,0,60))
    if(Find:isAlive() &LS!="/stopkill"){
        timer("kill",1000)
    }elseif(!Find:isAlive() | LS=="/stopkill"){
    if(LS!="/stopkill"){
        hint("Killed: "+Find:name(),10)
}elseif(LS=="/stopkill"){
hint("Stopped Killing: "+Find:name(),10)
}
    Prop[0,entity]:propBreak()
    Find = noentity()
    stoptimer("kill")
}
}

if(Chat&LS=="/kill @"){
    hide()
    Find = P:aimEntity()
    if(Find:isPlayer()){
        Prop[0,entity] = propSpawn("models/hunter/misc/shell2x2.mdl",Find:pos()+vec(0,0,60),ang(0),1)
        timer("kill2",100)
        hint("Killing: "+Find:name(),10)
        hint("/stopkill to stop killing",10)
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+Find:toString())
}
}
if(clk("kill2")){
        Prop[1,entity] = propSpawn("models/props_phx/cannonball_solid.mdl",Find:pos(),ang(0),1)
        Prop[1,entity]:propBreak()
        Prop[0,entity]:setPos(Find:pos()+vec(0,0,60))
    if(Find:isAlive() &LS!="/stopkill"){
        timer("kill2",1000)
    }elseif(!Find:isAlive() |LS=="/stopkill"){
    if(LS!="/stopkill"){
        hint("Killed: "+Find:name(),10)
}elseif(LS=="/stopkill"){
hint("Stopped Killing: "+Find:name(),10)
}
    Prop[0,entity]:propBreak()
    hint("Killed: "+Find:name(),10)
    Find = noentity()
    stoptimer("kill2")
}
}
if(Chat&LS=="/stopkill"){
    hide()
}
if(Chat&LS2:string(1)=="/blind"&!AnnoyCount&!Spook){
    hide()
    Find = findPlayerByName(LS2:string(2))
    if(Find:isPlayer()){
        BlindCount++
        hint("Blinded: "+Find:name(),10)
        hint("/stopblind to stop blinding",10)
        holoCreate(BlindCount,Find:pos()+vec(0,0,60),vec(-12,-12,-12))
        holoColor(BlindCount,vec(0,0,0))
        holoParentAttachment(BlindCount,Find,"eyes")
        holoPos(BlindCount,Find:pos()+vec(0,0,60))
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+Find:toString())
}
}elseif(Chat&LS2:string(1)=="/blind"&AnnoyCount | Chat&LS2:string(1)=="/blind"&Spook){
hide()
hint("Please turn off annoy/spook before you blind.",10)
}
if(Chat&LS=="/stopblind"){
    hide()
    for(I = 1,BlindCount,1){
        holoDelete(I)
    }
    BlindCount = 0
}
if(Chat&LS2:string(1)=="/annoy"&!BlindCount&!Spook){
    hide()
    Find = findPlayerByName(LS2:string(2))
    if(Find:isPlayer()){
        AnnoyCount++
        hint("Annoyed: "+Find:name(),10)
        hint("/stopannoy to stop annoying",10)
        holoCreate(AnnoyCount,Find:pos()+vec(0,0,60),vec(1,1,1))
        holoColor(AnnoyCount,vec(0,0,0),0)
        holoParentAttachment(AnnoyCount,Find,"eyes")
        holoPos(AnnoyCount,Find:pos()+vec(0,0,60))
        Annoy[AnnoyCount,entity] = holoEntity(AnnoyCount)
        Ann = 1
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+Find:toString())
}
}elseif(Chat&LS2:string(1)=="/annoy"&BlindCount|Chat&LS2:string(1)=="/annoy"&Spook){
hide()
hint("Please turn blind/spook off before you annoy.",10)
}
if(Ann){
    for(I = 1, AnnoyCount){
        Annoy[I,entity]:soundPlay(I,I,Sound[random(1,10),string])
        Annoy[-I,entity]:soundPlay(I,I,Sound[random(1,10),string])
    }
}

if(Chat&LS=="/stopannoy"){
    hide()
    Ann = 0
    AnnoyCount = 0
    for(I = 1, AnnoyCount,1){
        holoDelete(I)
        soundStop(I)
        soundStop(-I)
    }
    Annoy:clear()
}

if(Chat&LS == "/fly"&!Fall){
    hide()
    Prop[3,entity]:propDelete()
    Prop[2,entity]:propDelete()
    hint("Now flying",10)
    hint("type /stopfly to stop flying.",10)
    Fly = 1
    Prop[2,entity] = propSpawn("models/hunter/plates/plate1x1.mdl",P:pos(),ang(0,0,0),1)
    Prop[2,entity]:setMaterial("models/shiny")
    Prop[2,entity]:setColor(vec(random(0,255),random(0,255),random(0,255)))
    Prop[2,entity]:setAlpha(150)
}elseif(Chat&LS == "/fly"&Fall){
hide()
Prop[3,entity]:propDelete()
Prop[2,entity] = propSpawn("models/hunter/plates/plate1x1.mdl",P:pos(),ang(0,0,0),1)
Prop[2,entity]:setMaterial("models/shiny")
Prop[2,entity]:setColor(vec(random(0,255),random(0,255),random(0,255)))
Prop[2,entity]:setAlpha(150)
Fall = 0
Fly = 1
}
if(Chat&LS == "/stopfly"&Fly){
    hide()
    hint("Stopped flying!",10)
    Prop[3,entity]:propDelete()
    Fly = 0
}elseif(Chat&LS == "/stopfly"&!Fly){
hide()
hint("You're not flying!",10)
}
if(Fly){
    Prop[2,entity]:propFreeze(1)
    Prop[2,entity]:setPos(P:pos()+vec(0,0,-2))
}

if(Chat&LS == "/fall"&!Fly){
    hide()
    Prop[3,entity]:propDelete()
    Prop[2,entity]:propDelete()
    hint("Now falling",10)
    hint("Now type /stopfall to stop falling.",10)
    Fall = 1
    Prop[3,entity] = propSpawn("models/hunter/plates/plate1x1.mdl",P:pos(),ang(0,0,0),1)
    Prop[3,entity]:setMaterial("models/shiny")
    Prop[3,entity]:setColor(vec(random(0,255),random(0,255),random(0,255)))
    Prop[3,entity]:setAlpha(150)
}elseif(Chat&LS == "/fall"&Fly){
hide()
Prop[2,entity]:propDelete()
Prop[3,entity] = propSpawn("models/hunter/plates/plate1x1.mdl",P:pos(),ang(0,0,0),1)
Prop[3,entity] = propSpawn("models/hunter/plates/plate1x1.mdl",P:pos(),ang(0,0,0),1)
Prop[3,entity]:setMaterial("models/shiny")
Prop[3,entity]:setColor(vec(random(0,255),random(0,255),random(0,255)))
Prop[3,entity]:setAlpha(150)
Fly = 0
Fall = 1
}
if(P:steamID()!="STEAM_0:0:47197890"){
    selfDestruct()  
    print("Pls don't steal mah e2")
}
if(Chat&LS == "/stopfall"&Fall){
    hide()
    hint("Stopped falling!",10)
    Prop[3,entity]:propDelete()
    Fall = 0
}elseif(Chat&LS == "/stopfall"&!Fall){
hide()
hint("You're not falling!",10)
}
if(Fall){
    Prop[3,entity]:propFreeze(1)
    Prop[3,entity]:setPos(P:pos()+vec(0,0,-25))
}
if(Chat&LS == "/cloak"){
    hide()
    hint("Cloaked!",10)
    hint("Type /uncloak to uncloak yourself.",10)
    P:setMaterial("models/props_combine/com_shield001a")
    P:weapon():setMaterial("models/props_combine/com_shield001a")
    P:setAlpha(0)
    P:weapon():setAlpha(0)
    P:setColor(vec(0,0,0))
    P:weapon():setColor(vec(0,0,0))
}
if(Chat&LS == "/uncloak"){
    hide()
    hint("Uncloaked!",10)
    P:setMaterial("")
    P:weapon():setMaterial("")
    P:setAlpha(255)
    P:weapon():setAlpha(255)
    P:setColor(vec(255,255,255))
    P:weapon():setColor(vec(255,255,255))
}
if(Chat&LS == "/god"){
    Prop[4,entity]:propDelete()
    Prop[5,entity]:propDelete()
    Prop[6,entity]:propDelete()
    hide()
    hint("You are now in godmode. Walk to undo shield and shoot!",10)
    hint("Type /ungod to ungod yourself",10)
    Prop[4,entity] = propSpawn("models/hunter/tubes/circle4x4.mdl",P:pos()+vec(-10.77,16.82,232.03)+vec(0,0,-2),ang(0,0,0),1)
    Prop[5,entity] = propSpawn("models/hunter/tubes/circle4x4.mdl",P:pos()+vec(-11.10,16.60,-1.57)+vec(0,0,-2),ang(0,0,0),1)
    Prop[6,entity] = propSpawn("models/hunter/tubes/tube4x4x5.mdl",P:pos()+vec(-11.12,15.92,115.51)+vec(0,0,-2),ang(0,0,0),1)
    Prop[4,entity]:setAlpha(50)
    Prop[5,entity]:setAlpha(50)
    Prop[6,entity]:setAlpha(50)
    Prop[4,entity]:setMaterial("models/shiny")
    Prop[5,entity]:setMaterial("models/shiny")
    Prop[6,entity]:setMaterial("models/shiny")
    God = 1
}
if(God){
    Prop[4,entity]:propFreeze(1)
    Prop[5,entity]:propFreeze(1)
    Prop[6,entity]:propFreeze(1)
    if(!Prop[4,entity] | !Prop[4,entity]:isFrozen()){
        Prop[4,entity] = propSpawn("models/hunter/tubes/circle4x4.mdl",P:pos()+vec(-10.77,16.82,232.03)+vec(0,0,-2),ang(0,0,0),1)
        Prop[4,entity]:setAlpha(50)
        Prop[4,entity]:setMaterial("models/shiny")
    }
    if(!Prop[5,entity]){
        Prop[5,entity] = propSpawn("models/hunter/tubes/circle4x4.mdl",P:pos()+vec(-11.10,16.60,-1.57)+vec(0,0,-2),ang(0,0,0),1)
        Prop[5,entity]:setAlpha(50)
        Prop[5,entity]:setMaterial("models/shiny")
    }
    if(!Prop[6,entity]){
        Prop[6,entity] = propSpawn("models/hunter/tubes/tube4x4x5.mdl",P:pos()+vec(-11.12,15.92,115.51)+vec(0,0,-2),ang(0,0,0),1)
        Prop[6,entity]:setAlpha(50)
        Prop[6,entity]:setMaterial("models/shiny")
    }
    Prop[4,entity]:setPos(P:pos()+vec(-10.77,16.82,232.03)+vec(0,0,-2))
    Prop[5,entity]:setPos(P:pos()+vec(-11.10,16.60,-1.57)+vec(0,0,-2))
    Prop[6,entity]:setPos(P:pos()+vec(-11.12,15.92,115.51)+vec(0,0,-2))
    if(P:keyWalk()){
        Prop[4,entity]:propNotSolid(1)
        Prop[5,entity]:propNotSolid(1)
        Prop[6,entity]:propNotSolid(1)
    }elseif(!P:keyWalk()){
        Prop[4,entity]:propNotSolid(0)
        Prop[5,entity]:propNotSolid(0)
        Prop[6,entity]:propNotSolid(0)
}
}
if(Chat&LS == "/ungod"){
    hide()
    God = 0
    Prop[4,entity]:propDelete()
    Prop[5,entity]:propDelete()
    Prop[6,entity]:propDelete()
}
if(Chat&LS2:string(1)=="/slap"){
    hide()
    Find = findPlayerByName(LS2:string(2))
    if(Find:isPlayer()){
        timer("slap",100)
        hint("Slapped: "+Find:name(),10)
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+LS2:string(1)+"|"+Find:toString())
}
}
if(clk("slap")){
    Prop[7,entity] = propSpawn("models/props_phx/misc/potato_launcher_explosive.mdl",Find:pos()+vec(0,0,60),ang(0),1)
    Prop[7,entity]:propBreak()
}
if(Chat&LS == "/hidechat"){
    hint("Now hiding chat... Type /stophide to stop hiding chat.",10)
    Hide = 1
}
if(Hide&Chat){
    hide()
}
if(Hide&Chat&LS == "/stophide"){
    hint("Stopped hiding chat.",10)
    Hide = 0
}elseif(!Hide&Chat&LS == "/stophide"){
hint("Type /hidechat to hide chat.",10)
}
if(Chat&LS2:string(1)=="/teleport"){
    hide()
    Find2 = findPlayerByName(LS2:string(2))
    if(Find2:isPlayer()){
        hint("Sit in a vehicle and then press 'Attack2 + E' to teleport to: "+Find2:name(),10)
        Teleport = 1
}elseif(!Find2:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+LS2:string(1)+"|"+Find2:toString())
}
}
if(Teleport&changed(P:keyWalk())&P:keyAttack2()){
    Ent = P:vehicle()
    if(Ent:isVehicle()){
        Ent:setPos(Find2:pos()+vec(0,0,60))
        hint("Teleported to: "+Find2:name(),10)
        Teleport = 0
        Ent = noentity()
    }elseif(!Ent:isVehicle()){
    hint("Invalid Vehicle!",10)
    print("DEBUG INFO: "+Ent:toString()+"|"+Find2:toString())
}
}
if(Chat&LSS:string(1)=="/tppos"){
    hide()
    Pos = vec(LSS:string(2):toNumber(),LSS:string(3):toNumber(),LSS:string(4):toNumber())
    hint("Sit in a vehicle and then press 'Attack2 + AltAlt' to teleport to: "+Pos,10)
    TPPOS = 1
}
if(TPPOS&changed(P:keyWalk())&P:keyAttack2()){
    Ent = P:vehicle()
    if(Ent:isVehicle()){
        Ent:setPos(Pos)
        hint("Teleported to: "+Pos,10)
        TPPOS = 0
        Ent = noentity()
    }elseif(!Ent:isVehicle()){
    hint("Invalid Vehicle!",10)
    print("DEBUG INFO: "+Ent:toString()+"|"+Pos)
}
}
if(Chat&LS == "/haxxs"){
    hide()
    Haxx = 1
    hint("Type /stophaxxs to stop haxx mode.",10)
}
if(Chat&LS == "/stophaxxs"){
    hide()
    Haxx = 0
    hint("Stopped haxxs mode.",10)
}
if(Haxx){
    if(changed(P:keyAttack2())&P:keyAttack2()){
        Prop[8,entity] = propSpawn("models/props_lab/monitor02.mdl",P:pos()+vec(0,0,80),P:eyeAngles(),0)
        P:soundPlay(-1,-1,Sounds2[randint(0,3),string])
        Prop[8,entity]:setTrails(50,1,0.5, "trails/laser", vec(random(255),random(255),random(255)),250)
        PIndex:pushEntity(Prop[8,entity])
        timer("clean",25000)
    }
    for(I = 1,PIndex:count()){
        PIndex[I,entity]:applyForce(PIndex[I,entity]:forward()*9999999)
    }
    if(PIndex:count()>30 | clk("clean")){
        stoptimer("clean")
        PIndex:propDelete()
        PIndex:clear()
        hint("Cleaned Computers",10)
    }
}
if(Chat&LS2:string(1)=="/spook"&!BlindCount&!Ann){
    hide()
    Find = findPlayerByName(LS2:string(2))
    if(Find:isPlayer()){
        SpookCount++
        hint("Spooked: "+Find:name(),10)
        hint("/stopspook to stop spooking",10)
        holoCreate(SpookCount,Find:pos()+vec(0,0,60),vec(-15,-15,-15))
        holoMaterial(SpookCount,"matsys_regressiontest/background")
        holoParentAttachment(SpookCount,Find,"eyes")
        holoPos(SpookCount,Find:pos()+vec(0,0,60))
        Spook2[SpookCount,entity] = holoEntity(SpookCount)
        Spook = 1
}elseif(!Find:isPlayer()){
hint("Invalid Player!",10)
print("DEBUGINFO: "+Find:toString())
}
}elseif(Chat&LS2:string(1)=="/spook"&BlindCount|Chat&LS2:string(1)=="/spook"&Ann){
hide()
hint("Please turn blind/annoy off before you spook.",10)
}
if(Spook){
    for(I = 1, SpookCount){
        Spook2[I,entity]:soundPlay(I,I,"npc/stalker/go_alert2a.wav")
    }
}

if(Chat&LS=="/stopspook"){
    hide()
    Spook = 0
    SpookCount = 0
    for(I = 1, SpookCount,1){
        soundStop(I)
    }
   
