⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.cpp

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 CPP
字号:
#include "stdafx.h"
#include "LobbyServer.h"
#include "msgHandler.h"
#include "user.h"


CUser::CUser()
{
}

CUser::~CUser()
{
}

void CUser::Init(int nSockIndex)
{
	m_nIndex = nSockIndex;

	int i=MAX_INVEN_SLOT;
	while(i--)	m_cInven[i].index = (char)i;
	i=MAX_MECHANIC_SLOT;
	while(i--)	m_cMechanic[i].index = (char)i;
}

BOOL CUser::Insert(DWORD dwAddr)
{
	if(m_nState != STATE_DISCONNECT)
	{
		IN_ADDR in_addr;
		in_addr.s_addr = dwAddr;

		if(m_nState == STATE_CLOSE)
		{
			_printf("**********************************exception************************************\n");
			_log("PC%d StateError[!STATE_DISCONNECT] CUser::Insert() > 辑滚啊悼 霖厚吝俊 努扼捞攫飘 立加[%s:%s]", m_nIndex, inet_ntoa(in_addr), GetStateLog());
			return FALSE;
		}

		_printf("**********************************exception************************************\n");
		_log("PC%d StateError[!STATE_DISCONNECT] CUser::Insert() > 捞固 劝己拳等 家南俊 努扼捞攫飘 立加[%s:%s]", m_nIndex, inet_ntoa(in_addr), GetStateLog());
		return FALSE;
	}

	m_nState = STATE_CONNECT;
	m_dwRemoteIP = dwAddr;
	m_nAccount = 0;

	m_nInvenCnt = 0;

	int i=MAX_INVEN_SLOT;
	while(i--)	m_cInven[i].id = 0;
	i=MAX_MECHANIC_SLOT;
	while(i--)	m_cMechanic[i].account = 0;

	strcpy(m_szID, "Guest");

	return TRUE;
}

void CUser::Delete()
{
	if(m_nState != STATE_CLOSE)
		m_nState = STATE_DISCONNECT;

	m_nAccount = 0;

	m_iLobby = -1;
	m_iLobbySlot = -1;
	m_iRoom = -1;
	m_iRoomSlot = -1;

#ifdef _DBG_ENGINE
	_printf("努扼捞攫飘 辆丰[%s]\n", m_szID);
#endif
}

void CUser::SetInfo(char *pInfoPack)
{
	MSGINFO *msg = (MSGINFO *)pInfoPack;

	m_dwPrivateIP = msg->mslsUserInfo.private_ip;
	m_bSymmetric = msg->mslsUserInfo.symmetric;
	m_nAccount = msg->mslsUserInfo.account;
	strcpy(m_szID, msg->mslsUserInfo.user_id);
	strcpy(m_szNick, msg->mslsUserInfo.user_nick);
	strcpy(m_szClan, msg->mslsUserInfo.clan_name);
	m_nGender = msg->mslsUserInfo.gender;
	m_nPilot = msg->mslsUserInfo.pilot;
	m_nCash = msg->mslsUserInfo.cash;
	m_nPoint = msg->mslsUserInfo.point;
	m_dwBestPoint = msg->mslsUserInfo.best_point;
	m_dwBestStraight = msg->mslsUserInfo.best_straight;
	m_dwWinStraight = msg->mslsUserInfo.win_straight;
	m_dwWin = msg->mslsUserInfo.win;
	m_dwLose = msg->mslsUserInfo.lose;
	m_dwKill = msg->mslsUserInfo.kill;
	m_dwDeath = msg->mslsUserInfo.death;
	m_dwRank = msg->mslsUserInfo.rank;
	m_dwQuit = msg->mslsUserInfo.quit;
	m_dwBlack = msg->mslsUserInfo.black;
	m_nLevel = msg->mslsUserInfo.level;
	m_nExp = msg->mslsUserInfo.exp;
	m_nInvenCnt = msg->mslsUserInfo.inven_cnt;
	m_nMechanicCnt = msg->mslsUserInfo.mechanic_cnt;

	m_nState = STATE_JOINCHANNEL;

#ifdef _DBG_GAMELOGIC
	_printf("CUser::SetInfo(%s)\n", m_szID);
#endif
}

void CUser::SetInven(char *pInfoPack)
{
	MSGINFO *msg = (MSGINFO *)pInfoPack;

	m_cInven[msg->mslsItemInfo.item_invenindex].id = msg->mslsItemInfo.item_id;
	m_cInven[msg->mslsItemInfo.item_invenindex].use = msg->mslsItemInfo.use_type;
	m_cInven[msg->mslsItemInfo.item_invenindex].value = msg->mslsItemInfo.item_value;
}

void CUser::SetGarage(char *pInfoPack)
{
	MSGINFO *msg = (MSGINFO *)pInfoPack;

	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].id = msg->mslsMechanicInfo.mechanic_id;
	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].fight = msg->mslsMechanicInfo.mechanic_fight;
	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].dur = msg->mslsMechanicInfo.mechanic_dur;
	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].skin = msg->mslsMechanicInfo.mechanic_skin;
	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].color = msg->mslsMechanicInfo.mechanic_color;
	m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].account = msg->mslsMechanicInfo.account;
	memcpy(m_cMechanic[msg->mslsMechanicInfo.mechanic_garageindex].weapon_slot, msg->mslsMechanicInfo.weapon_slot, WEAPON_MAX);
}

void CUser::ResetItemCnt()
{
	m_nInvenCnt=0;
	m_nMechanicCnt=0;

	int i=MAX_INVEN_SLOT;
	while(i--)
	if(m_cInven[i].id != 0)
		++m_nInvenCnt;

	i=MAX_MECHANIC_SLOT;
	while(i--)
	if(m_cMechanic[i].id != 0)
		++m_nMechanicCnt;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -