Per Script diverse Emots, oder Kommandos absetzen

Mubug

Quest-Mob
Registriert
10.09.2008
Beiträge
76
Reaktionspunkte
0
Kommentare
2
Hallo,

ich bin leider im Moment gezwungen ein eigenes Add-On zu schreiben, wer wissen will warum, kann hier weiter lesen, ansonsten einfach nach unten zum eigentlichen Problem springen.

Vorgeschichte:
ich besitze eine Logitech G-11 Tastatur mit diversen Sondertasten, denen ich bestimmte Funktionen hinterlegen will.
Beispiel: /logout, /folgen /lachen usw.
Leider bekommt der WAR Chat das nicht auf die Reihe und interpretiert die Buchstaben 2 mal, sofern der entsprechende Buchstabe als Kommando in WAR vorgesehen ist.
Beispiel: /folgen ... er folgt wirklich, öffnet aber gleichzeitig die Freundesliste weil der Buchstabe "O" gedrückt wurde.


Problem:
Ich möchte ein Add-On mit dem Namen "Y" haben, welches mir via Slashkommandos entsprechende E-motes / Funktionen aufruft.
Z.B. /logout oder /folgen usw.

Am liebsten wäre mit natürlich folgende Aufruf in Warhammer (Schreibweise): /y 1 ... bis /y9.
Also: "/y 1"<Enter> -> führt das Kommando "/folgen" aus.

Ich habe mir gerade mal ein paar Add-Ons angeschaut und versucht anhand dessen ein Script zu bauen (kann im Moment kein WAR starten, würde aber gerne wissen ob das so funktionieren würde).
Da ich aber keinen Plan von LUA oder Add-On Programmierung habe, bin ich mir nicht sicher ob folgendes funktionieren wird:

y.lua:
Code:
function y.Initialize()
	local r = LibSlash.RegisterSlashCmd("y", y.HandleSlashCommands)
	if not r then
	   Print("G11 - Initialisierung fehlgeschlagen :")
	end
end

function y.HandleSlashCommands(args)
	local opt, val = args:match("([a-zA-Z0-9]+)[ ]?(.*)")
	if "1" == opt then
		SystemData.UserInput.ChatText = towstring("/folgen")
				BroadcastEvent( SystemData.Events.SEND_CHAT_TEXT )
	elseif "2" == opt then
		SystemData.UserInput.ChatText = towstring("/logout")
				BroadcastEvent( SystemData.Events.SEND_CHAT_TEXT )
	end
end

y.mod
Code:
<?xml version="1.0" encoding="UTF-8"?>
<ModuleFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<UiMod name="y" version="1.0" date="14/11/2008">
		<Author name="mubug" email="no@no.com" />
		<Description text="G11 - Tastatur Makro umgehen" />
		<Dependencies />
		<Files>
			<File name="y.lua" />
		</Files>
		<OnInitialize>
		 <CallFunction name="y.Initialize" />
		</OnInitialize>
		<OnUpdate />
		<OnShutdown />
	</UiMod>
</ModuleFile>

Wenn mal eben die Coder unter euch drüber schauen könnten um ihr Urteil abzugeben, würde mir das schon weiter helfen und evtl. sucherei ersparen.

LG,

Mubug
 
Ohne den Code nun ganz genau geprüft zu haben (bin mir nicht ganz sicher, ob das mit dem Versenden bzw. danach die Parameterabfrage so einfach direkt klappt):

Dein Problem dürfte das nicht oder kaum lösen, denn es bleibt ja dabei, dass du einen Befehl eintippen musst.

Viel einfacher (und ohne Addon):

Erstelle über die Makrofunktion im Spiel deine passenden Makros, lege die auf eine selten benötigte Leiste mit Hotkeys (z.B. die dritte Schnellleiste - Strg + Ziffer) und belege die Tasten dann auf die Sondertasten deiner Tastatur.
 
Zurück