Çözüldü ModifyPoints: cannot find table by vnum 1764954989

  • Konuyu açan Konuyu açan hernandess
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 10
  • Gösterim Gösterim 133
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ı.

hernandess

Üye
Üye
Mesaj
36
Çözümler
2
Beğeni
14
Puan
449
Ticaret Puanı
0
Arkadaşlar başlıktaki syserr Genç Kahramanlar Silahlarını kullanınca çıkıyor.
Sebebi nedir sizce yardımcı olabilir misiniz?


21900:
Genişlet Daralt Kopyala
Vnum    Name    Type    SubType    Size    AntiFlags    Flags    WearFlags    ImmuneFlags    ShopBuyPrice    ShopSellPrice    RefinedVnum    RefineSet    67AttrMaterial    AlterToMagicItemPercent    LimitType0    LimitValue0    LimitType1    LimitValue1    ApplyType0    ApplyValue0    ApplyType1    ApplyValue1    ApplyType2    ApplyValue2    ApplyType3    ApplyValue3    Value0    Value1    Value2    Value3    Value4    Value5    Value6    Value7    Value8    Value9    Specular    GainSocketPercent    AddonType
21900    견습용 0한손검    ITEM_WEAPON    WEAPON_SWORD    2    ANTI_MUDANG | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX | ANTI_WOLFMAN | ANTI_CHANGELOOK | ANTI_REINFORCE | ANTI_ENCHANT | ANTI_ENERGY | ANTI_PETFEED | ANTI_APPLY | ANTI_ACCE    NONE    WEAR_WEAPON    NONE    0    0    0    0    0    15    LEVEL    0    REAL_TIME    1296000    APPLY_ATT_SPEED    22    APPLY_CRITICAL_PCT    5    APPLY_MALL_ATTBONUS    20    APPLY_NONE    0    0    15    19    13    15    49    0    0    0    0    0    0    0
 
Bu fonksiyon silah veya zırh ekipmanızda taş varsa onun özelliğini eklemek için çalışır ama senin durumda soket değerleri okunurken proto bulunmayan bide değer gelmiş. "1764954989" bu değer nasıl sokete işlenmiş onu bilmiyorum CreateItem fonksiyonunu kontrol edebilrsin veya direk karakter başlagıcında veriliyorsa o kısımada bakabilirsin. normalde olması gereken 0 veya protodaki bir taşın kodu ayrıca bir ihtimal daha süre ile alakalı olabilir. bunları değerlendir takıldığın yer olursa geri dönüş yap
 
Bu fonksiyon silah veya zırh ekipmanızda taş varsa onun özelliğini eklemek için çalışır ama senin durumda soket değerleri okunurken proto bulunmayan bide değer gelmiş. "1764954989" bu değer nasıl sokete işlenmiş onu bilmiyorum CreateItem fonksiyonunu kontrol edebilrsin veya direk karakter başlagıcında veriliyorsa o kısımada bakabilirsin. normalde olması gereken 0 veya protodaki bir taşın kodu ayrıca bir ihtimal daha süre ile alakalı olabilir. bunları değerlendir takıldığın yer olursa geri dönüş yap
Cevap için teşekkür ederim. REAL_TIME kısmını LIMIT_NONE yapıp süre değerini de 0 yaparsam syserr düşmüyor. Yani silahdaki süreyi kaldırınca.
 
Cevap için teşekkür ederim. REAL_TIME kısmını LIMIT_NONE yapıp süre değerini de 0 yaparsam syserr düşmüyor. Yani silahdaki süreyi kaldırınca.
Problemi bulmana sevindim. eğer source dosyalarına erişiminiz var ise item.cpp içerisinde ModifyPoints fonksiyonu bulun iç kısmında şu şekilde bir koşul olması gerekiyor.

C++:
Genişlet Daralt Kopyala
if (m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR)

yukarıdaki kodu bu şekilde değiştirin

C++:
Genişlet Daralt Kopyala
if ((m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) && !IsRealTimeItem())

bu sayede ileride bir silahı veya zırhı süreli kullanmak isterseniz bu kod bloğu çalışmayacak ve hata almayacaksınız.
 
Problemi bulmana sevindim. eğer source dosyalarına erişiminiz var ise item.cpp içerisinde ModifyPoints fonksiyonu bulun iç kısmında şu şekilde bir koşul olması gerekiyor.

C++:
Genişlet Daralt Kopyala
if (m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR)

yukarıdaki kodu bu şekilde değiştirin

C++:
Genişlet Daralt Kopyala
if ((m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) && !IsRealTimeItem())

bu sayede ileride bir silahı veya zırhı süreli kullanmak isterseniz bu kod bloğu çalışmayacak ve hata almayacaksınız.
Değişikliği yapıp game yi derledim ama etkisi olmadı.
 
Etkisi olmadı derken detay verir misin? tekrar süre ekleyip sys_err'mı aldınız.
Evet bahsi geçen dosyada ilgili kısmı ;

realtime:
Genişlet Daralt Kopyala
if ((m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) && !IsRealTimeItem())

olarak güncelleyip derledim item_proto içinden eski haline geri getirdim şu şekilde ;

itemproto:
Genişlet Daralt Kopyala
Vnum    Name    Type    SubType    Size    AntiFlags    Flags    WearFlags    ImmuneFlags    ShopBuyPrice    ShopSellPrice    RefinedVnum    RefineSet    67AttrMaterial    AlterToMagicItemPercent    LimitType0    LimitValue0    LimitType1    LimitValue1    ApplyType0    ApplyValue0    ApplyType1    ApplyValue1    ApplyType2    ApplyValue2    ApplyType3    ApplyValue3    Value0    Value1    Value2    Value3    Value4    Value5    Value6    Value7    Value8    Value9    Specular    GainSocketPercent    AddonType
21900    견습용 0한손검    ITEM_WEAPON    WEAPON_SWORD    2    ANTI_MUDANG | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX | ANTI_WOLFMAN | ANTI_CHANGELOOK | ANTI_REINFORCE | ANTI_ENCHANT | ANTI_ENERGY | ANTI_PETFEED | ANTI_APPLY | ANTI_ACCE    NONE    WEAR_WEAPON    NONE    0    0    0    0    0    15    LEVEL    0    REAL_TIME    1296000    APPLY_ATT_SPEED    22    APPLY_CRITICAL_PCT    5    APPLY_MALL_ATTBONUS    20    APPLY_NONE    0    0    15    19    13    15    49    0    0    0    0    0    0    0

reboot edip sunucuyu tekrar aktif ettim ama aynı syserr düştü yine. Daha doğrusu silahı silip tekrar oluşturunca syserr sonundaki numara değişiyor ama syserr gitmiyor.
 
Evet bahsi geçen dosyada ilgili kısmı ;

realtime:
Genişlet Daralt Kopyala
if ((m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) && !IsRealTimeItem())

olarak güncelleyip derledim item_proto içinden eski haline geri getirdim şu şekilde ;

itemproto:
Genişlet Daralt Kopyala
Vnum    Name    Type    SubType    Size    AntiFlags    Flags    WearFlags    ImmuneFlags    ShopBuyPrice    ShopSellPrice    RefinedVnum    RefineSet    67AttrMaterial    AlterToMagicItemPercent    LimitType0    LimitValue0    LimitType1    LimitValue1    ApplyType0    ApplyValue0    ApplyType1    ApplyValue1    ApplyType2    ApplyValue2    ApplyType3    ApplyValue3    Value0    Value1    Value2    Value3    Value4    Value5    Value6    Value7    Value8    Value9    Specular    GainSocketPercent    AddonType
21900    견습용 0한손검    ITEM_WEAPON    WEAPON_SWORD    2    ANTI_MUDANG | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX | ANTI_WOLFMAN | ANTI_CHANGELOOK | ANTI_REINFORCE | ANTI_ENCHANT | ANTI_ENERGY | ANTI_PETFEED | ANTI_APPLY | ANTI_ACCE    NONE    WEAR_WEAPON    NONE    0    0    0    0    0    15    LEVEL    0    REAL_TIME    1296000    APPLY_ATT_SPEED    22    APPLY_CRITICAL_PCT    5    APPLY_MALL_ATTBONUS    20    APPLY_NONE    0    0    15    19    13    15    49    0    0    0    0    0    0    0

reboot edip sunucuyu tekrar aktif ettim ama aynı syserr düştü yine. Daha doğrusu silahı silip tekrar oluşturunca syserr sonundaki numara değişiyor ama syserr gitmiyor.
item.cpp gönderin bi kontrol edeyim
 
__QUIVER_SYSTEM__ diye bir define tanımlanmış bu define açık olduğu için else kısmındaki koşul çalışmıyor. düzenlemeyi yaptım deneyebilirsin
 

Dosya Eklentileri

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