noisiv 1
noisiv
Manwe Work 1
Manwe Work
romegames 1
romegames
mavzermete 1
mavzermete
kaptanmikro1 1
kaptanmikro1
StackTrace 1
StackTrace
Reklam vermek için turkmmo@gmail.com

[C++/Python] Dice System BOSS Official

  • Konuyu başlatan Konuyu başlatan memett4545
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 20
  • Görüntüleme Görüntüleme 4K

Türkiye'nin ilk OldSchool MOBİL 1-99 Sunucusu Sezar2 9 Ekim'de Açılıyor! Rekor Açılışı Kaçırma! HEMEN TIKLA!

Merhaba Arkadaşlar,
Konu Başlığında Belirttiğim Gibi Official Rolling Dice Sistemini Paylaşıyorum.
Sistem Mantıgı Bir grup ile boss kestiğiniz zaman hangi eşyanın size kaç oranla cıktıgını gösteriyor zar atıyor kısacası.
Sistem Kodlarını Test Edebirsiniz

kodlar:
C++:
service.h
//ekleyin
#define __ENABLE_DICE_SYSTEM__
char_battle.cpp

//ara
                    if (ch->GetParty())
                        ch = ch->GetParty()->GetNextOwnership(ch, GetX(), GetY());
//değiştir
                    if (ch->GetParty())
                    {
                        ch = ch->GetParty()->GetNextOwnership(ch, GetX(), GetY());

#ifdef __ENABLE_DICE_SYSTEM__
                        ch = ch->GetParty()->Dice(ch, GetX(), GetY(), item->GetName());
#endif
                    }
party.cpp

//dosyanın sonuna ekleyin
#ifdef __ENABLE_DICE_SYSTEM__
LPCHARACTER CParty::Dice(LPCHARACTER ch, long x, long y, const char * szName) //item name
{
    for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it)
    {
        if (it->second.pCharacter->GetDesc() && DISTANCE_APPROX(it->second.pCharacter->GetX() - x, it->second.pCharacter->GetY() - y) < PARTY_DEFAULT_RANGE)
        {
            ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** Zar büyük nesne için atılıyor: %s ***", szName);

            while (1)
            {
                LPCHARACTER pkWinner;
                int iDice = 0;
                int iDraw = 0;

                for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it)
                    if (it->second.pCharacter->GetDesc() && DISTANCE_APPROX(it->second.pCharacter->GetX() - x, it->second.pCharacter->GetY() - y) < PARTY_DEFAULT_RANGE)
                    {
                        int iScore = number(1, 10000);

                        if (iScore == iDice)
                            iDraw == iScore;
                        else if (iDice == 0 || iScore > iDice)
                        {
                            pkWinner = it->second.pCharacter;
                            iDice = iScore;
                        }

                        ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** ->\t\t\t\t\t%s - Zar sonucu: %d ***", it->second.pCharacter->GetName(), iScore);
                    }

                if (iDice != iDraw)
                {  
                    ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffbb00ff*** Kazanan %s : %s ***", szName, pkWinner->GetName());
                    return pkWinner;
                }
                else
                {
                    ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "");
                    ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** Zar büyük nesne için  tekrar atılıyor: %s ***", szName);
                }
            }
        }
    }

    return ch;
}
#endif
party.h

//ara
        void        P2PSetMemberLevel(DWORD pid, BYTE level);
//veya bunu ara
        bool        IsPartyInDungeon(int mapIndex);
//ekleyin
#ifdef __ENABLE_DICE_SYSTEM__
        LPCHARACTER    Dice(LPCHARACTER ch, long x, long y, const char * szName);
#endif
eksik kod eklendi @anagonda1 hatırlattıgın için teşekkürler
not: alıntıdır.
gorsel eklenecektir.
​
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

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

Geri
Üst