ich habe ein kleine Problem ich habe mir ein WoW Novo's Easy Mangos server erstellt .
ich habe nur ein Problem bei ein addon
MyMaster ich kann keine Tickets Lesen oder Bearbeiten oder Löschen
ich habe es versucht umzuschreiben nur klappt nicht Lua ist nicht so mein ding kann mir einer dabei Helfen
ich habe Novo's Easy Mangos v.0.3.4 Supportet WoW Version: TBC + WotLK 3.2.2a (10505)
GM Befehle Mango DB
Code:
name security help ----------------------------------------------------------------------------------------------------------------------------- ticket assign 3 Syntax: .ticket assign $ticketid $gmname. Weise das Ticket $ticketid dem Gamemaster $gmname zu. ----------------------------------------------------------------------------------------------------------------------------- ticket close 2 Syntax: .ticket close $ticketid. Schließt das Ticket $ticketid. Das Ticket wird nicht endgültig gelöscht. Zum löschen: ".ticket delete" ----------------------------------------------------------------------------------------------------------------------------- ticket closedlist 1 Syntax: .ticket closedlist Zeigt die Liste der von Gamemastern geschlossenen Tickets. ----------------------------------------------------------------------------------------------------------------------------- ticket comment 2 Syntax: .ticket comment $ticketid $comment. Erlaubt das hinzufügen oder ändern eines Kommentares $comment für das Ticket $ticketid. ----------------------------------------------------------------------------------------------------------------------------- ticket delete 3 Syntax: .ticket delete $ticketid. Löscht das Ticket $ticketid endgültig. Das Ticket musst geschlossen sein (".ticket close"). ----------------------------------------------------------------------------------------------------------------------------- ticket list 1 Syntax: .ticket list Zeigt die Liste aller offenen GM Tickets. ----------------------------------------------------------------------------------------------------------------------------- ticket onlinelist 1 Syntax: .ticket onlinelist Zeigt die Liste der offenen GM Tickets an, dessen Autor online ist. ----------------------------------------------------------------------------------------------------------------------------- ticket unassign 3 Syntax: .ticket unassign $ticketid. Löst das Ticket $ticketid vom zugewiesene Gamemaster. ----------------------------------------------------------------------------------------------------------------------------- ticket viewid 1 Syntax: .ticket viewid $ticketid. Zeigt das Ticket $ticketid an. Ticket muss offen sein und darf nicht gelöscht sein. ----------------------------------------------------------------------------------------------------------------------------- ticket viewname 1 Syntax: .ticket viewname $creatorname. Zeigt die Tickets von Autor $creatorname an. Ticket muss offen sein und darf nicht gelöscht sein. ----------------------------------------------------------------------------------------------------------------------------- ticket 1 Syntax: .ticket $subcommand Type .ticket to see the list of possible subcommands or .help ticket $subcommand to see info on subcommands ----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
Orginal Lua Code
Code:
ticket_name = {}; ticket_level = {}; ticket_type = {}; ticket_zone = {}; tickets = 0; Ticket_Category = {}; Ticket_Category[1] = "Feststecken"; Ticket_Category[2] = "Verhalten"; Ticket_Category[3] = "Gilde"; Ticket_Category[4] = "Gegenstand"; Ticket_Category[5] = "Umgebung"; Ticket_Category[6] = "Unhold"; Ticket_Category[7] = "Quest"; Ticket_Category[8] = "Technik"; Ticket_Category[9] = "Account"; Ticket_Category[10] = "Charakter"; function My_TicketFrame_OnLoad() this:RegisterEvent("CHAT_MSG_CHANNEL"); this:RegisterEvent("VARIABLES_LOADED"); this:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE"); My_TicketFrame:RegisterForDrag("LeftButton"); My_Commands_Init(); My_Print("My Master Addon geladen!", 0.1, 1.0, 0.1); My_Print("Klicke auf das GM Icon oder sage /mymaster zum öffnen !", 0.1, 1.0, 0.1); end function My_Commands_Init() SLASH_MYMASTER1 = "/mymaster"; SlashCmdList["MYMASTER"] = function () My_TicketFrame_ToggleFrame(); end end function My_TicketFrame_OnEvent() local message = arg1; local data = {}; if (event == "CHAT_MSG_CHANNEL_NOTICE") then JoinChannelByName("gm_sync_channel"); SendChatMessage(".gm getticket", "CHANNEL", nil, GetChannelName(gm_sync_channel)); end if (event == "CHAT_MSG_CHANNEL" and gm_sync_channel and arg9 and strlower(arg9) == strlower(gm_sync_channel)) then data = My_Master_ParseMessage(message); if (data[0] == "0") then -- Event: Add Line My_TicketFrame_GenerateLine(data); end if (data[0] == "1") then -- Event: Rem Line My_TicketFrame_ClearLine(data[1]); end if (data[0] == "2") then -- Event: Rem all Lines My_TicketFrame_ClearFrame(1); end if (data[0] == "3") then -- Event: show Message Frame My_TicketFrame_ShowTicket(message); end if (data[0] == "4") then -- Event: append Message Frame's Message My_TicketFrame_AppendTicket(message); end if (data[0] == "5") then -- Event: new Message Frame's Message My_TicketFrame_NewTicket(message); end end end function My_TicketFrame_Update() My_TicketFrame_ClearFrame(0); for i = 1, tickets, 1 do getglobal("My_TicketFrameTicket"..i.."Name"):SetText(ticket_name[i]); getglobal("My_TicketFrameTicket"..i.."Level"):SetText(ticket_level[i]); getglobal("My_TicketFrameTicket"..i.."Type"):SetText(Ticket_Category[tonumber(ticket_type[i])]); getglobal("My_TicketFrameTicket"..i.."Zone"):SetText(ticket_zone[i]); getglobal("My_TicketFrameTicket"..i.."Message"):Show(); getglobal("My_TicketFrameTicket"..i.."Delete"):Show(); end end function My_TicketFrame_ToggleFrame() PlaySoundFile("Interface\\AddOns\\My_Master\\Sounds\\click.wav"); if (My_TicketFrame:IsVisible()) then My_TicketFrame:Hide(); else My_TicketFrame:Show(); end end function My_TicketFrame_GetTickets() -- get Master Tickets PlaySoundFile("Interface\\AddOns\\My_Master\\Sounds\\click.wav"); SendChatMessage(".gm getticket", "CHANNEL", nil, GetChannelName(gm_sync_channel)); end function My_TicketFrame_GenerateLine(data) tickets = tickets + 1; ticket_name[tickets] = data[1]; ticket_level[tickets] = data[2]; ticket_type[tickets] = data[3]; ticket_zone[tickets] = data[4]; My_TicketFrame_Update(); end function My_TicketFrame_ClearLine(name) for i = 1, tickets, 1 do if (ticket_name[i] == name) then for j = i, tickets, 1 do ticket_name[j] = ticket_name[j+1]; ticket_level[j] = ticket_level[j+1]; ticket_type[j] = ticket_type[j+1]; ticket_zone[j] = ticket_zone[j+1]; end end end tickets = tickets - 1; My_TicketFrame_Update(); end function My_TicketFrame_ClearFrame(del) if (del == 1) then tickets = 0; end for i = 1, 15, 1 do getglobal("My_TicketFrameTicket"..i.."Name"):SetText(""); getglobal("My_TicketFrameTicket"..i.."Level"):SetText(""); getglobal("My_TicketFrameTicket"..i.."Type"):SetText(""); getglobal("My_TicketFrameTicket"..i.."Zone"):SetText(""); getglobal("My_TicketFrameTicket"..i.."Message"):Hide(); getglobal("My_TicketFrameTicket"..i.."Delete"):Hide(); end end function My_TicketFrame_GetTicketByName(name) PlaySoundFile("Interface\\AddOns\\My_Master\\Sounds\\click.wav"); SendChatMessage(".gm getticketbyid "..name, "CHANNEL", nil, GetChannelName(gm_sync_channel)); SendChatMessage(".gm getticket", "CHANNEL", nil, GetChannelName(gm_sync_channel)); end function My_TicketFrame_DeleteTicketByName(name) PlaySoundFile("Interface\\AddOns\\My_Master\\Sounds\\trash.wav"); SendChatMessage(".gm deleteticketbyid "..name, "CHANNEL", nil, GetChannelName(gm_sync_channel)); SendChatMessage(".gm getticket", "CHANNEL", nil, GetChannelName(gm_sync_channel)); end function My_TicketFrame_ShowTicket(message) -- show frame with information in it local data = {}; data = My_Master_ParseMessage(message); My_TicketFrameTicketHead1:SetText("Detaillierte Ticket Informationen"); My_TicketFrameTicketName:SetText("Ticket von: "..data[1]); message = strsub(message, string.len(data[0]) + string.len(data[1]) + 12, string.len(message)); My_TicketFrameTicketMessage:SetText(message); My_TicketFrameInfoFrame:Show(); end function My_TicketFrame_AppendTicket(message) local data = {}; data = My_Master_ParseMessage(message); message = strsub(message, string.len(data[0])+1, string.len(message)); My_TicketTicketMessage:SetText(My_TicketTicketMessage:GetText()..message); end function My_TicketFrame_NewTicket(message) local data = {}; SendChatMessage(".gm getticket", "CHANNEL", nil, GetChannelName(gm_sync_channel)); PlaySoundFile("Interface\\AddOns\\My_Master\\Sounds\\incomming.wav"); end
MFG: DjGeier