Compare commits
4 Commits
901d42fc71
...
740f69ebe8
Author | SHA1 | Date | |
---|---|---|---|
740f69ebe8 | |||
5fbaf869f8 | |||
d6132848db | |||
56a08b6cca |
24
FreshShit/Spotter/event.lua
Normal file
24
FreshShit/Spotter/event.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED
|
||||
function(event, unit)
|
||||
local name = UnitName(unit)
|
||||
if name and UnitIsPlayer(unit) then
|
||||
local race = UnitRace(unit)
|
||||
local doNotify = true
|
||||
if aura_env.config.allyOnly then
|
||||
doNotify = false
|
||||
if aura_env.raceMap[race] == "Alliance" then
|
||||
doNotify = true
|
||||
end
|
||||
end
|
||||
-- Stinkies overwrite allyOnly
|
||||
if aura_env.config.stinkyOnly then
|
||||
doNotify = false
|
||||
if WeakAurasSaved.Cyka.stinkies[name] then
|
||||
doNotify = true
|
||||
end
|
||||
end
|
||||
if doNotify then
|
||||
aura_env.NotifySpotted(name, race)
|
||||
end
|
||||
end
|
||||
end
|
1
FreshShit/Spotter/export
Normal file
1
FreshShit/Spotter/export
Normal file
@@ -0,0 +1 @@
|
||||
!fJrdVjUn0FlRtNgvRf1spDtt6UTrBPxldcCnPTsxvdXK4a(QXMz70wUPl)23Z25lGuGDAstGGe733p)(Wp)J998DN57gP)cpYtuucd77o4gVEx50X3nMZuUKVI9DoULVlkrnLlgmxr4mjGGJHaQfZbuu8jtOW)js85yzO)yF3hXlaCO0fdyu4PiCmkHQ07WqZaqBtPeeleNgWba(DF3NjrQPAQQ8DAToPn0tQiShZOyfEzPORzZc6vHJvj9jAsNTqRCMqyZtuLO4cgg4FIXEKRlFLRnoumBIHwhLZ2pBwhKME2TgdCrtlICofTWd)c8YBM77UyqCSedsaGPapbSIEwf0aXZCr0Dcea3Dfp9sfmc5uUWA11FBz(9eZVV1QzUHjsfFMMH3mpcPasJFcZugphFgsrcVZO2UTH3HvdZ9KGzfjuWdaSXegro1(m8OEv3i(ilT9pnNlGHGhIOPbHtrmgMEvuAWhsdyeAA30UhE4H)rifjLPb9XsjAc2UwmbtbaNLTwGujiSjlTxg9QDpqPqLBy3s7)k4Y9pK2fLiqJWSNAMXLpLGtWgH7V)2YiPqJP43Bj3b5093Qqbbke3hn3ImGBG9Z97nqeU3dML37sWBH37GQ7EdlcJI2aaEahWSnbGGtPBy)tPCoyp6qJ3aqFKpgo)UbaUmzgQy)8WXLb58NrI4ndIdzYu1sYs9W9rgFgElCtGWmmzZabHhtWBrSVnHohlqBq3ns9yUGH3aqFgXIquKGKgSnpYFMahz9iITAqrIhtdUsWzPb7GX9wojAhST90AtS2WaqVtwX(yiqBY2Dj9rt(PPirAWAh5t7MfoLgC2LTDC60lnioj8rSyrA3LtoyqRiQkKZIjtAwShhO(EXC(yKyVcmNdjp0Pe3eQdZHPBbAXjmtwT0GliSObIUCc7ml0nYWYbsAFqjd2VuBxJgFeRolp9wv0RGZk4MbK0MYOe)EePQX(FBD8I1ApXa(XGu9J5eaEUfKWJVogRWrI1eLJ39Kh2kk6YwRGuAWpdcWgqLexGxjIoMfutXSxhX8pcSkrWmY7RclMvZMlTO9LIxxU4Zo4UmQbxTeM1l)ZHIbQg2AcnbVeu)SXEfNzFJmJoX8ewe4S(cCqdGecEQAC2VMtkArO809MnE6JVdXaVzqD8D(CCHXIkXF)0E)DYv896iYpouIyxdbxMqVAq8Yk(29vcSKtFsNDuXTXmVjQIV6GkcI2NLfOO74R2eqMnkZ6OMk4kff7rMHf1Iqoe2SDhF0AOw0MrrpkZrc0mqnHEiXcBKw1wIY2w3IYYBKBznTIvihoCfjEH7CGzyRTnpnxJsoCGLERNsKXFo3XQ1XgRdrvtGb0kk29LC4bRb4OvJibYF4Qe59RzyRpyjtHR)G5RkgFWY2URPjBZPVAMel81lAf0cmC6RjO7nhmEbnBcL8mF1pbB6MmUY(Vw6UmjSO95LBlDLyrBT6SsZvlQN)X2n9hQC0VgGQYRvcWUcwbJTXxiL()FqhsT0XjTbOI(uPaOP57MeMelunUdJESnyULUiiiT5zlEe1SFL23pOqq2plpH9owGanzcwu52O2fkV9y(TvKjJnxgYnjoM8IV7OZA76nY1R91Efxt6smIQVEuoSdfydSUd70RN(YHJbKT3z7Yo9gEXnWIj6Ri5A15sUPBkYPD)oJg2RTxNr34CL3O2NFENZxF5R70FWTWgDlIhn8g0ynPRjumV49nW2ARCJvGRSsn09QfSRKdncygOVYH1mgyZOKXGRHxwLbRaFe3MBXg1lsW1xYB1OP8jdSTsGlr(y0glPTeFYU8296)FW22szpU7Axl7GYT7nVK)rF6WmRccgcD4pHfplikTdl3MStwWYzH8FTnSUWrzMaFpZM)8)r7Nwelj8MfK6la2GvB1UxVphBohZaFK2zJyd1hzZYKLarohtH0Ozqywu67(VlrqbLNsI0dhcQ8fPPwcRm3Mj3NE8npH9Sl2Nda7C4Xhz2HfoLlgcDnbVCwhhVoxRNLJclyi6Tq6silJVtR357(fGvGvX3TxNl0JbctJZq70bEEd6dOfb5)mgnD6nolIKp0i9SIGwqWqoxOqIo)BgJVqVQnnP7zx3PJJEgEHpLZ3F5OtoYmpl9Hy7WNkMP34ktm808jUz4exluxiiFnn4tjOiHP2LNNjz91MHPLjtigrpQlGtvMRLBeCmqVyM)sI1QImVibtZha3zicB3HUysz7g8gmEbhDx2Oh1gbkhzg9kCWj0mnw9qhZDWMbOT2Qs98yxzr9XdTJQ)DdKp)RZ(Ro9xya13TvZJFxZt8DFc8pVTLEkH()d
|
93
FreshShit/Spotter/init.lua
Normal file
93
FreshShit/Spotter/init.lua
Normal file
@@ -0,0 +1,93 @@
|
||||
local channelId = nil
|
||||
|
||||
---@class Message
|
||||
---@field message string
|
||||
---@field channel string
|
||||
---@field data string
|
||||
|
||||
---@type Message[]
|
||||
aura_env.messageQueue = {}
|
||||
|
||||
---@type table<string, string>
|
||||
aura_env.raceMap = {
|
||||
["Orc"] = "Horde",
|
||||
["Undead"] = "Horde",
|
||||
["Tauren"] = "Horde",
|
||||
["Troll"] = "Horde",
|
||||
["Blood Elf"] = "Horde",
|
||||
["Goblin"] = "Horde",
|
||||
["Human"] = "Alliance",
|
||||
["Dwarf"] = "Alliance",
|
||||
["Night Elf"] = "Alliance",
|
||||
["Gnome"] = "Alliance",
|
||||
["Draenei"] = "Alliance",
|
||||
["Worgen"] = "Alliance",
|
||||
["Vulpera"] = "Horde",
|
||||
["Nightborne"] = "Horde",
|
||||
["Zandalari Troll"] = "Horde",
|
||||
["Kul Tiran"] = "Alliance",
|
||||
["Dark Iron Dwarf"] = "Alliance",
|
||||
["Void Elf"] = "Alliance",
|
||||
["Lightforged Draenei"] = "Alliance",
|
||||
["Mechagnome"] = "Alliance",
|
||||
["Mag'har Orc"] = "Horde"
|
||||
}
|
||||
|
||||
-- CHANNEL fuckery
|
||||
local channel = aura_env.config.channel or "foobar"
|
||||
local password = aura_env.config.channelPassword
|
||||
|
||||
local function FindOrJoinChannel(channelName, password)
|
||||
local function GetChannelId(channelName)
|
||||
local channels = {GetChannelList()}
|
||||
for i = 1, #channels, 2 do
|
||||
local id = channels[i]
|
||||
local name = channels[i + 1]
|
||||
if name == channelName then
|
||||
return id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
channelId = GetChannelId(channelName)
|
||||
if not channelId then
|
||||
print(string.format("channel %s not found, joining", channelName))
|
||||
if password then
|
||||
JoinPermanentChannel(channelName, password)
|
||||
else
|
||||
JoinPermanentChannel(channelName)
|
||||
end
|
||||
end
|
||||
channelId = GetChannelId(channelName)
|
||||
return channelId
|
||||
end
|
||||
channelId = FindOrJoinChannel(channel, password)
|
||||
print(string.format("channel %s resolved to id %d", channel, channelId))
|
||||
local zone = aura_env.config.zone
|
||||
|
||||
local throttleTimer = aura_env.config.throttle or 10
|
||||
local throttleMap = {}
|
||||
|
||||
---@param playerName string
|
||||
---@param race string
|
||||
---@return nil
|
||||
aura_env.NotifySpotted = function(playerName, race)
|
||||
local now = GetTime()
|
||||
local throttleTime = throttleMap[playerName] or 0
|
||||
if now - throttleTime < throttleTimer then
|
||||
return
|
||||
end
|
||||
throttleMap[playerName] = now
|
||||
|
||||
local zone = aura_env.config.zone
|
||||
if not zone then
|
||||
zone = GetZoneText() .. " " .. GetSubZoneText()
|
||||
end
|
||||
|
||||
local message = {
|
||||
channel = "CHANNEL",
|
||||
data = channelId,
|
||||
message = string.format("I see %s at %s!", playerName, zone)
|
||||
}
|
||||
table.insert(WeakAurasSaved.Cyka.MessageQueue, message)
|
||||
end
|
@@ -1,9 +1,17 @@
|
||||
-- TICKER_200
|
||||
function()
|
||||
---@type Message
|
||||
local message = aura_env.messageQueue[1]
|
||||
if message == nil then return end
|
||||
|
||||
table.remove(aura_env.messageQueue, 1)
|
||||
SendChatMessage(message.message, message.channel, nil, message.data)
|
||||
-- CHAT_MSG_WHISPER
|
||||
---@type event string
|
||||
---@type msg string
|
||||
---@type sender string
|
||||
function(event, msg, sender)
|
||||
if msg == "who" then
|
||||
for _, player in pairs(aura_env.stinkies) do
|
||||
local msg = aura_env.MakeNotifyMessage(player)
|
||||
local message = {
|
||||
channel = "WHISPER",
|
||||
data = sender,
|
||||
message = msg
|
||||
}
|
||||
table.insert(WeakAurasSaved.Cyka.MessageQueue, message)
|
||||
end
|
||||
end
|
||||
end
|
@@ -1,17 +1,22 @@
|
||||
-- CHAT_MSG_WHISPER
|
||||
-- CHAT_MSG_CHANNEL
|
||||
---@type event string
|
||||
---@type msg string
|
||||
---@type sender string
|
||||
function(event, msg, sender)
|
||||
function(event, msg, sender, ...)
|
||||
local channelId = select(6, ...)
|
||||
if channelId ~= aura_env.channelId then
|
||||
return
|
||||
end
|
||||
|
||||
if msg == "who" then
|
||||
for _, player in pairs(aura_env.stinkies) do
|
||||
local msg = aura_env.MakeNotifyMessage(player)
|
||||
local message = {
|
||||
channel = "WHISPER",
|
||||
data = sender,
|
||||
channel = "CHANNEL",
|
||||
data = channelId,
|
||||
message = msg
|
||||
}
|
||||
table.insert(aura_env.messageQueue, message)
|
||||
table.insert(WeakAurasSaved.Cyka.MessageQueue, message)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1,22 +0,0 @@
|
||||
-- CHAT_MSG_CHANNEL
|
||||
---@type event string
|
||||
---@type msg string
|
||||
---@type sender string
|
||||
function(event, msg, sender, ...)
|
||||
local channelId = select(6, ...)
|
||||
if channelId ~= aura_env.channelId then
|
||||
return
|
||||
end
|
||||
|
||||
if msg == "who" then
|
||||
for _, player in pairs(aura_env.stinkies) do
|
||||
local msg = aura_env.MakeNotifyMessage(player)
|
||||
local message = {
|
||||
channel = "CHANNEL",
|
||||
data = channelId,
|
||||
message = msg
|
||||
}
|
||||
table.insert(aura_env.messageQueue, message)
|
||||
end
|
||||
end
|
||||
end
|
@@ -106,8 +106,9 @@ end
|
||||
---@field channel string
|
||||
---@field data string
|
||||
|
||||
---@type Message[]
|
||||
aura_env.messageQueue = {}
|
||||
if not WeakAurasSaved.Cyka.MessageQueue then
|
||||
WeakAurasSaved.Cyka.MessageQueue = {}
|
||||
end
|
||||
aura_env.whoQueryIdx = 1
|
||||
---@type table<number, WHOQuery>
|
||||
aura_env.whoQueries = {}
|
||||
@@ -255,7 +256,7 @@ local NotifyAll = function(msg)
|
||||
data = rec,
|
||||
message = msg
|
||||
}
|
||||
table.insert(aura_env.messageQueue, message)
|
||||
table.insert(WeakAurasSaved.Cyka.MessageQueue, message)
|
||||
end
|
||||
end
|
||||
---@param msg string
|
||||
@@ -269,7 +270,7 @@ local NotifyChannel = function(msg)
|
||||
data = channelId,
|
||||
message = msg
|
||||
}
|
||||
table.insert(aura_env.messageQueue, message)
|
||||
table.insert(WeakAurasSaved.Cyka.MessageQueue, message)
|
||||
end
|
||||
|
||||
---@param player Player
|
||||
@@ -309,31 +310,34 @@ aura_env.NotifyGone = function(player)
|
||||
end
|
||||
|
||||
-- CHANNEL fuckery
|
||||
local channel = aura_env.config.channelName or "foobar"
|
||||
local channel = aura_env.config.channel or "foobar"
|
||||
local password = aura_env.config.channelPassword
|
||||
|
||||
local function GetChannelId(channelName)
|
||||
local channels = {GetChannelList()}
|
||||
for i = 1, #channels, 2 do
|
||||
local id = channels[i]
|
||||
local name = channels[i + 1]
|
||||
if name == channelName then
|
||||
return id
|
||||
local function FindOrJoinChannel(channelName, password)
|
||||
local function GetChannelId(channelName)
|
||||
local channels = {GetChannelList()}
|
||||
for i = 1, #channels, 2 do
|
||||
local id = channels[i]
|
||||
local name = channels[i + 1]
|
||||
if name == channelName then
|
||||
return id
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
channelId = GetChannelId(channel)
|
||||
if not channelId then
|
||||
print(string.format("channel %s not found, joining", channel))
|
||||
if password then
|
||||
JoinPermanentChannel(channel, password)
|
||||
else
|
||||
JoinPermanentChannel(channel)
|
||||
channelId = GetChannelId(channelName)
|
||||
if not channelId then
|
||||
print(string.format("channel %s not found, joining", channelName))
|
||||
if password then
|
||||
JoinPermanentChannel(channelName, password)
|
||||
else
|
||||
JoinPermanentChannel(channelName)
|
||||
end
|
||||
end
|
||||
channelId = GetChannelId(channelName)
|
||||
return channelId
|
||||
end
|
||||
channelId = GetChannelId(channel)
|
||||
aura_env.channelId = channelId
|
||||
aura_env.channelId = FindOrJoinChannel(channel, password)
|
||||
print(string.format("channel %s resolved to id %d", channel, channelId))
|
||||
|
||||
---@param player Player
|
||||
|
48
FreshShit/_Shared/Messenger.lua
Normal file
48
FreshShit/_Shared/Messenger.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
-- TICKER_200
|
||||
function()
|
||||
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
||||
if not WeakAurasSaved.Cyka.MessageQueue then WeakAurasSaved.Cyka.MessageQueue = {} end
|
||||
|
||||
---@type Message
|
||||
local message = WeakAurasSaved.Cyka.MessageQueue[1]
|
||||
if message == nil then return end
|
||||
|
||||
table.remove(WeakAurasSaved.Cyka.MessageQueue, 1)
|
||||
SendChatMessage(message.message, message.channel, nil, message.data)
|
||||
end
|
||||
|
||||
--INIT
|
||||
local function FindOrJoinChannel(channelName, password)
|
||||
local function GetChannelId(channelName)
|
||||
local channels = {GetChannelList()}
|
||||
for i = 1, #channels, 2 do
|
||||
local id = channels[i]
|
||||
local name = channels[i + 1]
|
||||
if name == channelName then
|
||||
return id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
channelId = GetChannelId(channelName)
|
||||
if not channelId then
|
||||
print(string.format("channel %s not found, joining", channelName))
|
||||
if password then
|
||||
JoinPermanentChannel(channelName, password)
|
||||
else
|
||||
JoinPermanentChannel(channelName)
|
||||
end
|
||||
end
|
||||
channelId = GetChannelId(channelName)
|
||||
return channelId
|
||||
end
|
||||
aura_env.channelId = FindOrJoinChannel(aura_env.channel, aura_env.channelPassword)
|
||||
--aura_env.iterator = 0
|
||||
--WeakAurasSaved.Cyka.MessageQueue = {}
|
||||
--for i = 1, 100 do
|
||||
-- table.insert(WeakAurasSaved.Cyka.MessageQueue, {
|
||||
-- channel = "CHANNEL",
|
||||
-- data = aura_env.channelId,
|
||||
-- message = "TEST" .. i
|
||||
-- })
|
||||
--end
|
1
FreshShit/_Shared/Messenger_Export
Normal file
1
FreshShit/_Shared/Messenger_Export
Normal file
@@ -0,0 +1 @@
|
||||
!DEvBVjooq4)l90kr1vqaDV9(0jDD5sF7ObAD61pS6mXK4aEBWgf7W2Uvn)2VzStGqGULBvRGKXZZ8(mEG2JgqjlOKy8F4rvUjvi5uYO7dgELVhLKOKgI47CQFV(uIrfTINPfkj1)37EA3Uucl3mxLnAPbiQbz4BLP55LGueYL5gkjxZ)lUoIoLs(Mi2mh5HeZty5PWPuIKTayEWCMuYtlc9TV(i)zkjYrJss5YzwGGgxaWewZCQv2dDNnLAO(9)FR866zmtR)MklUHoQR8g26geBBiGOJf6LPSNd4pbV8HLuYZJss0CWibXKXNbXRaRHASCWKIfmmiIEG2WYm4dX5zwItC(KMhPKX6kxuQadeWUGjKho3jcPqp)G5hqePsvzUCl(FF7NNA)8J4Nil5AJAb6S3VmMza48vCPXwFOqhl6bB0NCg8oqnQQEzTVw3Ymy6t4IaQjozt)CLwGmIkIbr)KCPvofHNlKXJYUwjKLPMwLPuSy6KIWLL5PJlUUi093oY4cUPe8vX1HxdtdSLmPlc)JIWx2GFOqBAD8R7IlrLvekSS3dSQFPsaWZ9lcJv7IOHgfXwWv4(I4FFxiyfBdqfH)kya)aOIK142a03sWmNlFBGv)LXn5zsR9(M8YL75WTi6Ez9RrvzhR7CaPlRBOmBHC)2)YmH00sBGVM1bYsqfBRJIQ6Y)GUuojQCzmKS(kuObCE0jBfCoEpvkOjuv89EbpS8Dmh0Te6Co4641bRun)Nx2hFqPIF2erv5WgGxBfidganHlx1zBjUB3CtgHqrtsJ3eAA3E9HcdhMXHTDGC7Ih9aN94zWXAcBfpUZGNFK15gUwZMXVnNN76vE5vK1gTR96211K2UDLJzytt5DesnpZ069KmiIxQdUr40QNJgC5z((EdHsR9WjmzLzzB3a3E5FHt7ojh4rcoQiSth0NQX8R2iwzVMBGp0hmBgCr)M7ZDe2C7A1KyD(u7GEsEsI4jkzYGZibtibNDxW6RaUKZsXr)v8ooJB5Lm2B4q8Y4Pay3DHx6nC853deZXX)e8cuqRobbxmfC1G)27UjqIO8QyT7YcN1uEnwPwRSq0rlX1hsGxxnWV1(guSNuyzx7(pYvQSD3XpsynQ0EtjV3kYgtmx)u72T)t01lclrTZLC1RdEpT9L6xmG(YgWaAPiTYSRAQFdRY1AKXxOwXpKwJE1YheqMqRVPKLwLMqNYVpzTrvBEayz1OJDkhBNYa1Dl5PqhY21kZfX4UxIf8yKAUCtjUTfa3qzfpWr8gfWSFBybq7MArWgVJHPtWld88d8Udxxbg0izP)t16X9)eL8vqvIey)YHENdTd40PhYyWQGpS(jbyFOxcRoIf6qFbp2TPKFFSipjdQYH2pWDSBU6u(5ivxhdzWDEE(uYt12UexANsopt89IWBZzXz2XgbGjKJ67XlUnIV43s0xqSnL3zxgTm8O5PjL(2Nhfem6gC9pzSWSHLufZ(RfG4AK9hqGllxf3IsH5W7qvJ)eIgeTlwkteZWdwVPFIsnLLTNvY71)0szrj9707tDoLswbXKp2hxaL(Fd
|
Reference in New Issue
Block a user