DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ProcessWeaponEvent()

void DayZPlayer::ProcessWeaponEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected

См. определение в файле DayZPlayerImplement.c строка 3551

3552 {
3554 AnimSoundEvent soundEvent = null;
3555
3556 float quantity = 0;
3557
3558 EntityAI entityInHands = GetEntityInHands();
3559 if (entityInHands && entityInHands.IsInherited(ItemBase))
3560 {
3561 ItemBase item;
3562 Class.CastTo(item, entityInHands);
3563 if (item.HasQuantity())
3564 quantity = (float)item.GetQuantity() / (item.GetQuantityMax() - item.GetQuantityMin());
3565 InventoryItemType invItemType = item.GetInventoryItemType();
3566 soundEvent = invItemType.GetSoundEvent(pUserInt);
3567 }
3568
3569 if (soundEvent == null)
3570 {
3571 quantity = 0;
3572 soundEvent = type.GetSoundWeaponEvent(pUserInt);
3573 }
3574
3575 if (soundEvent != null)
3576 {
3577 if (!g_Game.IsHeadlessOrDedicatedServer())
3578 {
3579 SoundObjectBuilder builder = soundEvent.GetSoundBuilderEx(m_ActionSoundCategoryHash);
3580 if (builder)
3581 {
3582 builder.AddVariable("quantity", quantity);
3583 builder.AddVariable("interior", IsSoundInsideBuilding());
3584
3585 SoundObject soundObject = builder.BuildSoundObject();
3586 if (soundObject != NULL)
3587 {
3588 AttenuateSoundIfNecessary(soundObject);
3589 AbstractWave sound = PlaySound(soundObject, builder);
3590
3591 if (pUserString == "StopOnAnimEnd")
3592 m_PerformedActionSounds.Insert(sound);
3593 }
3594 }
3595 else
3596 {
3597 //TODO:Userful error message
3598 }
3599 }
3600
3601 if (g_Game.IsServer())
3602 {
3603 AddNoise(soundEvent.m_NoiseParams);
3604 }
3605 }
3606 }
void InventoryItemType()
class LogManager EntityAI
DayZGame g_Game
Определения DayZGame.c:4074
class GP5GasMask extends MaskBase ItemBase
void PlaySound()
Определения HungerSoundHandler.c:39
Param7 float
ref array< AbstractWave > m_PerformedActionSounds
Определения DayZPlayerImplement.c:150
void AttenuateSoundIfNecessary(SoundObject soundObject)
Определения DayZPlayerImplement.c:3976
int m_ActionSoundCategoryHash
Определения DayZPlayerImplement.c:163
void AddNoise(NoiseParams noisePar, float noiseMultiplier=1.0)
Определения DayZPlayerImplement.c:3258
void DayZPlayerType()
Определения dayzplayer.c:512
proto native DayZPlayerType GetDayZPlayerType()
returns appropriate DayZPlayerType
class AbstractSoundScene SoundObjectBuilder(SoundParams soundParams)
void SoundObject(SoundParams soundParams)
void AbstractWave()
Определения Sound.c:167

Перекрестные ссылки AbstractWave(), AddNoise(), AttenuateSoundIfNecessary(), Class::CastTo(), DayZPlayerType(), g_Game, GetDayZPlayerType(), InventoryItemType(), m_ActionSoundCategoryHash, m_PerformedActionSounds, PlaySound() и SoundObjectBuilder().

Используется в OnSoundEvent().