本文整理汇总了C++中CServerDE::WriteToMessageByte方法的典型用法代码示例。如果您正苦于以下问题:C++ CServerDE::WriteToMessageByte方法的具体用法?C++ CServerDE::WriteToMessageByte怎么用?C++ CServerDE::WriteToMessageByte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CServerDE
的用法示例。
在下文中一共展示了CServerDE::WriteToMessageByte方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SendEffectMessage
void ClientLightFX::SendEffectMessage()
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_LIGHT_ID);
pServerDE->WriteToMessageVector(hMessage, &m_vColor);
pServerDE->WriteToMessageDWord(hMessage, m_dwLightFlags);
pServerDE->WriteToMessageFloat(hMessage, m_fIntensityMin);
pServerDE->WriteToMessageFloat(hMessage, m_fIntensityMax);
pServerDE->WriteToMessageByte(hMessage, m_nIntensityWaveform);
pServerDE->WriteToMessageFloat(hMessage, m_fIntensityFreq);
pServerDE->WriteToMessageFloat(hMessage, m_fIntensityPhase);
pServerDE->WriteToMessageFloat(hMessage, m_fRadiusMin);
pServerDE->WriteToMessageFloat(hMessage, m_fRadiusMax);
pServerDE->WriteToMessageByte(hMessage, m_nRadiusWaveform);
pServerDE->WriteToMessageFloat(hMessage, m_fRadiusFreq);
pServerDE->WriteToMessageFloat(hMessage, m_fRadiusPhase);
pServerDE->WriteToMessageHString(hMessage, m_hstrRampUpSound);
pServerDE->WriteToMessageHString(hMessage, m_hstrRampDownSound);
pServerDE->EndMessage(hMessage);
}
示例2: SendEffectMessage
void Rain::SendEffectMessage()
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_RAIN_ID);
/*
if(m_fTimeLimit) //SCHLEGZ 5/3/98 11:36:00 PM: remove object if the server object disappears (HACK!!)
pServerDE->WriteToMessageByte(hMessage, DFALSE);
else
//pServerDE->WriteToMessageByte(hMessage, DTRUE);
*/
pServerDE->WriteToMessageFloat(hMessage, (DFLOAT)m_dwFlags);
pServerDE->WriteToMessageFloat(hMessage, m_fDensity);
pServerDE->WriteToMessageFloat(hMessage, m_fLifetime);
pServerDE->WriteToMessageByte(hMessage, (DBYTE)m_bGravity);
pServerDE->WriteToMessageFloat(hMessage, m_fParticleScale);
pServerDE->WriteToMessageFloat(hMessage, m_fSpread);
pServerDE->WriteToMessageVector(hMessage, &m_vDims);
pServerDE->WriteToMessageVector(hMessage, &m_vDirection);
pServerDE->WriteToMessageVector(hMessage, &m_vColor1);
pServerDE->WriteToMessageVector(hMessage, &m_vColor2);
pServerDE->WriteToMessageFloat(hMessage, m_fTimeLimit);
pServerDE->WriteToMessageFloat(hMessage, m_fPulse);
pServerDE->EndMessage(hMessage);
}
示例3: SetupSprite
void CClientExplosionSFX::SetupSprite(DVector *vScale1, DVector *vScale2, DFLOAT fDuration,
DFLOAT fInitAlpha, DBYTE bWaveForm, DBYTE bFade, DBOOL bAlign, char *szSprite)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
HSTRING hszSprite;
if(szSprite) hszSprite = pServerDE->CreateString(szSprite);
else hszSprite = pServerDE->CreateString("Sprites\\Explode128.spr");
// Tell the clients about the Explosion...
HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage(&m_vPos);
pServerDE->WriteToMessageByte(hMessage, SFX_EXPLOSIONSPRITE_ID);
// pServerDE->WriteToMessageByte(hMessage, DFALSE);
pServerDE->WriteToMessageVector(hMessage, &m_vPos);
pServerDE->WriteToMessageVector(hMessage, &m_vNormal);
pServerDE->WriteToMessageVector(hMessage, vScale1);
pServerDE->WriteToMessageVector(hMessage, vScale2);
pServerDE->WriteToMessageFloat(hMessage, fDuration);
pServerDE->WriteToMessageFloat(hMessage, fInitAlpha);
pServerDE->WriteToMessageByte(hMessage, bWaveForm);
pServerDE->WriteToMessageByte(hMessage, bFade);
pServerDE->WriteToMessageByte(hMessage, bAlign);
pServerDE->WriteToMessageHString(hMessage, hszSprite);
pServerDE->EndMessage(hMessage);
pServerDE->FreeString( hszSprite );
}
示例4: SetupFX
void CClientParticleStreamSFX::SetupFX()
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESTREAM_ID);
pServerDE->WriteToMessageFloat(hMessage, fRadius);
pServerDE->WriteToMessageFloat(hMessage, fPosRadius);
pServerDE->WriteToMessageFloat(hMessage, fMinVel);
pServerDE->WriteToMessageFloat(hMessage, fMaxVel);
pServerDE->WriteToMessageDWord(hMessage, nNumParticles);
pServerDE->WriteToMessageFloat(hMessage, fSpread);
pServerDE->WriteToMessageVector(hMessage, &vColor1);
pServerDE->WriteToMessageVector(hMessage, &vColor2);
pServerDE->WriteToMessageFloat(hMessage, fAlpha);
pServerDE->WriteToMessageFloat(hMessage, fMinLife);
pServerDE->WriteToMessageFloat(hMessage, fMaxLife);
pServerDE->WriteToMessageFloat(hMessage, fRampTime);
pServerDE->WriteToMessageFloat(hMessage, fDelay);
pServerDE->WriteToMessageFloat(hMessage, fGravity);
pServerDE->WriteToMessageByte(hMessage, bRampFlags);
pServerDE->WriteToMessageByte(hMessage, bOn);
pServerDE->WriteToMessageHString(hMessage, hstrTexture);
pServerDE->WriteToMessageFloat(hMessage, fSoundRadius);
pServerDE->WriteToMessageHString(hMessage, hstrSound1);
pServerDE->WriteToMessageHString(hMessage, hstrSound2);
pServerDE->WriteToMessageHString(hMessage, hstrSound3);
pServerDE->EndMessage(hMessage);
}
示例5: Save
void WeaponPowerup::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToMessageByte(hWrite, m_iWeaponType);
pServerDE->WriteToMessageByte(hWrite, m_eModelSize);
pServerDE->WriteToMessageDWord(hWrite, m_dwAmmo);
}
示例6: Save
void CDebris::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToLoadSaveMessageObject(hWrite, m_hObject);
pServerDE->WriteToMessageHString(hWrite, m_hstrSound);
pServerDE->WriteToMessageHString(hWrite, m_hstrTexture1);
pServerDE->WriteToMessageHString(hWrite, m_hstrTexture2);
pServerDE->WriteToMessageHString(hWrite, m_hstrModel1);
pServerDE->WriteToMessageHString(hWrite, m_hstrModel2);
pServerDE->WriteToMessageByte(hWrite, m_nAmount);
pServerDE->WriteToMessageFloat(hWrite, m_fScale);
pServerDE->WriteToMessageByte(hWrite, m_bExploding);
pServerDE->WriteToMessageByte(hWrite, m_bStone);
pServerDE->WriteToMessageByte(hWrite, m_bMetal);
pServerDE->WriteToMessageByte(hWrite, m_bWood);
pServerDE->WriteToMessageByte(hWrite, m_bEnergy);
pServerDE->WriteToMessageByte(hWrite, m_bGlass);
pServerDE->WriteToMessageByte(hWrite, m_bTerrain);
pServerDE->WriteToMessageByte(hWrite, m_bPlastic);
pServerDE->WriteToMessageByte(hWrite, m_bFlesh);
pServerDE->WriteToMessageByte(hWrite, m_bLiquid);
pServerDE->WriteToMessageByte(hWrite, m_bCustom);
pServerDE->WriteToMessageDWord(hWrite, (DDWORD)m_eType);
pServerDE->WriteToMessageFloat(hWrite, m_fDamageRadius);
pServerDE->WriteToMessageFloat(hWrite, m_fExplodeDamage);
}
示例7: InitialUpdate
void VolumeBrush::InitialUpdate(int nData)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
// For save game restores, just recreate the surface
if (nData == INITIALUPDATE_SAVEGAME)
return;
if (m_bShowSurface)
{
CreateSurface();
}
m_hPlayerClass = pServerDE->GetClass("CPlayerObj");
DDWORD dwUserFlags = m_bHidden ? 0 : USRFLG_VISIBLE;
dwUserFlags |= USRFLG_SAVEABLE;
pServerDE->SetObjectUserFlags(m_hObject, dwUserFlags);
if (m_hSurfaceObj)
{
pServerDE->SetObjectUserFlags(m_hSurfaceObj, dwUserFlags);
}
// Tell the client about any special fx (fog)...
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_VOLUMEBRUSH_ID);
//pServerDE->WriteToMessageByte(hMessage, DTRUE);
pServerDE->WriteToMessageByte(hMessage, (DBYTE)m_bFogEnable);
pServerDE->WriteToMessageFloat(hMessage, m_fFogFarZ);
pServerDE->WriteToMessageFloat(hMessage, m_fFogNearZ);
pServerDE->WriteToMessageVector(hMessage, &m_vFogColor);
pServerDE->EndMessage(hMessage);
pServerDE->SetNextUpdate(m_hObject, 0.001f);
// Save volume brush's initial flags...
m_dwSaveFlags = pServerDE->GetObjectFlags(m_hObject);
// Normalize viscosity (1 = no movement, 0 = full movement)...
if (m_fViscosity < 0.0) m_fViscosity = 0.0f;
else if (m_fViscosity > 1.0) m_fViscosity = 1.0f;
// Okay, internally we really want it the opposite way (i.e., 1 = full
// movement, 0 = no movement)...
m_fViscosity = 1.0f - m_fViscosity;
}
示例8: GetServerDE
void PolyGrid:: Setup(DVector* pvDims, DVector* pvColor1, DVector* pvColor2,
HSTRING hstrSurfaceSprite, DFLOAT fXScaleMin, DFLOAT fXScaleMax,
DFLOAT fYScaleMin, DFLOAT fYScaleMax, DFLOAT fXScaleDuration,
DFLOAT fYScaleDuration, DFLOAT fXPan, DFLOAT fYPan,
DFLOAT fAlpha, DDWORD dwNumPolies)
{
D_WORD wColor1, wColor2;
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !pvDims || !pvColor1 || !pvColor2 || dwNumPolies < 4) return;
VEC_COPY(m_vDims, *pvDims);
pServerDE->SetObjectDims(m_hObject, pvDims);
VEC_COPY(m_vColor1, *pvColor1);
VEC_COPY(m_vColor2, *pvColor2);
wColor1 = Color255VectorToWord( pvColor1 );
wColor2 = Color255VectorToWord( pvColor2 );
// Limit the number of polies to 32k...
if ( dwNumPolies > 0x7FFF )
dwNumPolies = 0x7FFF;
HSTRING hstrSprite = hstrSurfaceSprite ? hstrSurfaceSprite : pServerDE->CreateString("");
// Tell the clients about the polygrid...
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMessage, SFX_POLYGRID_ID);
pServerDE->WriteToMessageVector(hMessage, &m_vDims);
pServerDE->WriteToMessageWord(hMessage, wColor1);
pServerDE->WriteToMessageWord(hMessage, wColor2);
pServerDE->WriteToMessageFloat(hMessage, fXScaleMin);
pServerDE->WriteToMessageFloat(hMessage, fXScaleMax);
pServerDE->WriteToMessageFloat(hMessage, fYScaleMin);
pServerDE->WriteToMessageFloat(hMessage, fYScaleMax);
pServerDE->WriteToMessageFloat(hMessage, fXScaleDuration);
pServerDE->WriteToMessageFloat(hMessage, fYScaleDuration);
pServerDE->WriteToMessageFloat(hMessage, fXPan);
pServerDE->WriteToMessageFloat(hMessage, fYPan);
pServerDE->WriteToMessageFloat(hMessage, fAlpha);
pServerDE->WriteToMessageHString(hMessage, hstrSprite);
pServerDE->WriteToMessageWord(hMessage, (D_WORD)dwNumPolies);
pServerDE->WriteToMessageByte(hMessage, m_nPlasmaType);
pServerDE->WriteToMessageByte(hMessage, m_nRingRate[0]);
pServerDE->WriteToMessageByte(hMessage, m_nRingRate[1]);
pServerDE->WriteToMessageByte(hMessage, m_nRingRate[2]);
pServerDE->WriteToMessageByte(hMessage, m_nRingRate[3]);
pServerDE->EndMessage(hMessage);
if (!hstrSurfaceSprite)
{
pServerDE->FreeString(hstrSprite);
}
}
示例9: Save
void ClientLightFX::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !hWrite) return;
// Only need to save the data that changes (all the data in the
// special fx message is saved/loaded for us)...
pServerDE->WriteToMessageByte(hWrite, m_bOn);
pServerDE->WriteToMessageByte(hWrite, m_bDynamic);
pServerDE->WriteToMessageFloat(hWrite, m_fLifeTime);
pServerDE->WriteToMessageFloat(hWrite, m_fStartTime);
}
示例10: Save
void ObjectiveTrigger::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToMessageByte(hWrite, m_bPlayerTriggerable);
pServerDE->WriteToMessageByte(hWrite, m_bAITriggerable);
pServerDE->WriteToMessageByte(hWrite, m_bTriggered);
pServerDE->WriteToMessageHString(hWrite, m_hstrAIName);
pServerDE->WriteToMessageHString(hWrite, m_hAddObjectives);
pServerDE->WriteToMessageHString(hWrite, m_hRemoveObjectives);
pServerDE->WriteToMessageHString(hWrite, m_hCompletedObjectives);
}
示例11: EngineMessageFn
DDWORD CHandWeaponModel::EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return 0;
switch(messageID)
{
case MID_PRECREATE:
{
ObjectCreateStruct *ocs = (ObjectCreateStruct*)pData;
m_dwClientID = ocs->m_UserData;
if(ocs->m_NextUpdate == 0.02f)
m_bLeftHand = DTRUE;
ocs = DNULL;
}
case MID_UPDATE:
{
if (!Update())
pServerDE->RemoveObject(m_hObject);
break;
}
case MID_INITIALUPDATE:
{
pServerDE->SetNextUpdate(m_hObject, 0.01f);
DVector vDims;
VEC_SET(vDims, 0.1f, 0.1f, 0.1f);
pServerDE->SetObjectDims(m_hObject, &vDims);
if(m_dwClientID)
{
HMESSAGEWRITE hMsg = pServerDE->StartSpecialEffectMessage(this);
pServerDE->WriteToMessageByte(hMsg, SFX_WEAPONHANDMODEL_ID);
pServerDE->WriteToMessageDWord(hMsg, m_dwClientID);
pServerDE->WriteToMessageByte(hMsg, (m_bLeftHand << 1) | DFALSE);
pServerDE->EndMessage2(hMsg, MESSAGE_GUARANTEED);
}
break;
}
default:
break;
}
return BaseClass::EngineMessageFn(messageID, pData, lData);
}
示例12: Save
void CDestructableBrush::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToMessageFloat(hWrite, m_fInitHitPoints);
pServerDE->WriteToMessageFloat(hWrite, m_fMass);
pServerDE->WriteToMessageByte(hWrite, m_bDestructable);
pServerDE->WriteToMessageByte(hWrite, m_bPushable);
pServerDE->WriteToMessageByte(hWrite, m_bBoxPhysics);
pServerDE->WriteToMessageByte(hWrite, m_bAllowMarks);
pServerDE->WriteToMessageHString(hWrite, m_hstrDebrisSkin);
pServerDE->WriteToMessageDWord(hWrite, m_eSurfType);
pServerDE->WriteToMessageByte(hWrite, m_bFireThrough);
}
示例13: InitialUpdate
void ParticleSystem::InitialUpdate(DVector *pMovement)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
// Tell the clients about the ParticleSystem, and remove thyself...
HMESSAGEWRITE hMessage = pServerDE->StartSpecialEffectMessage(this);
// pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESYSTEM_ID | (( m_bStatic ) ? SFX_STATIC : 0 ));
pServerDE->WriteToMessageByte(hMessage, SFX_PARTICLESYSTEM_ID);
//pServerDE->WriteToMessageByte(hMessage, m_bStatic);
pServerDE->WriteToMessageVector(hMessage, &m_vColor1);
pServerDE->WriteToMessageVector(hMessage, &m_vColor2);
pServerDE->WriteToMessageFloat(hMessage, (DFLOAT)m_dwFlags);
pServerDE->WriteToMessageFloat(hMessage, m_fBurstWait);
pServerDE->WriteToMessageFloat(hMessage, m_fParticlesPerSecond);
pServerDE->WriteToMessageFloat(hMessage, m_fEmissionRadius);
pServerDE->WriteToMessageFloat(hMessage, m_fMinimumVelocity);
pServerDE->WriteToMessageFloat(hMessage, m_fMaximumVelocity);
pServerDE->WriteToMessageFloat(hMessage, m_fVelocityOffset);
pServerDE->WriteToMessageFloat(hMessage, m_fParticleLifetime);
pServerDE->WriteToMessageFloat(hMessage, m_fRadius);
pServerDE->WriteToMessageFloat(hMessage, m_fGravity);
pServerDE->WriteToMessageFloat(hMessage, m_fRotationVelocity);
pServerDE->WriteToMessageHString(hMessage, m_hstrTextureName);
pServerDE->EndMessage(hMessage);
}
示例14: ObjectTouch
void ItemPickup::ObjectTouch(HOBJECT hObject)
{
DBYTE nValue;
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
// Always at least one object...
nValue = ( DBYTE )DCLAMP( m_fValue * m_fValueMult, 0, 255 );
if( nValue == 0 && m_fValueMult > 0.0f )
nValue = 1;
HMESSAGEWRITE hMessage = pServerDE->StartMessageToObject(this, hObject, MID_INVENTORYITEMTOUCH);
pServerDE->WriteToMessageByte(hMessage, (DBYTE)m_nType);
pServerDE->WriteToMessageByte( hMessage, nValue );
pServerDE->EndMessage(hMessage);
}
示例15: Save
void Powerup::Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToMessageFloat(hWrite, m_fTimeLimit);
pServerDE->WriteToMessageByte(hWrite, m_bTimed);
}