Der Interface-Basteleien-Thread!

So funzt... Zwar feuert das Event irgendwie merkwürdig und scheinbar willkürlich, aber egal

Sicher nicht das sauberste, aber tut was es soll -.-
Code:
-----------------------------
---- ARENA WEAPON SWITCH ----
-----------------------------

local ArenaWeapon = CreateFrame("FRAME")

local class = select(2,UnitClass("player"))
local spamcount

ArenaWeapon:SetScript("OnEvent", function(self, event, ...)
	if class == "ROGUE" then
		if event == "ARENA_OPPONENT_UPDATE" then
				
			local enemy1 = select(2, UnitClass("arena1"))
			local enemy2 = select(2, UnitClass("arena2"))
			local enemy3 = select(2, UnitClass("arena3"))
			
			if enemy1 == "ROGUE" or enemy1 == "WARRIOR" or enemy2 == "ROGUE" or enemy2 == "WARRIOR" or enemy3 == "ROGUE" or enemy3 == "WARRIOR" then
				EquipmentManager_EquipSet("T2")
				
				if not spamcount then
					SELECTED_CHAT_FRAME:AddMessage("[|cFF99CC33T2 ANGELEGT|r]")
					spamcount = true
				end
			else
				EquipmentManager_EquipSet("Legendary")
			end
				
		elseif event == "ZONE_CHANGED_NEW_AREA" then
		
			spamcount = false
			
			if select(2, IsInInstance()) ~= "arena" then
				EquipmentManager_EquipSet("Legendary")
			end
			
		end
	end
end)

ArenaWeapon:RegisterEvent("ARENA_OPPONENT_UPDATE");
ArenaWeapon:RegisterEvent("ZONE_CHANGED_NEW_AREA");
 
Zuletzt bearbeitet von einem Moderator:
kleiner tipp:

Code:
if class = rogue then

	ArenaWeapon:RegisterEvent("ARENA_OPPONENT_UPDATE");
	ArenaWeapon:RegisterEvent("ZONE_CHANGED_NEW_AREA");
end;


es bringt nicht viel von der performance(jedenfalls in diesem Zeitalter), zeigt aber einen saubereren programmierstil.
 
Hallo,

Ich habe gerade ein kleines Problem damit den Warteschlangen Button für ini/lfr/bg/arena zu verschieben.
Blizzard scheint diese 4 buttons mit dem letzten patch zusammengelegt zu haben in "QueueStatusFrame" und "QueueStatusMinimapButton",
nur lässt es sich jetzt nicht mehr so verschieben wie ich es vorher gemacht hab.
Ich habe mir für meine Minimap am unteren rand eine kleine Leiste erstellt, da ich in der Mitte dieser Leiste schon die Uhrzeit, rechts das Briefsymbol
und links den TrackingButton habe wollte ich das QueueStatusFrame gerne zwischen Uhrzeit und TrackingButton haben, so hab ich es sonst immer gemacht:

Code:
QueueStatusFrame:ClearAllPoints()
QueueStatusFrame:SetParent(MinimapBar) -- die leiste am untern rand
QueueStatusFrame:SetPoint("LEFT",15)

Mein Problem ist jetzt das sich das Frame nicht weiter nach rechts bewegt, es ist einfach immer ganz links in der leiste (genau da wo mein Trackingbutton ist).
Ich habe nun schon versucht "QueueStatusMinimapButton" zu benutzen, was auch nicht geht, genauso wenig wie "QueueStatusFrame:SetPoint("LEFT",MinimapBar,"LEFT",15,0)".
 
QueueStatusMinimapButton:ClearAllPoints()
QueueStatusMinimapButton:SetParent(Minimap)
QueueStatusMinimapButton:SetPoint('LEFT', 15)

Habe zusätzlich noch:
QueueStatusFrame:SetClampedToScreen(true)
QueueStatusFrame:SetToplevel(true)

Bei mir gehts so
 
Zuletzt bearbeitet von einem Moderator:
Das scheint bei mir leider nicht zu funktionieren, bleibt immer noch fest an der einen stelle

edit: hab es jetzt anders gelöst und den QueueStatusMinimapButton an die stelle des TrackingButtons geschoben und das TrackingButtonDropDownMenu lass ich jetzt einfach per rechtsklick auf die Minimap öffnen.
 
Zuletzt bearbeitet von einem Moderator:
Hi, ich dachte ich frag mal eben was zwischendrein und zwar such ich ne gute Alternative zu Prat 3.0, weil Prat ganz schön rumspackt im Moment.
 
Ich brauch nochmal ein klein wenig hilfe, ich möchte meinen Buffs einen anderen Rand verpassen und habe bisjetzt dies an code zum testen benutzt:

Code:
local f = CreateFrame("Frame")
    f:SetScript("Onevent", function(self,event)
        if event == "UNIT_AURA" then
            for i = 1, 2 do
                local f = CreateFrame("Frame")
                    f = CreateBorder(_G["BuffButton"..i], 2, 2, 16) -- CreateBorder erzeugt die randtextur
            end
        end
    end)
    f:RegisterEvent("UNIT_AURA")

Das erzeugt schonmal eine rand textur für den ersten und zweiten buff.
Da ich aber natürlich für alle Buffs eine neue randtextur haben will, wollte ich gerne wissen ob es möglich ist,
die momentane anzahl an buffs auf dem spieler abzufragen damit ich die randtextur dann mit
"for i = 1 , (hier dann die gerade vorhandene anzahl der buffs) do" auf meinen aktuellen Buffs setze.
 
Zuletzt bearbeitet von einem Moderator:
Hi, ich bräuchte nochmal ein klein wenig Hilfe beim Thema "Saved Variable", ich habe am Anfang meiner Lua Datei
eine Variable (nenn man das so?) definiert für einen Texturenpfad in meinem AddOn.
Das sieht dann so aus: " local frameborder = "Interface\\AddOns\\MeinAddOn\\Texturen\\Textur" ".
Nun habe ich ein UIDropDownMenu gemacht um den Texturpfad von "frameborder" mit einem Klick auf z.b. den
zweiten Button im DropDownMenu zu ändern indem ich "frameborder" wieder auf "nil" setze und in der nächsten Zeile
einen anderen Texturpfad setzen kann.
Und hier komm ich dann auch zu meinem Problem ich möchte meine Buttonauswahl natürlich auch Speichern und genau so beim nächsten
einloggen haben, ich weiss nur nicht genau wie ich die "Saved Variable" benutzen soll, damit dies geschieht.
Ich denke aber das es irgendwas mit diesem Teil des codes für das DropDownMenu zu tun hat: "UIDropDownMenu_SetSelectedID(MeinDropDownMenu, 1)"
 
Ja das hatte ich mir auch schonmal angeschaut, aber irgendwie hab ich das nicht so hinbekommen.
Ich bräuchte vielleicht eine vereinfachte erklärung oder so wie ich die "Saved Variable" richtig benutze.
 
Moin Leute,
zum Start vom MoP will ich mal die Gelegenheit nutzen mein Tankinterface zu entschlacken und die ganzen info Fenster in ein Frameset zu fassen, leider hab ich keinen Plan wie ich so was einrichte. Deswegen frage ich euch wo es Anleitungen dafür gibt. Bei Curse bzw Wow intefaces hab ich immer nur die Addons zum Runterladen gefunden aber nie eine Anleitung dafür. Aber die Konfiguration ohne Anleitung übersteigt die kognitiven Fähigkeiten meines Kriegerhirns

Desweiteren würde ich gerne von euch Vorschläge zum Interface haben was Informationsmenge und plazierung angeht.

Ruhend:

http://www.abload.de...012_01vaue3.jpg

Infight:

http://www.abload.de...012_01n9orv.jpg

Zum Grundkonzept: Ich spiele generell NUR mit Shortcuts und baue die Belegung manchmal sogar in den Bossfights um. Deswegen muss ich alle benutzbaren Spells und Eigenschaften Sicht und Reichweite haben. Also ein Addon wie Bartender und oder Domino muss enhalten sein. Die meiste Zeit spiele ich allerdings ohne auf die Tasten zu schauen und gehe rein nach den Anzeigen im Zentrum (eigene HP, Bedrohung, Gegnerische HP und Aktivitäten)
Was ich gerne wegklappbar hätte wäre der Chat. Da der sehr viel Platz frisst und auch sonst nix sinnvolles zum informations gehalt während eins Kampfes beiträgt.
Das verschieben diverser Tooltip bzw. eine möglichkeit ALLE (und ich meine wirklich ALLE) Tooltip fenster etc zu verschieben, wäre sehr gut und nein Bartender zeigt bei WEITEM nicht alle an. (das gegner tooltip unten rechts zb. hätte ich gerne direkt neben der Ziel anzeige)

Das Problem mit den Minimapbuttons habe ich bereits mit MBF gelöst so das ich alles mit einem Mausklick ein oder ausblenden kann.

Ein Minimap Mod wäre nice muss aber net sein. Voraussetzung ist allerdings das er auch funktioniert, alle meine Ausflüge dahingehend waren grandiose Reinfälle da die Funktionalität jedesmal weit schlechter war als von der Standardminimap.

Chat: Wie gesagt komplett wegklappbar aber dennoch fest im Rahmen verankert währe sehr gut, desweiteren eine Möglichkeit das mit ALLE von mir definierten Channel (Whispers, Freunde, Gilde, Offi etc.) per blinkendem icon (sowas wie der Kalender invite oder Posticon) angezeigt werden. Es geschieht nämlich nicht selten das ich Whispers beim Tanken völlig übersehe und erst Stunden später bemerkte.

Linke obere Ecke: Infos wie mein derzeitiger Gold und marken vorrat, ob Whispers reingekommen sind etc. wären schön wenn sie ständig sichtbar sind, den ganzen Kram da oben ausklappbar ähnlich wie die Minimap Buttons. Ja, Titan Bar kenne ich. Nein, eine Anleitung zum Konfiguriren selbiges hab ich nicht gefunden. Und Nein, einfach drauflos konfigurieren hat nur in eine Mittelschwere UI Katastrophe geführt. Deswegen wende ich mich ja auch an euch in der Hoffnung das ich endlich irgendwo brauchbare Konfig Anleitunge defür finde.

Zurzeit verwendete Addons:
XPerl
Bartender 4
IcedHUD
Tidy Plates
Omen
Recount
DBM
 
Zuletzt bearbeitet von einem Moderator:
Kann mir wer bei meinem Problem helfen?
Ich versuche bestimmte Strings in Nachrichten zufiltern, um diese dann durch Bilder zu ersetzen.
Hier ist mein Code:

Code:
local f = CreateFrame("Frame")
f:RegisterEvent("CHAT_MSG_YELL")
f:RegisterEvent("CHAT_MSG_WHISPER_INFORM")
f:RegisterEvent("CHAT_MSG_WHISPER")
f:RegisterEvent("CHAT_MSG_SAY")
f:RegisterEvent("CHAT_MSG_RAID")
f:RegisterEvent("CHAT_MSG_PARTY")

local blub = {
	["angry"] = [[Interface\AddOns\Test\media\angry.blp]],
}

local blah = {
	["-test-"] = "angry",
}

local ScanChat = function(_, event, msg, _, _, _, _, _, _, _, _, _, _)
	for key, value in pairs(blah) do
		if strfind(msg, key) then
			msg = string.gsub(msg, key, "|T"..blub[value]..":|t")
		end
	end
	return msg
end

f:SetScript("OnEvent", ScanChat)

Nun, der String wird nicht durch das Bild ersetzt. :/
 
Mit den Events kannst du nur die Nachrichten erhalten, aber nicht ersetzen.

Ersetzen kannst du sie mit der Funktion ChatFrame_AddMessageEventFilter.
 
Mhm, jetzt verschwindet die ganze Nachricht und das Bild ist auch nicht zu sehen. :/

Vielleicht hab ich mein Problem auch nur falsch geschildert.
Also, ich schreibe zum Beispiel: "Hallo Welt! -test-"

Das -test- soll dann durch ein Bild ersetzt werden.
 
Genau, so habe ich es auch verstanden. Wie hast du es versucht? Du hast wohl etwas einfach falsch gemacht und die Nachricht als true zurück gegeben, was wiederum heisst, dass die Nachricht als SPAM anerkannt wird und nicht sichtbar wird.

Ein Beispiel:
Code:
local function myChatFilter(self, event, msg, ...)
	if (msg:find("lol")) then
		return false, gsub(msg, "lol", "rofl"),  ...;
	end
end

ChatFrame_AddMessageEventFilter("CHAT_MSG_SAY", myChatFilter);
Hier wird lol durch rofl für /say ersetzt.
 
Zuletzt bearbeitet von einem Moderator:
Seit ein paar Wochen spiele ich WoW wieder und direkt am Anfang habe ich eine Notiz-Funktion vermisst. Die Add-ons, die ich gefunden habe, waren ganz nett, aber nicht das, was ich wollte und/oder gefielen mir einfach vom Design her nicht.

Ich habe mich direkt selbst dran gemacht und ein einfaches Design im WoW-Stil entworfen, gleichzeitig schon Gedanken über die Funktionen gemacht und was es können soll. Es ist recht simpel geworden und hat das, was ich wollte. Ist ja klar... ^^

Sie sieht es nun aus:
 
Wb Shanty,
mag das Spinnennetz

ps: Bin nun auch wieder zurück, mit gut 3 zusätzlichen Jahren geschäftliche programmier Erfahrung, macht euch auf was gefasst (solange ich nicht wieder aufhör, sollte aber nicht passieren)
 
Bei irgendeinem MMO habe ich solch ein Gruppenwürfeln gesehen und dachte mir, dass ich es ebenfalls mal im ähnlichen Design in WoW umsetze.

Das ist dabei entstanden:


Das erste ist grau, weil ich schon gewürfelt habe. Es bleibt jetzt vorhanden, bis alle gewürfelt haben oder die Zeit ablaufen ist. Ansonsten sind nur die Button vorhanden, die man auch betätigen kann. Als fortgeschrittener WoW-Spieler sollte man wissen, was welcher Button macht und wieso ich diese Option nicht wählen kann/darf. ^^

100%ig bin ich noch nicht zufrieden, aber ein Anfang ist geschaffen.
 
Zuletzt bearbeitet von einem Moderator:
Zurück