DayZ 1.30
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 строка 8072

8073 {
8074 if (Math.RandomFloat01() > chance)
8075 return;
8076
8077 g_Game.GetPlayers(m_ServerPlayers);
8078 float dist_check = distance * distance;//make it sq
8079 PluginTransmissionAgents plugin = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
8080
8081 foreach (Man target: m_ServerPlayers)
8082 {
8083 if (vector.DistanceSq(GetWorldPosition(), target.GetWorldPosition()) < dist_check && target != this)
8084 {
8085 plugin.TransmitAgents(this, target, AGT_AIRBOURNE_BIOLOGICAL, 1);
8086 }
8087 }
8088 }
DayZGame g_Game
Определения DayZGame.c:4074
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
static ref array< Man > m_ServerPlayers
Определения PlayerBase.c:218
const int AGT_AIRBOURNE_BIOLOGICAL
Определения 3_Game/DayZ/constants.c:537

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

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