Der Interface-Basteleien-Thread!

Du übergibst index nicht und definierst nicht, ob es ein Buff oder Debuff ist, daher wird der erste Buff genommen und da hast du wohl ein Magie-Buff.

Richtig wäre:
Code:
local r, g, b = _G["DebuffButton"..k.."Border"]:GetVertexColor();
ColorBorder(_G["DebuffButton"..k], r * 0.6, g * 0.6, b * 0.6);
Und allgemein ist dein Programmiercode nicht schön. Mich würde es nicht wundern, wenn du Taint-Fehler bekommst
 
Zuletzt bearbeitet von einem Moderator:
Du übergibst index nicht und definierst nicht, ob es ein Buff oder Debuff ist, daher wird der erste Buff genommen und da hast du wohl ein Magie-Buff.

Richtig wäre:
Code:
local r, g, b = _G["DebuffButton"..k.."Border"]:GetVertexColor();
ColorBorder(_G["DebuffButton"..k], r * 0.6, g * 0.6, b * 0.6);
Und allgemein ist dein Programmiercode nicht schön. Mich würde es nicht wundern, wenn du Taint-Fehler bekommst

Wow hat funktioniert
Du bist der beste Shanty

Und kannst du mir sagen was nicht so schön ist an meinem Code? Ich hab mit LUA so Oktober/November angefangen daher hab ich mich nicht mit dem sauberen Coden beschäftigt
 
Du rufst ständig die selben Tabellen auf, du änderst ständig die Schriftart, Position, Grösse, usw.
 
Ich habe nach 7 Monate Pause, meinen WoW-Account reanimiert! :-))

Ich baue grade an meinem xAddonPanel weiter!

Unbenannt1.jpg
 
Code:
local mod == CreateFrame("frame");

--[[ Register the events ]]--

mod:RegisterEvent("ADDON_LOADED");

--[[ call the functions ]]--

function mod:PLAYER_ENTERING_WORLD()
	self:UnregisterEvent("PLAYER_ENTERING_WORLD"); -- Wir brauchen das Event nicht mehr also entfernen wir es
	-- Hier kann ein script stehen der ausgeführt wird wenn der player einlogt
end;

function mod:ADDON_LOADED(...)
	if ... == "ADDON_NAME" then
		self:UnregisterEvent("ADDON_LOADED"); -- Wir brauchen das Event nicht mehr also entfernen wir es
		-- Hier kann ein script stehen der ausgeführt wird wenn ein AddOn geladen wurde
		mod:RegisterEvent("UNIT_HEALTH");
		mod:RegisterEvent("PLAYER_ENTERING_WORLD");
	end
end;

function mod:UNIT_HEALTH(...)
	if ... == "UNIT" then	-- Das ist hier SEHR wichtig denn: sonst wird der Script praktisch dauerhaft ausgeführt
		-- Hier kann ein script stehen der ausgeführt wird wenn sich das Leben des Units ändert
	end
end;

--[[ call the frame:event(self,...) function ]]--

local function OnEvent(self, event, ...)
	if ( self[event] ) then
		return self[event](self, ...);
	end
end;

--[[ call the OnUpdate function ]]--

lastUpdate == 0;	-- Das wird gebraucht um die onUpdate funktion zu verbessern
local function OnUpdate(self, elpased)
	lastUpdate == lastUpdate+elpased;	-- Hier wird die Zeit zusammengerechnet die seit dem letzten Update vergangen ist. Das ist wichtig wenn man etwas nicht alle 0.1 sekunden überprüfen muss
	if ( lastUpdate > 0.5 ) then	-- Überprüfen ob schon genug Zeit vergangen ist
		-- Hier kann ein script stehen der wiederholt ausgeführt wird
		lastUpdate == 0; -- die Zeit wieder auf 0 zurück setzen
	end	
end;

--[[ trigger the functionns ]]--

mod:SetScript("OnEvent", OnEvent);
mod:SetScript("OnUpdate", OnUpdate);

--[[ Rename that Frame ]]--
mod == Im_a_Frame


So, hab mal paar Scripts geschrieben mit Kommentaren damit man versteht wie man ein schön programmiertes AddOn schreibt (Weniger performance lastig), ich hab mich in letzter Zeit praktisch nur noch damit beschäftigt da dies ein wichtiger Teil des programmierens ist
 
Zuletzt bearbeitet von einem Moderator:
Hab Tukui editiert, keine Zeit um alles selber zu coden, muss leveln.
Und hab da ein schönes AddOn geskinnt.

Shantalya 3x darfst du raten was es ist
 
Zuletzt bearbeitet von einem Moderator:
Huhu,

ich dachte ich frag hier mal nach, das Interface besteht ja auch aus Ton und co. ^^.
Und zwar frag ich mich ob es ein Addon gibt mit dem man die Soundeinstellungen verändern kann und zwar im SInne von alle Kampfgeräusche weg. Weil wenn ich so im Menü das Häkchen bei Kampfgeräusche wegmach sind auch die Bossstimmen und co. weg und das will ich nicht.
 
Zuletzt bearbeitet von einem Moderator:
Hat wer vielleicht eine Ahnung wie man Texte als SavedVar speichern kann? Würde gerne mein Text speichern (in der Editbox, max. 500 Zeichen) wenn ich auf OK drücke.
 
Das ist eigentlich recht einfach.

In der toc-Datei muss folgendes:
- Für alle Charaktere speichern:
Code:
## SavedVariables: NAME_DER_SPEICHERUNG
- Charakter-Seitig speichern:
Code:
## SavedVariablesPerCharacter: NAME_DER_SPEICHERUNG
NAME_DER_SPEICHERUNG sollte nichts einfaches sein, denn das ist global und jedes Add-on kann drauf zu greifen. Bei meinen Add-ons nenne ich es immer AddonNameDB (Beispiel: xAddonPanelDB bzw. xAddonPanelDBChar für Charakter-Seitig)

Nun folgendes beim OK-Button einbauen:
Code:
NAME_DER_SPEICHERUNG = Editbox:GetText()

Beim ausgeben in der Editbox vorher noch kontrollieren, ob NAME_DER_SPEICHERUNG vorhanden ist, sonst gibt es einen Fehler. :-)
Zum Beispiel so:
Code:
NAME_DER_SPEICHERUNG = NAME_DER_SPEICHERUNG or "Keine Daten gefunden!";
Editbox:SetText(NAME_DER_SPEICHERUNG);

Das war es eigentlich schon. Mehr muss man nicht machen.
 
Zuletzt bearbeitet von einem Moderator:
Vielleicht hab ich mich falsch ausgedrückt. Es soll kein bestimmter Text sein ,wenn ich z.B jetzt "Blah blah lol rofl" schreibe (und später "lol rofl blah blah") und auf OK drücke soll der gespeichert werden als SavedVar, falls ich dich missverstanden habe, dann tuts mir leid D:
 
Zuletzt bearbeitet von einem Moderator:
Genau das tut dies. :-)

Oder wo speichere ich einen bestimmten Text dort oben? =D
 
Zuletzt bearbeitet von einem Moderator:
Was haltet ihr von solchen Unitframes?

uf.png


Das Fragezeichen soll das Portrait sein und die 3 Quadrate oben rechts sollen die De-/Buffs-Position symbolisieren.
 
Zuletzt bearbeitet von einem Moderator:
Vom Aussehen finde ich es super. Jedoch, hat es, für mich, zuwenige Infos (Target Frame). Sieht man denn noch die HP (%) oder Mana ?
Und die Texture gefällt mir echt. Kannst du sie vielleicht teilen?

Und an dem hier arbeite ich seit ein paar Tagen:


Muss noch paar Sachen übersetzen und noch Dinge hinzufügen/verbessern. Die Funktion des AddOns erklärt sich, glaube ich, von selber
 
Zurück