?? auction.cpp
字號:
// Auction.cpp: implementation of the CAuction class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Auction.h"
#include "Menu.h"
#include "dragon.h"
#include "gameproc.h"
#include "MenuSet.h"
#include "Chat.h"
#include "Skill.h"
#include "CurrentMsgMgr.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CAuction Auction;
const SUPERMONEY SM1(BOND_MONEY_1000 ,1000000000);
const SUPERMONEY SM2(BOND_MONEY_500 ,500000000);
const SUPERMONEY SM3(BOND_MONEY_100 ,100000000);
const SUPERMONEY SM4(BOND_MONEY_50 ,50000000);
const SUPERMONEY SM5(BOND_MONEY_10 ,10000000);
const SUPERMONEY SM6(BOND_MONEY_5 ,5000000);
const SUPERMONEY aBondMoney[BOND_MONEY_MAX] = {SM1,SM2,SM3,SM4,SM5,SM6};
CAuction::CAuction()
{
Clear();
}
CAuction::~CAuction()
{
Clear();
}
void CAuction::Clear()
{
ClearFK();
::memset(&m_SearchList,0,sizeof(SEARCHRESULTLIST));
m_iWaitPageRefresh = 0;
m_iBuyerViewPage = 0;
m_iSellerViewPage = 0;
m_iResultViewPage = 0;
m_iDeleteItemIndex= 0;
m_iBuyItemIndex = 0;
m_iTakeItemIndex= 0;
this->m_nPeriod = 0;
strcpy(m_szKeyWord,"");
strcpy(m_szMerchantName,"");
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//備概磊啊 酒撈袍 八禍 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_BUY_LIST_REQUEST(const int iIndex, const int iNeedIndexOver)//府膠飄 夸沒(備概磊啊 焊綽巴//八禍扁啊 齲免
{
//soto-030611 變鞭薦瀝.
// ::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,82));
// return;
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,500));
//菩哦 焊郴扁
t_packet p;
p.h.header.type = CMD_MERCHANT_BUY_ITEM_SEARCH;
p.h.header.size = sizeof(SEARCHPACKETCLIENT);
if(m_bChkKeyWord)
{
strcpy(p.u.SearchPacketClient.szKeyWord,m_szKeyWord);
}
else
{
strcpy(p.u.SearchPacketClient.szKeyWord,"");
}
if(m_bChkMerchantName)
{
strcpy(p.u.SearchPacketClient.szMerchant,m_szMerchantName);
}
else
{
strcpy(p.u.SearchPacketClient.szMerchant,"");
}
p.u.SearchPacketClient.nPeriod = m_nPeriod;
p.u.SearchPacketClient.iIndex = iIndex;
p.u.SearchPacketClient.iKey = iNeedIndexOver;
m_iWaitPageRefresh = 1;
::QueuePacket(&p,1);
::CloseAllMenu();
//>soto-030511 薦瀝 秦具竊.
}
void CAuction::RecvCMD_MERCHANT_BUY_LIST_REQUEST_RESULT(t_packet &p)//府膠飄 搬苞(備概磊啊 焊綽巴
{
Clear();
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,502));
m_SearchList = p.u.SearchResultList;
m_iBuyerViewPage = (p.u.SearchResultList.iKey)?AUCTION_PAGE_MIN:AUCTION_PAGE_MAX;
m_iWaitPageRefresh = 0;
::CallSmallMenu(MN_MERCHANT_BUY);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//備概磊啊 酒撈袍 八禍 竅扁
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//備澇竅扁 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_ITEM_BUY(SEARCHRESULT &SR)//備概竅扁(備概磊啊 急琶
{
if(!strcmp( SR.szSellerName,Hero->name))
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,503));
return;
}
int iChatTarget = CHAT_TARGET_NORMAL;
if(!SR.iSellValue)
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,504));
iChatTarget = ::InsertWisperList(SR.szSellerName);
}
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,505));
t_packet p;
p.h.header.type = CMD_MERCHANT_ITEM_BUY;
p.h.header.size = sizeof(MERCHANT_ITEM_BUY);
p.u.MerchantItemBuy.iIndex = SR.iIndex;//備澇且 酒撈袍狼 牢鄲膠 藹
p.u.MerchantItemBuy.iCn = Hero->id;//目池記 藹
strcpy(p.u.MerchantItemBuy.szSellerName,SR.szSellerName);
strcpy(p.u.MerchantItemBuy.szBuyerName,Hero->name);//備概磊 撈撫
p.u.MerchantItemBuy.dwSellValue = SR.iSellValue;//魄概陛咀籃 20撅闌 逞扁瘤 臼嚼聰促.
p.u.MerchantItemBuy.SellItem = SR.m_ResultItem;
p.u.MerchantItemBuy.iKey = 0;
::QueuePacket(&p,1);
CloseAllMenu();
if(!SR.iSellValue)
{
::SetChatMode(CM_MESSAGE);
::SetChatTarget(iChatTarget);
}
}
void CAuction::RecvCMD_MERCHANT_ITEM_BUY_RESULT(t_packet &p)//備概竅扁(備概磊啊 急琶
{//備概搬苞啊 柯促
//舅酒輯 貿府 ぱぱ;.//iKey 藹欄肺 魄喊 欽聰促.//啊廉啊扁甫 官扼綽 惑怕 //構電 且 薦 樂綽 惑怕
Clear();
const int iResult = p.u.MerchantItemBuy.iKey;
switch(iResult)
{
case IS_END_WAIT_TAKE://備概 肯豐 惑怕
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,506));
}break;
case IS_END_ALL_RIGHT://備概傈 惑怕匙.. 備澇 閡啊瓷 沁唱焊促
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,507));
}break;
default://
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,508),iResult);
}break;
/*
case IS_END_DELETE_COMPLETE:
case IS_END_DELETING:
{
COMMENT ::AddCurrentStatusMessage(FONT_COLOR_WHITE,"備澇俊 角菩 沁嚼聰促. 魄概磊啊 瘤快絆 樂嚼聰促.");
}break;
case IS_END_BUYING:
{
COMMENT ::AddCurrentStatusMessage(FONT_COLOR_WHITE,"穿焙啊啊 備概吝澇聰促.");
}break;
*/
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//備澇竅扁 場
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//郴啊 魄概竅綽 府膠飄 夸沒 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_SELL_LIST_REQUEST(const int iIndex, const int iNeedIndexOver)//府膠飄 夸沒(魄概磊啊 焊綽巴
{
if(!::IsMerchant())
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,509));
return;
}
if(iIndex && !iNeedIndexOver)
{
if(AUCTION_PAGE_MIN == GetSellerViewPage())
{
for(int xx = 0; MAX_VIEW_ABLE_PER_PAGE > xx; xx++)
{
if(!m_SearchList.ResultList[xx].m_ResultItem.item_no)
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,510));
return;
}
}
}
}
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,511));
t_packet p;
p.h.header.type = CMD_MERCHANT_SELL_ITEM_INFO_REQUEST;
p.h.header.size = sizeof(SELLERITEMREQUEST);
p.u.SellerItemRequest.iCn = Hero->id;
strcpy(p.u.SellerItemRequest.szName,Hero->name);
p.u.SellerItemRequest.iIndex = iIndex;
p.u.SellerItemRequest.iKey = iNeedIndexOver;
m_iWaitPageRefresh = 1;
::QueuePacket(&p,1);
}
void CAuction::RecvCMD_MERCHANT_SELL_LIST_REQUEST_RESULT(t_packet &p)//府膠飄 搬苞(魄概磊啊 焊綽巴
{
Clear();
if(!::IsMerchant())
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,509));
return;
}
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,512));
m_SearchList = p.u.SearchResultList;
if(p.u.SearchResultList.iKey)
{
m_iSellerViewPage = AUCTION_PAGE_MIN;
}
else
{
if(m_SearchList.ResultList[0].m_ResultItem.item_no)
{
m_iSellerViewPage = AUCTION_PAGE_MIN;
}
if(m_SearchList.ResultList[6].m_ResultItem.item_no)
{
m_iSellerViewPage = AUCTION_PAGE_MIN+1;
}
if(m_SearchList.ResultList[12].m_ResultItem.item_no)
{
m_iSellerViewPage = AUCTION_PAGE_MIN+2;
}
if(m_SearchList.ResultList[18].m_ResultItem.item_no)
{
m_iSellerViewPage = AUCTION_PAGE_MAX;
}
}
m_iWaitPageRefresh = 0;
::CallSmallMenu(MN_MERCHANT_SELL_INFO);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//郴啊 魄概竅綽 府膠飄 夸沒 場
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳拱 魄概秒家 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_SELL_ITEM_DELETE()//魄概 酒撈袍闌 昏力
{
t_packet p;
p.h.header.type = CMD_MERCHANT_SELL_ITEM_DELETE;
p.h.header.size = sizeof(SELLERITEMDELETE);
SEARCHRESULT *SR = NULL;
for(int i = 0; 24 > i; i++)
{
if(m_iDeleteItemIndex == m_SearchList.ResultList[i].iIndex )
{
SR = &m_SearchList.ResultList[i];
break;
}
}
if( !m_iDeleteItemIndex || 24 == i )
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,513));
return;
}
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,514));
p.u.SellerItemDelete.iIndex = SR->iIndex;//魄概拱前狼 牢鄲膠
p.u.SellerItemDelete.iCn = Hero->id;
strcpy(p.u.SellerItemDelete.szName,SR->szSellerName);
p.u.SellerItemDelete.dwSellValue = SR->iSellValue;
p.u.SellerItemDelete.SellItem = SR->m_ResultItem;
p.u.SellerItemDelete.iKey = 0;
::QueuePacket(&p,1);
}
void CAuction::RecvCMD_MERCHANT_SELL_ITEM_DELETE_RESULT(t_packet &p)//魄概 酒撈袍闌 昏力
{
Clear();
if(IS_END_DELETE_COMPLETE == p.u.SellerItemDelete.iKey)
{//己傍利欄肺 瘤鞭 罐疽嚼聰促.
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,515));
}
else
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,516));
}
SendCMD_MERCHANT_SELL_LIST_REQUEST();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳拱 魄概秒家 場
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳拱 殿廢竅扁 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_SELL_ITEM_REGISTER()//魄概 酒撈袍闌 殿廢
{//魄概酒撈袍闌 殿廢 欽聰促.
t_packet p;
p.h.header.type = CMD_MERCHANT_SELL_ITEM_REGISTER;
p.h.header.size = sizeof(SELLERITEMREGISTER);
p.u.SellerItemRegister.iCn = Hero->id;
strcpy(p.u.SellerItemRegister.szName,Hero->name);
p.u.SellerItemRegister.pos = m_SellItemPos;//pos 藹
p.u.SellerItemRegister.SellItem = m_SellItemAttr;//酒撈袍 角力藹
p.u.SellerItemRegister.dwSellValue = m_iSellValue;
// if(!m_iSellValue)
// {
// COMMENT ::AddCurrentStatusMessage(FONT_COLOR_WHITE,"流立芭貳肺 殿廢 登菌嚼聰促.");
// COMMENT ::AddCurrentStatusMessage(FONT_COLOR_WHITE,"酒流籃 瘤盔竅瘤 臼綽 扁瓷澇聰促.");
// return;
// }
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,517));
//菩哦 藹 汲瀝秦輯 焊塵巴
::QueuePacket(&p,1);
}
void CAuction::RecvCMD_MERCHANT_SELL_ITEM_REGISTER_RESULT(t_packet &p)//魄概 酒撈袍闌 殿廢
{
Clear();
//郴 府膠飄甫 促矯 夸沒 竅綽巴闌 持嚼聰促.
if(1==p.u.SellerItemRegister.iKey)
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,518));
}
else
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,519));
}
SendCMD_MERCHANT_SELL_LIST_REQUEST();//促矯 唱狼 魄概 格廢 府膠飄甫 夸沒欽聰促.
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳拱 殿廢竅扁 場
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳 搬苞拱 府膠飄 罐酒坷扁 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_RESULT_LIST_REQUEST(const int iIndex, const int iNeedIndexOver)
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,520));
t_packet p;
p.h.header.type = CMD_MERCHANT_RESULT_LIST_REQUEST;
p.h.header.size = sizeof(SELLERITEMREQUEST);
p.u.SellerItemRequest.iCn = Hero->id;
strcpy(p.u.SellerItemRequest.szName,Hero->name);
p.u.SellerItemRequest.iIndex = iIndex;
p.u.SellerItemRequest.iKey = iNeedIndexOver;
m_iWaitPageRefresh = 1;
::QueuePacket(&p,1);
}
void CAuction::RecvCMD_MERCHANT_RESULT_LIST_REQUEST_RESULT(t_packet &p)
{
Clear();
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,521));
m_SearchList = p.u.SearchResultList;
m_iResultViewPage = (p.u.SearchResultList.iKey)?AUCTION_PAGE_MIN:AUCTION_PAGE_MAX;
m_iWaitPageRefresh = 0;
::CallSmallMenu(MN_MERCHANT_RESULT_TAKE);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳 搬苞拱 府膠飄 罐酒坷扁 場
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//芭貳 搬苞拱 茫扁 矯累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::SendCMD_MERCHANT_RESULT_TAKE(SEARCHRESULT &SR)
{
t_packet p;
p.h.header.type = CMD_MERCHANT_RESULT_TAKE;
p.h.header.size = sizeof(MERCHANTRESULTTAKE);
if(!SR.iIndex)
{
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,524));
return;
}
::AddCurrentStatusMessage(FONT_COLOR_WHITE,lan->OutputMessage(4,523));
p.u.MerchantResultTake.iIndex = SR.iIndex;
p.u.MerchantResultTake.iCn = Hero->id;
strcpy(p.u.MerchantResultTake.szMyName,Hero->name);
strcpy(p.u.MerchantResultTake.SellerName,SR.szSellerName);
strcpy(p.u.MerchantResultTake.BuyerName,SR.szBuyerName);
p.u.MerchantResultTake.dwSellValue = SR.iSellValue;
p.u.MerchantResultTake.SellItem = SR.m_ResultItem;
p.u.MerchantResultTake.iSellerTake = 0;
p.u.MerchantResultTake.iBuyerTake = 0;
p.u.MerchantResultTake.iKey = 0;
//牢鄲膠 鍋齲何磐秦輯 磊豐 悸潑
::QueuePacket(&p,1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -