Ringe - limittype9

04/24/2019 18:59 Bossunso#1
Hallo Leute,

ich bräuchte mal kurz eure Hilfe...
Ich würde gerne einstellen, dass die Zeit von den Ringen (HMR und Lolli) nur abläuft, wenn sie ausgerüstet sind. Klappt soweit auch mit limittype9. Allerdings wird mir jetzt keine Zeit mehr bei den Ringen angezeigt, sondern nur: Verbl. Zeit: 0Min
Jemand einen Tipp?

Auszug aus der item_proto:

PHP Code:
71136    ÇÒ·ÎÀ© »çÅÁ    Lolli    16    0    0    1    0    0    128        0    1    0    0    0    9    60    0    0    0    0    0    0    0    0    1    0    0    0    0    0    -1    -1    -1    -1    -1    -1    0    0    0    0 
04/25/2019 02:15 Natsu Dragneel#2
Hast du für die Ringe jeweils eine Quest oder lässt du sie nur Client-/Serverside laufen?

Da war mal was, die haben auch schon diskutiert:
[Only registered and activated users can see links. Click Here To Register...]

Value0 kommt aufjedenfall die Zeit hin in Sekunden.

Hier war auch mal was:
[Only registered and activated users can see links. Click Here To Register...]
04/25/2019 07:18 Bossunso#3
Moin, die Ringe laufen über Client/Serverside. Habe beide Möglichkeiten schon ausprobiert, aber hat leider auch nichts geändert. Wenn ich die Zeit beispielsweise auf 1 Minute stelle, verschwindet der Ring den ich ausgerüstet habe auch nach einer Minute. Wird halt nur nicht im Ring angezeigt. Eventuell muss etwas in der uitooltip oder im Source angepasst werden, damit bei limittype9 (TIMER_BASED_ON_WEAR) die Zeit angezeigt wird und abläuft? Bei limittype7 (REAL_TIME) wird die Zeit problemlos angezeigt und läuft auch ab.
05/15/2019 21:15 Bossunso#4
Jemand noch eine Idee?
05/15/2019 21:43 Lauling#5
Schonmal versucht, die item_proto über die txt.s laden zu lassen?
05/15/2019 21:50 Rainer Wahnsinn#6
Hi,
poste mal deine uiToolTip.py.

Ansonsten:

Grüße
05/16/2019 19:39 Bossunso#7
@ Lauling - Danke für den Tipp, probiere ich mal.

@ Rainer Wahnsinn - Habe ich schon ausprobiert. "Verbleibende Zeit" wird nur einmal angezeigt, allerdings steht dort bis das Item verschwindet "0". Habe die uiToolTip.py mal angehangen.
05/16/2019 21:37 Rainer Wahnsinn#8
Schreib in der Spalte value0 wie gesagt die Zeit in Minuten hin, jedoch höher als 1 Min.
Bei limitvalue0 eine 0, statt der 60.

Das Item danach neu erstellen, da das Vorhandene seine Attribute beibehält.

Grüße
05/18/2019 08:21 Lauling#9
Würde mich noch imteressieren ob der fehler auch dann noch besteht, wenn die protos aus den txt geladen werden, denn bei den neuen protos werden andere werte verwendet, beispiel alte proto:

[Only registered and activated users can see links. Click Here To Register...]

Ich bin halt immer noch davon überzeugt, dass dieser fehler darauf zurück zu führen ist, nun möchte ich natürlich wissen ob meine überzeugung auch stimmt :)
05/18/2019 11:11 Bossunso#10
Moin, habe jetzt mal auf txt Dateien umgestellt. Zeit wird aber weiterhin nicht angezeigt.

Zur Veranschaulichung habe ich 2 Bilder und eine gekürzte item_proto angehangen. Wie gesagt, das Problem tritt nur bei limittype9 (TIMER_BASED_ON_WEAR) auf.
05/18/2019 12:09 Rainer Wahnsinn#11
Habe mir nun die uiToolTip.py etwas genauer angesehen.
Dein Problem ist, dass du für einige Items (71135, 71128, 72701, 71125, 71136)
eine neue If-Verzweigung erstellt hast.

In der Funktion def AddItemData() wird jedoch nach Type bzw. Subtype unterschieden.
Z. 1161 (elif item.ITEM_TYPE_UNIQUE == itemType:), da solltest du ein Auge drauf werfen.

@[Only registered and activated users can see links. Click Here To Register...]
Die Text-Protos werden wie gewöhnliche DB-Protos geladen,
der einzige Unterschied ist, dass die jeweiligen Flags als Bytestelle angegeben werden.
Siehe [Only registered and activated users can see links. Click Here To Register...]

Grüße
05/18/2019 14:12 Bossunso#12
Hey, danke für den Tipp.
Ich habe nun in der Zeile 943 folgendes ausgetauscht:
self.AppendMallItemLastTime(metinSlot[0])
zu
self.AppendTimerBasedOnWearLastTime(metinSlot)

Die Zeit wird mir nun angezeigt und läuft auch nur ab, wenn ich den Ring ausgerüstet habe. Das neue Probleme ist, dass das Item jetzt standardmäßig eine Laufzeit von 10 Stunden anzeigt, aber beispielsweise nach 10 ausgerüsteten Minuten verschwindet.
(Habe ich im Vorfeld bei value0 eingetragen). Habe auch schon ausprobiert die Laufzeit länger als 10 Stunden einzustellen.

Kann es vielleicht sein, dass das irgendwo im Source definiert ist oder muss ich etwas anderes in der uitooltip.py anpassen?
05/18/2019 15:30 Rainer Wahnsinn#13
Meines Erachtens ist die einfachste bzw. richtige Lösung die,
dass man die Einträge elif 71135 == itemVnum: bis elif 71136 == itemVnum:
entfernt und für die jeweiligen Items den limitType TIMER_BASED_ON_WEAR setzt.
(Ich nehme an, all diese Items sollen nur ablaufen, wenn sie ausgerüstet sind)

Infolgedessen wird die Zeile "Verbleibende Zeit: x" doppelt angezeigt.
Daher die Abfrage bei Z. 1320 entfernen, bzw. bei dem Fall für die Drachensteine (ITEM_TYPE_DS, Z. 1306) wieder hinzufügen.
(Die Drachensteine sind die einzigen Items, welche den Typ TIMER_BASED_ON_WEAR ansonsten verwenden)


Sollten weiterhin Probleme auftreten, gerne melden.

Grüße
05/18/2019 17:21 Bossunso#14
Danke, klappt jetzt wunderbar mit der Zeitanzeige. Fällt dir noch eine Möglichkeit ein wie ich die Bonis in dieser grünen Schrift anzeigen lassen kann? Dafür war ursprünglich diese zusätzliche If-Verzweigung gedacht.
05/18/2019 23:43 Rainer Wahnsinn#15
Dafür musst du lediglich diese Zeile
Code:
self.__AppendAffectInformation()    # Bonis, ADDON_TYPE0(6), ADDON_VALUE0(6) in der Item_proto.txt
in der letzten else-Verzweigung bei Zeile 1178 hinzufügen.