武装突袭3

武装突袭3

ZEUS WARGAME [RTS mod]
Redarmy 2024 年 5 月 13 日 上午 7:29
Livonia excess object deletion
// hide (delete) terrain objects for better map performance
// percentages for deletion
_rock_perc = 35;
_tree_perc = 30;
_bush_perc = 40;
_fence_perc = 15;
_wall_perc = 15;


_rock_fac = round (100 / _rock_perc);
_tree_fac = round (100 / _tree_perc);
_bush_fac = round (100 / _bush_perc);
_fence_fac = round (100 / _fence_perc);
_wall_fac = round (100 / _wall_perc);


// get all specific terrain objects
// 3,513
_rocks = nearestTerrainObjects [[worldSize/2, worldSize/2], ["ROCK"], (worldSize * 1.41) , true, true];

// 101,960
_trees = nearestTerrainObjects [[worldSize/2, worldSize/2], ["TREE"], (worldSize * 1.41) , true, true];

// 288,461
_bushes = nearestTerrainObjects [[worldSize/2, worldSize/2], ["BUSH"], (worldSize * 1.41) , true, true];

// 11,189
_fences = nearestTerrainObjects [[worldSize/2, worldSize/2], ["FENCE"], (worldSize * 1.41) , true, true];

// 14,190
_walls = nearestTerrainObjects [[worldSize/2, worldSize/2], ["WALL"], (worldSize * 1.41) , true, true];



//delete given percentage of terrain objects (not randomly cause it will be done on each machine locally and should be the same)
{
if((_forEachIndex + 1) % _rock_fac isEqualTo 0) then {_x hideObject true;};
} forEach _rocks;

{
if((_forEachIndex + 1) % _tree_fac isEqualTo 0) then {_x hideObject true;};
} forEach _trees;

{
if((_forEachIndex + 1) % _bush_fac isEqualTo 0) then {_x hideObject true;};
} forEach _bushes;

{
if((_forEachIndex + 1) % _fence_fac isEqualTo 0) then {_x hideObject true;};
} forEach _fences;

{
if((_forEachIndex + 1) % _wall_fac isEqualTo 0) then {_x hideObject true;};
} forEach _walls;
< >
正在显示第 1 - 1 条,共 1 条留言
Jacktheviper  [开发者] 2024 年 5 月 14 日 上午 12:36 
Thanks, that's a pretty neat script.
最后由 Jacktheviper 编辑于; 2024 年 5 月 14 日 上午 12:36
< >
正在显示第 1 - 1 条,共 1 条留言
每页显示数: 1530 50