romegames 1
romegames
Bodyguardd 1
Bodyguardd
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
tunaytuqcu 1
tunaytuqcu
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 Cross-Platform OldSchool MOBİL & PC 1-99 Sunucusu Lamira2 6 Kasım'da Açılıyor! Büyük 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