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
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.
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

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:
Verdiklerinizden hangisi memory leak sorunu acaba şebnemler ile ilgili hafızada kalma sorunu yani3 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
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.
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.
Anladım bro detaylı acıklaman için çok teşekkür ederimoyunda 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.
Bundan birden fazla cıkar mı acaba
inv_item->SetCount(inv_item->GetCount() + item->GetCount());
Metin2 nin dosyalarında 1 tane 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)
Benzer konular
- Cevaplar
- 114
- Görüntüleme
- 14K
- Cevaplar
- 5
- Görüntüleme
- 763
- Cevaplar
- 0
- Görüntüleme
- 158
- Cevaplar
- 33
- Görüntüleme
- 8K