Secondary Conister(help)

Indította Red, 2017-01-04, 15:03:08

Sziasztok.

Egy olyan problémám lenne, hogy beraktam a témában emlétett ketyerét ami, működőképes is "majdnem".
Az lenne a problémám vele, hogy mignyitom azt a boltot ahol az új fizető eszközt használom, jelen esetbe az aranyrög kapta a ITEM_SECONDARY_COIN typet. Nos, tudok vele vásárolni megkapom jó minden, de miután bezárom a boltot már a sima boltba is árnak a yang helyett aranyrögöt ír, de yangből vonja le az árat csak a neve változik.
Syserrban nincs semmi ami erre utalna.

Ha, valaki tudja mi az isten kínja van és megosztaná velem azt megköszönném.

Mivel alapból nincs használatban ezért uitooltipben sincs beállítva h külön írja a yangot és a másodlagos fizetőeszközt.
Mivel írtad is h rendes boltból rendesen a yangból vonja le az összeget így csak a kiírást kell fixálni.

uitooltip:

def SetShopItemBySecondaryCoin(self, slotIndex):
itemVnum = shop.GetItemID(slotIndex)
if 0 == itemVnum:
return

price = shop.GetItemPrice(slotIndex)
self.ClearToolTip()
self.isShopItem = True

metinSlot = []
for i in xrange(player.METIN_SOCKET_MAX_NUM):
metinSlot.append(shop.GetItemMetinSocket(slotIndex, i))
attrSlot = []
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
attrSlot.append(shop.GetItemAttribute(slotIndex, i))

self.AddItemData(itemVnum, metinSlot, attrSlot)
self.AppendPriceBySecondaryCoin(price)

def AppendPriceBySecondaryCoin(self, price):
self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE  % (localeInfo.NumberToSecondaryCoinString(price)), self.GetPriceColor(price))

def OverInItem(self, slotIndex):
slotIndex = self.__GetRealIndex(slotIndex)
if mouseModule.mouseController.isAttached():
return

if 0 != self.tooltipItem:
if shop.SHOP_COIN_TYPE_GOLD == shop.GetTabCoinType(self.tabIdx):
self.tooltipItem.SetShopItem(slotIndex)
else:
self.tooltipItem.SetShopItemBySecondaryCoin(slotIndex)

Uishopban így van neked?


Hm...
És sima boltban is meg az újban is másodlagosként írja az árat?

A sima boltba csak azután írja a másodlagos fizető nevét miután megnyitom a másodlagos fizetős boltot.

Indítóban kell resetelni a bolt fizetőeszközének a típusát zárásnál.

Hmm..
Én még nem raktam be, de kicsit utánanéztem forrásban és ezt találtam:
CPythonShop::instance().SetTabCoinType(i, pPackTab->coin_type);
Na már most ez beállítja h 0 (yang) vagy 1 (új) a fizetőeszköz.
Ha az új fizetőeszközös boltnál működik, mivel kicseréli neki, akkor amikor a simát nyitja meg, miért nem állítja vissza 0-ra? ???