Ich hab mal ein bisschen getüftelt und das für Dich zusammengeschrieben.
Erstelle einen neuen Ordner mit dem Namen MPlusDND unter Interface/Addons.
Erstelle folgende zwei Dateien in diesem Ordner mit den folgenden Namen:
MPlusDND.toc
## Interface: 80200
## Title: |cffe62072MPlusDND|r
## Author: Sycca
## Notes: Automatische Antworten für Whispers
## DefaultState: enabled
## SavedVariables: MPlusDND
MPlusDND.lua
MPlusDND.lua
-- Default-Einstellungen
local defaults = {
[ "running" ] = true,
[ "message" ] = "Ich melde mich gleich."
}
MPlusDND = MPlusDND or defaults -- Gespeicherte Einstellungen laden oder default-Einstellungen übernehmen
-- Slash Commands
SLASH_MPLUSDND1, SLASH_MPLUSDND2 = "/mpdnd", "/mplusdnd"
local function HandleSlashCommands( arg1 )
local arguments = {}
if arg1 ~= "" then
for argument in arg1:gmatch( "%w+" ) do
table.insert( arguments, argument )
end
end
if arguments[1] == "status" then
if MPlusDND[ "running" ] then
print( "MPlusDND läuft derzeit." )
else
print( "MPlusDND läuft derzeit |cffe62072nicht|r." )
end
elseif arguments[1] == "start" then
MPlusDND[ "running" ] = true
print( "MPlusDND wurde eingeschaltet." )
elseif arguments[1] == "stop" then
MPlusDND[ "running" ] = false
print( "MPlusDND wurde ausgeschaltet." )
elseif arguments[1] == "message" then
-- Abtrennen des Strings ab dem ersten Leerzeichen, also nur die Pseudoargumente nach message übernehmen
local tempTrunc, _ = string.find( arg1, " ", 1, true )
local message = string.sub( arg1, tempTrunc +1 , -1 )
MPlusDND[ "message" ] = message
print( "Neue Nachricht gespeichert." )
else
print( "|cffe62072MplusDND Slash Commands:|r" )
print( "|cffe62072/mpdnd status|r - Status" )
print( "|cffe62072/mpdnd start|r - Addon anschalten" )
print( "|cffe62072/mpdnd stop|r - Addon ausschalten" )
print( "|cffe62072/mpdnd message <DEINE_NACHRICHT>|r - Gib <DEINE_NACHRICHT> als Standardantwort auf Whispers an." )
end
end
SlashCmdList["MPLUSDND"] = HandleSlashCommands
local MainFrame = CreateFrame( "Frame", "MPDND_MainFrame", UIParent )
MainFrame:RegisterEvent( "ADDON_LOADED" )
MainFrame:RegisterEvent( "CHAT_MSG_WHISPER" )
MainFrame:SetScript( "OnEvent", function( self, event, ... )
local arguments = {...}
if event == "ADDON_LOADED" and arguments[1] == "MPlusDND" then
if MPlusDND[ "running" ] then
print( "MPlusDND wurde geladen und ist aktiv." )
else
print( "MPlusDND wurde geladen, ist jedoch |cffe62072inaktiv|r." )
end
end
if event == "CHAT_MSG_WHISPER" then
if MPlusDND[ "running" ] then
local player = arguments[2] -- player = Wer hat geflüstert
SendChatMessage( MPlusDND[ "message" ], "WHISPER", nil, player )
end
end
end)
Lade das Addon beim Einloggen mit Deinem Character und Du kannst es ingame mit folgenden Slash-Kommandos einstellen:
/mpdnd status -- Sagt Dir, ob dein "Anrufbeantworter" gerade eingeschaltet ist
/mpdnd start -- Schaltet ganze Ding an
/mpdnd stop -- Schaltet das Ding wieder aus
/mpdnd message <NACHRICHT> -- Setzt deine hier geschriebene <NACHRICHT> als Standardantwort fest, die zurück-geflüstert wird.
Alternativ kannst Du sämtliche Kommandos auch mit /mplusdnd aufrufen, falls das besser zu merken sein sollte.
Beispiel für das Festlegen einer Antwort-Nachricht:
/mpdnd message Bin gerade beschäftigt, ich melde mich gleich!
Viel Spaß damit!