MG Yaşı
1 Yıl 3 Ay 9 Gün
Katılım
24 Ara 2024
Konular
0
Mesajlar
179
Tepkime puanı
21
Puan
43
1000087540.png

İnput.h
Kod:
    public:
        CPacketInfoGG     m_packetInfoGG;
};

Üstüne Ekle:
Kod:
        void        SendOfflineShopMessage(LPDESC d, const char * c_pData);

İnput_p2p.cpp
Ekle:
Kod:
void CInputP2P::SendOfflineShopMessage(LPDESC d, const char * c_pData)

{

    TPacketGGOfflineShopMessage * p = (TPacketGGOfflineShopMessage *)c_pData;

    LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(p->dwTargetPID);



    if (ch)

    {

        LPDESC pkVictimDesc = ch->GetDesc();



        if (pkVictimDesc)

        {

            char msg[CHAT_MAX_LEN + 1];

            snprintf(msg, sizeof(msg), LC_TEXT("Your item %s sold, buyer is: %s."), p->szItemName, p->szName);



            TPacketGCWhisper pack;



            int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1);



            pack.bHeader = HEADER_GC_WHISPER;

            pack.wSize = sizeof(TPacketGCWhisper)+len;

            pack.bType = WHISPER_TYPE_SYSTEM;

            strlcpy(pack.szNameFrom, "[Market Tezgahı]", sizeof(pack.szNameFrom));



            TEMP_BUFFER buf;



            buf.write(&pack, sizeof(TPacketGCWhisper));

            buf.write(msg, len);



            pkVictimDesc->Packet(buf.read_peek(), buf.size());

        }

    }

}

Arat:
Kod:
    }

    return (iExtraLen);
}

Altına Ekle:
Kod:
        case HEADER_GG_OFFLINE_SHOP_SEND_MESSAGE:
            SendOfflineShopMessage(d, c_pData);
            break;

Packet.h
Arat:
Kod:
HEADER_GG_LOGIN                                    = 1,
    HEADER_GG_LOGOUT                                = 2,
    HEADER_GG_RELAY                                    = 3,
    HEADER_GG_NOTICE                                = 4,
    HEADER_GG_SHUTDOWN                                = 5,

Sıralama En Altına Ekle:
Kod:
    HEADER_GG_OFFLINE_SHOP_SEND_MESSAGE                = 53,

Uygun Alana Ekle:
Kod:
typedef struct SPacketGGOfflineShopMessage
{
    BYTE    bHeader;
    DWORD    dwTargetPID;
    char    szName[CHARACTER_NAME_MAX_LEN + 1];
    char    szItemName[ITEM_NAME_MAX_LEN + 1];
} TPacketGGOfflineShopMessage;

Packet_info.cpp
Arat:
Kod:
CPacketInfoGG::CPacketInfoGG()

Altına Ekle:
Kod:
    Set(HEADER_GG_OFFLINE_SHOP_SEND_MESSAGE, sizeof(TPacketGGOfflineShopMessage), "OfflineShopUpdateMessage", false);

Shop.cpp
Arat:
Kod:
#ifdef FULL_YANG
            snprintf(buf, sizeof(buf), "%s %u(%s) %lld %u", pkNewItem->GetName(), mpid, m_pkPC->GetName(), dwPrice, pkNewItem->GetCount());
            LogManager::instance().ItemLog(ch, pkNewItem, szBuy.c_str(), buf);
            snprintf(buf, sizeof(buf), "%s %u(%s) %lld %u", pkNewItem->GetName(), ch->GetPlayerID(), ch->GetName(), dwPrice, pkNewItem->GetCount());
            LogManager::instance().ItemLog(m_pkPC, pkNewItem, szSell.c_str(), buf);
#else
            snprintf(buf, sizeof(buf), "%s %u(%s) %u %u", pkNewItem->GetName(), mpid, m_pkPC->GetName(), dwPrice, pkNewItem->GetCount());
            LogManager::instance().ItemLog(ch, pkNewItem, szBuy.c_str(), buf);
            snprintf(buf, sizeof(buf), "%s %u(%s) %u %u", pkNewItem->GetName(), ch->GetPlayerID(), ch->GetName(), dwPrice, pkNewItem->GetCount());
            LogManager::instance().ItemLog(m_pkPC, pkNewItem, szSell.c_str(), buf);
#endif

Kod:
            LPCHARACTER BuyPMCh = CHARACTER_MANAGER::instance().FindByPID(m_pkPC->GetPrivShopOwner());
            if (BuyPMCh)
            {
                char msg[CHAT_MAX_LEN + 1];
                snprintf(msg, sizeof(msg), LC_TEXT("Your item %s x%u sold, buyer is: %s."), pkNewItem->GetName(), pkNewItem->GetCount(), ch->GetName());
                LPDESC pkVictimDesc = BuyPMCh->GetDesc();
                if (pkVictimDesc)
                {
                    TPacketGCWhisper pack;
                    int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1);
                    pack.bHeader = HEADER_GC_WHISPER;
                    pack.wSize = sizeof(TPacketGCWhisper)+len;
                    pack.bType = WHISPER_TYPE_SYSTEM;
                    strlcpy(pack.szNameFrom, "[Market Tezgahı]", sizeof(pack.szNameFrom));
                    TEMP_BUFFER buf;
                    buf.write(&pack, sizeof(TPacketGCWhisper));
                    buf.write(msg, len);
                    pkVictimDesc->Packet(buf.read_peek(), buf.size());
                }
            }
            else
            {
                TPacketGGOfflineShopMessage p;
                p.bHeader = HEADER_GG_OFFLINE_SHOP_SEND_MESSAGE;
                p.dwTargetPID = m_pkPC->GetPlayerID();
                strlcpy(p.szItemName, pkNewItem->GetName(), sizeof(p.szItemName));
                strlcpy(p.szName, ch->GetName(), sizeof(p.szName));
                P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGOfflineShopMessage));
            }
 
Geri
Üst