Új fizetőeszköz

Indította TTMaster112, 2017-01-19, 10:29:56

2017-01-19, 10:29:56 Utolsó szerkesztés: 2017-01-19, 12:54:58 Szerző: TTMaster112
Sziasztok megcsináltam hogy Sé ért lehessen vásárolni kereskedésbe,viszont csak ládáknál és státusz visszaállítóval tudom használni mivel antiflagot használ. és fegyvernél pl:ANTI_MUDANG  és gondolom 2 antiflagot nem bír használni..

Üzenet összefésülés: 2017-01-19, 10:33:09

Vagy esetleg itt is meg lehet oldani?
Pl:Alap
ANTI_MUDANG
Modosítva
ANTI_MUDANG | ANTI_DROP | ANTIFLAG_SHOP_SECONDARY | ANTI_SELL

Üzenet összefésülés: 2017-01-19, 11:20:19

Mostmár csak annyi hogy a SÉ helyett yangot ír locale_game be megcsináltam amit kellet de mégse írja

Üzenet összefésülés: 2017-01-19, 12:53:46

Módosításaim
locale game
TOOLTIP_BUYPRICE_NEW_2 Ár: %s

Uitoltip
def miktar(self, price):
self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE_NEW  % (localeInfo.NumberToGoldString(price)), self.GetPriceColor(price))

def miktar2(self, price):
self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE_NEW_2  % (localeInfo.NumberToGoldString(price)), self.GetPriceColor(price))


else:
if item.IsAntiFlag(item.ANTIFLAG_SHOP_SECONDARY):
self.miktar(price)
elif item.IsAntiFlag(item.ANTIFLAG_SHOP_TRIPLE):
self.miktar2(price)
else:
self.AppendPrice(price)


localinfo
def BLACK_AL(buyItemName, buyItemCount, buyItemPrice) :
if buyItemCount > 1 :
return DO_YOU_BUY_NEW_1_2 % ( buyItemName, buyItemCount, buyItemPrice )
else:
return DO_YOU_BUY_NEW_1 % ( buyItemName, buyItemPrice )
def BLACK_AL2(buyItemName, buyItemCount, buyItemPrice) :
if buyItemCount > 1 :
return DO_YOU_BUY_NEW_2_2 % ( buyItemName, buyItemCount, buyItemPrice )
else:
return DO_YOU_BUY_NEW_2 % ( buyItemName, buyItemPrice )


Üzenet összefésülés: 2017-01-19, 12:54:58

Vásárlásnál a sét levonja csaknem írj át a yangot.

2017-01-19, 13:11:53 #1 Utolsó szerkesztés: 2017-01-19, 13:13:46 Szerző: Pisti95
localeInfo.py:

Rákeresel erre

"NOT_ENOUGH_MONEY" : SHOP_NOT_ENOUGH_MONEY,


A tömbbe írod ezt:

"NOT_ENOUGH_MONEY_EX" : SHOP_NOT_ENOUGH_MONEY_EX,



Rákeresel erre: (vigyázz 2xer van!!!!)

def NumberToMoneyString(number):



Alá írod ezt a funkciót:

def NumberToSecondaryCoinString(number):
if number <= 0:
return "0Ŕü"

number = str(number)
result = CutMoneyString(number, 0, 4, "", "")
result = CutMoneyString(number, 4, 8, "¸¸", result)
result = CutMoneyString(number, 8, 12, "ľď", result)
result = result + "Ŕü"

return result



Ugyan úgy rá keresel erre:

def NumberToMoneyString(number) :



Ezt írod alá:

def NumberToSecondaryCoinString(number) :
if number <= 0 :
return "0 %s" % (MONETARY_UNIT_JUN)

number = str(number)
result = CutMoneyString(number, 0, 4, "", "")
result = CutMoneyString(number, 4, 8, MONETARY_UNIT1, result)
result = CutMoneyString(number, 8, 12, MONETARY_UNIT2, result)
result = result + MONETARY_UNIT_JUN

return result




A végén lesz ez:

def NumberToMoneyString(n) :


Alá pedig ezt tedd:

def NumberToSecondaryCoinString(n) :
if n <= 0 :
return "0 %s" % (MONETARY_UNIT_JUN)

return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT_JUN)



Vigyázz a végén legyen üres sorod!!

2017-01-19, 13:24:36 #2 Utolsó szerkesztés: 2017-01-19, 13:27:09 Szerző: TTMaster112
Ez már megvan :( Mégse írja :)

Üzenet összefésülés: 2017-01-19, 13:27:09

Ha csatolom a locainfo-t megnézed? :) Mondjuk 100x átfutottam de lehet valamit elnéztem :)

shop_table_ex.txt-t ki kell tölteni a bolthoz.

meg kell határozni item_proto-ban a fizetőeszközt, és a fentebb megnevezett txt-ben.

type és subtype (txt)

ITEM_SECONDARY_COIN 0


nekem kliens xml-es, ott így:

Type="32" SubType="0"


Őm,Fegyvernél is?
WEAPON_SWORD | ITEM_SECONDARY_COIN ?

2017-01-19, 13:35:11 #5 Utolsó szerkesztés: 2017-01-19, 13:48:43 Szerző: Pisti95
Idézetet írta: TTMaster112 Dátum 2017-01-19, 13:31:55
Őm,Fegyvernél is?
WEAPON_SWORD | ITEM_SECONDARY_COIN ?

Na itt lesz a baj :D

Külön kell egy tárgynak megadni a type-ját és a subtype-ját, azt fogja a boltban levonni (pl.: Aranyrög), de a közönséges boltban (ahol yang-gal fizetsz) ott nem változik semmi. Ezért van a shop_table_ex.txt, amiben megtudsz határozni egy teljesen új bolt ablakot (én Wonda-Rim 20086-ra írtam egyet.), ahol már azzal tudsz fizetni, amelyiket meghatározod.




Indító forrásban kell egy javítás:

Rákeresel erre:

PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "StartShop", Py_BuildValue("(i)", dwVID));



Fölé írod ezt:

CPythonShop::instance().SetTabCoinType(0, SHOP_COIN_TYPE_GOLD);



Így fog kinézni:



+ mellékelem a shop_table_ex.txt-t, amit a common_drop_item.txt mellé kell betegyél.

Valami példát mutass már hogy kellene nekikezdeni mert ez nekem új :)

Idézetet írta: TTMaster112 Dátum 2017-01-19, 13:36:48
Valami példát mutass már hogy kellene nekikezdeni mert ez nekem új :)


Kliens protóm:

<ItemDef Vnum="80009" Name="±łČŻ±Ç" LocalizedName="SÉ utalvány (100)" Type="32" SubType="0" Weight="0" Size="1" AntiFlags="0" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="300" ShopBuyPrice="500" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0"  />



item_proto.txt:

80009 ±łČŻ±Ç ITEM_SECONDARY_COIN 0 1 NONE ITEM_STACKABLE NONE 300 500 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0

2017-01-19, 13:54:41 #8 Utolsó szerkesztés: 2017-01-19, 13:59:32 Szerző: TTMaster112
Szerintem neked egy másik fajta van :)
Nekem olyan vanahol egy boltba yangért és séért is lehet vásárolni.
https://www.youtube.com/watch?v=c7KwMLh8Hxk

Üzenet összefésülés: 2017-01-19, 13:59:32

Ebbe így lett megoldva,
Localegame
MONEY_1__ Yeterli Coins Mevcut Değil.
MONEY_2__ Yeterli Won Mevcut Değil.
DO_YOU_BUY_NEW_1 Satın almak istiyor musun? Nesne: %s Fiyat: %s Coins
DO_YOU_BUY_NEW_2 Satın almak istiyor musun? Nesne: %s Fiyat: %s Won
DO_YOU_BUY_NEW_1_2 Satın almak istiyor musun? Nesne: %s %s Fiyat: %s Coins
DO_YOU_BUY_NEW_2_2 Satın almak istiyor musun? Nesne: %s %s Fiyat: %s Won
TOOLTIP_BUYPRICE_NEW Fiyatı: %s Won
TOOLTIP_BUYPRICE_NEW_2 Fiyatı: %s Coins


localeinfo
def BLACK_AL(buyItemName, buyItemCount, buyItemPrice) :
if buyItemCount > 1 :
return DO_YOU_BUY_NEW_1_2 % ( buyItemName, buyItemCount, buyItemPrice )
else:
return DO_YOU_BUY_NEW_1 % ( buyItemName, buyItemPrice )
def BLACK_AL2(buyItemName, buyItemCount, buyItemPrice) :
if buyItemCount > 1 :
return DO_YOU_BUY_NEW_2_2 % ( buyItemName, buyItemCount, buyItemPrice )
else:
return DO_YOU_BUY_NEW_2 % ( buyItemName, buyItemPrice )


uishop

if item.IsAntiFlag(item.ANTIFLAG_SHOP_SECONDARY):
itemBuyQuestionDialog.SetText(localeInfo.BLACK_AL(itemName, itemCount, localeInfo.NumberToGoldString(itemPrice)))
elif item.IsAntiFlag(item.ANTIFLAG_SHOP_TRIPLE):
itemBuyQuestionDialog.SetText(localeInfo.BLACK_AL2(itemName, itemCount, localeInfo.NumberToGoldString(itemPrice)))
else:
itemBuyQuestionDialog.SetText(localeInfo.DO_YOU_BUY_ITEM(itemName, itemCount, localeInfo.NumberToGoldString(itemPrice)))


uitoltip

def miktar(self, price):
self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE_NEW  % (localeInfo.NumberToGoldString(price)), self.GetPriceColor(price))

def miktar2(self, price):
self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE_NEW_2  % (localeInfo.NumberToGoldString(price)), self.GetPriceColor(price))


ezt csere
   self.AppendPrice(price)
erre
else:
if item.IsAntiFlag(item.ANTIFLAG_SHOP_SECONDARY):
self.miktar(price)
elif item.IsAntiFlag(item.ANTIFLAG_SHOP_TRIPLE):
self.miktar2(price)
else:
self.AppendPrice(price)

Akkor te Won systemet akarsz használni. Az más igen.

nem won system,ez 2 az egybe :)
a won systemet nem fogom ezért is irtam cska a coinsot :)
A won-t átírom majd pvp pontra de a kérdés fent áll miért nem jelzi ki :D