Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# DynamicBulwarks-fixed-bugs
Fixed some bugs for example the normal version dont filter for scope 2 (real units) in the zivilian round

1 - Open the mission in the editor.\ (change the ending of the folder to .altis or the mapending you want to play on.
2 - Place a marker called "bulwark_zone_0" where you want your location to be. || If you want multiple possible locations copy the marker and paste as many times as you want.\
3 - There is a red marker with the marker text: "This marker needs to have the mapname of the current map, as variable Name for location markers to work". Change its variable name to the world your playing. For example "tanoa" or "malden". \
That is it, your done.
\
To use your placed markers select "Position" > "Use location markers" in the mission parameter.\
\
Keep in mind:\
The Bulwark will be on the exact location where the marker is.\
Make sure there is loot nearby or place some houses in editor that can spawn loot.\
You can't spawn on buildings with this, always places you on ground.
2 changes: 1 addition & 1 deletion build/Functions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class build
class sell {};
class pickup {};
class reset{};
class move {};
class move {};
class place {};

class doPlace {};
Expand Down
3 changes: 2 additions & 1 deletion bulwark/Functions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class bulwark
class roomCentre {};
class roomVolume {};
class startWave {};
class endWave {};
class endWave {};
class revivePlayer{};
class bulwarkReset{};

Expand All @@ -19,5 +19,6 @@ class bulwark

class moveBox {};
class dropBox {};

};
};
3 changes: 3 additions & 0 deletions bulwark/createBase.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ format ["Configuring Bulwark at Location: %1 City: %2", bulwarkRoomPos, bulwarkC
};
","",1,false,false,"true","true",2.5]] remoteExec ["addAction", 0, true];

//Add delete dumped Items-Script to leader
[bulwarkBox, ["Delete Dumped Items", { execVM "clearZone.sqf"; },"",0,false,false,"true","player == leader player",2.5]] remoteExec ["addAction", 0, true];

//Add Bulwark Box to Zeus
mainZeus addCuratorEditableObjects [[bulwarkBox], true];

Expand Down
6 changes: 3 additions & 3 deletions bulwark/dialog.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class startBox_Dialog
class ObjectPicture: RscPicture
{
idc = 1502;
text="preview.paa";
text="preview.paa";
x = 0.1 * safezoneW + safezoneX;
y = 0.3 * safezoneH + safezoneY;
w = 0.2 * safezoneW;
Expand All @@ -46,7 +46,7 @@ class startBox_Dialog
y = 0.58 * safezoneH + safezoneY;
w = 0.185 * safezoneW;
h = 0.04 * safezoneH;
action = "_nil=[]ExecVM ""bulwark\purchase.sqf""";
action = "ctrlEnable [1600, false], _nil=[]ExecVM ""bulwark\purchase.sqf""";
};

class startBox_supportLst: RscListbox
Expand All @@ -65,7 +65,7 @@ class startBox_Dialog
y = 0.58 * safezoneH + safezoneY;
w = 0.185 * safezoneW;
h = 0.04 * safezoneH;
action = "_nil=[]ExecVM ""supports\purchase.sqf""";
action = "ctrlEnable [1601, false], _nil=[]ExecVM ""supports\purchase.sqf""";
};

////////////////////////////////////////////////////////
Expand Down
3 changes: 2 additions & 1 deletion bulwark/purchase.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ if(_killPoints >= _shopPrice && !(player call build_fnc_isHoldingObject)) then {
[player, _buildItem] remoteExec ["build_fnc_doCreate", 2];
objPurchase = true;
} else {
ctrlEnable [1600, true];
if(_killPoints < _shopPrice) then {
[format ["<t size='0.6' color='#ff3300'>Not enough points for %1!</t>", _shopName], -0, -0.02, 2, 0.1] call BIS_fnc_dynamicText;
objPurchase = false;
Expand All @@ -36,4 +37,4 @@ sleep 0.1;

if (objPurchase) then {
closeDialog 0;
};
};
14 changes: 14 additions & 0 deletions clearZone.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* clears Zone from items that laying around
*
* Actor for the bulwark "clear Zone" action menu item
*
* Domain: Client
**/

_start = diag_tickTime;
{ deleteVehicle _x; } forEach allDead;
{ deleteVehicle _x; } forEach nearestObjects [getpos player,["WeaponHolder","GroundWeaponHolder"],2000];
//{ deleteVehicle _x; } forEach nearestObjects [getpos player,["WeaponHolder","GroundWeaponHolder"],BULWARK_RADIUS*2];

hint format ["Server cleanup took %1 seconds",diag_tickTime - _start];
7 changes: 4 additions & 3 deletions description.ext
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
onLoadMission = "Hold out as long as you can!";
onLoadIntro = "Defend yourself";
onLoadName = "Dynamic Bulwarks";
briefingName = "Dynamic Bulwarks";
briefingName = "Dynamic Bulwarks -dev 20200817 WMod";
overviewText = "Survive by scavenging equipment, in a randomly selected city, against ever increasing waves of hostiles.";
author = "Hilltop & omNomios";
author = "Frank648, Hilltop & omNomios, edit by Spacefussel, Wetzer & Hirado";
overviewPicture = "preview.paa";

loadScreen = "preview.paa";
Expand All @@ -30,7 +30,7 @@ class Header
{
gameType = Survive;
minPlayers = 1;
maxPlayers = 12;
maxPlayers = 15;
};

#include "shared\defines.hpp"
Expand Down Expand Up @@ -70,6 +70,7 @@ class CfgRemoteExec
class support {};
class airStrike {};
class ragePack {};
class radioBox {};
class say3DGlobal {};
class createBlur {};
class suiExplode{};
Expand Down
23 changes: 14 additions & 9 deletions hostiles/CivWave.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -60,21 +60,26 @@ CWS_AddNextCivWaypoint = {
private _civFaction = "CIV_F";
private _cfgVehiclesConfig = configFile >> "CfgVehicles";
private _cfgVehiclesConfigCount = count _cfgVehiclesConfig;

for [{_i = 0}, {_i < _cfgVehiclesConfigCount}, {_i = _i + 1}] do
{
_config = _cfgVehiclesConfig select _i;
if (isClass _config) then
_config = _cfgVehiclesConfig select _i;
if (isClass _config) then
{
_scope = getNumber (_config >> "scope");
if (_scope == 2) then
{
_typeMan = getNumber (_config >> "isMan");
if (_typeMan != 0) then
_typeMan = getNumber (_config >> "isMan");
if (_typeMan != 0) then
{
_faction = getText (_config >> "faction");
if (_faction == _civFaction) then
{
_faction = getText (_config >> "faction");
if (_faction == _civFaction) then
{
civClassArr set [count civClassArr, configName _config];
};
civClassArr set [count civClassArr, configName _config];
};
};
};
};
};

for [{_i=0}, {_i<20}, {_i=_i+1}] do {
Expand Down
15 changes: 10 additions & 5 deletions onPlayerRespawn.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ removeVest player;
removeBackpack player;
removeAllWeapons player;
removeAllAssignedItems player;
player linkItem "ItemWatch";
player linkItem "ItemCompass";

player setPosASL ([bulwarkBox] call bulwark_fnc_findPlaceAround);

if(PLAYER_STARTWEAPON) then {
Expand All @@ -31,19 +34,21 @@ if(PLAYER_STARTWEAPON) then {
};

if(PLAYER_STARTMAP) then {
player addItem "ItemMap";
player assignItem "ItemMap";
player linkItem "ItemMap";
};

if(PLAYER_STARTNVG) then {
player addItem "Integrated_NVG_F";
player assignItem "Integrated_NVG_F";
player linkItem "Integrated_NVG_F";
};

// ACRE 2 Radio
if (acre_main) then {
player addItem "ACRE_PRC343";
};

//TFAR Radio
if (isClass (configfile >> "CfgVehicles" >> "tf_anarc164")) then {
player addItem "tf_anprc152";
player linkItem "TFAR_anprc152";
};

waituntil {alive player};
Expand Down
Loading