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

◆ CreateMagazinePilesDispersed()

static array< Magazine > CreateMagazinePilesDispersed ( string item_name,
vector starPos,
vector targetPos,
float radius,
float quantity,
float health,
Object ignoreObjectCollison )
staticprotected

creation method using raycast-dispersed positioning; ECE_TRACE not used as a result

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

582 {
583 array<Magazine> items;
584 float stack_size;
585 Magazine pile;
586
587 items = new array<Magazine>;
588 stack_size = g_Game.ConfigGetInt("cfgMagazines " + item_name + " count");
589
590 int piles_count = Math.Floor(quantity/stack_size);
591 int rest = quantity - (piles_count*stack_size);
592 vector randomizedPos;
593
594 for (int i = 0; i < piles_count; ++i)
595 {
596 randomizedPos = MiscGameplayFunctions.GetRandomizedPositionVerified(starPos,targetPos,radius,ignoreObjectCollison);
597 pile = Magazine.Cast(GetGame().CreateObjectEx(item_name, randomizedPos, ECE_CREATEPHYSICS|ECE_UPDATEPATHGRAPH));
598 pile.ServerSetAmmoCount(stack_size);
599 items.Insert(pile);
600 }
601
602 if (rest > 0)
603 {
604 randomizedPos = MiscGameplayFunctions.GetRandomizedPositionVerified(starPos,targetPos,radius,ignoreObjectCollison);
605 pile = Magazine.Cast(GetGame().CreateObjectEx(item_name, randomizedPos, ECE_CREATEPHYSICS|ECE_UPDATEPATHGRAPH));
606 pile.ServerSetAmmoCount(rest);
607 items.Insert(pile);
608 }
609 return items;
610 }
const int ECE_UPDATEPATHGRAPH
Определения CentralEconomy.c:13
const int ECE_CREATEPHYSICS
Определения CentralEconomy.c:16
DayZGame g_Game
Определения DayZGame.c:3868
Определения EnMath.c:7
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:106
proto native CGame GetGame()
static proto float Floor(float f)
Returns floor of value.

Перекрестные ссылки ECE_CREATEPHYSICS, ECE_UPDATEPATHGRAPH, Math::Floor(), g_Game и GetGame().

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