Mt2Hizmet 1
Mt2Hizmet
Fethi Polat 1
Fethi Polat
farkmt2official 1
farkmt2official
BlackFullMoon 1
BlackFullMoon
mavzermete 1
mavzermete
Bvural41 1
Bvural41
Hikaye Ekle
Kaynak ikonu

C++ Chest View Drop #Güncellendi 1.0

indirmek için izniniz yok
  • Konuyu başlatan Konuyu başlatan forum80
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 102
  • Görüntüleme Görüntüleme 31K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

merhaba arkadaşlar bu sistem daha önce paylaşıldı fakat birkaç kod bloğu eksik oldugu için çogu kimse kullanamadı bunun için biraz araştırma yaptım ve eksik kısımları buldum

fakat %100 denemedim bilgisayarımdan kaldırdıgım için wmbox ve visual studioyu denemedim

ama çalışacağından eminim

Sistemde Çalışacak sandığın Txtden Typesini ITEM_TYPE_GIFTBOX yapmayı unutmayın

iyi günlerde kullanın
bf1ec520277aefa6e8ec6d4e13af7ea6.jpg



bu standart heryerde olan resmi

buda bir arkadaştan aldıgım kanıt resmi

e961778df03b59e58f0a7c8eb510c70d.png




indir





Yeni güncelleme yayınlanmış burada paylaşılmamış sanırsam.

C++:
]#ifdef ENABLE_SHOW_CHEST_DROP

#include "../../libgame/include/grid.h"



template<typename T, typename... Args>

std::unique_ptr<T> make_unique(Args&&... args) {

    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));

}



void ITEM_MANAGER::GetChestItemList(DWORD dwChestVnum, std::vector<TChestDropInfoTable>& vec_item)

{

    const auto pGroup = GetSpecialItemGroup(dwChestVnum);

    if (!pGroup)

        return;

    std::vector<std::unique_ptr<CGrid>> pGrids;

    pGrids.emplace_back(make_unique<CGrid>(15, 5));



    for (int i = 0; i < pGroup->GetGroupSize(); i++) {

        const auto itemTable = GetTable(pGroup->GetVnum(i));

        //pass if exp, yang or duplicate item

        if (!itemTable || !itemTable->dwVnum || itemTable->dwVnum < 3 || std::find_if(vec_item.begin(), vec_item.end(), [&pGroup, &i](const TChestDropInfoTable& data) -> bool { return static_cast<DWORD>(pGroup->GetVnum(i)) == data.dwItemVnum; }) != vec_item.end())

            continue;

        bool PushNewGrid = true;

        for (size_t iPage = 0; iPage < pGrids.size(); iPage++) {

            const auto iPos = pGrids.at(iPage)->FindBlank(1, static_cast<int>(itemTable->bSize));

            if (iPos >= 0) {

                pGrids.at(iPage)->Put(iPos, 1, static_cast<int>(itemTable->bSize));

                vec_item.push_back({ static_cast<BYTE>(iPage + 1), static_cast<BYTE>(iPos), static_cast<DWORD>(pGroup->GetVnum(i)), static_cast<BYTE>(pGroup->GetCount(i)) });

                PushNewGrid = false;

                break;

            }

        }

        if (PushNewGrid) {

            pGrids.emplace_back(make_unique<CGrid>(15, 5));

            i--;//again

        }

    }

}

#endif
 
Moderatör tarafında düzenlendi:

En Çok Reaksiyon Alan Mesajlar

bazı arkadaşlar GetGroupSize hatası alabilir game sourcede

item manager.h aç
arat class CSpecialItemGroup

kod blogunda arat : DWORD m_dwVnum;

üstüne ekle

int GetGroupSize() const
{
return m_vecProbs.size();
}

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

Geri
Üst