- Katılım
- 22 Tem 2016
- Konular
- 75
- Mesajlar
- 1,406
- Çözüm
- 65
- Online süresi
- 2mo 18d
- Reaksiyon Skoru
- 1,223
- Altın Konu
- 0
- TM Yaşı
- 9 Yıl 10 Ay 26 Gün
- Başarım Puanı
- 234
- MmoLira
- 5,714
- DevLira
- 51
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
AutoGiveItem Boş Envanter Kontrolü
[CODE lang="cpp" title="common/service.h"]#define ENABLE_AUTOGIVEITEM_CELL_CHECK // AutoGiveItim Bos Envanter Kontrol[/CODE]
[CODE lang="cpp" title="char_item.cpp"]//Arat
LPITEM CHARACTER::AutoGiveItem(DWORD dwItemVnum, BYTE bCount, int iRarePct, bool bMsg)
{
TItemTable* p = ITEM_MANAGER::instance().GetTable(dwItemVnum);
if (!p)
return NULL;
//Altına Ekle
#ifdef ENABLE_AUTOGIVEITEM_CELL_CHECK
LPITEM itemCheck = ITEM_MANAGER::instance().CreateItem(dwItemVnum, bCount, 0, true, -1, true);
if (itemCheck)
{
int iEmptyCell = -1;
if (p->bType == ITEM_DS)
iEmptyCell = GetEmptyDragonSoulInventory(itemCheck);
#ifdef ENABLE_SPECIAL_STORAGE
else if (IsUpgradeItem(dwItemVnum))
iEmptyCell = GetEmptyUpgradeInventory(itemCheck);
else if (IsStoneSpecial(dwItemVnum, p->bType))
iEmptyCell = GetEmptyStoneInventory(itemCheck);
else if (ITEM_SKILLBOOK == p->bType)
iEmptyCell = GetEmptyBookInventory(itemCheck);
else if (IsFlowerItem(dwItemVnum))
iEmptyCell = GetEmptyFlowerInventory(itemCheck);
else if (IsAttrSpecial(dwItemVnum))
iEmptyCell = GetEmptyAttrInventory(itemCheck);
else if (IsChestItem(dwItemVnum))
iEmptyCell = GetEmptyChestInventory(itemCheck);
#endif
else
iEmptyCell = GetEmptyInventory(p->bSize);
if (iEmptyCell == -1)
{
if (bMsg)
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Envanterinde yer yok autogiveitem!"));
return NULL;
}
}
#endif[/CODE]
[CODE lang="cpp" title="common/service.h"]#define ENABLE_AUTOGIVEITEM_CELL_CHECK // AutoGiveItim Bos Envanter Kontrol[/CODE]
[CODE lang="cpp" title="char_item.cpp"]//Arat
LPITEM CHARACTER::AutoGiveItem(DWORD dwItemVnum, BYTE bCount, int iRarePct, bool bMsg)
{
TItemTable* p = ITEM_MANAGER::instance().GetTable(dwItemVnum);
if (!p)
return NULL;
//Altına Ekle
#ifdef ENABLE_AUTOGIVEITEM_CELL_CHECK
LPITEM itemCheck = ITEM_MANAGER::instance().CreateItem(dwItemVnum, bCount, 0, true, -1, true);
if (itemCheck)
{
int iEmptyCell = -1;
if (p->bType == ITEM_DS)
iEmptyCell = GetEmptyDragonSoulInventory(itemCheck);
#ifdef ENABLE_SPECIAL_STORAGE
else if (IsUpgradeItem(dwItemVnum))
iEmptyCell = GetEmptyUpgradeInventory(itemCheck);
else if (IsStoneSpecial(dwItemVnum, p->bType))
iEmptyCell = GetEmptyStoneInventory(itemCheck);
else if (ITEM_SKILLBOOK == p->bType)
iEmptyCell = GetEmptyBookInventory(itemCheck);
else if (IsFlowerItem(dwItemVnum))
iEmptyCell = GetEmptyFlowerInventory(itemCheck);
else if (IsAttrSpecial(dwItemVnum))
iEmptyCell = GetEmptyAttrInventory(itemCheck);
else if (IsChestItem(dwItemVnum))
iEmptyCell = GetEmptyChestInventory(itemCheck);
#endif
else
iEmptyCell = GetEmptyInventory(p->bSize);
if (iEmptyCell == -1)
{
if (bMsg)
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Envanterinde yer yok autogiveitem!"));
return NULL;
}
}
#endif[/CODE]
En Çok Reaksiyon Alan Mesajlar
Memoryleak var. Envanter dolu hatasından sonra oluşturduğunuz itemi silmenizi gerek. return NULL; bunun üstüne
delete itemCheck;
veya
M2_DESTROY_ITEM(itemCheck);
Eklediğinizde çözülecektir.
Paylaşım için teşekkürler
Paylaşım için teşekkürler.
Bu düzenleme envanteriniz doluyken yere item düşmesini engelleyecek fakat bu şekilde kullanıldığında daha büyük sıkıntılara yol açacaktır.
Örneğin envanter doluyken cube yaptığınızda dönüşüm eşyaları gidecek ama dönüştürdüğünüz eşya envanterinize gelmeyecek.
Biyolog yaptığınızda envanteriniz doluysa biyolog sandığı envanterinize gelmeyecek.
bu ve bunlara benzer hatalarla karşılaşabilirsiniz.
Paylaşım için teşekkürler
Paylaşım için teşekkürler, yorumlarda bazı çıkabilecek olan hataların ön görümleri mevcut. Onları konuya ekleyebilirsiniz.
- Katılım
- 14 Eki 2021
- Konular
- 279
- Mesajlar
- 1,455
- Çözüm
- 12
- Online süresi
- 4mo 28d
- Reaksiyon Skoru
- 1,509
- Altın Konu
- 5
- TM Yaşı
- 4 Yıl 8 Ay 1 Gün
- Başarım Puanı
- 227
- MmoLira
- 3,445
- DevLira
- 30
eyvallah hacım
- Katılım
- 20 Kas 2021
- Konular
- 2,085
- Mesajlar
- 5,972
- Çözüm
- 5
- Online süresi
- 3mo 10d
- Reaksiyon Skoru
- 5,735
- Altın Konu
- 218
- TM Yaşı
- 4 Yıl 6 Ay 24 Gün
- Başarım Puanı
- 317
- Yaş
- 27
- MmoLira
- 1,573
- DevLira
- 0
Eline Sağlık
- Katılım
- 4 Nis 2016
- Konular
- 19
- Mesajlar
- 323
- Online süresi
- 17d 21h
- Reaksiyon Skoru
- 42
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 2 Ay 10 Gün
- Başarım Puanı
- 90
- MmoLira
- 321
- DevLira
- 6
bugluydu sanırım
- Katılım
- 15 Nis 2016
- Konular
- 115
- Mesajlar
- 4,815
- Çözüm
- 58
- Online süresi
- 8mo 4d
- Reaksiyon Skoru
- 1,107
- Altın Konu
- 3
- Başarım Puanı
- 279
- MmoLira
- 6,246
- DevLira
- 66
Paylaşım için teşekkürler.
Bu düzenleme envanteriniz doluyken yere item düşmesini engelleyecek fakat bu şekilde kullanıldığında daha büyük sıkıntılara yol açacaktır.
Örneğin envanter doluyken cube yaptığınızda dönüşüm eşyaları gidecek ama dönüştürdüğünüz eşya envanterinize gelmeyecek.
Biyolog yaptığınızda envanteriniz doluysa biyolog sandığı envanterinize gelmeyecek.
bu ve bunlara benzer hatalarla karşılaşabilirsiniz.
Bu düzenleme envanteriniz doluyken yere item düşmesini engelleyecek fakat bu şekilde kullanıldığında daha büyük sıkıntılara yol açacaktır.
Örneğin envanter doluyken cube yaptığınızda dönüşüm eşyaları gidecek ama dönüştürdüğünüz eşya envanterinize gelmeyecek.
Biyolog yaptığınızda envanteriniz doluysa biyolog sandığı envanterinize gelmeyecek.
bu ve bunlara benzer hatalarla karşılaşabilirsiniz.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 12
- Görüntüleme
- 1K
- Cevaplar
- 0
- Görüntüleme
- 276
- Soru
Cevaplanmadı
martysama v5.8 filesine k envanter eklemek istiyorum
- Cevaplar
- 0
- Görüntüleme
- 264
- Cevaplar
- 10
- Görüntüleme
- 2K



