Bodyguardd 1
Bodyguardd
Vahsi Uzman 1
Vahsi Uzman
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Cevaplandı Premium Private Shop hakkında problem

  • Konuyu başlatan Konuyu başlatan hasanmacit™
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 12
  • Görüntüleme Görüntüleme 835
https://forum.turkmmo.com/konu/3799397-offline-shop-premium-private-shop-eksikleri-tamamlandi/
Ekli dosyayı görüntüle 10169

Selamlar arkadaşlar. Vakit bulmuşken bu pazar sistemine de göz atmak istedim. Pazar kapanınca eşyaların guiye gelmeme sorunu vardı. Bunu çözdüm fakat guiden eşyaları çekemiyorum. Her seferinde şu iki satırdan biri uyarı veriyor. Bunu nasıl çözümleyebilirim ? Ve dikkatimi şu çekti belki çözümde yardımcı olur düşünecek arkadaşlara. Pazarı düzenlerken çoğu işlemi pkSafebox üstünden yaparken eşyayı çekerken hep klasik pazarı kontrol ediyor. Bunu düzenlediğimde yine orjinal pazarı bulamıyor.

[CODE lang="cpp" highlight="24-30"]void CInputMain::PremiumPrivateShopItemMove(LPCHARACTER ch, const char * data)
{
struct command_item_move * pinfo = (struct command_item_move *) data;

if (!ch->CanHandleItem())
return;

if (!ch->GetPremiumPrivateShop())
return;

CSafebox * pkSafebox = ch->GetPremiumPrivateShop();

if (!pkSafebox)
return;

LPITEM pkItem = pkSafebox->Get(pinfo->Cell.cell);

if (!pkItem)
return;

DWORD dwPID = ch->GetPlayerID();

LPOFFSHOP pkShop = CShopManager::instance().FindPremiumPrivateShopByPlayerID(dwPID);

if (!pkShop)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "<Ozel Market> Bulunamadı PID"));
return;
}

LPSHOP pShop = pkShop->GetShop();

if (!pShop)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "<Ozel Market> Bulunamadı Shop"));
return;
}

if(!pkSafebox->MoveItemPremiumPrivateShop(pinfo->Cell.cell, pinfo->CellTo.cell, pinfo->count, pShop, ch))
{
//sys_err("Fail moving item");
return;
}
}[/CODE]

[CODE lang="cpp" highlight="26-32"] case SUB_HEADER_PREMIUM_PRIVATE_SHOP_ITEM_DEL:
{
TPacketCGPremiumPrivateShopCheck * p = (TPacketCGPremiumPrivateShopCheck *) c_pData;

if (!ch->CanHandleItem())
return;

CSafebox * pkSafebox;

pkSafebox = ch->GetPremiumPrivateShop();

if (!pkSafebox)
return;

LPITEM pkItem = pkSafebox->Get(p->bSafePos);

if (!pkItem)
return;

if (!ch->IsEmptyItemGrid(p->ItemPos, pkItem->GetSize()))
return;

DWORD dwPID = ch->GetPlayerID();

LPOFFSHOP pkShop = CShopManager::instance().FindPremiumPrivateShopByPlayerID(dwPID);

if (!pkShop)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "<Ozel Market> Bulunamadı PID"));
return;
}

LPSHOP pShop = pkShop->GetShop();

if (!pShop)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "<Ozel Market> Bulunamadı Shop"));
return;
}[/CODE]
 
Moderatör tarafında düzenlendi:
Bak şimdi bir map var ve bu mapte pazarlar tutuluyor.
Muhtemelen pazar kapandığı zaman o mapten siliniyor. Problem bu. Ben direkt çözüme geleceğim. Bu pazara ait pointer artık ramde yok. Bu ihtimali düşünmeden yazmış muhtemelen. Çözüm için yapının tamamını görüp kavramak gerek.
 
Bak şimdi bir map var ve bu mapte pazarlar tutuluyor.
Muhtemelen pazar kapandığı zaman o mapten siliniyor. Problem bu. Ben direkt çözüme geleceğim. Bu pazara ait pointer artık ramde yok. Bu ihtimali düşünmeden yazmış muhtemelen. Çözüm için yapının tamamını görüp kavramak gerek.
yani adminim ne yapmak lazım kaldırayım mı shopu
 
Bak şimdi bir map var ve bu mapte pazarlar tutuluyor.
Muhtemelen pazar kapandığı zaman o mapten siliniyor. Problem bu. Ben direkt çözüme geleceğim. Bu pazara ait pointer artık ramde yok. Bu ihtimali düşünmeden yazmış muhtemelen. Çözüm için yapının tamamını görüp kavramak gerek.
İtemleri item.sql de PRIVATE_SHOP window u altında tutuyor, marketin süresi bitince market kapanıyor ve itemler bir daha gözükmüyor. Hasan bu itemlerin gözükmesini sağladı fakat bu seferde alınmıyor.
 
İtemleri item.sql de PRIVATE_SHOP window u altında tutuyor, marketin süresi bitince market kapanıyor ve itemler bir daha gözükmüyor. Hasan bu itemlerin gözükmesini sağladı fakat bu seferde alınmıyor.
yapıyı tam bilmiyorum ben sadece problemi söyledim. Map diye bahsettiğim bir depolayıcı ve pazar verilerini kullanıcılar ile eşleştiriyor. Bu depolayıcıda karakterin kendisine ait bir pazar bulunmuyor. bundan dolayı hata vermiş.
Devamında bu pointer'ı kullanarak eşyayı teslim ettiği için gereksiz bir sorgu da değil :D
 
yapıyı tam bilmiyorum ben sadece problemi söyledim. Map diye bahsettiğim bir depolayıcı ve pazar verilerini kullanıcılar ile eşleştiriyor. Bu depolayıcıda karakterin kendisine ait bir pazar bulunmuyor. bundan dolayı hata vermiş.
Devamında bu pointer'ı kullanarak eşyayı teslim ettiği için gereksiz bir sorgu da değil :D
ben bunu çözmeye çalışayım ozaman anlaşılan uzun iş. diğer shopların yapılarına felan bakarım. saolun adminim.
 

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

Geri
Üst