亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exchangemgr.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// ExchangeMgr.cpp: implementation of the CExchangeMgr class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Menu.h"
#include "dragon.h"
#include "gameproc.h"
#include "MenuSet.h"
#include "char.h"
#include "Map.h"
#include "Math.h"
#include "ExchangeMgr.h"
#include "CharDataTable.h"
#include "SmallMenuSet.h"
DefaultItem item_give[MAX_EXCHANGE_ITEM]={0,};
DefaultItem item_recv[MAX_EXCHANGE_ITEM]={0,};

CExchangeMgr ExchangeMgr;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CExchangeMgr::CExchangeMgr()
{
	Clear();
	ClearItemData();
}

CExchangeMgr::~CExchangeMgr()
{
	Clear();
	ClearItemData();
}
void CExchangeMgr::Clear()
{	
	m_iExchageType			 = 0;//芭貳 鷗澇
	m_iExchageTargetId		 = 0;//芭貳吝牢 惑措狼 cn 藹
	m_bOtherSideConformState = 0;//惑措規撈 芭貳 Ok 葷牢闌 焊陳綽啊.(芭貳牢磐其撈膠 摧灑芭唱 凱副錠 公煉扒 0 欄肺 父甸絹 拎扼.
	m_bMySideConformState	 = 0;//030108 lsw
	m_bIsIAmMerchant		 = false;
	SetExchangeState(EXCHANGE_STATE_READY);
}

void CExchangeMgr::ClearItemData()
{
	::memset( item_recv, 0, sizeof( DefaultItem )*MAX_EXCHANGE_ITEM );
	::memset( item_give, 0, sizeof( DefaultItem )*MAX_EXCHANGE_ITEM );//葛滴 瘤快絆 焊磊
}

bool IsExchangeNow()//背券 何盒
{
	return ( EXCHANGE_STATE_EXCHANGE_NOW == ExchangeMgr.GetExchangeState() )?true:false;
}

void CExchangeMgr::CallExchangeMenu(const bool bIsRecvSide, const int iExchageType)//郴何俊輯 努府絹 登聰鱉 煉繳竅絆
{
	Clear();
	ClearItemData();
	SetExchangeType(iExchageType);

	::CloseAllMenu();//皋春逢 葛滴 摧絆

	fRMoveMenu = MM_ITEM_OPEN;		// 困狼 if鞏闌 父練且 錠父
	nItemOther = MN_EXCHANGE_ITEM;
	y_MenuFocus = 0;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//秦寸 努扼撈攫飄啊 焊郴綽 巴
void SendExchangeItemWithOtherCh( short int you_id ,const int iExchangeType)
{//背券 竅磊絆 茄促(芭貳)
	t_packet p;
	p.h.header.type = CMD_EXCHANGE_ITEM_READY;
	p.u.kein.exchange_item_start.you_id			= you_id;
	p.u.kein.exchange_item_start.iExchangeType	= iExchangeType;//021030 lsw
	p.h.header.size = sizeof( k_exchange_item_start );
	QueuePacket( &p, 1 );
}

void CExchangeMgr::SendExchangeResult()
{	//背券 搬苞甫 焊辰促
	t_packet p;
	switch(GetExchangeType())
	{
	case EXCHANGE_TYPE_NORMAL:
	case EXCHANGE_TYPE_MERCHANT_DIRECT:
		{
			p.h.header.type = CMD_EXCHANGE_ITEM;
			p.u.kein.client_other_ch_inv.other_ch = ExchangeMgr.GetExchangeTargetId();
			p.h.header.size = sizeof( kein_client_other_ch_inv );
			QueuePacket( &p, 1 );
		}break;
	default:
		{
			return;
		}break;
	}	
}

void CExchangeMgr::SendExchangeStateSign(const bool bOkSign)
{
	t_packet p;

	LPCHARACTER	pCh = ::FindCharacter( &g_CharacterList, GetExchangeTargetId() );
	if( pCh //he is near me
	&&	!strcmp(pCh->name,GetExchangeTargetName()) 	)
	{
		if(bOkSign)
		{
			p.h.header.type = CMD_EXCHANGE_OK_SIGN;
		}
		else
		{
			p.h.header.type = CMD_EXCHANGE_CANCEL_SIGN;
		}
		
		p.u.kein.client_other_ch_inv.other_ch = GetExchangeTargetId();
		p.h.header.size = sizeof( kein_client_other_ch_inv );
		::QueuePacket( &p, 1 );
		return;
	}
	else
	{
		::CallServer( CMD_EXCHANGE_CANCEL );
	}
}

void SendExchangeItemEach( ItemAttr &item, POS &pos, short int you_id )
{
	if( pos.type < HAND && pos.type > BOX ){return;}
	t_packet p;
	p.h.header.type = CMD_EXCHANGE_ITEM_EACH;
	p.u.kein.exchange_item_start.item.item_attr = item;
	p.u.kein.exchange_item_start.item.item_pos = pos;
	p.u.kein.exchange_item_start.you_id = you_id;
	p.h.header.size = sizeof( k_exchange_item_start );
	QueuePacket( &p, 1 );
}

void SendExchangeItemDel( POS pos, short int you_id )
{
	t_packet p;

	p.h.header.type = CMD_EXCHANGE_ITEM_DEL;
	p.u.kein.exchange_item_del.pos = pos;
	p.u.kein.exchange_item_del.you_id = you_id;
	p.h.header.size = sizeof( k_exchange_item_del );
	QueuePacket( &p, 1 );
}

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//秦寸 努扼撈攫飄啊 罐綽 巴
void RecvExchangeItemOk( k_exchange_item_start *exchange_item )
{
	const int iTargetId = exchange_item->you_id;
	
	if( ::FindCharacter( &g_CharacterList, iTargetId ) )
	{
		ExchangeMgr.CallExchangeMenu(false,EXCHANGE_TYPE_NORMAL);//郴何俊輯 努府絹 登聰鱉 煉繳竅絆
		
		if(EXCHANGE_TYPE_MERCHANT_DIRECT== exchange_item->iExchangeType)
		{//郴何俊輯 努府絹 登絹輯 瀝焊 葷扼籠聰促. ExchangeMgr.CallExchangeMenu(false,EXCHANGE_TYPE_NORMAL); 竅竄俊 初欄絞矯夸
			ExchangeMgr.m_bIsIAmMerchant = true;
		}

		::SetExchageItemData(0,exchange_item->item.item_attr,exchange_item->item.item_pos);
		ExchangeMgr.SetExchangeTargetId(iTargetId);//021030 lsw
		ExchangeMgr.SetExchangeState(EXCHANGE_STATE_EXCHANGE_NOW);//021030 lsw
		ExchangeMgr.SetExchangeType(exchange_item->iExchangeType);//021030 lsw
	}
}

void RecvExchangeItemReq( k_exchange_item_start *exchange_item )//背券 夸備
{	
	const int iTargetId = exchange_item->you_id;

	if( ::FindCharacter( &g_CharacterList, iTargetId ) )
	{
		ExchangeMgr.CallExchangeMenu(true,EXCHANGE_TYPE_NORMAL);//郴何俊輯 努府絹 登聰鱉 煉繳竅絆

		::RecvExchangeEach(&exchange_item->item);//酒撈袍 罐籃芭 悸潑 竅絆
		ExchangeMgr.SetExchangeTargetId(iTargetId);//021030 lsw
		ExchangeMgr.SetExchangeState(EXCHANGE_STATE_EXCHANGE_NOW);//021030 lsw
		ExchangeMgr.SetExchangeType(exchange_item->iExchangeType);//021030 lsw
	}
}

void RecvExchangeItemResult( int ret )	// 輯滾 傈價俊 蝶弗 俊礬 皋矯瘤 貿府
{
	ExchangeMgr.ClearItemData();//021030 lsw

	switch( ret )
	{
		case 0:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,31)); break;//010215 lsw
		case 1:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,32)); break;//
		case 2:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,33)); break;//
		case 3:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,34)); break;//
		case 4:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,35)); break;//
		case 5:		Kein_PutMessage( KM_FAIL, lan->OutputMessage(5,36)); break;//010215 lsw
	}
	// 肯傈灑 秒家 矯挪促.
	::CloseAllMenu();
}

void RecvExchangeCancel()
{
	ExchangeMgr.Clear();
	ExchangeMgr.ClearItemData();
	SMenu[MN_EXCHANGE_ITEM].nField[3].nSHideNomalCount=0;
	SMenu[MN_EXCHANGE_ITEM].nField[4].nSHideNomalCount=0;
	SMenu[MN_EXCHANGE_ITEM].work = 0;
	MenuSoundClose( MN_EXCHANGE_ITEM );

	CallOkCancelMessageBox( 0, 0, 0,lan->OutputMessage(5,37), 0 );//010215 lsw

	if( EXCHANGE_STATE_EXCHANGE_NOW != ExchangeMgr.GetExchangeState() )
	{//哪汽 惑怕啊 酒囪單 撈繁 皋技瘤啊 甸絹柯促??
		COMMENT ::AddCurrentStatusMessage(FONT_COLOR_RED,"Critical Error");
	}
}

// 020320 YGI
void RemoveExchangeItemStatus()
{
	ExchangeMgr.Clear();
	ExchangeMgr.ClearItemData();
	
	SMenu[MN_EXCHANGE_ITEM].nField[3].nSHideNomalCount=0;
	SMenu[MN_EXCHANGE_ITEM].nField[4].nSHideNomalCount=0;
	SMenu[MN_EXCHANGE_ITEM].work = 0;
}

void RecvExchange()		//背券 己傍
{	// 020320 YGI // 技陛棺 酒撈袍 格廢籃 撈鎊俊輯...
	RemoveExchangeItemStatus();//努府絹甫 矯虐絆
	MenuSoundClose( MN_EXCHANGE_ITEM );
	CallOkCancelMessageBox( 0, 0, 0, lan->OutputMessage(5,38), 0 );//010215 lsw
}

void GetXANDYByExchangeItemIndex(const int iExchangeIndex, int &iX, int &iY)
{
	iX= (iExchangeIndex%5)*32 +(iExchangeIndex%5)*3;
	iY= (iExchangeIndex/5)*32 +(iExchangeIndex/5)*3;//初闌錠 瀝紡闌 困秦輯
}

void RecvExchangeEach( const K_ITEM *lpItem )
{
	for( int iExchangeIndex=0; MAX_EXCHANGE_ITEM > iExchangeIndex; iExchangeIndex++)
	{
		DefaultItem *pTarget = &item_recv[iExchangeIndex];
		if( !pTarget->item.item_attr.item_no )//后 傍埃撈備唱
		{
			pTarget->item = *lpItem;//酒撈袍 持絆

			int iItemX = 0, iItemY = 0;
			::GetXANDYByExchangeItemIndex(iExchangeIndex,iItemX,iItemY);//初闌錠 瀝紡闌 困秦輯
		
			pTarget->x = iItemX;//諒釬 悸潑
			pTarget->y = iItemY;
			SetRect( &pTarget->rect, 
				pTarget->x-15,	pTarget->y-15,
				pTarget->x+15,	pTarget->y+15 );
			break;
		}
	}
}

void RecvExchangeItemDelWhereRecv( K_ITEM &Item )					// 歷率俊輯 酒撈袍闌 嘩擱 撈率俊輯檔 昏力茄促.
{//030108 lsw
	for( int i=0; i<MAX_EXCHANGE_ITEM; i++)
	{
		if( item_recv[i].item.item_attr.item_no )
		{
			if( !memcmp(&item_recv[i].item,&Item,sizeof(K_ITEM)) )
			{
				::memset( &item_recv[i], 0, sizeof(DefaultItem ) ); 
			}
		}
	}
}

//////////////////////////////////////////////////////////////////////////
// 1:1 搬捧 矯膠袍
void SendReqManToMan( char *name )		// 搬捧 腳沒
{//搬捧矯 酒撈袍 官操瘤 臼綽促
	if( MapNumber == 30 )
	{
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,28));//010215 lsw
		return;
	}

	if( SMenu[MN_MAN_TO_MAN].bActive ) 
	{
		MP3( SN_WARNING ); 
		if( SMenu[MN_MAN_TO_MAN].work )
				AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,29));//010215 lsw
		else	AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,30));//010215 lsw
		return;
	}
	if( IsDead( Hero ) )
	{
		MP3( SN_WARNING ); 
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,31));//010215 lsw
		return;
	}
	if( Hero->fight_flag )
	{
		MP3( SN_WARNING ); 
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,32));//010215 lsw
		return;
	}
	if( !strcmp( SCharacterData.sCharacterName, name ) )
	{
		MP3( SN_WARNING ); 
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,33));//010215 lsw
		return;
	}
	LPCHARACTER target = ExistHe( name );
	if( !target ) 
	{
		MP3( SN_WARNING ); 
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,34));//010215 lsw
		return;
	}
	if( IsDead( target ) )
	{
		MP3( SN_WARNING ); 
		AddCurrentStatusMessage( 200, 50, 50, lan->OutputMessage(3,35));//010215 lsw
		return;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕成人av| www成人在线观看| 一区二区三区不卡在线观看| 91丝袜美腿高跟国产极品老师 | 欧美www视频| 美女看a上一区| 久久亚洲精品国产精品紫薇| av欧美精品.com| 亚洲一二三区在线观看| 欧美电影免费观看高清完整版| 国产精一区二区三区| 国产精品国产三级国产有无不卡| 91在线视频免费观看| 午夜欧美大尺度福利影院在线看| 91精品一区二区三区在线观看| 精品制服美女久久| 国产精品三级在线观看| 在线观看一区日韩| 韩国一区二区视频| 亚洲欧美日韩久久| 欧美xxxxxxxx| 色偷偷久久一区二区三区| 水野朝阳av一区二区三区| 26uuu欧美| 色偷偷久久一区二区三区| 美女免费视频一区二区| 国产精品国产a级| 91精品久久久久久久久99蜜臂| 国产成人精品免费网站| 亚洲风情在线资源站| 国产区在线观看成人精品 | 91精品国产综合久久蜜臀 | 黄色小说综合网站| 亚洲国产一区二区在线播放| 精品成人在线观看| 色猫猫国产区一区二在线视频| 看国产成人h片视频| 亚洲欧美日韩小说| 国产视频一区在线播放| 欧美日韩一区二区三区四区五区| 国产成人丝袜美腿| 日本午夜一区二区| 一区二区三区四区蜜桃| 国产视频911| 日韩女优制服丝袜电影| 精品视频123区在线观看| 国产精品91一区二区| 奇米888四色在线精品| 一二三区精品福利视频| 日本一区二区高清| 欧美xxxx老人做受| 日韩三区在线观看| 欧美日本在线看| 色就色 综合激情| 99久久精品国产观看| 成人丝袜18视频在线观看| 国内精品免费**视频| 日韩成人精品视频| 亚洲成人av中文| 亚洲综合一区二区三区| 中文字幕在线观看不卡视频| 国产亚洲短视频| 久久伊人蜜桃av一区二区| 日韩精品一区二区三区中文不卡| 91精品在线免费观看| 欧美老女人第四色| 欧美三级电影网| 欧美a一区二区| 91精品欧美久久久久久动漫 | 亚洲国产婷婷综合在线精品| 国产精品国产三级国产| 国产精品免费久久久久| 国产欧美日韩另类视频免费观看| 26uuuu精品一区二区| 精品三级在线观看| 精品久久一区二区| 欧美精品一区二区在线观看| 日韩一区二区在线观看视频| 日韩三级精品电影久久久| 日韩一区二区在线看片| 欧美成人一区二区三区| 久久夜色精品国产欧美乱极品| 精品国产凹凸成av人网站| 久久午夜色播影院免费高清 | 日韩亚洲欧美在线| 日韩美一区二区三区| 精品国产91亚洲一区二区三区婷婷| 91精品国模一区二区三区| 日韩美女在线视频 | 欧美成人综合网站| 欧美精品一区二区久久婷婷| 精品电影一区二区三区| 国产精品国产三级国产aⅴ中文| 亚洲欧美综合网| 亚洲国产一区二区视频| 免费亚洲电影在线| 国产精品99精品久久免费| a级精品国产片在线观看| 欧洲精品一区二区| 日韩欧美一区二区久久婷婷| 国产精品伦理一区二区| 一区二区视频免费在线观看| 天堂午夜影视日韩欧美一区二区| 秋霞午夜av一区二区三区| 国产精品一区2区| 色婷婷亚洲精品| 欧美成人精品高清在线播放| 中文字幕乱码久久午夜不卡 | 亚洲成av人片| 国产一区二区三区免费播放| 91丨九色丨蝌蚪丨老版| 欧美电影一区二区| 国产精品美女久久久久久久网站| 亚洲一区免费在线观看| 国产又黄又大久久| 91福利视频在线| 2023国产精品自拍| 亚洲午夜国产一区99re久久| 精品亚洲免费视频| 欧美午夜精品久久久久久孕妇| 日韩欧美中文字幕一区| 亚洲丝袜另类动漫二区| 美国十次综合导航| 欧美性大战久久久| 亚洲国产岛国毛片在线| 丝袜国产日韩另类美女| 91在线精品一区二区| 亚洲精品一区二区三区香蕉| 一区二区成人在线视频| 国产伦精品一区二区三区免费迷 | 91色porny| 久久久久亚洲蜜桃| 日韩精品成人一区二区三区| 9色porny自拍视频一区二区| 精品久久五月天| 日韩精品国产精品| 91免费版pro下载短视频| 久久久精品国产免费观看同学| 视频一区二区国产| 色噜噜狠狠色综合中国| 国产精品久久三| 久草热8精品视频在线观看| 91久久精品一区二区| 国产精品视频yy9299一区| 免费成人小视频| 欧美日韩精品一区二区天天拍小说| 中文幕一区二区三区久久蜜桃| 国内成人精品2018免费看| 宅男在线国产精品| 亚洲午夜视频在线观看| 色综合天天性综合| 国产精品久久午夜| 成人动漫av在线| 国产精品久久久久婷婷| 国产成人午夜99999| 久久精品一区四区| 国内精品伊人久久久久av影院| 日韩视频不卡中文| 国产91丝袜在线播放| 国产日韩欧美在线一区| 国产精品一区二区久激情瑜伽| 精品奇米国产一区二区三区| 免费观看30秒视频久久| 欧美成人vps| 国产麻豆精品一区二区| 国产亚洲成年网址在线观看| 国产成人av影院| 日本一区二区三区dvd视频在线| 国产一区亚洲一区| 国产亚洲女人久久久久毛片| 处破女av一区二区| 国产精品传媒视频| 91久久奴性调教| 天天操天天综合网| 日韩欧美国产一区在线观看| 国产综合久久久久影院| 国产亚洲精品精华液| www.亚洲精品| 一区二区三区四区乱视频| 欧美人牲a欧美精品| 精品在线播放午夜| 欧美激情一区在线观看| 色综合中文综合网| 蜜桃久久久久久久| 久久久久久久综合狠狠综合| 成人妖精视频yjsp地址| 夜夜嗨av一区二区三区四季av| 欧美午夜精品久久久| 免费黄网站欧美| 国产精品视频免费看| 欧美午夜精品一区| 国产在线一区观看| 中文字幕一区二区三区不卡 | 在线观看免费亚洲| 欧美aⅴ一区二区三区视频| 国产日韩精品一区二区三区| 一本久道久久综合中文字幕| 日韩成人一区二区三区在线观看| www成人在线观看| 91黄色小视频|