Çözüldü İtem Stack Sorunu

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Chiqomt2

Üye
Üye
Mesaj
45
Çözümler
6
Beğeni
9
Puan
429
Ticaret Puanı
0
Navicat ve Txt'lerde item stacklenebilir gözüküyor ama oyuna geldiğimde zen fasulye gibi itemler üst üste birleştirilirken kutsama büyülü metal vb. itemlerde üst üste birleştiremiyorum ama stacklenebilir olması gerekiyor. Pack'e bi kac sistem ekledim sanırım biri bozdu sorunun nerden kaynaklı olduğunu bilmiyorum yardımcı olursanız sevinirim.
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Çözüm
Sorun Çözüldü.
Bu ikisini deneyebilirsin.
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Alıntıdır. Çözüm:
root/uiinventory.py açılır



bunu arat

def __DropSrcItemToDestItemInInventory



hemen altında bu olması lazım yoksa sen ekle

if srcItemSlotPos == dstItemSlotPos:

return

bunuda onun altına ekle

elif srcItemVID == player.GetItemIndex(dstItemSlotPos):

self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos, 0)

return





bunu arat

def __CanUseSrcItemToDstItem



altındaki bunu

if item.IsRefineScroll(srcItemVNum):

if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos):

return True



buşekilde değiştir ''if''yazan yeri elif yapacaksın sadece

elif item.IsRefineScroll(srcItemVNum):

if...
Problemin çözüldüyse hangi linkteki işlemleri yaptığını yazarsan sevinirim. Stack problemi çözüldüyse birde o itemleri + basmada kullanmaya çalış ordada çalışıyorsa problem yoktur.
 
item_proto.txt dosyasında properties kısmında yazan özellikler bulunur. ITEM_STACKABLE ibaresini stacklenmesini istediğin itemin satırına eklemen gerekir. Stacklenen bir itemden kopyala yapıştır yapman en sağlıklısı. örnek bir kodu alt satıra bırakıyorum.
stack satırı:
50323    ÆÄÇØ ±â¼ú ¼ö·Ã¼ <ÇÏ>    ITEM_GIFTBOX    0    1    NONE    ITEM_STACKABLE    NONE    NONE    1000    1000    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
anti stack satırı:
41152    Å©¸®½º¸¶½ºÀÎÇüÀÇ»ó    ITEM_COSTUME    COSTUME_BODY    2    ANTI_MALE | ANTI_DROP | ANTI_STACK | ANTI_WOLFMAN    NONE    NONE    NONE    0    0    0    0    100    REAL_TIME    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    5    0    0    40069    0    0    0    0    0
eğer ANTI_STACK ekliyse onu silmen ve ITEM_STACKABLE eklemen gerekiyor.
 
item_proto.txt dosyasında properties kısmında yazan özellikler bulunur. ITEM_STACKABLE ibaresini stacklenmesini istediğin itemin satırına eklemen gerekir. Stacklenen bir itemden kopyala yapıştır yapman en sağlıklısı. örnek bir kodu alt satıra bırakıyorum.
stack satırı:
50323    ÆÄÇØ ±â¼ú ¼ö·Ã¼ <ÇÏ>    ITEM_GIFTBOX    0    1    NONE    ITEM_STACKABLE    NONE    NONE    1000    1000    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
anti stack satırı:
41152    Å©¸®½º¸¶½ºÀÎÇüÀÇ»ó    ITEM_COSTUME    COSTUME_BODY    2    ANTI_MALE | ANTI_DROP | ANTI_STACK | ANTI_WOLFMAN    NONE    NONE    NONE    0    0    0    0    100    REAL_TIME    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    5    0    0    40069    0    0    0    0    0
eğer ANTI_STACK ekliyse onu silmen ve ITEM_STACKABLE eklemen gerekiyor.
Teşekkürler bunlar ekli pack ile ilgili bir sorunum var.
itemler stackleniyor zaten ama düşürüp alınınca envanterde birleşmiyor.
 
Sorun Çözüldü.
Bu ikisini deneyebilirsin.
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Alıntıdır. Çözüm:
root/uiinventory.py açılır



bunu arat

def __DropSrcItemToDestItemInInventory



hemen altında bu olması lazım yoksa sen ekle

if srcItemSlotPos == dstItemSlotPos:

return

bunuda onun altına ekle

elif srcItemVID == player.GetItemIndex(dstItemSlotPos):

self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos, 0)

return





bunu arat

def __CanUseSrcItemToDstItem



altındaki bunu

if item.IsRefineScroll(srcItemVNum):

if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos):

return True



buşekilde değiştir ''if''yazan yeri elif yapacaksın sadece

elif item.IsRefineScroll(srcItemVNum):

if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos):

return True



bunuda o değiştirdiğin kodun altına ekle oldu bitti..

if srcItemVNum == player.GetItemIndex(dstSlotPos):

if player.GetItemCount(dstSlotPos) < 200:

return True
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst