本文整理汇总了C++中NET_Packet::r_s32方法的典型用法代码示例。如果您正苦于以下问题:C++ NET_Packet::r_s32方法的具体用法?C++ NET_Packet::r_s32怎么用?C++ NET_Packet::r_s32使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NET_Packet
的用法示例。
在下文中一共展示了NET_Packet::r_s32方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void game_PlayerState::net_Import(NET_Packet& P)
{
BOOL bFullUpdate = !!P.r_u8();
if (bFullUpdate)
P.r_stringZ (name);
P.r_u8 ( team );
P.r_s16 ( m_iRivalKills );
P.r_s16 ( m_iSelfKills );
P.r_s16 ( m_iTeamKills );
P.r_s16 ( m_iDeaths );
P.r_s32 ( money_for_round );
P.r_float_q8 ( experience_D, -1.0f, 2.0f);
P.r_u8 ( rank );
P.r_u8 ( af_count );
P.r_u16 ( flags__ );
P.r_u16 ( ping );
P.r_u16 ( GameID );
P.r_s8 ( skin );
P.r_u8 ( m_bCurrentVoteAgreed );
DeathTime = P.r_u32();
};
示例2:
void game_cl_Deathmatch::net_import_state (NET_Packet& P)
{
inherited::net_import_state (P);
m_s32FragLimit = P.r_s32();
m_s32TimeLimit = P.r_s32() * 60000;
m_u32ForceRespawn = P.r_u32() * 1000;
m_cl_dwWarmUp_Time = P.r_u32();
m_bDamageBlockIndicators = !!P.r_u8();
// Teams
u16 t_count;
P.r_u16 (t_count);
teams.clear ();
for (u16 t_it=0; t_it<t_count; ++t_it)
{
game_TeamState ts;
P.r (&ts,sizeof(game_TeamState));
teams.push_back (ts);
};
switch (Phase())
{
case GAME_PHASE_PLAYER_SCORES:
{
P.r_stringZ(WinnerName);
bool NeedSndMessage = (xr_strlen(WinnerName) != 0);
if (NeedSndMessage && local_player && !xr_strcmp(WinnerName, local_player->getName()))
{
PlaySndMessage(ID_YOU_WON);
}
}break;
}
}
示例3: PerformSecretKeysSyncAck
void xrServer::PerformSecretKeysSyncAck(xrClientData* xrCL, NET_Packet & P)
{
VERIFY(xrCL);
s32 new_seed;
P.r_s32(new_seed);//only for DEBUG
VERIFY2(new_seed == xrCL->m_last_key_sync_request_seed, "cracker detected !");
secure_messaging::generate_key(xrCL->m_last_key_sync_request_seed, xrCL->m_secret_key);
}
示例4: Level
void game_cl_ArtefactHunt::net_import_state (NET_Packet& P)
{
inherited::net_import_state (P);
P.r_u8 (artefactsNum);
P.r_u16 (artefactBearerID);
P.r_u8 (teamInPossession);
P.r_u16 (artefactID);
bBearerCantSprint = !!P.r_u8();
iReinforcementTime = P.r_s32();
if (iReinforcementTime > 0)
{
P.r_s32 (dReinforcementTime);
dReinforcementTime += Level().timeServer();
}
else
dReinforcementTime = 0;
}
示例5: net_Import
void CEatableItem::net_Import(NET_Packet& P)
{
inherited::net_Import(P);
m_iPortionsNum = P.r_s32();
}
示例6: UPDATE_Read
void CSE_ALifeItemEatable::UPDATE_Read(NET_Packet &tNetPacket)
{
inherited::UPDATE_Read(tNetPacket);
if (m_wVersion > 118 || tNetPacket.r_elapsed() >= 4)
m_portions_num = tNetPacket.r_s32();
}
示例7: Level
void CActor::OnEvent (NET_Packet& P, u16 type)
{
inherited::OnEvent (P,type);
CInventoryOwner::OnEvent (P,type);
u16 id;
switch (type)
{
case GE_TRADE_BUY:
case GE_OWNERSHIP_TAKE:
{
P.r_u16 (id);
CObject* O = Level().Objects.net_Find (id);
if (!O)
{
Msg("! Error: No object to take/buy [%d]", id);
break;
}
CGameObject* _GO = smart_cast<CGameObject*>(O);
CFoodItem* pFood = smart_cast<CFoodItem*>(O);
if(pFood)
#if defined(INV_NEW_SLOTS_SYSTEM)
if (pFood->m_eItemPlace != eItemPlaceSlot)
#endif
pFood->m_eItemPlace = eItemPlaceRuck;
if( inventory().CanTakeItem(smart_cast<CInventoryItem*>(_GO)) )
{
O->H_SetParent(smart_cast<CObject*>(this));
inventory().Take(_GO, false, true);
CUIGameSP* pGameSP = NULL;
CUI* ui = HUD().GetUI();
if( ui&&ui->UIGame() )
{
pGameSP = smart_cast<CUIGameSP*>(HUD().GetUI()->UIGame());
if (Level().CurrentViewEntity() == this)
HUD().GetUI()->UIGame()->ReInitShownUI();
};
//добавить отсоединенный аддон в инвентарь
if(pGameSP)
{
if(pGameSP->MainInputReceiver() == pGameSP->InventoryMenu)
{
pGameSP->InventoryMenu->AddItemToBag(smart_cast<CInventoryItem*>(O));
}
}
SelectBestWeapon(O);
}
else
{
NET_Packet P;
u_EventGen(P,GE_OWNERSHIP_REJECT,ID());
P.w_u16(u16(O->ID()));
u_EventSend(P);
}
}
break;
case GE_TRADE_SELL:
case GE_OWNERSHIP_REJECT:
{
P.r_u16 (id);
CObject* O = Level().Objects.net_Find (id);
if (!O)
{
Msg("! Error: No object to reject/sell [%d]", id);
break;
}
bool just_before_destroy = !P.r_eof() && P.r_u8();
O->SetTmpPreDestroy (just_before_destroy);
if (inventory().DropItem(smart_cast<CGameObject*>(O)) && !O->getDestroy())
{
O->H_SetParent(0,just_before_destroy);
//. feel_touch_deny(O,2000);
Level().m_feel_deny.feel_touch_deny(O, 1000);
}
SelectBestWeapon(O);
if (Level().CurrentViewEntity() == this && HUD().GetUI() && HUD().GetUI()->UIGame())
HUD().GetUI()->UIGame()->ReInitShownUI();
}
break;
case GE_INV_ACTION:
{
s32 cmd;
P.r_s32 (cmd);
u32 flags;
P.r_u32 (flags);
s32 ZoomRndSeed = P.r_s32();
s32 ShotRndSeed = P.r_s32();
if (flags & CMD_START)
{
//.........这里部分代码省略.........
示例8: OnEvent
//.........这里部分代码省略.........
if (!Obj->getDestroy() && inventory().DropItem(GO, just_before_destroy, dont_create_shell))
{
//O->H_SetParent(0,just_before_destroy);//moved to DropItem
//feel_touch_deny(O,2000);
Level().m_feel_deny.feel_touch_deny(Obj, 1000);
// [12.11.07] Alexander Maniluk: extended GE_OWNERSHIP_REJECT packet for drop item to selected position
Fvector dropPosition;
if (!P.r_eof())
{
P.r_vec3(dropPosition);
GO->MoveTo(dropPosition);
//Other variant :)
/*NET_Packet MovePacket;
MovePacket.w_begin(M_MOVE_ARTEFACTS);
MovePacket.w_u8(1);
MovePacket.w_u16(id);
MovePacket.w_vec3(dropPosition);
u_EventSend(MovePacket);*/
}
}
if (!just_before_destroy)
SelectBestWeapon(Obj);
}
break;
case GE_INV_ACTION:
{
u16 cmd;
P.r_u16 (cmd);
u32 flags;
P.r_u32 (flags);
s32 ZoomRndSeed = P.r_s32();
s32 ShotRndSeed = P.r_s32();
if (!IsGameTypeSingle() && !g_Alive())
{
// Msg("! WARNING: dead player tries to rize inventory action");
break;
}
if (flags & CMD_START)
{
if (cmd == kWPN_ZOOM)
SetZoomRndSeed(ZoomRndSeed);
if (cmd == kWPN_FIRE)
SetShotRndSeed(ShotRndSeed);
IR_OnKeyboardPress(cmd);
}
else
IR_OnKeyboardRelease(cmd);
}
break;
case GEG_PLAYER_ITEM2SLOT:
case GEG_PLAYER_ITEM2BELT:
case GEG_PLAYER_ITEM2RUCK:
case GEG_PLAYER_ITEM_EAT:
case GEG_PLAYER_ACTIVATEARTEFACT:
{
P.r_u16 (id);
CObject* Obj = Level().Objects.net_Find (id);
// R_ASSERT2( Obj, make_string("GEG_PLAYER_ITEM_EAT(use): Object not found. object_id = [%d]", id).c_str() );
VERIFY2 ( Obj, make_string("GEG_PLAYER_ITEM_EAT(use): Object not found. object_id = [%d]", id).c_str() );
if ( !Obj ) {
// Msg ( "! GEG_PLAYER_ITEM_EAT(use): Object not found. object_id = [%d]", id );