Çözüldü Yang sınırını arttırdıktan sonra

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

mazeah321

Üye
Üye
Mesaj
36
Çözümler
1
Beğeni
25
Puan
694
Ticaret Puanı
0
Yang sınırını int veri tipinden long long veri tipine çektim hiç bir proplem yok sadece client tarafında böyle bir syser veriyor ticaret yapınca

Client Syserr:
Genişlet Daralt Kopyala
0708 21:31:34999 :: TypeError
0708 21:31:34999 :: :
0708 21:31:34999 :: argument list must be a tuple
0708 21:31:34999 ::

Bu syserr neyden kaynaklı oldugunu yada ne gibi durumlarda verdigini bilen birisi yardımcı olursa sevinirim
 
Çözüm
Eğer hatam varsa affola, kod okuma bilgim çok yok ancak şöyle bir şey dikkatimi çekti.
Öncelikle bu bir syserr değil, bizzat python uyarısıymış. O yüzden hiç bir pack yada src dosyasında bulunmuyor.

PythonPlayerModule.cpp de ki düzenlediğiniz blok:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return PyLong_FromLongLong(CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Aynı dosyanın orjinalindeki hali ise şu şekilde:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("i", CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Düzenlenmiş versiyonda Py_BuildValue("i") gibi bir dizi/karakter ataması yok. Kod çalışıyor ancak kendi bünyesine göre çalışıyor, dizi çağrışımı...
Linkleri görebilmek için giriş yap veya kayıt ol.
burdan bakıp clientinizde düzenlemeler yapınız.
Beni yanlış anladınız ben tüm ayarları yaptım eksik olması mümkün değil zaten sistemin çalışmasındada bir hata yok sadece ticaret yapınca client tarafında konudaki gibi bir syserr atıyor bunu neden atıyor önemlimi sebebini bilen birisi açıklarsa sevinirim attıgınız konu ile yakından uzaktan alakası yok sorunumun
 
Clientde düzenlemeler yaptınız mı? Yapmadıysanız linkdeki konuya bakınız. Yaptığınız değişiklikleri gözden geçiriniz tekrardan.
 
Clientde düzenlemeler yaptınız mı? Yapmadıysanız linkdeki konuya bakınız. Yaptığınız değişiklikleri gözden geçiriniz tekrardan.
Ben mi derdimi anlatamıyorum tam çözemedim sizi attıgınız konuya siz bakın bi benim ekledigim
Linkleri görebilmek için giriş yap veya kayıt ol.
bu ve içindeki herşeyi yaptım ayrıca konuda olmayan eksikleride tamamladım sistemi 3 kere gözden geçirdim syser ile alakalı araştırmada yaptım ama çözüme ulaşamadım ve sizin bana attıgınız konuda lentg.h içindeki sınırlardan bahsediyor zaten bu kısımları editledim daha ne söylemem gerekiyor bilmiyorum
 
Konu açarken gerekli bilgileri tam yazınız. Burası dert anlatmaya yeri değil soru cevap yeridir. Vermiş olduğunuz linkteki konu bizzat kendim denedim sorun yaşamadım, eksik dosyaları konudaki yorumlarda mevcut. Client taraflı yanlış yaptığınız bir şeyler var tekrardan kodlara bakınız veya tekrardan kurunuz lütfen.
 
Son düzenleme:
Konu açarken gerekli bilgileri tam yazınız. Burası dert anlatmaya yeri değil soru cevap yeridir. Vermiş olduğunuz linkteki konu bizzat kendim denedim sorun yaşamadım, eksik dosyaları konudaki yorumlarda mevcut. Client taraflı yanlış yaptığınız bir şeyler var tekrardan kodlara bakınız veya tekrardan kurunuz lütfen.
Attıgın konun tüm yorumlarını okudum saçma sapan bir konu attın bana dert anlatma yeri değil diyorsun ben zaten ekledigim sistemi biliyorum bi yerlerde eksik olabileceginide biliyorum onun için buraya konu açtım belki daha önce bir insan evladı aynı syseri almıstır fikir verir diye ama sen dalga geçer gibi length.h tanıtımını yapan 2014 ait bir konu atıyorsun ne diyim ki ben kapatabilirsiniz konuyu anlamsız burda aramam
 
Siz kullandığınız kaynağı daha önceden paylaşmış olsaydınız, konu buralara kadar gelmezdi. Bende bu Yang sınırını artırırken hatalar yaşamadım. Yorumlarda eksik dosyalar mevcut. Clientde yanlış düzenlemeler yapmışsınız, tekrardan kodlara bakınız. Yaptığınız kodlarda değişikliklerini yorumda paylaşırmısınız. Bana kızıp kodlara bakmamazlik yapmayınız.
 
Siz kullandığınız kaynağı daha önceden paylaşmış olsaydınız, konu buralara kadar gelmezdi. Bende bu Yang sınırını artırırken hatalar yaşamadım. Yorumlarda eksik dosyalar mevcut. Clientde yanlış düzenlemeler yapmışsınız, tekrardan kodlara bakınız. Bana kızıp kodlara bakmamazlik yapmayınız.
Estafurullah hocam haklı olabilirsiniz ama client taraflıda pack taraflıda çok kez baktım bir eksik bulamadım Bu syserr ne gibi durumlarda verdigini bilsek ona göre kod tarafını daha rahat düzenlicem de işin garibi sistemde bir problem yok ticaret yapıyor para kaybı olmuyor yani tüm kombinasyonları denedim hiç bir problem yok tek bu syserr
 
Estafurullah hocam haklı olabilirsiniz ama client taraflıda pack taraflıda çok kez baktım bir eksik bulamadım Bu syserr ne gibi durumlarda verdigini bilsek ona göre kod tarafını daha rahat düzenlicem de işin garibi sistemde bir problem yok ticaret yapıyor para kaybı olmuyor yani tüm kombinasyonları denedim hiç bir problem yok tek bu syserr
O syserr hatasını root içinde ve src içinde aratın. İlk defa gördüğüm bir syserr ve sanırım oyunun altyapisinda varsayılan olarak bulunan bir şey değil. Çünkü ben arattım fakat 0 sonuç.
Eğer sizde sonuç çıkarsa, bulduğunuz sonucu buraya ekler misiniz
 
O syserr hatasını root içinde ve src içinde aratın. İlk defa gördüğüm bir syserr ve sanırım oyunun altyapisinda varsayılan olarak bulunan bir şey değil. Çünkü ben arattım fakat 0 sonuç.
Eğer sizde sonuç çıkarsa, bulduğunuz sonucu buraya ekler misiniz
Bende sizin gibi düşündüm arattım ama tek buldugum buydu

PythonPlayer.cpp içinde
Tracef("CPythonPlayer::SetStatus - Set Status Type Error\n");

Sonrasında Başka Filesın Source İle Karşılaştırdım Ordanda Birşey Çıkmadı

Sonra Hatayı Tam Anlamaya Çalışıyım Dedim Hatanın Temel Sebebi Envantere Yang Gelince O Syserr Veriyor Yani 1 Yang Bile Gelse O Syseri Veriyor Fonksiyonlara Tam Hakim Olamadıgım İçin Envantere Yang Gelince Nereler Çalışıyor Bilmiyorum Eğer Siz Biliyorsunuz O Cpp Leri Kontrol Ediyim

Daha Detay Vermek Gerekirse Misal Ticaretten Para Aldım Syserr Veriyor
Mob Kestim Para Düştü Aldım Yine Aynı Syserr

Ama Sadece Para Artınca Veriyor Eksilince Değil Yani
Keşfedebildiklerim Bukadar
 
exchange.cppde düzenleme yaptınız mı? Aynı şekilde client kısmında pythonexchange'in kullandığı structtaki gold veri tipini değiştirmeyi unutmuş olabilirsiniz.
 
Eğer hatam varsa affola, kod okuma bilgim çok yok ancak şöyle bir şey dikkatimi çekti.
Öncelikle bu bir syserr değil, bizzat python uyarısıymış. O yüzden hiç bir pack yada src dosyasında bulunmuyor.

PythonPlayerModule.cpp de ki düzenlediğiniz blok:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return PyLong_FromLongLong(CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Aynı dosyanın orjinalindeki hali ise şu şekilde:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("i", CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Düzenlenmiş versiyonda Py_BuildValue("i") gibi bir dizi/karakter ataması yok. Kod çalışıyor ancak kendi bünyesine göre çalışıyor, dizi çağrışımı yapmadan.
Bu yüzden syserr dosyasına böyle bir kayıt düşüyor sanırım. Şunu da unutmamak gerek ki syserr dosyasında yazan her kayıt, bir hata bildirimi değildir. Nadir durumlarda aynı src de ki warning olayı gibi sadece bilgilendirme niteliği taşır.
Ticaret yapınca, yerden para toplayınca vs. hepsinde aynı sorunu yaşadığınızı söylüyorsunuz, bu yüzden sorun ticaret yada pickmoney ile alakalı değil bence. Nerden geldiği fark etmeksizin karaktere gelen(eklenen) para ile ilgili gibi.

Bu verdiğim bloğun üzerinde denemeler yapmanızı tavsiye ederim. İsterseniz ilk olarak bu bloğu orjinal haline çevirip deneyin.
Daha sonra "i" kısmını "L" veya "LL" şeklinde değiştirerek deneyin.

Tabi neticede sorunun kaynağı bu mu emin değilim, sadece bir fikir. Bunlara ek olarak, python 2.7 den düşük bir sürüm kullanıyorsanız bu da bir etken olabilir.
 
Çözüm
Eğer hatam varsa affola, kod okuma bilgim çok yok ancak şöyle bir şey dikkatimi çekti.
Öncelikle bu bir syserr değil, bizzat python uyarısıymış. O yüzden hiç bir pack yada src dosyasında bulunmuyor.

PythonPlayerModule.cpp de ki düzenlediğiniz blok:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return PyLong_FromLongLong(CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Aynı dosyanın orjinalindeki hali ise şu şekilde:
C++:
Genişlet Daralt Kopyala
PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("i", CPythonPlayer::Instance().GetStatus(POINT_GOLD));
}

Düzenlenmiş versiyonda Py_BuildValue("i") gibi bir dizi/karakter ataması yok. Kod çalışıyor ancak kendi bünyesine göre çalışıyor, dizi çağrışımı yapmadan.
Bu yüzden syserr dosyasına böyle bir kayıt düşüyor sanırım. Şunu da unutmamak gerek ki syserr dosyasında yazan her kayıt, bir hata bildirimi değildir. Nadir durumlarda aynı src de ki warning olayı gibi sadece bilgilendirme niteliği taşır.
Ticaret yapınca, yerden para toplayınca vs. hepsinde aynı sorunu yaşadığınızı söylüyorsunuz, bu yüzden sorun ticaret yada pickmoney ile alakalı değil bence. Nerden geldiği fark etmeksizin karaktere gelen(eklenen) para ile ilgili gibi.

Bu verdiğim bloğun üzerinde denemeler yapmanızı tavsiye ederim. İsterseniz ilk olarak bu bloğu orjinal haline çevirip deneyin.
Daha sonra "i" kısmını "L" veya "LL" şeklinde değiştirerek deneyin.

Tabi neticede sorunun kaynağı bu mu emin değilim, sadece bir fikir. Bunlara ek olarak, python 2.7 den düşük bir sürüm kullanıyorsanız bu da bir etken olabilir.
Çok Teşekkür ederim cevabınız için Gold update oldugu her fonksiyonu düzenledim Eski haline getirdim char degerinide "İ"DEN "L" Çektim
Syserr gitti bir kaç kontrol yaptım bir problem yok gibi duruyor sadece bu yaptıgımız dogrumu yanlış mı onu tam bilmiyorum ama dediginiz gibi python tarafından verilen bir hata muhtemelen oyunu etkilemiyor ama yinede syser rahatsız ediyor :)

Bu arada uslubunuz muazzam :) Tekrardan Teşekkür ederim Ekstrem bir durum olursa paylaşarım aynı hata ile karşılaşıcak olan arkadaşlar içinde

PyLong_FromLongLong Şeklinde çalışan tüm komutları
Py_BuildValue değerine çekip char değerini i yerine L Yapmaları gerekiyor.
 
Çok Teşekkür ederim cevabınız için Gold update oldugu her fonksiyonu düzenledim Eski haline getirdim char degerinide "İ"DEN "L" Çektim
Syserr gitti bir kaç kontrol yaptım bir problem yok gibi duruyor sadece bu yaptıgımız dogrumu yanlış mı onu tam bilmiyorum ama dediginiz gibi python tarafından verilen bir hata muhtemelen oyunu etkilemiyor ama yinede syser rahatsız ediyor :)

Bu arada uslubunuz muazzam :) Tekrardan Teşekkür ederim Ekstrem bir durum olursa paylaşarım aynı hata ile karşılaşıcak olan arkadaşlar içinde

PyLong_FromLongLong Şeklinde çalışan tüm komutları
Py_BuildValue değerine çekip char değerini i yerine L Yapmaları gerekiyor.
Sorununuzun çözülmesine sevindim :) Buradaki sorununuz çözüldüğü için konuyu kapatıyorum. Yaşadığınız farklı sorunları yeni konu açarak paylaşabilirsiniz, iyi çalışmalar.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst