Hallo zusammen,
ich fand im Netz hierzu kein Tutorial und habe mich dann ran gemacht dies für mich um zu setzen.
Alles was ihr braucht ist die uitooltip.py aus der root des Clienten.
Sucht nach der Funktion und erweitert diese:
Anschließend sucht die Funktion
In dieser Funktion solltet ihr folgende Variablen zuweisung finden und type als parameter für GetAttributeColor übergeben:
Soweit sogut.
Nun könnt ihr folgendes tun:
In meinem Beispiel:
Ist mein 6 oder 7 Boni Dss checke ich die Höhe des Wertes und setze demnach die Farbe des Bonus im Tooltip der Waffe.
- def __GetAttributeColor(self, index, value, type):
- if value > 0:
- # 6/7 Boni fangen hier an
- if index >= 5:
- # type ist der index des Bonus den ihr in der item_attr_rare angegeben habt
- # den index des Bonus findet ihr in EApplyTypes der Datei ItemData.h in eurem Source
- # in meinem Beispiel Dss -> NORMAL_HIT_DAMAGE_BONUS index 72
- # Habt ihr zB als rare Bonus Max_Hp wäre dies index 1
- if type == 72:
- # Wert bzw. Höhe des Bonus
- if value == 3:
- # Farben wie folgt ( Rot, Grün, Blau, Deckkraft glaub ich)
- # Wenn ihr eine bestimmte Farbe möchtet, sucht euch den passenden RGB Wert und rechnet ihn um
- # Euer Wert / 255 = x,xx -> nehmt nur 2 nach Kommastellen, rundet wie euch beliebt
- # Beispiel light coral - 240 128 128 -> 0.94 0.50 0.50 1.0
- self.SPECIAL_POSITIVE_COLOR2 = grp.GenerateColor(0, 1, 1, 1.0) # Gelb
- return self.SPECIAL_POSITIVE_COLOR2
- # Wert bzw. Höhe des Bonus
- elif value == 5:
- self.SPECIAL_POSITIVE_COLOR2 = grp.GenerateColor(0, 0, 1, 1.0) # Blau
- return self.SPECIAL_POSITIVE_COLOR2
- # Wert bzw. Höhe des Bonus
- elif value == 8:
- self.SPECIAL_POSITIVE_COLOR2 = grp.GenerateColor(1, 0, 0, 1.0) # Rot
- return self.SPECIAL_POSITIVE_COLOR2
- else:
- return self.SPECIAL_POSITIVE_COLOR
- else:
- return self.SPECIAL_POSITIVE_COLOR
- elif value == 0:
- return self.NORMAL_COLOR
- else:
- return self.NEGATIVE_COLOR
Ich hoffe der ein oder andere findet seinen nutzen damit.
Ps: Das Stark gegen Monster bei mir in der Waffe blau ist, kommt daher das ich mehrere Gruppen habe welche unterschiedliche min/max Werte haben.
Das ist kein Fehler, sondern Absicht.