Seite 1 von 2

Gegen das nervige Klick Klick im CT Raid

BeitragVerfasst: Fr 08 Dez, 2006 10:31
von Schizzo

BeitragVerfasst: Fr 08 Dez, 2006 11:43
von Telmar
Klasse - danke für die Info Schizzo!

Btw. alle anderen:
Update 4: (6:15pm PST) CT_RaidAssist has now most likely had its lag issues fixed. Please download v1.61.
ALSO: http://www.ctmod.net/
Gab gestern abend schon ein Update, und mitten in der Nacht unserer Zeit nochmal eins.
Und LVBM auch bitte _alle_ auf 2.10 updaten. War auch in dem netten buffed.de-Link von Kindara enthalten.

BeitragVerfasst: Fr 08 Dez, 2006 14:14
von Slarti
Und auch in dieser neuesten RaidAssist-Version ist die Debuff-Anzeige immer noch fucked up :( jedenfalls hat sich an dem fehlerhaften Code nix geändert.

Habe das gestern abend (zumindest für den deutschen Client) noch gefixt, falls die Debuff-Anzeige bei euch also auch nicht tun sollte versucht mal die Funktion CT_RA_ScanUnitDebuffs in der CT_RaidAssist.lua durch das hier zu ersetzen:

Code: Alles auswählen
function CT_RA_ScanUnitDebuffs(unit, name, id)
   local tempOptions = CT_RAMenu_Options["temp"];
   local oldAuras = { };
   local stats = CT_RA_Stats[name]["Debuffs"];
   for k, v in pairs(stats) do
      if ( k ~= "n" ) then
         oldAuras[k] = 1;
      end
   end
   stats.n = 0;
   local num, debuffName, _, debuff, _, dType = 0, UnitDebuff(unit, 1);
   while ( debuff ) do
      dType=CT_RA_TranslateDebuffType(dType);
      stats.n = stats.n + 1;
      num = num + 1;
      oldAuras[debuffName] = nil;
      if ( not stats[debuffName] ) then
         if ( debuffName == CT_RA_WEAKENEDSOUL ) then
            dType = CT_RA_WEAKENEDSOUL;
         elseif ( debuffName == CT_RA_RECENTLYBANDAGED ) then
            dType = CT_RA_RECENTLYBANDAGED;
         end
         local debuffType;
         for k, v in pairs(tempOptions["DebuffColors"]) do
            if ( dType == v["type"] ) then
               debuffType = v;
               break;
            end
         end
         if ( debuffType ) then
            local uId = "raid" .. id;
            stats[debuffName] = { dType, 0, gsub(debuff, "^Interface\\Icons\\(.+)$", "%1") };
            if ( CastParty_AddDebuff ) then
               CastParty_AddDebuff(uId, dType);
            end
            if ( tempOptions["NotifyDebuffs"]["main"] and debuffName ~= CT_RA_RECENTLYBANDAGED and debuffName ~= CT_RA_MINDVISION and debuffType["id"] ~= -1 ) then
               local currPos = CT_RA_CurrPositions[name];
               if ( currPos ) then
                  if ( tempOptions["NotifyDebuffs"][currPos[1]] and tempOptions["NotifyDebuffsClass"][CT_RA_ClassPositions[UnitClass(uId)]] ) then
                     CT_RA_AddToQueue(dType, uId);
                     CT_RA_AddDebuffMessage(debuffName, dType, name);
                  end
               end
            end
         end
      end
      debuffName, _, debuff, _, dType = UnitDebuff(unit, num+1);
   end
   for k, v in pairs(oldAuras) do
      stats[k] = nil;
   end
end

function CT_RA_TranslateDebuffType(engType)
   if(engType=="Curse") then return "Fluch"; end
   if(engType=="Poison") then return "Gift"; end
   if(engType=="Disease") then return "Krankheit"; end
   if(engType=="Magic") then return "Magie"; end
   return engType;
end


Damit tut das Ganze zumindest bei mir auch wieder, wie es soll.

[edit] sorry, hatte noch debug-ausgaben drin die Fehler produzieren können - die sind jetzt raus

BeitragVerfasst: Fr 08 Dez, 2006 14:38
von Elyria
Slarti, wenn du auch noch Cobol / XML / PLEX programmieren und dich mit System I auskennst find sich sicher was bei uns ^^

BeitragVerfasst: Fr 08 Dez, 2006 14:53
von Kindara
Valorion hat geschrieben:Cobol


Die Sprache war doch schon tot als Slarti geboren wurde :)

BeitragVerfasst: Fr 08 Dez, 2006 15:02
von Slarti
XML ja, Cobol nein, und was PLEX ist weiss ich nicht einmal - aber mit iSeries- und pSeries-Kisten hantier ich die letzten 5 Monate täglich. Bin aber momentan noch vertraglich gebunden und werd anschließend erst mal wieder den faulen Studenten raushängen lassen ;)

@Kindara: läuft nicht immer noch Unmengen Mainframe-Software diverser Banken und Versicherungen in Cobol weil sich keine Sau traut, diesen heiligen jahrzehntealten Code auch nur anzusehen, geschweige denn anzufassen?

BeitragVerfasst: Fr 08 Dez, 2006 15:07
von Kindara
Slarti hat geschrieben:@Kindara: läuft nicht immer noch Unmengen Mainframe-Software diverser Banken und Versicherungen in Cobol weil sich keine Sau traut, diesen heiligen jahrzehntealten Code auch nur anzusehen, geschweige denn anzufassen?


Doch bestimmt, mit "tot" meinte ich auch eher das das keiner mehr freiwillig zum Programmieren verwenden würde - ausser halt zur Wartung/Anpassung bestehender Softwaremonster.

BeitragVerfasst: Fr 08 Dez, 2006 15:15
von Elyria
Kindara hat geschrieben:Doch bestimmt, mit "tot" meinte ich auch eher das das keiner mehr freiwillig zum Programmieren verwenden würde - ausser halt zur Wartung/Anpassung bestehender Softwaremonster.


genau, kindara - richtig - aber alles auf einmal neu machen - ist auch komplett sinnlos - weil damit wahrscheinlich alles zusammenbrechen würde :lol: Desshalb wird Modulweise protiert ... problem ist Leute zu finden die a) noch verstehen was Cobol tut (und die Leute tun) und b) soviel wissen besitzen um das nicht nur 1:1 zu portieren sondern auch noch gleich sinnvoll verbessern ..naja... :roll:

BeitragVerfasst: Sa 09 Dez, 2006 01:23
von Slarti
so, back on topic: CT_RaidAssist 1.62 ist raus, wo angeblich die Debuff-Anzeige gefixed sein soll - ist sie auch, jedenfalls für den englischen Client. Alle lokalisierten Clients, wo "Curse" eben "Fluch" oder irgendwie anders heißt, schauen aber nach wie vor in die Röhre - jedenfalls bis die das offiziell fixen. Aber auch hierzu gibts wieder nen Patch:

Code: Alles auswählen
if(dType=="Curse") then dType=CT_RA_CURSE end
if(dType=="Poison") then dType=CT_RA_POISON end
if(dType=="Disease") then dType=CT_RA_DISEASE end
if(dType=="Magic") then dType=CT_RA_MAGIC end


eingefügt in Zeile 3902 (oder irgendwo in der Gegend) der CT_RaidAssist.lua hinter "while ( debuff ) do" richtets, diesmal auch garantiert ohne versehentlich vergessenen debug-Code.

BeitragVerfasst: Sa 09 Dez, 2006 13:28
von Telmar
Okay, nur zur Kontrolle, der Auszug meiner CT_RaidAssist.lua ab Einleitung der While-Schleife:

while ( debuff ) do
stats.n = stats.n + 1;
num = num + 1;
oldAuras[debuffName] = nil; (<- hier ist Zeile 3896)
if(dType=="Curse") then dType=CT_RA_CURSE end
if(dType=="Poison") then dType=CT_RA_POISON end
if(dType=="Disease") then dType=CT_RA_DISEASE end
if(dType=="Magic") then dType=CT_RA_MAGIC end
if ( not stats[debuffName] ) then

Oder hab ich das mit der Zeilenangabe falsch verstanden und die if-Bedingungen müssen direkt nach dem do kommen?

BeitragVerfasst: Sa 09 Dez, 2006 14:09
von Monstrosum
Und ich als Noob soll jetzt das irgendwo eingeben ? :oops:

BeitragVerfasst: Sa 09 Dez, 2006 14:24
von Slarti
Jap Telmar, da passt das schon. Ist egal ob's direkt hinter dem do kommt oder da wo du es hin hast. Allerdings basteln die Raidassist-Macher grad irgendwie laufend an dieser Version 1.62 rum, jetzt is aus Zeile 3896 plötzlich Zeile 3902 geworden...

BeitragVerfasst: Sa 09 Dez, 2006 15:05
von Telmar
Ich hab's gerade auf der Site von denen gesehen... wäre es nicht mal gescheiter, die würde das einmal alles fixen statt ständig ein update rauszuwürgen... *narf*

BeitragVerfasst: Mo 11 Dez, 2006 15:21
von Markulf
Das "klicken" scheint jetzt wohl offiziell behoben worden zu sein:
http://www.ctmod.net/

CT_RaidAssist now disables Blizzard's 'clicking' sound when the raid composition changes. NOTE: This is not a CT_RaidAssist bug, but a fix for a Blizzard bug.

BeitragVerfasst: Mo 11 Dez, 2006 15:46
von Telmar
Ich hoffe mal, man muss jetzt nicht wieder manuell die Debuff-Anzeige einfügen...