Чтобы когда я беру кого-то в фокус - анонсило в групп: Focus "Ник" - "Класс".
Чтобы когда я беру кого-то в фокус - анонсило в групп: Focus "Ник" - "Класс".
Последний раз редактировалось Worldwidex; 02.01.2021 в 20:57.
Игрок может сменить сервер, но не намерение.
"Починим сервер вместе!"
Спамит по 50 раз - выкидывает из игры и убивает персонажа.(
- - - Updated - - -
Уже не 1 раз сталкиваюсь чтобы сделать 1-кратность какого-то действия в аддоне вместо спама, может кто-нибудь закрепит гайд как это делать?
1: Способ это таймеры когда есть кулдауны и таймауты
2: Когда их нету ... ?
Последний раз редактировалось Worldwidex; 02.01.2021 в 21:05.
Игрок может сменить сервер, но не намерение.
"Починим сервер вместе!"
Код:Spam = {} function Spam:AntiSpam(time, id) if GetTime() - (id and (self["lastAntiSpam" .. tostring(id)] or 0) or self["lastAntiSpam"] or 0) > (time or 2.5) then if id then self["lastAntiSpam" .. tostring(id)] = GetTime() else self["lastAntiSpam"] = GetTime() end return true else return false end endtime - время минимального повторения, id - любой стринг/число для идентификации повторения (например spellId или GUID)Код:if Spam:AntiSpam(time, id) then ... end
Игрок может сменить сервер, но не намерение.
"Починим сервер вместе!"
ваще вот так должно работать, я хз как у тебя по 50 раз в сек спамитКод:local GetTime, SendChatMessage = GetTime, SendChatMessage local UnitExists, UnitName, UnitClass = UnitExists, UnitName, UnitClass local PATTERN = "Focus: $name $class" local frame = CreateFrame("frame") local Spam = {} function Spam:AntiSpam(time, id) if GetTime() - (id and (self["lastAntiSpam" .. tostring(id)] or 0) or self["lastAntiSpam"] or 0) > (time or 2.5) then if id then self["lastAntiSpam" .. tostring(id)] = GetTime() else self["lastAntiSpam"] = GetTime() end return true else return false end end frame:RegisterEvent("PLAYER_FOCUS_CHANGED") frame:SetScript("OnEvent",function() if UnitExists("focus") and UnitExists("player") then local name = UnitName("focus") local class = UnitClass("focus") if name and name ~= "" and class and Spam:AntiSpam(0.1, name..class) then SendChatMessage(PATTERN:gsub("$name",name):gsub("$class",class),"PARTY") end end end)
Последний раз редактировалось Barsoom; 03.01.2021 в 05:17.
Worldwidex (03.01.2021)
Да спасибо, теперь всё работает
Игрок может сменить сервер, но не намерение.
"Починим сервер вместе!"