Never posted this, but might as well. It’s my old chatbot, some shit might not work anymore, but meh:
@name Jmazouri's Incredible chat Parser [JIP] v0.6
@inputs Link:wirelink
@outputs Update
@persist
@trigger
#################################################################################################
if (first()|duped()) {
concmd("wait 150; say "+"[JIP] Has just been spawned! Find it on the map!")
}
timer("update",10000)
if (clk("update")) {
Update = 1
} else {Update = 0}
if (first()) {
holoCreate(550)
holoCreate(551)
holoCreate(552)
holoCreate(553)
holoCreate(554)
holoCreate(555)
holoCreate(556)
holoPos(550,entity():pos()+vec(0,-20,50))
holoPos(551,entity():pos()+vec(0,-27,31))
holoPos(552,entity():pos()+vec(0,10,45))
holoPos(553,entity():pos()+vec(0,10,59))
holoPos(554,entity():pos()+vec(0,10,31))
holoPos(555,entity():pos()+vec(0,40,45))
holoPos(556,entity():pos()+vec(0,54.2,54.6))
holoScaleUnits(550,vec(1,10,30))
holoScaleUnits(551,vec(1,25,10))
holoScaleUnits(552,vec(1,10,20))
holoScaleUnits(553,vec(1,30,10))
holoScaleUnits(554,vec(1,30,10))
holoScaleUnits(555,vec(1,10,40))
holoScaleUnits(556,vec(1,20,20))
holoMaterial(550,"models/XQM/LightLinesGB")
holoMaterial(551,"models/XQM/LightLinesGB")
holoMaterial(552,"models/XQM/LightLinesGB")
holoMaterial(553,"models/XQM/LightLinesGB")
holoMaterial(554,"models/XQM/LightLinesGB")
holoMaterial(555,"models/XQM/LightLinesGB")
holoMaterial(556,"models/XQM/LightLinesGB")
}
#Link:writeString("[JIP] Command List, v0.6",3,2,900,0,1)
#Link:writeString("OWNER ONLY COMMANDS",1,4,119,0,0)
#Link:writeString("kill, playerinfo, entinfo,",1,6,900,0,0)
#Link:writeString("music, musiclist, stopmusic,",1,8,900,0,0)
#Link:writeString("musicvolume",1,10,900,0,0)
#Link:writeString("GLOBAL COMMANDS (ANYONE)",1,12,191,0,0)
#Link:writeString("8ball, givehp, comusage",1,14,900,0,0)
#################################################################################################
runOnTick(1)
runOnChat(1)
RandomInteger1 = randint(1,3)
RandomInteger2 = randint(1,19)
JipTrig = owner():lastSaid():explode(" ")
Var1 = JipTrig:string(1)
Var2 = JipTrig:string(2)
Var3 = JipTrig:string(3)
Var4 = JipTrig:string(4)
Var5 = JipTrig:string(5)
Var6 = JipTrig:string(6)
Var7 = JipTrig:string(7)
Var8 = JipTrig:string(8)
Var9 = JipTrig:string(9)
Var10 = JipTrig:string(10)
Var11 = JipTrig:string(11)
Var12 = JipTrig:string(12)
Var13 = JipTrig:string(13)
Var14 = JipTrig:string(14)
Var15 = JipTrig:string(15)
Var16 = JipTrig:string(16)
Var17 = JipTrig:string(17)
Var18 = JipTrig:string(18)
Var19 = JipTrig:string(19)
Var20 = JipTrig:string(20)
Player = findPlayerByName(Var3)
#################################################################################################
if (chatClk(owner()) == 1) {
#################################################################################################
if (Var1 == "jip") {
#################################################################################################
# "kill" function
if (Var2 == "kill") {
Random = RandomInteger1
if (Random == 1) {
Type = "maul"
} elseif (Random == 2) {
Type = "slay"
} elseif (Random == 3) {
Type = "sslay"
}
if (Random == 1| Random == 2| Random == 3) {
concmd("ulx "+Type+" "+findPlayerByName(Var3):name())
}
}
#################################################################################################
# "findinfo" function
if (Var2 == "entinfo") {
PointEnt = owner():aimEntity()
if (PointEnt) {
if (PointEnt:isPlayer()) {
hint("Use \"playerinfo\" for players!",10)
}
else {
hint("Type: "+PointEnt:type(),10)
hint("R: "+PointEnt:getColor():x():toString(),10)
hint("G: "+PointEnt:getColor():y():toString(),10)
hint("B: "+PointEnt:getColor():z():toString(),10)
hint("Owned by: "+PointEnt:owner():name(),10)
hint("Ent ID: "+PointEnt:id():toString(),10)
hint("Model: "+PointEnt:model(),10)
}
}
else {hint("You can't use this on the world, silly.",7)}
}
#################################################################################################
# "playerinfo" function
if (Var2 == "playerinfo") {
if (Var3 != "") {
Player = findPlayerByName(Var3)
if (Player) {
if(Player:isAdmin()==1){IsAdmin="Yes"}
else {IsAdmin="No"}
if(Player:isSuperAdmin()==1){IsSuperAdmin="Yes"}
else {IsSuperAdmin="No"}
hint("Name: "+Player:name(),10)
hint("SteamID: "+Player:steamID(),10)
hint("EntID: "+Player:id():toString(),10)
hint("Ping: "+Player:ping():toString(),10)
hint("Model: "+Player:model(),10)
hint("Is an Admin?: "+IsAdmin,10)
hint("Is a SuperAdmin?: "+IsSuperAdmin,10)
}
else {hint("Name was not found.",10)}
}
else {hint("That is not a Player! Use \"entinfo\"!",10)}
}
#################################################################################################
# "music" function
if (Var2 == "music") {
Ballsack = table()
Ballsack:setString("stillalive","music/portal_still_alive.mp3")
Ballsack:setString("4kdegreeskelvin","music/portal_4000_degrees_kelvin.mp3")
Ballsack:setString("gamestartup1","ui/gamestartup1.mp3")
Ballsack:setString("gamestartup2","ui/gamestartup2.mp3")
Ballsack:setString("gamestartup3","ui/gamestartup3.mp3")
Ballsack:setString("gamestartup4","ui/gamestartup4.mp3")
Ballsack:setString("gamestartup5","ui/gamestartup5.mp3")
Ballsack:setString("gamestartup6","ui/gamestartup6.mp3")
Ballsack:setString("gamestartup7","ui/gamestartup7.mp3")
Ballsack:setString("ravebreak","ravebreak.mp3")
if (Var3 == "stillalive" | Var3 == "4kdegreeskelvin" | Var3 == "gamestartup1" | Var3 == "gamestartup2" | Var3 == "gamestartup3" | Var3 == "gamestartup4" | Var3 == "gamestartup5" | Var3 == "gamestartup6" | Var3 == "gamestartup7" | Var3 == "ravebreak") {
owner():soundPlay(7331,0,Ballsack:string(Var3))
} else {
hint("That song does not exist!",10)}
}
if (Var2 == "musiclist") {
concmd("wait 150;say Current [JIP] Music List, v0.6")
concmd("wait 300;say To use, say \"jip music (songindexhere)\"")
concmd("wait 450;say stillalive, 4kdegreeskelvin, gamestartup1-7, ravebreak")
}
if (Var2 == "stopmusic") {
soundStop(7331)
}
if (Var2 == "musicvolume") {
soundVolume(7331,Var3:toNumber())
}
#################################################################################################
#DO NOT REMOVE THESE TWO }s THEY ARE THE MOST IMPORTANT }s EVER
}
}
#################################################################################################
#################################################################################################
#################################################################################################
#Begin serverwide functions
JipTrigS = lastSaid():lower():explode(" ")
Var1S = JipTrigS:string(1)
Var2S = JipTrigS:string(2)
Var3S = JipTrigS:string(3)
Var4S = JipTrigS:string(4)
Var5S = JipTrigS:string(5)
Var6S = JipTrigS:string(6)
Var7S = JipTrigS:string(7)
Var8S = JipTrigS:string(8)
Var9S = JipTrigS:string(9)
Var10S = JipTrigS:string(10)
Var11S = JipTrigS:string(11)
Var12S = JipTrigS:string(12)
Var13S = JipTrigS:string(13)
Var14S = JipTrigS:string(14)
Var15S = JipTrigS:string(15)
Var16S = JipTrigS:string(16)
Var17S = JipTrigS:string(17)
Var18S = JipTrigS:string(18)
Var19S = JipTrigS:string(19)
Var20S = JipTrigS:string(20)
#################################################################################################
if (chatClk() == 1) {
JipLastSpokeS = lastSpoke()
#################################################################################################
if (Var1S == "jip") {
#################################################################################################
# "8ball" function
if (Var2S == "8ball") {
if (Var3S == "do" | Var3S == "does" | Var3S == "am" | Var3S == "is" | Var3S == "should" | Var3S == "are" | Var3S == "did" | Var3S == "can" | Var3S == "will" | Var3S == "were" | Var3S == "have"| Var3S == "has") {
Random = RandomInteger2
Array = array()
Array:setString(1,"My sources say Yes.")
Array:setString(2,"My sources say no.")
Array:setString(3,"Yes.")
Array:setString(4,"No.")
Array:setString(5,"Maybe.")
Array:setString(6,"It is unknown.")
Array:setString(7,"Do I look like I know?")
Array:setString(8,"It's pretty damn obvious.")
Array:setString(9,"Why are you so dense? Of course!")
Array:setString(10,"You're kidding, right?. Of course not.")
Array:setString(11,"There's a small chance.")
Array:setString(12,"No, you goddamn retard.")
Array:setString(13,"Yes, yes, a million times yes!")
Array:setString(14,"Faggot.")
Array:setString(15,"I'm an 8ball. I don't know everything.")
Array:setString(16,"Some things, you don't need to know.")
Array:setString(17,"You don't want to know...")
Array:setString(18,"I think you already know the answer.")
Array:setString(19,"Wat?")
concmd("wait 150;say "+"[JIP] 8Ball says: "+Array:string(Random))
}
else {concmd("wait 160; say \"[JIP] 8Ball says: That's not how you use an 8ball, fucktard.\"")}
}
#################################################################################################
# "givehealth" function
if (Var2S == "givehp") {
CurrentHP = lastSpoke():health()
if (CurrentHP >= 90) {
concmd("wait 150;say [JIP] "+lastSpoke():name():left(10)+", your health is fine.")
} else {
HPtoSet = CurrentHP+Var3S:toNumber()
if (Var3S:toNumber()+CurrentHP > 101) {
concmd("wait 150;say [JIP] "+lastSpoke():name():left(10)+", your health can't be >100.")
}
else {
concmd("ulx hp "+"\""+lastSpoke():name()+"\""+HPtoSet)
}
}
}
#################################################################################################
# "comusage" function
if (Var2S == "comusage") {
if (Var3S == "8ball") {
concmd("wait 150;say [JIP] \"jip 8ball [question]\"")
}
elseif (Var3S == "givehp") {
concmd("wait 150;say [JIP] \"jip givehp [numberofhitpoints]\"")
}
}
#################################################################################################
#DO NOT REMOVE THESE TWO }s THEY ARE THE MOST IMPORTANT }s EVER
}
}
Wirelink it to a console screen, then uncomment the Link:* lines for a command list.