Wollte bei dem System Bitte melden Sie sich an, um diesen Link zu sehen.
es so umändern, dass ich die Skills an/aus machen kann. Der Bonus bzw. Skill funktioniert auch, also bekomme den richtigen Bonus und das De-/Aktivieren geht auch. Aber das Problem ist jetzt wenn ich deaktiviere, wird die Upgrade Stufe auf 0 zurück gesetzt, wenn ich es wieder aktivere, dann auf 1. Das Highlight funktioniert dabei richtig bei an/aus.
So sieht der Code im Server Src aus
C: char_item.cpp
- if (!FindAffect(item->GetValue(0), bPoint))
- {
- if (item->GetValue(0) == SKILL_KWAESOK_ITEM && bMoving)
- {
- ChatPacket(CHAT_TYPE_INFO, "[LS;1938]");
- return false;
- }
- AddAffect(item->GetValue(0), bPoint, dPointValue, bAff, INFINITE_AFFECT_DURATION, 0, true, false);
- item->Lock(true);
- item->SetSocket(0,true);
- ChatPacket(CHAT_TYPE_INFO, "<%s> [LS;1939]", item->GetName());
- }
- else
- {
- RemoveAffect(FindAffect(item->GetValue(0), bPoint));
- item->Lock(false);
- item->SetSocket(0, false);
- ChatPacket(CHAT_TYPE_INFO, "[LS;1936]");
- }
Wenn ich "item->SetSocket(0, false);" und "item->SetSocket(0, true);" aus dem Code entferne, dann wird die Upgrade Stufe nicht mehr zurückgesetzt aber die Buff Items haben dauerhaft das Highlight drin, so als wäre es aktiviert.
Das ist der Code in Python
Python: uiinventory.py
- if constInfo.BUFF_ITEM(itemVnum):
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
- slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
- isActivated = 0 != metinSocket[0]
- if isActivated:
- self.wndItem.ActivateSlot(slotNumber)
- else:
- self.wndItem.DeactivateSlot(slotNumber)