Items und Makros..

Diesen Thread fand ich bis hierher sehr hilfreich und interessant - Dafür erst einmal ein Dankeschön an die Vorschreiber.
Nun, da ich weis wie die Verlinkung der Items funktioniert, würde mich noch interessieren ob es eine Möglichkeit gibt auf diesem Wege gleich die benötigten Zutaten mitzuposten - so nach dem Muster :

/2 Name: Stelle xxxx gegen mats kostenlos her
/2 Name: Benötigt werden (Zutat1), (Zutat2), (Zutat3)

wobei natürlich die Zutaten, passend zum Rezept, jeweils mitgepostet werden sollen.

Für alle sachdienlichen Hinweise bin ich dankbar

Gruß,

Gant

Japp, dafür gibt's die Funktion GetTradeSkillReagentItemLink(index, reagentId).
Leider ist mein Lappi immer noch in Reperatur, deswegen kann ich damit derzeit nicht rumexperimentieren, aber auf www.wowwiki.com ist die Funktion unter dem Punkt "World of Warcraft API" bei den Item-Funktionen zu finden. Leider steht kein konkretes Beispiel dabei.
sad.gif
 
So, der Rechner ist wieder da, also liefere ich mal fix wie versprochen das Addon nach:

GemTrade.toc:

## Interface: 20003
## Title: GemTrade
## Notes: Addon fuer den Handelschan, weil Makros nur 255 Zeichen haben dürfen...
## Title-deDE: GemTrade
## Version: 0.1
GemTrade.xml

Naja, da brauchts wohl keine großen Erklärungen. 20003 ist die Interfacenummer von 2.0.10 oder so und die einzige andere wichtige Info im File ist, daß die dazugehörige xml-Datei "GemTrade.xml" heißt.

GemTrade.xml:

<Ui>
<script file="GemTrade.lua"/>
<Frame name="GemTrade">
<scripts>
<OnLoad>
GemTrade_OnLoad();
</OnLoad>
</Scripts>
</Frame>
</Ui>

Auch wieder nix tolles. Halt nur die Info, daß beim Laden des UI die Funktion GemTrade_OnLoad ausgeführt werden soll.

GemTrade.lua:

function GemTrade_OnLoad()
DEFAULT_CHAT_FRAME:AddMessage("GemTrade loaded...", 1.0, 1.0, 1.0, 1.0);
SLASH_GemTrade1 = "/gemtrade";
SlashCmdList["GemTrade"] = function (option)
if option == "tausche" then tausche("test");
elseif option == "biete" then biete("test");
else DEFAULT_CHAT_FRAME:AddMessage("Illegale Option: "..option);
end
end
end

function tausche(msg)
local chan ="CHANNEL";
local et_sName, et_sLink = GetItemInfo(23439);
local lr_sName, lr_sLink = GetItemInfo(23436);
SendChatMessage("Suche "..et_sLink..". Tausche gegen "..lr_sLink,chan,nil,3)
end;

function biete(msg)
local chan = "CHANNEL";
local et_sName, et_sLink = GetItemInfo(24060);
SendChatMessage("Schleife "..et_sLink.." gegen Mats und 4G",chan,nil,3);
et_sName, et_sLink = GetItemInfo(24037);
SendChatMessage("Schleife "..et_sLink.." gegen Mats und 4G",chan,nil,3);
SendChatMessage("Schleife gruene Edelsteine je 1G",chan,nil,3);
SendChatMessage("Liste: /w Dalmi !gem",chan,nil,3);
end;

Die erste Funktion wird beim Laden der UI ausgeführt und legt die Slash-Kommandos fest.
Wenn später dann "/gemtrade biete" oder "/gemtrade tausche" eingegeben wird, wird die entsprechende Funktion aufgerufen.

In den beiden anderen Funktionen werden nur die Itemlinks geholt und dann in den Handelschannel (bei mir 3) geschrieben.

Der Vorteil ist einfach, daß man theoretisch mit einem Aufruf den Channel so richtig vollspammen kann.^^
Man muß sich halt nicht mehr mit dem 255-Zeichen-Maximum rumschlagen.
smile.gif
 
Danke an Dalmus für die viele Mühe! Hab noch nicht alles 100% überrissen, aber werde mit Sicherheit mal rumexperimentieren (am besten um 4 Uhr morgens, wenn nur wenige Leute on sind XD)
 
Zuletzt bearbeitet von einem Moderator:
Zurück