Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > World of Warcraft
You last visited: Today at 17:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



eigenes Addon (Probleme mit dem Event-Handling)

Discussion on eigenes Addon (Probleme mit dem Event-Handling) within the World of Warcraft forum part of the Popular Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2012
Posts: 4
Received Thanks: 0
eigenes Addon (Probleme mit dem Event-Handling)

Hi@all...
Ich habe vor kurzem angefangen, mich mit der WoW-Addon-Materie zu beschäftigen und bin jetzt fleißig dabei, mir eigene Addons zu schreiben. Jetzt bin ich allerdings schon auf die ersten kleinen Probleme gestoßen.

Also bevor ich meine Probleme erläutere erstmal vorne weg etwas über mich. Ich beschäftige mich schon seit einigen Jahren mit Programmier- / Scriptsprachen. Unter meinem Sprachschatz finden sich u.a. C/++/#, Java, JavaScript, PHP, Pascal, Perl und diverse Basic-Sprachen (Visual Basic, Quick Basic, Pure Basic, etc.) außerdem noch einige Auszeichnungssprachen wie XML und das untergeordnete HTML und noch einiges was dazu gehört (MySQL, WordPress, usw.). Ich schreibe das, um ein wenig zu verdeutlichen, wie ungefähr mein derzeitiger Stand in Sachen Programmierung ist. Somit könnt ihr euch vieleicht ein Teil-Bild von mir machen und wisst, dass ihr mir nicht erst vorbeten müsst, was Variablen sind, wozu Funktionen gut sind oder was es mit Schleifen auf sich hat.

Ich hab mich jetzt ein wenig in Lua eingearbeitet und hab das Grundlegende drauf. Allerdings komme ich jetzt bei der WoW-API nicht ganz weiter. Es geht mir da speziell um das Thema Event-Handling.

Nehmen wir dazu mal ein kleines Code-Beispiel:
Code:
local MainFrame = CreateFrame("FRAME", "MainFrame", UIParent)
MainFrame:SetWidth(200)
MainFrame:SetHeight(200)
MainFrame:SetPoint("LEFT", UIParent, "LEFT", 0, 0)
MainFrame:SetBackdrop({
	bgFile = "Interface\\Buttons\\WHITE8x8",
	edgeFile = "Interface\\Buttons\\WHITE8x8",
	edgeSize = 1})
MainFrame:SetBackdropColor(0, 0.5, 0.8, 0.3)
MainFrame:SetBackdropBorderColor(1, 1, 1, 0.7)

MainText = MainFrame:CreateFontString(nil, "ARTWORK")
MainText:SetFont("Fonts\\ARIALN.ttf", 14, "OUTLINE")
MainText:SetPoint("TOP", MainFrame, "TOP", 0, -5)
MainText:SetText("Any Text")
(Es ist nicht wirklich sinnvoll, dient aber auch nur zur Veranschaulichung.)

Jetzt möchte ich das Fenster mit dem Drücken einer Taste auf der Tastatur verschwinden lassen. Um das Fenster verschwinden zu lassen, benötige ich den Befehl "Hide()" das ist mir klar, allerdings weiß ich nicht, wie ich dieses Event bei einem Tastendruck auslöse. Ich hab mich schon ein wenig informiert aber nichts wirklich Hilfreiches zum Thema Event-Handling bei WoW-Addons gefunden. Mich würde auch gerne mal interessieren, was es alles für Events gibt?

Hier jetzt nochmal eine kleine Kurzfassung meiner Fragen:
- Wie reagiere ich auf ein Event? (ein kleines Codebeispiel wär mir am liebsten ^^)
- Was gibt es alles für Events, auf die ich reagieren kann?

Schonmal danke im Voraus. ^^
EmotionX is offline  
Old 08/17/2012, 13:41   #2
 
Los's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 445
Received Thanks: 520



Was du brauchst ist "SetScript"




Verschiedene ingameevents kannste mit "OnEvent" abfangen
Ne eventliste findest du hier

)


Um dein Beispiel also zu erweitern

Code:
local MainFrame = CreateFrame("FRAME", "MainFrame", UIParent)
MainFrame:SetWidth(200)
MainFrame:SetHeight(200)
MainFrame:SetPoint("LEFT", UIParent, "LEFT", 0, 0)
MainFrame:SetBackdrop({
	bgFile = "Interface\\Buttons\\WHITE8x8",
	edgeFile = "Interface\\Buttons\\WHITE8x8",
	edgeSize = 1})
MainFrame:SetBackdropColor(0, 0.5, 0.8, 0.3)
MainFrame:SetBackdropBorderColor(1, 1, 1, 0.7)
MainFrame:SetScript("OnKeyDown", MainFrame.Hide)

MainText = MainFrame:CreateFontString(nil, "ARTWORK")
MainText:SetFont("Fonts\\ARIALN.ttf", 14, "OUTLINE")
MainText:SetPoint("TOP", MainFrame, "TOP", 0, -5)
MainText:SetText("Any Text")
(Ungetesetet sollte aber klappen)
Musst halt bisl rumspielen und code von andren addons bisl durchschaun
Los is offline  
Thanks
1 User
Old 08/17/2012, 17:18   #3
 
elite*gold: 0
Join Date: Aug 2012
Posts: 4
Received Thanks: 0
Erstmal dankeschön für deine schnelle und hilfreiche Antwort.

Das Code-Beispiel funktioniert einwandfrei und auch die Links waren sehr hilfreich.


Ich hab es mal so abgeändert, dass es nur dann reagiert, wenn ich die Taste "T" drücke. Der Code Dazu sieht so aus:
Code:
local MainFrame = CreateFrame("FRAME", "MainFrame", UIParent)
MainFrame:SetWidth(200)
MainFrame:SetHeight(200)
MainFrame:SetPoint("LEFT", UIParent, "LEFT", 0, 0)
MainFrame:SetBackdrop({
	bgFile = "Interface\\Buttons\\WHITE8x8",
	edgeFile = "Interface\\Buttons\\WHITE8x8",
	edgeSize = 1})
MainFrame:SetBackdropColor(0, 0.5, 0.8, 0.3)
MainFrame:SetBackdropBorderColor(1, 1, 1, 0.7)

MainText = MainFrame:CreateFontString(nil, "ARTWORK")
MainText:SetFont("Fonts\\ARIALN.ttf", 14, "OUTLINE")
MainText:SetPoint("TOP", MainFrame, "TOP", 0, -5)
MainText:SetText("Any Text")

local function HideWindow(self, button, down)
	if button == "T" then
		self:Hide()
	end
end

MainFrame:SetScript("OnKeyDown", HideWindow)
Allerdings ist es wie fast immer beim Programmieren, wenn man ein Problem löst, tritt ein anderes auf. ^^

So lange das Fensterchen sichtbar ist, verschluckt es alle Tastatureingaben. Es ist mir dann nicht mehr möglich irgend ein anderes Fenster mittels Tastendruck zu öffnen, wie z.B. den Quest-Log mit der Taste "L" oder die Map mit der Taste "M", usw...

Gibt es da eine Möglichkeit, mit dem Event so zu sagen nur eine einzige Taste abzufragen, ohne dass die anderen Tasten ins Leere verlaufen?
EmotionX is offline  
Old 08/18/2012, 00:22   #4
 
Mingxie's Avatar
 
elite*gold: 132
Join Date: Feb 2011
Posts: 6,768
Received Thanks: 4,510
Wenn ich mich nicht irre, dann sollte frame:SetPropagateKeyboardInput(1) das richtige sein. Ansonsten lies mal nach (ab dem 12. Post).
Mingxie is offline  
Thanks
1 User
Old 08/18/2012, 02:15   #5
 
elite*gold: 0
Join Date: Aug 2012
Posts: 4
Received Thanks: 0
Genau das, wonach ich gesucht hab.
Dankeschön =)
EmotionX is offline  
Reply


Similar Threads Similar Threads
Flyff hp probleme mit addon
06/22/2011 - Flyff Private Server - 3 Replies
ich habe volgendes problem ich habe bei register alleseingestellt wie ich es sollte (siehe http://www.elitepvpers.com/forum/flyff-pserver-dis cussions-questions/677440-release-homepage-addons. html) aber wenn ich es dann in HTML eingebe sieht das dann so aus http://img9.imageshack.us/img9/1699/faillvf.jpg Uploaded with ImageShack.us benutze npage
Eigenes Addon erstellen - Lua?
05/11/2011 - World of Warcraft - 5 Replies
Hallo Experten! habe eine kleine Frage an euch. Ich möchte mir ein eigenes Addon erstellen, ein Grundlegendes Tutorial habe ich bereits gefunden, jedoch nichts weiterführendes? Könnt ihr mir irgendwelche Hilfreichen Seiten posten auf denen ich mehr Informationen zu Lua beziehen kann? Addon Studio V3 2010 schon versucht zu installieren. Das Funktioniert nicht mehr. Gibt es noch funktionierende Versionen? Wenn ja bitte posten.
[Addon] event registrieren?
04/16/2010 - General Gaming Discussion - 1 Replies
hallo leute, ich bastel gerade an einem addon rum, dazu benötige ich eine ständige abfrage der eigenen hp. ich habe versucht das über das event "UNIT_HEALTH" zu machen. jedoch wird die event funktion nie ausgeführt. jemand ne idee woran das liegen könnte? mfg depp
Addon probleme
04/21/2008 - World of Warcraft - 14 Replies
ich spiele seit..ca 1-2 wochen wieder WoW (auf nem shard ;) ) und habe mir vor vlt 4 tagen neue addons gezogen , aber von anfang an hatte ich mir diesen ein problem , sie wurden IMMER wieder resettet (ich logge mich nicht via alt+f4 aus) atm läuft mein virenscanner über meinen Windowsordner nachdem ich auf den thread hier gestossen bin WoW-Europe.com Foren -> Addons resetten nach Neustart von WOW ich denke allerdings nicht das ich den habe aber möglich ist alles , wüsstet ihr noch andere...
Probleme mit addon...
01/03/2008 - World of Warcraft - 6 Replies
habe das schon mal im Treat oben gepostet, habe aber Angst das da keiner mehr reinschaut... so da mein erster Post hier, ich sitze jetzt seit 0.30 hier jetzt ist 2:56 und ich habe diesen " mist " noch immer nicht zum laufen gebracht gar nichts... und das regt mich innerlich gerade so tierisch auf das ich entweder so doof bin oder einfach die Erklärungen nix taugen Punkt 1 addon ganz normal installiert Punkt 2 Die datein die als Archive im Anhang waren ( Cartographer_Icons,...



All times are GMT +2. The time now is 17:27.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.