--//[AnnoyMe 1.6][BCDC .403b] by BottledHate --//this plays a sound file or executes a prog for specified trigs and users... also keeps a log of the last time the user was seen, --//or where they are currently logged in. full in bcdc support. no editing of this file *needed*. --//type: /annoy help in the main to get started after loading. --// there is a typo in the startup.lua that needs attention before the 'seen' commands will work properly. --// in the 'hub.onQuit' function.... this line: ret = f( this, user, ret ) or ret needs be chaged to this: ret = f( this, nick, ret ) or ret --// this is a small typo i'm sure will be fixed in future versions. local verSion = "1.6" Serialize = function(tTable, sTableName, sTab) sTab = sTab or ""; sTmp = "" sTmp = sTmp..sTab..sTableName.."={" local tStart = 0 for key, value in tTable do if tStart == 1 then sTmp = sTmp..",\r\n" else sTmp = sTmp.."\r\n" tStart = 1 end local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key); if(type(value) == "table") then sTmp = sTmp..Serialize(value, sKey, sTab.."\t"); else local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value); sTmp = sTmp..sTab.."\t"..sKey.." = "..sValue end end sTmp = sTmp.."\r\n"..sTab.."}" return sTmp end local okenize = function( str ) local ret = {} string.gsub( str, "([%S+_%< >+_.+_%w+]+)", function( s ) table.insert( ret, s ) end ) --// %< > = alt0160, look for false space in names.. for k,v in ret do ret[k] = string.gsub(v, "\\", "\\") ret[k] = string.gsub(v,"\"","\"") end return ret end local fixedParms = function(tbl) local fixedp = "" for index = 5, table.getn(tbl) do fixedp = fixedp..tbl[index].." " end return fixedp end function saveFindData() local savestring = "" savestring = Serialize(findTable, "findTable", "") local f,e = io.open( "_AnnoyMe.txt", "w+") if f then f:write(savestring) f:close() end end local seenString = function(n) local sestring = "" if findTable["Users"][n]["LastSeen"] then sestring = "»»´¯/¨ "..n.." was last seen leaving "..findTable["Users"][n]["LastSeen"].." ¨\\¯`««" else sestring = "»»´¯/¨ There is no data yet for: "..n.." ¨\\¯`««" end return sestring end local printSting = function(list) local pString = "" for k,v in findTable[list] do if findTable[list][k]["Off"] then pString = pString.."\t\t"..k.." -Disabled.\r\n" else pString = pString.."\t\t"..k.."\r\n" end if findTable[list][k]["Sound"] then pString = pString.."\t\t\tSound: "..findTable[list][k]["Sound"].."\r\n" end if findTable[list][k]["Execute"] then pString = pString.."\t\t\tExecute: "..findTable[list][k]["Execute"].."\r\n" end end return pString end function massInjectChat(t) for k,v in dcpp._hubs do v:injectChat(t) end end function GetTime() local _,_,a, A, b, B, c, d, H, I, j, m, M, p, S, U, w, W, x, y, Y, z = string.find(os.date( "|%a|%A|%b|%B|%c|%d|%H|%I|%j|%m|%M|%p|%S|%U|%w|%W|%x|%y|%Y|%z|"), "|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|(.-)|") local Date = a..", "..I..":"..M..":"..S.." "..p..", "..b.."/"..d.."/"..y.." "..z --Example formating... output: Thu, 04:05:23 PM, Aug/12/04 Pacific Daylight Time return Date end local addRClick = function(hub) --//Display List DC():InjectHubMessage( hub, "$UserCommand 0 6|") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Current AnnoyMe List$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Enable Disable ALL DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Disable All Nicks/Trigs$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy disableall||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Enable All Nicks/Trigs$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy enableall||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Nick/ DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Add to list$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy addu %[nick]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Remove from list$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy removeu %[nick]||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Nick/Sound&Execute --//Nick/Sound&Execute/Sound DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Set Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound user %[nick] %[line:Path to Sound.wav]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Remove Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound user %[nick] clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Nick/Sound&Execute/Execute DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Set Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute user %[nick] %[line:Path to file.exe]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Remove Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute user %[nick] clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Nick/Enable or Disable DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Enable$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy enableu %[nick]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Nick\\Sound/Execute\\Disable$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy disableu %[nick]||") --//Trigs DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Add Trigger$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy addt %[line:Enter Trigger]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Remove Trigger$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy removet %[line:Enter Trigger]||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Trigs/Sound&Execute --//Trigs/Sound&Execute/Sound DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Set Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound trig %[line:Enter Trigger] %[line:Path to Sound.wav]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Remove Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound trig %[line:Enter Trigger] clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Trigs/Sound&Execute/Execute DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Set Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute trig %[line:Enter Trigger] %[line:Path to file.exe]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Remove Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute trig %[line:Enter Trigger] clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") --//Trigs Enable or Disable DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Enable$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy enablet %[line:Enter Trigger]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Trigs\\Sound/Execute\\Disable$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy disablet %[line:Enter Trigger]||") --//defaults --//defaults/Users DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Users\\Set Default Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound default users %[line:Path to Sound.wav]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Users\\Clear Default Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound default users clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Users\\Set Default Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute default users %[line:Path to file.exe]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Users\\Clear Default Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute default users clear||") --//defaults/Trigs DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Trigs\\Set Default Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound default trigs %[line:Path to Sound.wav]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Trigs\\Clear Default Sound$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound default trigs clear||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Trigs\\Set Default Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute default trigs %[line:Path to file.exe]||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Defaults\\Trigs\\Clear Default Execute$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute default trigs clear||") --//help DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Help\\Main$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy help||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Help\\Sounds$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy sound help||") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Help\\Executes$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy execute help||") DC():InjectHubMessage( hub, "$UserCommand 0 6|") DC():InjectHubMessage( hub, "$UserCommand 2 6 -=AnnoyMe "..verSion.."=-\\Help\\Remove All Trigs and Users$$To: %[mynick] From: %[mynick] $<%[mynick]> /annoy removeall||") end for k,v in dcpp._hubs do --initial addrclicks to all hubs. addRClick(k) end local f,e = io.open( "_AnnoyMe.txt", "a+" ) if f then f:write( "" ) f:close() end userOnline = {} findTable = {["Users"]={},["Trigs"]={},["Defaults"]={["Execute"]={},["Sounds"]={}}} dofile("_AnnoyMe.txt") local lastTrigTime = 0 dcpp:setListener( "userQuit", "seeen", function( hub, nick ) local s,e,nameTrim = string.find(hub:getHubName(), "([%S+_%s+_.+_%w+]+) %(%d+.%d+.") if findTable["Users"][nick] then findTable["Users"][nick]["LastSeen"] = nameTrim.." "..GetTime() if userOnline[nick] then userOnline[nick][nameTrim] = nil local count=0 for k,v in userOnline[nick] do count = count +1 end if count == 0 then userOnline[nick] = nil end end saveFindData() end return end ) dcpp:setListener( "chat", "trigggy", function( hub, user, text ) if (os.time() - lastTrigTime) >= 10 then --flood protection.(1 annoy every 10 seconds for trigs.) for k,v in findTable["Trigs"] do if hub:getUptime() >= .1 then if string.find(text, k ) then if not findTable["Trigs"][k]["Off"] then if findTable["Trigs"][k]["Execute"] then local executor = findTable["Trigs"][k]["Execute"] os.execute(executor); lastTrigTime = os.time() elseif findTable["Defaults"]["Execute"]["Trigs"] then local executor = findTable["Defaults"]["Execute"]["Trigs"] os.execute(executor); lastTrigTime = os.time() end if findTable["Trigs"][k]["Sound"] then local executor = "sndrec32.exe /play /close \""..findTable["Trigs"][k]["Sound"].."\"" os.execute(executor); lastTrigTime = os.time() elseif findTable["Defaults"]["Sounds"]["Trigs"] then local executor = "sndrec32.exe /play /close \""..findTable["Defaults"]["Sounds"]["Trigs"].."\"" os.execute(executor); lastTrigTime = os.time() else local executor = "sndrec32.exe /play /close \"%windir%\\media\\tada.wav\"" os.execute(executor); lastTrigTime = os.time() end end end end end end end ) dcpp:setListener( "userMyInfo", "nickonline", function( hub, user, msg ) local nick = user:getNick() local s,e,nameTrim = string.find(hub:getHubName(), "([%S+_%s+_.+_%w+]+) %(%d+.%d+.") if findTable["Users"][nick] then if not findTable["Users"][user:getNick()]["Off"] then if userOnline[nick] then if not userOnline[nick][nameTrim] then userOnline[nick][nameTrim] = 1 massInjectChat( "»»´¯/¨ "..user:getNick().." has just signed online in "..nameTrim.." ¨\\¯`««") end else userOnline[nick] = {} userOnline[nick][nameTrim] = 1 if hub:getUptime() >= .1 then --so it doesn't play the executes or sounds if you join and they are already there. if findTable["Users"][nick]["Execute"] then local executor = findTable["Users"][user:getNick()]["Execute"] os.execute(executor); elseif findTable["Defaults"]["Execute"]["Users"] then local executor = findTable["Defaults"]["Execute"]["Users"] os.execute(executor); end if findTable["Users"][nick]["Sound"] then local executor = "sndrec32.exe /play /close \""..findTable["Users"][nick]["Sound"].."\"" massInjectChat( "»»´¯/¨ "..nick.." has just signed online in "..nameTrim.." ¨\\¯`««") os.execute(executor); elseif findTable["Defaults"]["Sounds"]["Users"] then local executor = "sndrec32.exe /play /close \""..findTable["Defaults"]["Sounds"]["Users"].."\"" massInjectChat( "»»´¯/¨ "..nick.." has just signed online in "..nameTrim.." ¨\\¯`««") os.execute(executor); else local executor = "sndrec32.exe /play /close \"%windir%\\media\\chimes.wav\"" massInjectChat( "»»´¯/¨ "..nick.." has just signed online in "..nameTrim.." ¨\\¯`««") os.execute(executor); end else hub:injectChat( "»»´¯/¨ "..nick.." is allready online in here: "..nameTrim.." ¨\\¯`««") end end else if not userOnline[nick] then massInjectChat( "»»´¯/¨ "..nick.." has just signed online in "..nameTrim.." ...sounds and execute disabled. ¨\\¯`««") userOnline[nick] = {} userOnline[nick][nameTrim] =1 else if not userOnline[nick][nameTrim] then massInjectChat( "»»´¯/¨ "..nick.." has just signed online in "..nameTrim.." ...sounds and execute disabled. ¨\\¯`««") userOnline[nick][nameTrim] =1 end end end end end ) dcpp:setListener( "ownChatOut", "anonyme", function( hub, text ) if string.sub( text, 1, 1 ) ~= "/" then return end local parms = okenize( string.sub( text, 2 ) ) if parms[1] == "help" then DC():PrintDebug("2") hub:injectChat( "*** (AnnoyMe"..verSion.." lua) /annoy help -for help" ) return 1 elseif parms[1] == "annoy" then local ownNick = hub.getOwnNick(hub) DC():SendHubMessage( hub:getId(), "$To: "..ownNick.." From: "..ownNick.." $<"..ownNick.."> "..text.."|" ) return 1 end end ) dcpp:setListener( "pm", "anonyme", ---right click commands support. function( hub, user, text ) if user:getNick() == hub:getOwnNick() then if string.sub( text, 1, 1 ) ~= "/" then return end local parms = okenize( string.sub( text, 2 ) ) if parms[1] == "help" then hub:injectChat( "*** (AnnoyMe lua) /annoy help -for help" ) return 1 elseif parms[1] == "annoy" then if parms[2] == nil then hub:injectChat( "»»´¯/¨ Current AnnoyMe List ¨\\¯`««\r\n\tUsers:\r\n"..printSting("Users").."\tTrigs:\r\n"..printSting("Trigs").."\r\n ('/annoy help' for commands.)") elseif parms[2] =="help" then hub:injectChat("»»´¯/¨ Help For AnnoyMe "..verSion.." script ¨\\¯`««\r\n".. "\t/annoy\t\t\t\t\t\t-lists the current AnonyMe list.\r\n".. "\t/annoy [add/remove][U/T] [/]\t-adds or removes a or to be annoyed by....\r\n".. "\t/annoy [enable/disable][U/T] [/]\t-enables or disables sounds and executes for the or .\r\n".. "\t/annoy [enable/disable]all\t\t\t-enable/disable ALL user and trig sounds and executes.\r\n".. "\t/annoy removeall\t\t\t\t-remove all values. (default sounds and executes are saved)\r\n".. "\t/annoy seen \t\t\t\t-shows the last seen info for a person on your AnnoyMe list.\r\n".. "\t/annoy sound help\t\t\t\t-shows the sound help screen.\r\n".. "\t/annoy execute help\t\t\t\t-shows the execute help screen.\r\n".. "\t/annoy help\t\t\t\t\t-(this)\r\n".. "Examples:\r\n".. "\t/annoy addU NiCKnamE\r\n".. "\t/annoy disableU NiCKnamE\r\n".. "\t/annoy removeT tRiggEr") return 1 elseif parms[2] == "list" then hub:injectChat( "»»´¯/¨ Current AnnoyMe List ¨\\¯`««\r\n\tUsers:\r\n"..printSting("Users").."\tTrigs:\r\n"..printSting("Trigs") ) elseif string.lower(parms[2]) == string.lower("seen") then if findTable["Users"][parms[3]] then if userOnline[parms[3]] then local inHubs = "" for k,v in userOnline[parms[3]] do inHubs = inHubs..k..", " end hub:injectChat("»»´¯/¨ User is currently Online in: "..string.sub(inHubs, 1, string.len(inHubs) - 2).." ¨\\¯`««") else hub:injectChat(seenString(parms[3])) end else hub:injectChat( " »»´¯/¨ Format: /annoy seen ..where is someone already added to the AnnoyMe list. ¨\\¯`««") end elseif string.lower(parms[2]) == "disableu" then if findTable["Users"][parms[3]] then findTable["Users"][parms[3]]["Off"]=1 hub:injectChat( "»»´¯/¨ User Annoy Disabled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs")) saveFindData() else hub:injectChat( "»»´¯/¨ Error.... "..parms[3].." not found on AnnoyMe users list. ¨\\¯`««") end elseif string.lower(parms[2]) == "disablet" then if findTable["Trigs"][parms[3]] then findTable["Trigs"][parms[3]]["Off"]=1 hub:injectChat( "»»´¯/¨ Trig Annoy Disabled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() else hub:injectChat( "»»´¯/¨ Error.... "..parms[3].." not found on AnnoyMe trigs list. ¨\\¯`««") end elseif string.lower(parms[2]) == "enableu" then if findTable["Users"][parms[3]]["Off"] then findTable["Users"][parms[3]]["Off"]=nil hub:injectChat( "»»´¯/¨ User Annoy Enabled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs")) saveFindData() else hub:injectChat( "»»´¯/¨ Error.... "..parms[3].." not disabled or not found on AnnoyMe users list. ¨\\¯`««") end elseif string.lower(parms[2]) == "enablet" then if findTable["Trigs"][parms[3]]["Off"] then findTable["Trigs"][parms[3]]["Off"]=nil hub:injectChat( "»»´¯/¨ Trig Annoy Enbled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() else hub:injectChat( "»»´¯/¨ Error.... "..parms[3].." not disabled or not found on AnnoyMe trigs list. ¨\\¯`««") end elseif string.lower(parms[2]) == "disableall" then for k,v in findTable["Trigs"] do findTable["Trigs"][k]["Off"]=1 end for k,v in findTable["Users"] do findTable["Users"][k]["Off"]=1 end hub:injectChat( "»»´¯/¨ All Annoy's Disabled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() elseif string.lower(parms[2]) == "enableall" then for k,v in findTable["Users"] do if findTable["Users"][k]["Off"] then findTable["Users"][k]["Off"]=nil end end for k,v in findTable["Trigs"] do if findTable["Trigs"][k]["Off"] then findTable["Trigs"][k]["Off"]=nil end end hub:injectChat( "»»´¯/¨ All Annoy's Enabled. Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs")) saveFindData() elseif string.lower(parms[2]) == "addu" then if parms[3] ~= nil then if not findTable["Users"][parms[3]] then findTable["Users"][parms[3]] = {} hub:injectChat( "»»´¯/¨ User Added..... *New* Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs")) saveFindData() else hub:injectChat( "»»´¯/¨ User Allready on AnnoyMe List. ¨\\¯`««" ) end else hub:injectChat( "»»´¯/¨ Format: /annoy addU ¨\\¯`««") end elseif string.lower(parms[2]) == "addt" then if parms[3] ~= nil then findTable["Trigs"][parms[3]] = {} hub:injectChat( "»»´¯/¨ Trig Added..... *New* Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() else hub:injectChat( "»»´¯/¨ Format: /annoy addT ¨\\¯`««") end elseif parms[2] == "removeall" then findTable["Users"] = nil findTable["Trigs"] = nil findTable["Users"]={} findTable["Trigs"]={} hub:injectChat( "»»´¯/¨ *Deleted all values* No Current Nicks or Trigs to Annoy you. (default sounds and executes not errased) ¨\\¯`««\r\n") saveFindData() elseif string.lower(parms[2]) == "removeu" then if findTable["Users"][parms[3]] then findTable["Users"][parms[3]] = nil hub:injectChat( "»»´¯/¨ User Removed..... *New* Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() else hub:injectChat( "»»´¯/¨ User not found. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[2]) == "removet" then if findTable["Trigs"][parms[3]] then findTable["Trigs"][parms[3]] = nil hub:injectChat( "»»´¯/¨ Trig Removed..... *New* Current AnnoyMe list. ¨\\¯`««\r\n Users:\r\n"..printSting("Users").." Trigs:\r\n"..printSting("Trigs") ) saveFindData() else hub:injectChat( "»»´¯/¨ Trig not found. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[2]) == "sound" then if string.lower(parms[3]) =="user" then if findTable["Users"][parms[4]] then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy sound user , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Users"][parms[4]]["Sound"] then findTable["Users"][parms[4]]["Sound"] = nil hub:injectChat( "»»´¯/¨ Sound Removed for "..parms[4].." ¨\\¯`««") saveFindData() end else findTable["Users"][parms[4]]["Sound"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Sound Added for "..parms[4].."..... *Testing Sound!* ¨\\¯`««") local executor = "sndrec32.exe /play /close \""..findTable["Users"][parms[4]]["Sound"].."\"" os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ User not found on AnnoyMe list. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[3]) =="trig" then if findTable["Trigs"][parms[4]] then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy sound trig , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Trigs"][parms[4]]["Sound"] then findTable["Trigs"][parms[4]]["Sound"] = nil hub:injectChat( "»»´¯/¨ Sound Removed for "..parms[4].." ¨\\¯`««") saveFindData() end else findTable["Trigs"][parms[4]]["Sound"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Sound Added for "..parms[4].."..... *Testing Sound!* ¨\\¯`««") local executor = "sndrec32.exe /play /close \""..findTable["Trigs"][parms[4]]["Sound"].."\"" os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ Trig not found on AnnoyMe list. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[3]) == "default" then if string.lower(parms[4]) == "users" then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy sound default User , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Defaults"]["Sounds"]["Users"] then findTable["Defaults"]["Sounds"]["Users"] = nil hub:injectChat( "»»´¯/¨ Sound Removed Default Sound for Users ¨\\¯`««") saveFindData() end else findTable["Defaults"]["Sounds"]["Users"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Sound Added for "..parms[4].."..... *Testing Sound!* ¨\\¯`««") local executor = "sndrec32.exe /play /close \""..findTable["Defaults"]["Sounds"]["Users"].."\"" os.execute(executor); saveFindData() end elseif string.lower(parms[4]) == "trigs" then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy sound default User , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Defaults"]["Sounds"]["Trigs"] then findTable["Defaults"]["Sounds"]["Trigs"] = nil saveFindData() hub:injectChat( "»»´¯/¨ Sound Removed Default Sound for Trigs ¨\\¯`««") end else findTable["Defaults"]["Sounds"]["Trigs"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Sound Added for "..parms[4].."..... *Testing Sound!* ¨\\¯`««") local executor = "sndrec32.exe /play /close \""..findTable["Defaults"]["Sounds"]["Trigs"].."\"" os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ error.. format example /annoy sound default User , or \"clear\" ¨\\¯`««") end elseif string.lower(parms[3]) == "help" then hub:injectChat("»»´¯/¨ Help For AnnoyMe script Sounds ¨\\¯`««\r\n".. "\t/annoy sound \[user/trig\] \[/\] \[/clear]\r\n".. "\t/annoy sound default \[users/trigs\] \[/clear]\r\n".. "Examples:\r\n".. "\t/annoy sound default Users c:\\path\\file.wav\t\t-set the default sounds.. sub 'Users' with 'Trigs' for default trigger sound.\r\n".. "\t/annoy sound default Trigs clear\t\t\t\t-clears the default sound for Trigs...\r\n".. "\t/annoy sound user NickName c:\\path\\to a\\sound.wav\t-adds a sound to a user on your AnnoyMe list\r\n".. "\t/annoy sound trig TrIgGeR c:\\path\\to a\\sound.wav\t-adds a sound to a trig on your AnnoyMe list\r\n".. "\t/annoy sound trig TrIgGeR clear\t\t\t\t-clears the sound for the specified trig.") end elseif string.lower(parms[2]) == "execute" then if string.lower(parms[3]) =="user" then if findTable["Users"][parms[4]] then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy execute user , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Users"][parms[4]]["Execute"] then findTable["Users"][parms[4]]["Execute"] = nil hub:injectChat( "»»´¯/¨ Execute Removed for "..parms[4].." ¨\\¯`««") saveFindData() end else findTable["Users"][parms[4]]["Execute"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Execute Added for "..parms[4].."..... *Testing!* ¨\\¯`««") local executor = findTable["Users"][parms[4]]["Execute"] os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ User not found on AnnoyMe list. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[3]) =="trig" then if findTable["Trigs"][parms[4]] then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy execute trig , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Trigs"][parms[4]]["Execute"] then findTable["Trigs"][parms[4]]["Execute"] = nil hub:injectChat( "»»´¯/¨ Execute Removed for "..parms[4].." ¨\\¯`««") saveFindData() end else findTable["Trigs"][parms[4]]["Execute"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Execute Added for "..parms[4].."..... *Testing!* ¨\\¯`««") local executor = findTable["Trigs"][parms[4]]["Execute"] os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ Trig not found on AnnoyMe list. (case sensitive) ¨\\¯`««") end elseif string.lower(parms[3]) == "default" then if string.lower(parms[4]) == "users" then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy execute default user , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Defaults"]["Execute"]["Users"] then findTable["Defaults"]["Execute"]["Users"] = nil hub:injectChat( "»»´¯/¨ Default Execute Removed for Users ¨\\¯`««") saveFindData() end else findTable["Defaults"]["Execute"]["Users"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Execute Added for "..parms[4].."..... *Testing!* ¨\\¯`««") local executor = findTable["Defaults"]["Execute"]["Users"] os.execute(executor); saveFindData() end elseif string.lower(parms[4]) == "trigs" then if parms[5] == nil then hub:injectChat( "»»´¯/¨ error.. format example /annoy execute default Trig , or \"clear\" ¨\\¯`««") elseif parms[5] == "clear" then if findTable["Defaults"]["Execute"]["Trigs"] then findTable["Defaults"]["Execute"]["Trigs"] = nil saveFindData() hub:injectChat( "»»´¯/¨ Default Execute Removed for Trigs ¨\\¯`««") end else findTable["Defaults"]["Execute"]["Trigs"] = fixedParms(parms) hub:injectChat( "»»´¯/¨ Execute Added for "..parms[4].."..... *Testing!* ¨\\¯`««") local executor = findTable["Defaults"]["Execute"]["Trigs"] os.execute(executor); saveFindData() end else hub:injectChat( "»»´¯/¨ error.. format example /annoy execute default User , or \"clear\" ¨\\¯`««") end elseif string.lower(parms[3]) == "help" then hub:injectChat("»»´¯/¨ Help For AnnoyMe script Executes ¨\\¯`««\r\n".. "\t/annoy execute \[user/trig\] \[/\] \[/clear]\r\n".. "\t/annoy execute default \[users/trigs\] \[/clear]\r\n".. "Examples:\r\n".. "\t/annoy execute default Users c:\\path\\file.exe\t\t-set the default execute.. sub 'Users' with 'Trigs' for default trigger file execute.\r\n".. "\t/annoy execute default Trigs clear\t\t\t-clears the default execute for Trigs...\r\n".. "\t/annoy execute user NickName c:\\path\\to a\\file.com\t-adds a file to execute to a user on your AnnoyMe list\r\n".. "\t/annoy execute trig TrIgGeR c:\\path\\to a\\file.bat\t\t-adds a file to execute to a trig on your AnnoyMe list\r\n".. "\t/annoy execute trig TrIgGeR clear\t\t\t-clears the execute for the specified trig.") end else hub:injectChat( "»»´¯/¨ Unknown Command ('/annoy help' for commands.) ¨\\¯`««") end return 1 end end end ) dcpp:setListener( "connected", "anonymeRClick", --//adds rclick to new hubs u connect to. function( hub ) addRClick(hub:getId()) end ) DC():PrintDebug("*** AnnoyMe "..verSion.." Loaded. ***") --//[AnnoyMe 1.6][BCDC .403b] by BottledHate