Nachtliga-Forum Nachtliga-Forum
Das Rollenspielforum für die Forscherliga, die Nachtwache und unsere verbundenen Realms
www.Forscherliga-Forum.de
www.Nachtliga-Forum.de
 
 Kalender  FAQFAQ  ImpressumImpressum & Datenschutz  SuchenSuchen  MitgliederMitglieder  BenutzergruppenBenutzergruppen  RegistrierenRegistrieren  ProfilProfil  EinstellungenEinstellungen  CharakterCharakter  private Nachrichtenprivate Nachrichten  LoginLogin 

KalenderKalender
So 21 Okt 2018
Mo 22 Okt 2018
Di 23 Okt 2018
Mi 24 Okt 2018
Do 25 Okt 2018
Fr 26 Okt 2018
Sa 27 Okt 2018
Heute ist der 22. Okt 2018, 13:44
 Forum-Index » OOC-Ecke » Archiv » Gryphonheart
Aus Farnelias Werkstatt
Neues Thema eröffnen   Neue Antwort erstellen Seite 4 von 5 [70 Beiträge] Das Thema als ungelesen markieren ::  Vorheriges Thema anzeigen :: Nächstes Thema anzeigen
Gehe zu Seite: Zurück 1, 2, 3, 4, 5 Weiter
Autor Nachricht
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: Reader
Thema Beschreibung: "Und es begab sich..."
Verfasst am: 25. Aug 2009, 14:19 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Der Reader erlaubt es ein beliebiges GHI-Schriftstück vorzulesen.

Benutzung
Mit einem Rechtsklick wird der Reader aktiviert. Nun steht der Kommandozeilenbefehl /read zur Verfügung, mit dem ein Buch importiert werden kann. Dafür muss der Name des Buches angegeben werden (Anfangsbuchstaben reichen allerdings aus).
Beispiel: Eine GHI-Version des Buches 'Die Wächter von Tirisfal' soll vorgelesen werden. Mittels /read die wä wird es importiert.
Nun kann mittels Rechtsklick vorgelesen, pausiert und fortgefahren werden.

Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:49, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eisenfeld
Forscherliga



"Roter Söldner"



Beiträge: 381

[ Charakterinfo ]
Titel: Verfasst am: 25. Aug 2009, 18:48 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Farnelia hat Folgendes geschrieben:
Versuch folgendes:

In der Funktion PRT_SPEAK, die letzte Zeile
Code:
SendChatMessage("s Papagei krächzt: \"..."..speak.."\"", "EMOTE", nil, nil);

gegen folgende austauschen
Code:
GHI_DoEmote("s Papagei krächzt: \"..."..speak.."\"", 2);

Das ergibt eine Verzögerung von 2 Sekunden. Du kannst die Zahl aber nach Belieben variieren. Testen kann ich es nicht, da ich im Moment zuhause kein Internet habe.


Huhu, hat geklappt. Habe nur noch eine Kleinigkeit geändert, damit er noch echter wirkt:
Code:
GHI_DoEmote("s Papagei krächzt: \"..."..speak.."\"", 2);

Code:
GHI_DoEmote("s Papagei krächzt: \"..."..speak.."\"", random(1,5));
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: PlayList Verfasst am: 15. Sep 2009, 16:20 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Die PlayList dient dazu Geräusche und Musikstücke hintereinader abzuspielen. Zusätzlich lässt sich jedes Musikstück mit einem Emote unterlegen. Um die Musikstücke zu hören bzw. die Emotes zu lesen, sind der SoundPlayer und Narrator erforderlich.

Code
Das folgende Codebeispiel erzeugt ein Katapult, das abgefeuert wird (mit passendem Emote). Fünf Sekunden später erfolgt der Einschlag des Geschosses. Dankeschön an Artorion, dass er die Pfade zu den Geräuschen heraus gefunden hat.
Code:
SP_SOUNDFILES = { "Sound\\Vehicles\\ForsakenCatapult\\ForsakenCatapultAttackThrown1.wav",
                  "Sound\\Doodad\\Hellfire_Raid_FX_Explosion01.wav" };
SP_EMOTES = { "Das Donnern einer Belagerungsmaschine ertönt, als ein Seuchenwerfer abgefeuert wird.",
              "" }
SP_SOUNDLENGTHS = { 0,
                    5 };

SP_RANGE = 20;

SP_LASTTICK = time();
SP_ELAPSEDTIME = 0;
SP_SOUND_NUMBER = 1;


if SP_LOOP == nil then
  SP_LOOP = CreateFrame("Frame", nil, UIParent);
  SP_LOOP:SetScript("OnUpdate", function() SP_OnUpdate() end);
else
  -- Vorzeitiges abbrechen
  SP_LOOP:SetScript("OnUpdate", nil);
  SP_LOOP = nil;
end

function PlaySound()
  if SP_SOUNDFILES[SP_SOUND_NUMBER] == nil then return; end
  local zone = GetZoneText();
  if GetPlayerMapPosition("player") == nil then WorldMapFrame:Show(); WorldMapFrame:Hide(); end
  local X,Y = GetPlayerMapPosition("player");
  X = math.floor(X*100); Y = math.floor(Y*100);
  local sendString = strjoin("\a", "SP2", zone, SP_RANGE, X, Y, SP_SOUNDFILES[SP_SOUND_NUMBER]);
  local cid = GetChannelName("xtensionxtooltip2");
  SendChatMessage(sendString, "CHANNEL", GetDefaultLanguage("player"), cid);
  if SP_EMOTES[SP_SOUND_NUMBER] == nil or string.len(SP_EMOTES[SP_SOUND_NUMBER]) == 0 then return; end
  sendString = strjoin("\a", "NAR1", zone, SP_RANGE, X, Y, SP_EMOTES[SP_SOUND_NUMBER]);
  SendChatMessage(sendString, "CHANNEL", GetDefaultLanguage("player"), cid);
end

function SP_OnUpdate()
  if SP_LOOP == nil then return; end
  local diff = time() - SP_LASTTICK;
  SP_LASTTICK = time();

  if diff > 0 then
    SP_ELAPSEDTIME = SP_ELAPSEDTIME + diff;
    if SP_ELAPSEDTIME >= SP_SOUNDLENGTHS[SP_SOUND_NUMBER] then
      PlaySound();
      SP_ELAPSEDTIME = 0;
      SP_SOUND_NUMBER = SP_SOUND_NUMBER + 1;
      if SP_SOUNDFILES[SP_SOUND_NUMBER] == nil then
        SP_LOOP:SetScript("OnUpdate", nil);
        SP_LOOP = nil;
      end
    end
  end
end


Benutzung
Um die PlayList zu konfigurieren, sind die folgenden Schritte notwendig:

  • Die Musikstücke werden in SP_SOUNDFILES eingetragen.
  • Emotes werden in SP_EMOTES eingefügt. Soll zu einem Musikstück kein Emote abgespielt werden, wird stattdessen ein leerer String ("") eingefügt.
  • Die Dauer (in Sekunden) zwischen dem Beginn eines Musikstücks und dem folgenden wird in SP_SOUNDLENGTHS eingetragen.
  • Die Reichweite der Geräusche und Emotes wird in SP_RANGE festgelegt


Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:50, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: FrameMaster
Thema Beschreibung: "The show must go on!"
Verfasst am: 21. Sep 2009, 17:16 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Der FrameMaster ist - genau wie die PlayList - dazu da, einen vorgegebenen Ablauf abzuspielen. In diesem Fall handelt es sich allerdings um visuelle Darstellungen.


Code
Das folgende Codebeispiel wurde eingesetzt, als eine Gruppe Schildwachen den Smaragdgrünen Traum betrat, um mit einer Präsenz hinter dem Portal des Zwielichthains Kontakt aufzunehmen.
Eigentlich ist der Code zu groß, um ihn hier abzudrucken. Um zu erklären, wie er für persönliche Bedürfnisse angepasst werden kann, ist es jedoch praktischer.
Anmerkung: Wer den FrameMaster zuerst ausprobieren möchte, ohne Spoiler zu lesen, sollte sich das Archiv Ende dieses Beitrags herunter laden und den Gegenstand bauen. Viel Spaß beim Eintritt in den Traum.

Skript 1: Initialisierung
Das erste Skrikpt kümmert sich um die Initialisierung der verwendeten Frames. Für den Smaragdgrünen Traum benutze ich zwei Frames und eine MessageFrame.

  • Ein Frame der den Bildschirm langsam schwärzt
  • Ein Frame, der nach dem Traumdialog den Bildschirm aus der Schwärze in ein trübes grau überführt und gleichzeitig mit dem vorigen Frame abgespielt wird, der den schwarzen Bildschirm wieder aufhellt.
  • Ein MessageFrame, der für die Darstellung des Zwiegesprächs benutzt wird.

Aus technischen Gründen, darf nur der MessageFrame schon hier sichtbar gemacht werden (FRM_MSG:Show(); ). Die anderen beiden Frames würden sich sofort auf die voreingestellte Farbe stellen, aber ich brauchte weiche Übergänge. Diese werden dann in der Ablaufsteuerung geskriptet.

Code:
-- Init
-------
if FRM_RUNNING == nil then
  FRM_WAITTIME = 0;
  FRM_CURRENTSTEP = 1;
 
  FRM_FADETOBLACK = CreateFrame("Frame");
  FRM_FADETOBLACK:SetFrameStrata("TOOLTIP");
  FRM_FADETOBLACK:SetWidth(2000);
  FRM_FADETOBLACK:SetHeight(2000);
  FRM_FADETOBLACK:SetPoint("CENTER",0,0);
  FRM_FADETOBLACK.bg = FRM_FADETOBLACK:CreateTexture(nil, "CENTER");
  FRM_FADETOBLACK.bg:SetAllPoints(nil);

  FRM_FADETOGREY = CreateFrame("Frame");
  FRM_FADETOGREY:SetFrameStrata("TOOLTIP");
  FRM_FADETOGREY:SetWidth(2000);
  FRM_FADETOGREY:SetHeight(2000);
  FRM_FADETOGREY:SetPoint("CENTER",0,0);
  FRM_FADETOGREY.bg = FRM_FADETOGREY:CreateTexture(nil, "CENTER");
  FRM_FADETOGREY.bg:SetAllPoints(nil);
   
  FRM_MSG = CreateFrame("MessageFrame")
  FRM_MSG:SetWidth(512);
  FRM_MSG:SetHeight(280);
  FRM_MSG:SetPoint("TOP", 0, -100, "BOTTOM", 0, 200);
  FRM_MSG:SetScale(1);
  FRM_MSG:SetInsertMode("BOTTOM");
  FRM_MSG:SetFrameStrata("TOOLTIP");
  FRM_MSG:SetToplevel(true);
  FRM_MSG:SetFontObject(SystemFont_OutlineThick_Huge2);
  FRM_MSG:Show();
else
  if FRM_FADETOBLACK ~= nil then
    FRM_FADETOBLACK:Hide();
    FRM_FADETOBLACK = nil;
  end
  if FRM_FADETOGREY ~= nil then
    FRM_FADETOGREY:Hide();
    FRM_FADETOGREY = nil;
  end
  if FRM_MSG ~= nil then
    FRM_MSG:Hide();
    FRM_MSG = nil;
  end
  FRM_WAITTIME = nil;
  FRM_RUNNING = nil;
end



Skript 2: Ablaufsteuerung
Dieses Skript ist eine Art Drehbuch. Jeder Schritt ist eine Aktion, die abgespielt wird. Hier wird den Frames die Logik gegeben, dass sie ein- bzw. ausblenden sollen. Außerdem wird hier im 3-Sekunden-Takt das Zwiegespräch abgespielt.
Die Wartezeit zwischen dem aktuellen Schritt und dem nächsten kann mit FRM_WAITTIME neu gesetzt werden.

Code:
-- Steps
--------
function FRM_StepFrame(i)
  if i == 1 then
    FRM_FADETOBLACK.bg:SetTexture(0,0,0,1);
    UIFrameFadeIn(FRM_FADETOBLACK, 4, 0, 1);
    FRM_WAITTIME = 5;
  elseif i == 2 then
    FRM_MSG:AddMessage("Wo bin ich?", 1.0, 1.0, 1.0, 54, 10);
    FRM_WAITTIME = 3;
    GHI_DoEmote("sleep");
  elseif i == 3 then
    FRM_MSG:AddMessage("Wer bist du?", 0.5, 0.5, 0.5, 55, 10); 
  elseif i == 4 then
    FRM_MSG:AddMessage("Wer spricht da?", 1.0, 1.0, 1.0, 56, 10);
  elseif i == 5 then
    FRM_MSG:AddMessage("Erkennst du mich nicht?", 0.5, 0.5, 0.5, 57, 10); 
  elseif i == 6 then
    FRM_MSG:AddMessage("Nein...", 1.0, 1.0, 1.0, 58, 10);
  elseif i == 7 then
    FRM_MSG:AddMessage("Ich bin... war der Wächter dieses Hains.", 0.5, 0.5, 0.5, 57, 10); 
  elseif i == 8 then
    FRM_MSG:AddMessage("Dann bist du ein Freund?", 1.0, 1.0, 1.0, 58, 10);
  elseif i == 9 then
    FRM_MSG:AddMessage("Bist du einer?", 0.5, 0.5, 0.5, 57, 9); 
  elseif i == 10 then
    FRM_MSG:AddMessage("Natürlich...", 1.0, 1.0, 1.0, 58, 6);
  elseif i == 11 then
    FRM_MSG:AddMessage("Beweise es mir!", 0.5, 0.5, 0.5, 57, 3); 
  elseif i == 12 then
    FRM_FADETOGREY.bg:SetTexture(0.3,0.3,0.3,0.5);
    UIFrameFadeIn(FRM_FADETOBLACK, 4, 1, 0);
    UIFrameFadeIn(FRM_FADETOGREY, 4, 0, 1);
    FRM_WAITTIME = 999;
  end
end



Skripts 3: Ablauf
Das letzte Skript lässt das Drehbuch aus Skript 2 laufen. Hier sollte nichts verändert werden (außer man liebt Experimente mit ungewissem Ausgang).

Code:
-- Run
------
if FRM_WAITTIME ~= nil then
  FRM_LOOP = CreateFrame("Frame", nil, UIParent);
  FRM_LOOP:SetScript("OnUpdate", function() FRM_OnUpdate() end);
  FRM_LASTTICK = time();
  FRM_ELAPSEDTIME = 0;
  FRM_RUNNING = 1;
end

function FRM_OnUpdate()
  if FRM_RUNNING == nil then
    FRM_LOOP:SetScript("OnUpdate", nil);
    FRM_LOOP = nil;
    return;
  end

  local t = time();
  local diff = t - FRM_LASTTICK;
  FRM_LASTTICK = t;

  if diff > 0 then
    FRM_ELAPSEDTIME = FRM_ELAPSEDTIME + diff;
    if FRM_ELAPSEDTIME >= FRM_WAITTIME then
      FRM_StepFrame(FRM_CURRENTSTEP);
      FRM_ELAPSEDTIME = 0;
      FRM_CURRENTSTEP = FRM_CURRENTSTEP + 1;
    end
  end
end



Benutzung
Zusammenfassend muss folgendes getan werden:

  1. In Skript 1 werden die benötigten Frames definiert. Da der Platz gering ist, sollte man prüfen, ob sich ein Frame mehrfach verwenden lässt. Man kann aber auch mehrere Initialisierungsskripte vor der Ablaufsteuerung bauen.
  2. In Skript 2 wird die Szene, die abgespielt werden soll in Einzelschritte zerlegt.

Kleiner Hinweis: Musik lässt sich in den Steps mittels PlaySoundFile abspielen.


Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:51, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Surih Fyrenna
Forscherliga



"Maus"
Schattenkriegerin
<Exequien>

Beiträge: 79
Wohnort: Nethergarde
[ Charakterinfo ]
Titel: Verfasst am: 12. Okt 2009, 12:20 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Farnelia? Hab mir nach einem Rechnerwechsel GHI wieder draufgeholt.. bei mir spielt sich aber nix ab, weder Narrator noch Soundplayer funktionieren. der Papagei auch nicht. Hab ich ein zusatzaddon vergessen?
Spielst dueigentlich noch?

lieb grüß
Surih
_________________
Das Weltall wird der Menschheit keine Traene nachweinen. (Albert Einstein)


- Drücken Sie F13 zum Start des Intelligenztests!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Azaléa Brightflame
Forscherliga



"Lady des Hauses D'Lanaar"

<Haus D'Lanaar>

Beiträge: 700

[ Charakterinfo ]
Titel: Verfasst am: 13. Okt 2009, 23:24 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Ich spiele aktuell ausschließlich auf Hordenseite. Zu deinem Problem: Unter Umständen hast du GHM vergessen. Liegt es nicht daran, hast du höchstwahrscheinlich ein weiteres Addon installiert, dass sich mit GHI beißt. Als da wären: XPerl, Chataddons, Taschenaddons und Addons die die Buffanzeige modifizieren.
_________________
"Schwarz und rot, bald bist du tot."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kitiara di Javidor
Forscherliga



"Blutritterin"



Beiträge: 635

[ Charakterinfo ]
Titel: Verfasst am: 14. Okt 2009, 10:13 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Es gibt da auch ein kleines Problem, bei Spieler die Fremdsprachen über GHI laufen lassen, wie Thallasisch bei Blutelfen, werden bei Spielern die kein GHI, bzw nicht das Übersetzungsmodul, haben, nicht mehr im Chat angezeigt.
Das Problem trat bei uns in der Gründungsversammung des Senat auf.
Ich konnte zwar das Gesprochene in der Sprechblase über den Köpfen der Spieler lesen, aber im Chat wurde nichts angezeigt.
Die Frage ist, lag es daran, das ich zwar das GHI hatte, aber das betreffende Modul noch nicht hatte um die Übersetzung zu bekommen, oder ob Spieler die generell kein GHI haben, das Problem haben.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Milana Tiefenherz
Forscherliga



"Die Verkünderin"

<Enkilzar>

Beiträge: 2415

[ Charakterinfo ]
Titel: Verfasst am: 14. Okt 2009, 11:51 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Das ist ein grosses Problem bei leuten die Sprechblasen ausgeschaltet haben....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Milana Tiefenherz
Forscherliga



"Die Verkünderin"

<Enkilzar>

Beiträge: 2415

[ Charakterinfo ]
Titel: Verfasst am: 16. Okt 2009, 13:56 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Können die GHI-Buffs von anderen Spielern gesehen werden, oder nur von einem Selbst?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Azaléa Brightflame
Forscherliga



"Lady des Hauses D'Lanaar"

<Haus D'Lanaar>

Beiträge: 700

[ Charakterinfo ]
Titel: Verfasst am: 16. Okt 2009, 23:13 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Also bitte solche Fragen im FAQ-Thread stellen. Was das von Kiti angesprochene Problem angeht, haben wir neulich heraus gefunden, dass die neue Option von Blizzard, die Spielernamen nach Klassen einzufärben damit zusammen hängen könnte.

Zu Stilles Frage: Nur Leute mit GHI können GHI Buffs sehen.
_________________
"Schwarz und rot, bald bist du tot."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: Sphäre der Unverwundbarkeit
Thema Beschreibung: /castsequence Gottesschild, Ruhestein
Verfasst am: 23. Nov 2009, 10:59 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Das Item diente ursprünglich dazu, störende GHI-Debuffs zu entfernen. Mit ein wenig "Politur" erinnert es nun an den Gottesschild der Paladine. Mittels Rechtsklick wird die Sphäre aktiviert und entfernt sofort sämtliche vorhandenen und nachträglich erhaltenen Debuffs. Mit einem weiteren Rechtsklick wird sie wieder deaktiviert. Wenn ich mal Zeit und Lust habe baue ich noch eine Version mit 12 Sekunden Dauer und 2 Minuten Cooldown. Zwinkern


Code
Den folgenden Code einfach in eine "Script"-Rightclick-Action einfügen.

Code:
INV_BUFF = Sphäre der Unverwundbarkeit";
INV_ICON = "Interface\\Icons\\INV_Misc_Gem_Pearl_04";

if INV_LOOP == nil then
  INV_LOOP = CreateFrame("Frame", nil, UIParent);
  INV_LOOP:SetScript("OnUpdate", function() INV_OnUpdate() end);
  ApplyGHIBuff(INV_BUFF, "Unverwundbar", INV_ICON, 1, "HELPFUL", "PHYSICAL", 0, 0);
else
  INV_LOOP:SetScript("OnUpdate", nil);
  INV_LOOP = nil;
 
  local n = "";
  local i = 1;
  while n ~= nil do
    if type(GHI_BuffList[i]) == "table" then
      n = GHI_BuffList[i].name;
    else
      n = nil;
    end
    if n == INV_BUFF then
      RemoveGHIBuff(i, "HELPFUL");
    end
    i = i + 1;
  end 
end

function INV_OnUpdate()
  GHI_DebuffList = {};
end



Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:52, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: WalkyTalky
Thema Beschreibung: "Hallo..? Hört mich jemand?"
Verfasst am: 23. Dez 2009, 15:25 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Das WalkyTalky bildet ein generisches Sprechfungerät nach, dass verschiedene Frequenzen besitzt und 3 verschiedene Modi beherrscht (siehe unten).


Code
Da der Code zu umfangreich ist, habe ich ihn nicht abgedruckt. Ein Download findet sich wie üblich am Ende des Artikels.


Benutzung
Sobald das WalkyTalky mittels Rechtsklick aktiviert wurde, betritt man einen speziellen Channel (am Anfang freq100). Man kann nun wie gewöhnlich in diesen Channel schreiben. Je nach Modus (siehe unten) passiert dazu noch etwas.
Das WalkyTalky kennt drei verschiedene Befehle, die man benutzen kann sobald man es mittels Rechtsklick angeschaltet hat:

  • /fnk <Kanalnummer> - Kanal wechseln (erlaubte Werte liegen zwischen 100 und 999). Das WalkyTalky verlässt darauf hin den aktuellen Channel und wechselt danach in den neuen.
  • /fnf <Frame-Nummer> - Frame auswählen, in dem Ausgabe angezeigt werden soll (1 bis 10). 1 ist der Standardchatframe, 2 das Kampflog.
  • /fnm <Modus> - Wechselt den Modus (zwischen 0 und 2):

    • 0 - Sämtliche Kommunikation findet nur im WalkyTalky-Channel statt. Man kann sich diesen Modus als Headset mit Kehlkopfmikrofon vorstellen oder simple Telepathie.
    • 1 - Bei Benutzung des WalkyTalkys, wird ein Emote erzeugt.
    • 2 - Mit diesem Modus können umstehende alles Mithören. Alles was im WalkyTalky-Channel gesprochen wird, wird von einem Charakter mit aktiviertem WalkyTalky im /s wiederholt.



Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:53, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Farnelia Wildherz
Forscherliga



"Jüngste der drei Schwestern"



Beiträge: 207

[ Charakterinfo ]
Titel: Unbuffer V1.0
Thema Beschreibung: Irokesier das, Blizzard!
Verfasst am: 30. Dez 2009, 01:07 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Beschreibung
Aus meiner Abscheu vor der Irokesengranate geboren bzw. den Unfug den OOC'ler damit besonders gerne bei Rollenspiel-Events treiben, habe ich den Unbuffer entwickelt. Einmal aktiviert, gleicht er einen neu erhaltenen Buff mit einer erweiterbaren Liste ab und löscht ihn gegebenenfalls selbstständig.


Code
Da der Code zu umfangreich ist, habe ich ihn nicht abgedruckt. Ein Download findet sich wie üblich am Ende des Artikels.


Benutzung
Der Unbuffer wird mittels Rechtsklick aktiviert. Mit /unb kann man verschiedene Befehle benutzen:

  • /unb - Listet sämtliche Befehle auf, die der Unbuffer versteht.
  • /unb show - Zeigt eine Liste aller Buffs an, die der Unbuffer blockt.
  • /unb add <Buff> - Fügt einen Buff zur Liste der geblockten Buffs hinzu. Der Buff muss exakt geschrieben werden. Groß-Klein-Schreibung ist aber egal.
  • /unb rem <Nummer> - Löscht den Buff an der angegebenen Position aus der Liste. Vorsicht: Die nachfolgenden Buffs in der Liste werden dadurch neu durch nummeriert.

Beispiele:
/unb add Truthahnfedern - Ab sofort wird der Truthahnfeder-Buff sofort entfernt.
/unb rem 2 - Löscht den zweiten Buff aus der Liste der zu blockenden Buffs.

Download
Google text & tabellen



Zuletzt bearbeitet von Farnelia am 15. Jan 2010, 16:53, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Malanor Flammenstern
Forscherliga




Choreograph
<Tanz Mit Mir>

Beiträge: 19

[ Charakterinfo ]
Titel: Sound für die Lockbox Verfasst am: 9. Jan 2010, 23:44 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Ich sagte ja, ich bastel ein wenig herum.
Grashia wird mich dafür hassen, da ich doch für die Raids üben soll Zwinkern

Aber ich finde, wenn schon Lockbox und wenn schon GHI, dann nutzt man sicher auch den absolut genialen Soundplayer.
Und ich finde, wenn man schon Sachen nutzt, dann richtig mit Ambiente.

Daher hier meine Vorschlag, der gut noch in den Code hineinpasst.
Ich hab jetzt mal nur den Teil gepostet, den ich angepasst habe.

Und zwar in dem Script "Lockbox V1.1 - 2-Key" den Teil für das Script des Keys:

Code:

  rightClick[1].code = {
   "local PREFIX = \"SP2\"; local MAXRANGE = \"2\"; local SOUNDFILE = \"Sound\\\\Item\\\\UseSounds\\\\UseLockPick02.wav\";\n",
   "local ZONE = GetZoneText(); WorldMapFrame:Show(); WorldMapFrame:Hide(); local X,Y = GetPlayerMapPosition(\"player\");\n",
   "X = math.floor(X*100); Y = math.floor(Y*100);\n",
   "local SENDSTRING = strjoin(\"\a\", PREFIX, ZONE, MAXRANGE, X, Y, SOUNDFILE); cid, cname = GetChannelName(\"xtensionxtooltip2\");\n",
   "SendChatMessage(SENDSTRING, \"CHANNEL\", GetDefaultLanguage(\"player\"), cid);\n",
   "if GHI_ItemData[\""..LB_BOX_ID.."\"].rightClick[1].req_detail == \""..LB_CHAR_NAME..LB_TIMESTAMP.." == nil\" then\n",
   "GHI_ItemData[\""..LB_BOX_ID.."\"].rightClick[1].req_detail = \""..LB_CHAR_NAME..LB_TIMESTAMP.." ~= nil\";\n",
   "else\n",
   "GHI_ItemData[\""..LB_BOX_ID.."\"].rightClick[1].req_detail = \""..LB_CHAR_NAME..LB_TIMESTAMP.." == nil\";\n",
   "end"
  };


Was macht es?
Es fügt dem Schlüssel noch den Schlossöffnen-Sound hinzu.
Er ist auf eine Entfernung von 2 Entfernungseinheiten zu hören.
Wem das zu gering ist, kann die Zahl bei MAXRANGE = \"2\" noch verändern.

UPDATE für Patch 4.0.1

Also das mit dem Update - wenn auch nur bis alle GHI Version 1 benutzen - hat sich etwas komplizierter gestaltet, als zunächst angenommen.
Grundsätzlich funktioniert der Code selbst noch, nur wird das Key-Script zu lang, wenn man es zu Farnelias Script hinzufügen muss.
Außerdem steht man vor dem Problem, dass man es nicht in das RunScript einbauen kann - zumindest habe ich es nicht geschafft.

Also bin ich den Weg gegangen, ein zweites Script in den Key einzubauen.
Aber wie schon gesagt, ist damit die maximale Länge des Scripts zum Erzeugen des Keys zu lang geworden.
Also habe ich einen Teil in eine Funktion ausgelagert und diese als zweites Script eingefügt, das Keyscript dann als Drittes.

Und so sieht es aus:

1. Script 1-Box bleibt wie das aus Version 1.2 von Farnelia

2. Script 2-Funktion trägt den Teil des Scripts, welches bei Farnelia die Abfrage für den String script_array beinhaltet.

Code:

function arrayClick1()
  local code =
    "if GHI\"..\"_ItemData[\\\""..LB_BOX_ID.."\\\"].rightClick[1].req_detail == \\\""..LB_CHAR_NAME..LB_TIMESTAMP.." == nil\\\" then\\\
     GHI\"..\"_ItemData[\\\""..LB_BOX_ID.."\\\"].rightClick[1].req_detail = \\\""..LB_CHAR_NAME..LB_TIMESTAMP.." ~= nil\\\";\\\
   else\\\
     GHI\"..\"_ItemData[\\\""..LB_BOX_ID.."\\\"].rightClick[1].req_detail = \\\""..LB_CHAR_NAME..LB_TIMESTAMP.." == nil\\\";\\\
   end";

  local script = "RunScript(\""..code.."\")";
  script_array = {};
  while string.len(script) > 128 do
    script_array[#script_array+1] = string.sub(script, 1, 127);
    script = string.sub(script, -(string.len(script)-127));
  end
  script_array[#script_array+1] = script;
end


3. Script 3-Key ist so abgewandelt, dass sowohl das RunScript beinhaltet ist, wie auch ein SoundScript für den Key, um den Soundplayer-Sound des Öffnengeräusches einzubauen.

Code:

if LB_BOX_NAME ~= nil then
  local name, icon, quality, white1, white2, comment, amount, stackSize, copyable;
  local rightClick, rightClicktext, editID, duration, durationWhenTrade, durationRealTime;

  name = LB_KEY_NAME;
  icon = "Interface\\Icons\\INV_Misc_Key_03";
  quality = 1;
  white1 = "";
  white2 = "";
  comment = "";
  amount = 1;
  stackSize = 1;
  duration = 0;
  copyable = 0;
  rightClicktext = "Anklicken, um den passenden Behälter auf- oder abzuschließen.";
  rightClick = {};
 
  rightClick[1] = {};
  rightClick[1].Type = "script";
  rightClick[1].type_name = "Script";
  rightClick[1].req = 1;
  arrayClick1();
  rightClick[1].code = script_array;
  rightClick[1].details = "Lock/Unlock Box";
  rightClick[1].icon = "Interface\\Icons\\Trade_Engineering";
  rightClick[1].marked = false;
  rightClick[1].delay = 0;

  rightClick[2] = {};
  rightClick[2].Type = "script";
  rightClick[2].type_name = "Script";
  rightClick[2].req = 1;
  rightClick[2].code = {"local PREFIX = \"SP2\"; local MAXRANGE = \"2\"; local SOUNDFILE = \"Sound\\\\Item\\\\UseSounds\\\\UseLockPick02.wav\";\n",
    "local ZONE = GetZoneText(); WorldMapFrame:Show(); WorldMapFrame:Hide(); local X,Y = GetPlayerMapPosition(\"player\");\n",
   "X = math.floor(X*100); Y = math.floor(Y*100);\n",
   "local SENDSTRING = strjoin(\"\a\", PREFIX, ZONE, MAXRANGE, X, Y, SOUNDFILE); cid, cname = GetChannelName(\"xtensionxtooltip2\");\n",
   "SendChatMessage(SENDSTRING, \"CHANNEL\", GetDefaultLanguage(\"player\"), cid);\n",};
  rightClick[2].details = "Box Sound";
  rightClick[2].icon = "Interface\\Icons\\INV_Misc_Drum_05";
  rightClick[2].marked = false;
  rightClick[2].delay = 0;


  rightClick.CD = 1;
  rightClick.Type = "multible";

  GHI_CreateItem(name, icon, quality, white1, white2, comment, amount, stackSize, copyable, rightClick, rightClicktext, editID, duration, durationWhenTrade, durationRealTime);
end


Zur Erklärung:
An der Stelle, wo Farnelia die Abfrage drinnen hat, um den RunScript-Codeteil einzufügen, wird hier die Funktion aus dem zweiten Script aufgerufen, der genau den Teil beinhaltet

Code:

  arrayClick1();
  rightClick[1].code = script_array;


Der Sound für den Soundplayer wurde komplett über die folgenden Teile
Code:

  rightClick[2]

eingefügt und erzeugen das zweite Script für den Schlüssel.

Damit sollte alles wieder funktionieren.
_________________
Malanor Flammenstern
Flammenring & Strahlenreif - Juwelen und mehr
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Heute schon das Tanzbein geschwungen?
Nein? Kein Talent? Keine Übung?
Dann kommt und bucht einen Kurs!



Zuletzt bearbeitet von Malanor am 27. Nov 2010, 19:35, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Malanor Flammenstern
Forscherliga




Choreograph
<Tanz Mit Mir>

Beiträge: 19

[ Charakterinfo ]
Titel: Plappernder Schädel
Thema Beschreibung: Abwandlung des Papageiscriptes - (Patch 4.01 ready)
Verfasst am: 10. Jan 2010, 15:52 Beitrag  Diese Nachricht und die Folgenden als ungelesen markieren Antworten mit Zitat

Und wieder habe ich ein wenig herumgebastelt.
Diesmal hat mich Varannah, eine Tänzerin, die seit heute auch GHI nutzt, auf die Idee gebracht.

Ich nutze mit Malanor selten einen Papageien als Haustier.
Dafür gerne den Geisterhaften Schädel.

Hier also meine Abwandlung für den Schädel:


Code:

if PRT_ACTIVE==nil or PRT_ACTIVE==0 then
  PRT_ACTIVE=1;
  PRT_LISTENER=CreateFrame("Frame",nil,UIParent);
  PRT_LISTENER:SetScript("OnEvent",function() PRT_SPEAK() end);
  PRT_LISTENER:RegisterEvent("CHAT_MSG_SAY");
  PRT_LISTENER:RegisterEvent("CHAT_MSG_MONSTER_SAY");
  GHI_Message("Schädel plappert.");
else
  PRT_ACTIVE=0;
  PRT_LISTENER:SetScript("OnUpdate",nil);
  PRT_LISTENER:UnregisterEvent("CHAT_MSG_SAY");
  PRT_LISTENER:UnregisterEvent("CHAT_MSG_MONSTER_SAY");
  PRT_LISTENER=nil;
  GHI_Message("Schädel ist nun still.");
end

function PRT_SPEAK()
  local l=string.lower(arg1);
  if string.find(l, "ooc")~=nil or string.find(l, "((", 1, 1)~=nil then return; end
  if random(1,5)>1 then return end;
  local words={strsplit(" ", arg1)};
  local i,icWords,count = 1,{},1;
  while i<=#words do
    if words[i]=="" or (string.sub(words[i],1,1)=="*" and string.sub(words[i],-1)=="*") then
    elseif string.sub(words[i],1,1)=="*" then
      while i+1<=#words do
        i=i+1; if string.sub(words[i],-1)=="*" then break; end
      end
    else
      icWords[count]=words[i]; count=count+1;
    end
    i=i+1;
  end
  local num = math.min(#icWords, random(1,5))-1;
  local speak = icWords[#icWords-num];
  for i = #icWords-num+1,#icWords do
    speak=speak.." "..icWords[i];
  end
  SendChatMessage("s Schädel plappert: \"..."..speak.."\"", "EMOTE", nil, nil);
end




Ich hab das Soundscript hier herausgenommen, da es zum Geisterhaften Schädel nicht passt.
_________________
Malanor Flammenstern
Flammenring & Strahlenreif - Juwelen und mehr
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Heute schon das Tanzbein geschwungen?
Nein? Kein Talent? Keine Übung?
Dann kommt und bucht einen Kurs!



Zuletzt bearbeitet von Malanor am 27. Nov 2010, 21:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Seite 4 von 5 [70 Beiträge] Gehe zu Seite: Zurück 1, 2, 3, 4, 5 Weiter
Das Thema als ungelesen markieren ::  Vorheriges Thema anzeigen :: Nächstes Thema anzeigen
 Forum-Index » OOC-Ecke » Archiv » Gryphonheart
Gehe zu:  

Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst keine Kalendereinträge in diesem Forum erstellen.


Powered by phpBB © 2001, 2002 phpBB Group
Powered by CBACK RPG Tools
Deutsche Übersetzung von phpBB.de


World of Warcraft™ and Blizzard Entertainment® are all trademarks or registered trademarks of Blizzard Entertainment in the United States and/or other countries.
These terms and some related materials, logos, and images are copyright © Blizzard Entertainment.
This site is in no way associated with Blizzard Entertainment®.