- Moderatör
- #1
- 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

İ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);
#endifKod:
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));
}
