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

610 {
611 array<Magazine> items;
612 float stack_size;
613 Magazine pile;
614
615 items = new array<Magazine>;
616 stack_size = g_Game.ConfigGetInt("cfgMagazines " + item_name + " count");
617
618 int piles_count = Math.Floor(quantity/stack_size);
619 int rest = quantity - (piles_count*stack_size);
620 vector randomizedPos;
621
622 for (int i = 0; i < piles_count; ++i)
623 {
624 randomizedPos = MiscGameplayFunctions.GetRandomizedPositionVerified(starPos,targetPos,radius,ignoreObjectCollison);
625 pile = Magazine.Cast(g_Game.CreateObjectEx(item_name, randomizedPos, ECE_CREATEPHYSICS|ECE_UPDATEPATHGRAPH));
626 pile.ServerSetAmmoCount(stack_size);
627 items.Insert(pile);
628 }
629
630 if (rest > 0)
631 {
632 randomizedPos = MiscGameplayFunctions.GetRandomizedPositionVerified(starPos,targetPos,radius,ignoreObjectCollison);
633 pile = Magazine.Cast(g_Game.CreateObjectEx(item_name, randomizedPos, ECE_CREATEPHYSICS|ECE_UPDATEPATHGRAPH));
634 pile.ServerSetAmmoCount(rest);
635 items.Insert(pile);
636 }
637 return items;
638 }
const int ECE_UPDATEPATHGRAPH
Определения CentralEconomy.c:13
const int ECE_CREATEPHYSICS
Определения CentralEconomy.c:17
DayZGame g_Game
Определения DayZGame.c:4074
Определения EnMath.c:7
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:119
static proto float Floor(float f)
Returns floor of value.

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

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