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

◆ SpreadAgentsEx()

void ManBase::SpreadAgentsEx ( float distance = 3,
float chance = 0.25 )
inlineprotected

chance between [0..1] , distance in meters

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

7724 {
7725 if (Math.RandomFloat01() > chance)
7726 return;
7727
7728 g_Game.GetPlayers(m_ServerPlayers);
7729 float dist_check = distance * distance;//make it sq
7730 PluginTransmissionAgents plugin = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
7731
7732 foreach (Man target: m_ServerPlayers)
7733 {
7734 if (vector.DistanceSq(GetWorldPosition(), target.GetWorldPosition()) < dist_check && target != this)
7735 {
7736 plugin.TransmitAgents(this, target, AGT_AIRBOURNE_BIOLOGICAL, 1);
7737 }
7738 }
7739 }
DayZGame g_Game
Определения DayZGame.c:3942
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:325
static ref array< Man > m_ServerPlayers
Определения PlayerBase.c:219
const int AGT_AIRBOURNE_BIOLOGICAL
Определения 3_Game/DayZ/constants.c:506

Перекрестные ссылки AGT_AIRBOURNE_BIOLOGICAL, vector::DistanceSq(), g_Game, GetPlugin(), m_ServerPlayers и Math::RandomFloat01().

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