bikral 1
bikral
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bvural41 1
Bvural41
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
YazilimMühendisi 1
YazilimMühendisi
Fethi Polat 1
Fethi Polat
InfernoShade 1
InfernoShade
Hikaye Ekle

Cevaplanmadı Sorun oluşturma kaynağı

  • Konuyu başlatan Konuyu başlatan Villain11
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 253

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhaba, birisi bana yardımcı olabilir mi, oyunu ve veritabanını oluşturma konusunda bir sorunum var


 
Kod:
#ifdef ENABLE_DROP_INFO
void CInputMain::DropInfo(LPCHARACTER ch)
{

if (!ch || !ch->GetDesc())
        return;

    const auto pkTarget = ch->GetTarget();
    
    if (!pkTarget)
        return;

    if (pkTarget->IsMonster() || pkTarget->IsStone())
    {
        std::vector<TDropInfoItem> vecDropInfo;
        const auto bHasDropInfo = ITEM_MANAGER::Instance().CreateDropItemInfo(pkTarget, ch, vecDropInfo);

        if (bHasDropInfo)
        {
            TEMP_BUFFER buf;

            for (const auto& it : vecDropInfo)
            {
                TPacketDropInfoItem item;
                item.dwVnum = it.dwVnum;
                item.byMinCount = it.byMinCount;
                item.byMaxCount = it.byMaxCount;
                buf.write(&it, sizeof(TPacketDropInfoItem));
            }

            TPacketDropInfo packet;
            packet.header = HEADER_GC_DROP_INFO;
            packet.size = sizeof(TPacketDropInfo) + buf.size();
            packet.item_count = vecDropInfo.size();

            const auto& tTable = pkTarget->GetMobTable();
            packet.gold_min = tTable.dwGoldMin;
            packet.gold_max = tTable.dwGoldMax;

            packet.mob_vnum = pkTarget->GetRaceNum();

            ch->GetDesc()->BufferedPacket(&packet, sizeof(TPacketDropInfo));
            ch->GetDesc()->Packet(buf.read_peek(), buf.size());
        }
    }
}
#endif
 
[KOD]#ifdef ENABLE_DROP_INFO
void CInputMain: :DropInfo(rozdział LPCHARACTER)
{

if (!ch || !ch->GetDesc())
powrót;

const auto pkTarget = ch->GetTarget();

jeśli (!pkTarget)
powrót;

if (pkTarget->IsMonster() || pkTarget->IsStone())
{
std::vector<TDropInfoItem> vecDropInfo;
const auto bHasDropInfo = ITEM_MANAGER::Instance().CreateDropItemInfo(pkTarget, ch, vecDropInfo);

jeśli (bHasDropInfo)
{
przygotowanie TEMP_BUFFER;

for (const auto& it: vecDropInfo)
{
Element TPacketDropInfoItem;
bozycja.dwVnum = it.dwVnum;
item.byMinCount = it.byMinCount;
item.byMaxCount = it.byMaxCount;
buf.write(&it, rozmiar(TPacketDropInfoItem));
}

pakiet TPacketDropInfo;
pakiet.header = HEADER_GC_DROP_INFO;
pakiet.rozmiar = rozmiar(TPacketDropInfo) + buf.rozmiar();
pakiet.item_count = vecDropInfo.size();

const auto& tTable = pkTarget->GetMobTable();
pakiet.gold_min = tTable.dwGoldMin;
pakiet.gold_max = tTable.dwGoldMax;

pakiet.mob_vnum = pkTarget->GetRaceNum();

ch->GetDesc()->BufferedPacket(&packet, sizeof(TPacketDropInfo));
ch->GetDesc()->Packet(buf.read_peek(), buf.size());
}
}
}
#endif
[/KOD]



 

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

Geri
Üst