Facebook
From Colossal Capybara, 3 Years ago, written in C++.
This paste is a reply to Re: Untitled from Perl Bee - go back
Embed
Viewing differences between Re: Untitled and Re: Re: Untitled
//arat;

inline int CParty::ComputePartyBonusDefenseGrade()

//fonksiyonun altına 
//include'lerin olduğu bölüme ekle;

#ifdef ENABLE_DICE_SYSTEM
#include "item.h"

struct FPartyDropDiceRoll
{
    const LPITEM m_itemDrop;
    LPCHARACTER m_itemOwner;
    int m_lastNumber;

    FPartyDropDiceRoll(const LPITEM itemDrop, LPCHARACTER itemOwner) : m_itemDrop(itemDrop), m_itemOwner(itemOwner), m_lastNumber(0)
"party.h"
#endif

//arat;

    ALUA(game_drop_item_with_ownership)

//fonksiyondan sonra ekle;

#ifdef ENABLE_DICE_SYSTEM
    ALUA(game_drop_item_with_ownership_and_dice)
    {
    };\n\n    void Process(const LPCHARACTER mobVictim)\n    {\n        if ((!mobVictim || (mobVictim->GetMobRank() >= MOB_RANK_BOSS && mobVictim->GetMobRank() <= MOB_RANK_KING)) && m_itemOwner->GetParty() && m_itemOwner->GetParty()->GetNearMemberCount() > 1)\n        LPITEM item = NULL;
        switch (lua_gettop(L))
        {
            LPPARTY pParty         case 1:
            item 
m_itemOwner->GetParty();
            pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** Rolling for the following item: %16s ***"), m_itemDrop->GetName());

            pParty->ForEachNearMember(*this);
            
ITEM_MANAGER::instance().CreateItem((DWORD)lua_tonumber(L, 1));
            break;
        case 2:
        case 3:
            item = ITEM_MANAGER::instance().CreateItem((DWORD)lua_tonumber(L, 1), (int)lua_tonumber(L, 2));
            break;
        default:
            return 0;
        }

        
if (m_itemOwner)
(item == NULL)
        {
            return 0;
        }

        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        if (ch->GetParty())
        {
            FPartyDropDiceRoll f(item, ch);
            f.Process(NULL);
        }

        if (lua_isnumber(L, 3))
        {
            int sec = (int)lua_tonumber(L, 3);
            if (sec <= 0)
            {
                m_itemDrop->SetOwnership(m_itemOwner);
                pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** Rolling of %s: %16s ***"), m_itemDrop->GetName(), m_itemOwner->GetName());
item->SetOwnership(ch);
            }
            else
            {
                item->SetOwnership(ch, sec);
            }
        }
        else
            m_itemDrop->SetOwnership(m_itemOwner);
item->SetOwnership(ch);

        PIXEL_POSITION pos;
        pos.x = ch->GetX() + number(-200, 200);
        pos.y = ch->GetY() + number(-200, 200);

        item->AddToGround(ch->GetMapIndex(), pos);
        item->StartDestroyEvent();

        return 0;
    }
    LPCHARACTER GetItemOwner()\n    {\n        return m_itemOwner;\n    }\n    const LPITEM GetItemDrop()\n    {\n        return m_itemDrop;\n    }\n    void operator () (LPCHARACTER ch)\n    {\n        if (!ch)\n            return;\n\n        LPPARTY pParty = ch->GetParty();\n        if (!pParty)\n            return;\n\n        while (true)\n        {\n            int pickedNumber = number(10000, 99999);\n            if (pickedNumber > m_lastNumber)\n            {\n                m_lastNumber = pickedNumber;\n                m_itemOwner = ch;\n            }\n            else if (pickedNumber == m_lastNumber)\n            {\n                continue;\n            }\n            else // if (pickedNumber < m_lastNumber)\n            {\n            }\n            pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** -> %16s - Dice score: %05d ***"), ch->GetName(), pickedNumber);\n            break;\n        }\n    }\n};\n#endif

//tekrar arat;

            { "drop_item_with_ownership",    game_drop_item_with_ownership    },

//altına ekle;

#ifdef ENABLE_DICE_SYSTEM
            { "drop_item_with_ownership_and_dice",    game_drop_item_with_ownership_and_dice    },
#endif

Replies to Re: Re: Untitled rss

Title Name Language When
Re: Re: Re: Untitled Edgy Iguana cpp 3 Years ago.