Weakaura auslöser

hey, ich habe versucht bei den Auslöser von Weakaura das zu machen:

function(trigger)
return trigger[1] and 2>{
    trigger[2],
    trigger[3],
    trigger[4],
    trigger[5],
    trigger[6],
    trigger[7]}

end

funktioniert aber leider nicht :frowning:

Damit wollte ich bezwecken das Auslöser 1 und mehr als 2 der anderen Auslöser die Weakaura Triggert.

Es geht um die Wa:

!WA:2!1z5ZVTXnwCC7iueeH2Iefa3wNea1KTPjTn2X63jP5hECKICQSL3rYRtWIajoZWrdDgnZasowwoOxm6bFSv)jOd9urpOt9qoK68paHXEFx4)a2fih2RPpYrrwXrEamm5JKV3N3xsXhNUuI2jSsyT31O(HCxIhMwD96vwE1IhGc5o(0QbCIVhl(bmhKLFNNw12MH5xCQbipty418jECJLkUA9I6bjTiSaxu364T5nS9PTr8gbn4K24H9Mo4SMHmUFB5mwpWcXX64TWE8uHu3Gl4W5bSBp)8DqT8NJ4p)MC9I3Oq6mDNpffzQ4iNoJJO8FTFlx)onm9D9Ppow57))(3YV)ZOgXouno3Hy(CpmJD6bQ(rorJ543HA53qARz0ig(ulmTzKBTPO249l6U16LASgKpyAVi31naRVgzBS7HHmCJJqO5BoADQz1B9vxUEj9fxPyKhLcl7sg2epcZzlXN(4PbO)ZFb((5)FSdDiw4gixxLhzoIZQjTis0umJ4ZeFEtXxiMvdwkp(UCkPvlmL9hNo2vPd7S3LsrXTtKvc1JGTXaaQqpUZHM(TnGaVgMUoSyhQFhVQEUDBQ7bCYIpO1rtor2GZdBqMorDRgGPiUp9Y37Udg6Lv8TW9Lkxf)oygFFwa2KytmLU2iqPsdgZdjYEGQhMvdwtvVdyQ)TsKT3aOwCBy7Owa21DzRM9TWgH221bTJwUyL1kTEfvWwY1huUMAkPhfsrPKz5khfhNdzHgQZq1G1t2EqJLwSw9g1QVOE9bbrzUc9qpKTn2KJT2x6hMmWel2SPYNpJ4mgLXixqIaNVkioobNFmXzm1ONCTk5Bt90PZNl7GvrMoDG)yyVEBqCT6ecTdoxj6RFPdST3Iz4(6xYXEbNvdA4G9SWSKvWgGLZvK6HdXuWusn1S2LfPhWMdqIKDfndG93rq893vlegqxb4OSFnkgYE9ARvSsfdyT642o9a2JoIe)QIVCVljUCISIhSPyrHMyjXdfffLe)nhXCI5fveRi(Ay0B2uCFinfFR47exx8nIVQP4AY(lisjs3uKrKvCphXDMvL8Pf3sCBrzhXze3vCdy15ffepw8dIhfxCfhXYaQICoIRgxSQJO6ymadcXf8nmKC(quLl9DbvceeImfYKUW7ImevWvkwKbvcY7IkaGeDiOhl3uaOshz6nrggp3vox64XsEGS3dG7mRwHBLoNIbLNhp1bqobigMNhdHYJjdJaqgyjasNkPt643dbajz0VZSgPUz(0fYPqqITINJf9X2jKambDO8iDqoHHNboMkOat5(XecJ05YKRqKuibCCL4KPas1jaXhEO8ivbWzsAY7JZOdgaxlKn)TkKAKSiz7kQDMYdzqcWOTJbqrRnd9GkdBHnIQofKyyvQOF8uXVfXm43TvtY37Ad)n11JNe(OyEi1l5qB)ZfEwsKNvYu37fQrLFVBOup77(aBPNGTmtWw2jyl3eSL)z)yC4gM4XJhCoKkLgMdYRa)TPcUWeRqh1qxwO26nq9C4gjK7)aQYazBREipcmk0mN4tkTpgXW14uSxlUZPfz08G7NpWcUuuodvTpkdB67zX2vov5f6IMATreVsIgWcenfiHHWe()fpUfnBFpEWzlrj7K8VhISaNIswVoDRiu(O(WLD64wY3bm7mImhaDnqMpxErONLMRpYYUNSWShCJi1XGJCHlgNrVDOlNeNUdqkCZ6P0KvUMr0oUUPlIXKT0yKDWYg7kjOg05lg(ENNe9ENy9PQ4kthnoiE72bEWWguuWUBmSrFzstIES0GXK5tfCLt(zrbuOiQm3Ir7gfPYpyTPM6TV9T)3dH3F5lfEZniwChTfHUgqmSjTIt3eoFsS7QvPyP695(MdvOpF6Mp5YeR(pm0kmPgupKr3EOBF1l2BQxn1uZmq9ifyhe02yVj6rCLKMKPMrTL0lwCvdgUn4r9fM7MZTqQqI1a0wzxk)op)5KNMj4Bp50XQluAKycV7IIHQ3UwD1h(en4BqKIUKYW0tpDS(qblSLk7(PpEaXlYxqAeVhd7Ah90sTQ1RxDLemJ0ZLFUfYLyR)1t(Rp

Ich hoffe jemand kann mir helfen :slight_smile:

hast du das schon ausprobiert?

function(trigger)
return trigger[1] and 2>( trigger[2] or trigger[3] or trigger[4] or trigger[5] or trigger[6] or trigger[7])

end

ne das klappt leider nicht sry :confused:

Ich schlage mal folgenden Aufbau vor:

function(trigger)
    local secTrigger=0
    for i=2, #trigger do
        if trigger[i] then
            secTrigger=secTrigger+1
        end
    end
    return trigger[1] and secTrigger>1
end

Schleife mit Zähler aktiver Trigger. secTrigger>1 ergibt dann bei 2 oder mehr trigger, aus der liste zwischen 2 bis 7, gleich True. Eine kürzere Möglichkeit seh ich in Lua 5.1 leider nicht.

Gruß Hizuro

2 Likes

Dank dir :slight_smile: wen ich noch was fragen dürfte: secTrigger=1 geht ja nicht wie könnte ich das machen? ^^

An welcher Stelle wolltest du das nutzen?

Am Anfang würde es auch keinen Sinn machen. Der Zähler sollte bei 0 starten.

Am Ende bei return trigger[1] and secTrigger>1 ginge secTrigger=1 nicht. Da gingen nur >, >= oder ==. Macht für mich aber auch keinen Sinn da mit der Zahl 1 zu arbeiten, wenn ich deiner Anforderung nochmal lese.

Huch. :scream: Du hattest „mehr als 2“ geschrieben. :see_no_evil: Dann wäre am Ende wohl eher trigger[1] and secTrigger>2 wohl vllt passender. :flushed: Damit 3 von 2 bis 7 mit von der Partie sein müssen.

Hab wohl ne leichte Legasthenie in Deutsch > Programmierung. :flushed:

Jetzt hab ich Angst noch mehr überlesen zu haben. :scream_cat:

Gruß Hizuro

1 Like

Ich würde anfangs einen quick return machen, falls trigger[1] nicht true ist und danach direkt einen return in die for-Schleife, damit sie nicht stets vollständig durchlaufen braucht.

function(trigger)
  if not trigger[1] then return false end
  local secTrigger=0
  for i=2, #trigger do
      if trigger[i] then
          secTrigger=secTrigger+1
      end
      if secTrigger > 2 then
        return true
      end
  end
  return false
end
2 Likes

Stimmt. Guter Einwand. Ohne trigger[1] wird dann auch keine Schleife bemüht. Spart Arbeit für den CPU.

1 Like

np dito XD

Sry das hätte ich wissen sollen mit == und nicht mit = hatte mir extra 5 stunden ne Videoreihe Über die Lua sprache angeguckt ^^ aber ist leider zu veraltet.

Wie habt ihr es eigentlich geschafft in die Lua sprache reinzukommen? Geht das auch mit schlechtem Englisch dort reinzukommen?

Und vielen danke euch beiden genau das was ich gesucht hatte :slight_smile:

Leider klappt das doch nicht so wie ich gedacht hatte da ich im Raidframe mit farbigen Umrandungen (Weiß = 1 , Gelb = 2, Orange = 3, Rot >=4) anzeigen lassen wollte wv verschiedene Hots ich gerade auf die verschiedenen Leute drauf habe (für Meisterschaft: Harmonie). Leider haben wieder alle die gleiche Farbe :frowning: da muss ich wohl noch bisschen rumprobieren damit das richtig klappt ^^.

Mein Englisch ist gefühlt auch nicht so toll. Hält mich aber nicht davon ab zu programmieren. Im Bezug auf == vs = ist es hallt so gut wie universell. Mit einem weisst man einer Variable einen Wert zu und der andere gehört zu den Vergleichsoperatoren. Neben Lua kann ich auch Java, Javascript, PHP und so.

Den Gebrauch von Englisch beim programmieren empfinde ich aber auch als einfacher. Das liegt mir eher als Kommentare auf Englisch zu beantworten. :see_no_evil:

Mit WeakAura habe ich mich noch nicht derart in der Tiefe beschäftigt, aber klingt eher danach dass die
Funktion vielleicht die Gesammtzahl anstelle True / False zurückgeben sollte.

function(trigger)
  if not trigger[1] then return false end
  local secTrigger=0
  for i=2, #trigger do
    if trigger[i] then
      secTrigger=secTrigger+1
    end
    if secTrigger > 2 then
      return secTrigger;
      --return 1+secTrigger;
    end
  end
  return false
end

Die ausgekommentierte Zeile, falls in der Zählung schon trigger[1] mit enthalten sein soll. Dann bei den Farbumrandungen angeben, auf welche Zahl sie sicherbar sein sollen.

Den bisheriger WA String enthüllte ja auch noch nicht deine Ziele. :slight_smile:

Gruß Hizuro

Dieses Thema wurde automatisch 180 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.