Heyho,
da ich vorhin in einem Thread Hilfestellung geben wollte und mir nicht ganz klar war wie ich das am besten umsetze, hab ichs einfach gemacht und der Einbau wird euch sicherlich auch leicht fallen.
Die Funktion kann ganze Vnum-Bereiche einfärben.
Bitte melden Sie sich an, um dieses Bild zu sehen.
Sucht in der uiToolTip.py nach
def __SetItemTitle(self, itemVnum, metinSlot, attrSlot):
und ersetzt die gesamte Funktion damit:
- #Added ItemNameHasSpecialColor to check if a Special Title Color is set
- #and ignore the Yeelow Title if the item has attributes.
- def __SetItemTitle(self, itemVnum, metinSlot, attrSlot):
- if self.__IsPolymorphItem(itemVnum):
- self.__SetPolymorphItemTitle(metinSlot[0])
- else:
- titleColor = constInfo.GetItemTitleColor(itemVnum)
- if titleColor != None:
- self.AppendTextLine(item.GetItemName(), titleColor)
- return
- if self.__IsAttr(attrSlot):
- self.__SetSpecialItemTitle()
- return
- self.__SetNormalItemTitle()
Nun öffnet ihr noch die constInfo.py und fügt ganz unten Folgendes hinzu:
- import grp
- ITEM_TITLE_COLORS = {
- #COLOR_NAME : grp.GenerateColor(RED, GREEN, BLUE, ALPHA)
- #RGBA Values are divided by 255.0 so you can make: grp.GenerateColor(255.0 / 255.0, 69.0 / 255.0 , 0.0, 1.0)
- #Its important to use floats with .0 at the end. An Integer has no decimals and cannot be calculated between 0 and 1.
- "RED" : grp.GenerateColor(1.0, 0, 0, 1.0),
- "GREEN" : grp.GenerateColor(0, 1.0, 0, 1.0),
- "BLUE" : grp.GenerateColor(0, 0, 1.0, 1.0),
- }
- COLORED_ITEMS = [
- #FROM_VNUM, TO_VNUM, COLOR
- [10, 19, ITEM_TITLE_COLORS["RED"]],
- [20, 29, ITEM_TITLE_COLORS["GREEN"]],
- [30, 39, ITEM_TITLE_COLORS["BLUE"]],
- ]
- def GetItemTitleColor(itemVnum):
- for fromVnum, toVnum, color in COLORED_ITEMS:
- if itemVnum >= fromVnum and itemVnum <= toVnum:
- return color
- return None
Dabei wichtig ist auf das Dateiende zu achten. Die Blockanzeige muss wie folgt aussehen:
Bitte melden Sie sich an, um dieses Bild zu sehen. Es darf nicht bis ans Ende durchgehen, daher ein paar Leerzeilen anfügen falls nötig.
Erklärung zu Konfiguration:
Ihr habt in der constInfo.py nun ein Dictionary und ein Array.
Das Dictionary ITEM_TITLE_COLORS könnt ihr mit beliebigen Farb-Namen und auch dazugehörigen Farbcodes ergänzen.
Das Array COLORED_ITEMS könnt ihr ebenfalls Problemlos erweitern. Hier sind wie im Code Kommentiert folgende spalten:
Farbcodes zur Neudefinierung könnt ihr hier finden: Bitte melden Sie sich an, um diesen Link zu sehen.
FROM_VNUM: Die erste Vnum des Vnum-Bereiches.
TO_VNUM : Die letzteVnum des Vnum-Bereiches.
COLOR: Ein Eintrag des ITEM_TITLE_COLORS Dictionary welches die Farbe für euren Vnum-Bereich festlegt.
Wollt ihr nun nur ein einzelnes Item färben und keinen Bereich, tragt einfach in die beiden ersten Felder die gleiche Vnum ein.
So ich hoffe ihr bekommts problemlos rein und es gefällt euch!
Mfg Sanii