📄 user.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 + -