farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

Phebia2 Server Files Namı Diğer Rohan Files.

  • Konuyu başlatan Konuyu başlatan REVOLTS
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 524
  • Görüntüleme Görüntüleme 81K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
3 tanesinin çözümü burada. dungeon ve iksirli+basma bir de memory leak için. rohan, bestia vs vs diğer fileslerde de vardır bunlar.
Ama yine kullanmanızı önermem. Bununla oyun açamazsınız. Açarsanız yanınıza bunun hatalarını bilen adamı alıp 2 hafta mesai yaptırmanız gerekir :D

char_item.cpp 1965.satırı açın.
if (prob <= prt->prob)
bunun yerine bunu yazın
if (prob <= success_prob)

Char_item.cpp 10861.satırı açın bir alt satıra bunu ekleyin.
M2_DESTROY_ITEM(item);


questlua_global.cpp 1368.satırı açın.
pChar->Dead();
bunun yerine bunu yazın
M2_DESTROY_CHARACTER(pChar);


açıklamasını da burada yapıyım;
iksirler sucess_prob değerini arttırırken başarılı olma şansının sorgulandığı yerde hesaba katılmıyor.

blend de item isimli obje kullanıldıktan sonra bonuslarını veriyor ve bellekte durmaya devam ediyor. bununla bellekten silinir.

dungeon'da purge fonksiyonu çalıştığında(ne zaman çalışır: verilen süre dolarsa, bir sonraki kata geçilirse yada başka bir nedenle de kullanılabilir) canavarlar silinmek yerine ölüyor. bunun sonucunda canavarı kesmeden drop alabiliyorsunuz. yani solo şekilde mavi ejdere gidip köşede ölmesini bekleyip drobunu alıp çıkabilirsiniz. aynısını barones de de yapabilirsiniz.
 
Son düzenleme:
3 tanesinin çözümü burada. dungeon ve iksirli+basma bir de memory leak için. rohan, bestia vs vs diğer fileslerde de vardır bunlar.
Ama yine kullanmanızı önermem. Bununla oyun açamazsınız. Açarsanız yanınıza bunun hatalarını bilen adamı alıp 2 hafta mesai yaptırmanız gerekir :D

char_item.cpp 1965.satırı açın.
if (prob <= prt->prob)
bunun yerine bunu yazın
if (prob <= success_prob)

Char_item.cpp 10861.satırı açın bir alt satıra bunu ekleyin.
M2_DESTROY_ITEM(item);


questlua_global.cpp 1368.satırı açın.
pChar->Dead();
bunun yerine bunu yazın
M2_DESTROY_CHARACTER(pChar);


açıklamasını da burada yapıyım;
iksirler sucess_prob değerini arttırırken başarılı olma şansının sorgulandığı yerde hesaba katılmıyor.

blend de item isimli obje kullanıldıktan sonra bonuslarını veriyor ve bellekte durmaya devam ediyor. bununla bellekten silinir.

dungeon'da purge fonksiyonu çalıştığında(ne zaman çalışır: verilen süre dolarsa, bir sonraki kata geçilirse yada başka bir nedenle de kullanılabilir) canavarlar silinmek yerine ölüyor. bunun sonucunda canavarı kesmeden drop alabiliyorsunuz. yani solo şekilde mavi ejdere gidip köşede ölmesini bekleyip drobunu alıp çıkabilirsiniz. aynısını barones de de yapabilirsiniz.
Verdiklerinizden hangisi memory leak sorunu acaba şebnemler ile ilgili hafızada kalma sorunu yani


Char_item.cpp 10861.satırı açın bir alt satıra bunu ekleyin.
M2_DESTROY_ITEM(item);

Bu galiba acaba 10861 satır demek yerine kod bloğunu atarmısınız ben kendi filesime ekleyeceğim ve bu filesi indirmedim :(
 
Verdiklerinizden hangisi memory leak sorunu acaba şebnemler ile ilgili hafızada kalma sorunu yani


Char_item.cpp 10861.satırı açın bir alt satıra bunu ekleyin.
M2_DESTROY_ITEM(item);

Bu galiba acaba 10861 satır demek yerine kod bloğunu atarmısınız ben kendi filesime ekleyeceğim ve bu filesi indirmedim :(

oyunda kaybolan tüm öğeleri silmen gerekir. M2_DESTROY_ITEM fonksiyonu ile bir eşyayı siliyoruz. hem bellekten siliyor hemde yerde merde bir yerde kaldıysa oyundan tamamen silmek için kontrollü bir temizleme yapıyor.

bellekten öğe silerken de M2_DELETE yapıyoruz. Bu bir array ise M2_DELETE_ARRAY ile siliyoruz. M2_DESTROY_ITEM'de M2_DELETE yi çağırıyor zaten. Mesela burada eşyanın miktarı 0 olduğu için görünmüyor ama eşya bellekte durmaya devam ediyor.

inv_item->SetCount(inv_item->GetCount() + item->GetCount());
bunu aratıp altına bunu ekle
M2_DESTROY_ITEM(item);


bu arada bölmeli envanterde de memory leak var.
 
oyunda kaybolan tüm öğeleri silmen gerekir. M2_DESTROY_ITEM fonksiyonu ile bir eşyayı siliyoruz. hem bellekten siliyor hemde yerde merde bir yerde kaldıysa oyundan tamamen silmek için kontrollü bir temizleme yapıyor.

bellekten öğe silerken de M2_DELETE yapıyoruz. Bu bir array ise M2_DELETE_ARRAY ile siliyoruz. M2_DESTROY_ITEM'de M2_DELETE yi çağırıyor zaten. Mesela burada eşyanın miktarı 0 olduğu için görünmüyor ama eşya bellekte durmaya devam ediyor.

inv_item->SetCount(inv_item->GetCount() + item->GetCount());
bunu aratıp altına bunu ekle
M2_DESTROY_ITEM(item);


bu arada bölmeli envanterde de memory leak var.
Anladım bro detaylı acıklaman için çok teşekkür ederim

Bundan birden fazla cıkar mı acaba
inv_item->SetCount(inv_item->GetCount() + item->GetCount());
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst