Jump to content
Sign in to follow this  
Mirek

Prevent cars from spawning at balota airstrip?

Recommended Posts

Hi

All threads regaeding this ar old or are not helpfull. So there is new one.

How the hell i prevent ambient civilian cars module from spawning cars at balota airfield?

I tried this:

BIS_silvie_mainscope setvariable ["blackList",["1026932","1026931","1027015","344234","344287","34427","974395","344283","344284"]];

but that wont work, and even if it did, typing all the IDS OF ALL OBJECTS THERE WOULD MAKE ME MAD.

Example was like this:

BIS_silvie_mainscope setvariable ["blackList",["house1","house2"]];

Wich is useles as houses on the map are called just house. not house1 or house2 or house whatever.

EDIT: I allready am MAD as hell. triing to figure it out for like two hours, and google search doesnt help either.

Edited by Mirek

Share this post


Link to post
Share on other sites

Hello Mirek, sorry to hear you're mad. Here is some help:

Silvie blacklist is default to the following:

_defaultBlacklist = [
"Land_sloup_vn_dratZ",
"Land_sloup_vn",
"Land_Farm_WTower",
"land_nav_pier_c",
"land_nav_pier_c2",
"land_nav_pier_c2_end",
"land_nav_pier_c_270",
"land_nav_pier_c_90",
"land_nav_pier_c_big",
"land_nav_pier_C_L",
"land_nav_pier_C_L10",
"land_nav_pier_C_L30",
"land_nav_pier_C_R",
"land_nav_pier_C_R10",
"land_nav_pier_C_R30",
"land_nav_pier_c_t15",
"land_nav_pier_c_t20",
"land_nav_pier_F_17",
"land_nav_pier_F_23",
"land_nav_pier_m",
"land_nav_pier_m_1",
"land_nav_pier_m_end",
"land_nav_pier_M_fuel",
"land_nav_pier_pneu",
"land_nav_pier_uvaz",

"WarfareBDepot",
"WarfareBAirport",
"USMC_WarfareBBarracks",
"RU_WarfareBBarracks",
"CDF_WarfareBBarracks",
"Ins_WarfareBBarracks",
"Gue_WarfareBBarracks",
"USMC_WarfareBLightFactory",
"RU_WarfareBLightFactory",
"CDF_WarfareBLightFactory",
"Ins_WarfareBLightFactory",
"Gue_WarfareBLightFactory",
"USMC_WarfareBHeavyFactory",
"RU_WarfareBHeavyFactory",
"CDF_WarfareBHeavyFactory",
"Ins_WarfareBHeavyFactory",
"Gue_WarfareBHeavyFactory",
"USMC_WarfareBAircraftFactory",
"RU_WarfareBAircraftFactory",
"CDF_WarfareBAircraftFactory",
"WarfareBAircraftFactory_CDF",
"INS_WarfareBAircraftFactory",
"WarfareBAircraftFactory_Ins",
"GUE_WarfareBAircraftFactory",
"WarfareBAircraftFactory_Gue",
"USMC_WarfareBAntiAirRadar",
"RU_WarfareBAntiAirRadar",
"CDF_WarfareBAntiAirRadar",
"INS_WarfareBAntiAirRadar",
"GUE_WarfareBAntiAirRadar",
"USMC_WarfareBArtilleryRadar",
"RU_WarfareBArtilleryRadar",
"CDF_WarfareBArtilleryRadar",
"Ins_WarfareBArtilleryRadar",
"Gue_WarfareBArtilleryRadar",
"USMC_WarfareBUAVterminal",
"RU_WarfareBUAVterminal",
"CDF_WarfareBUAVterminal",
"INS_WarfareBUAVterminal",
"GUE_WarfareBUAVterminal",
"USMC_WarfareBVehicleServicePoint",
"RU_WarfareBVehicleServicePoint",
"CDF_WarfareBVehicleServicePoint",
"INS_WarfareBVehicleServicePoint",
"GUE_WarfareBVehicleServicePoint",
"Base_WarfareBBarrier5x",
"Base_WarfareBBarrier10x",
"Base_WarfareBBarrier10xTall",
"BRDM2_HQ_Gue_unfolded",
"BTR90_HQ_unfolded",
"LAV25_HQ_unfolded",
"BMP2_HQ_INS_unfolded",
"BMP2_HQ_CDF_unfolded"
];

When the fsm runs for Silvie, it checks _twnpos nearobjects ["House",500]; It will not use the "house" position if in the default blacklist, meaning you did not setVariable your own blacklist.

If you setVariable your own blacklist, it will override the default.

_blacklist = if (isnil {_logic getvariable "blacklist"}) then {_defaultBlacklist} else {_logic getvariable "blacklist";};
_logic setvariable ["blacklist",_blacklist];

It then creates the vehicle near the "house" position, near a road, using nearRoads...

So, if there are areas you do not want vehicles to spawn(typeOf _house), must be added to your own list, and you can include the above default list.

Share this post


Link to post
Share on other sites

Thank you.

But is there not some way to prevent the cars from spawning in the area? Like in the ACM?

Share this post


Link to post
Share on other sites

Unfortunately no. Silvie blacklist is only based on "house" type, not location blacklist(unless I missed something).

If you stand on the runway, and do the same check as BIS does in the fsm, you can find buildings to add to your blacklist. Just add your list to the existing one I gave you above.

if you use logging tail program or want to look in rpt. List is long, so maybe reduce distance:

diag_log format ["%1", position player nearobjects ["House",500]];

These will be in format (someobject.p3d...) so you'll need to convert to the classname from cfg. You can use typeOf. I can give you pointer if you need help to diag_log the typeOf list...

Here is the code to put in On Act of repeating radio trigger if needed:

text1="";{text1 = text1 + format["TYPE:%1 ", typeOf _x]} forEach (getPos player nearObjects ["House",500]);diag_log text1

Edited by panther42

Share this post


Link to post
Share on other sites

If you are willing to remove vehicles from Balota Town as well as the airfield, another thing to consider is removing Balota from the Townlist, and that would remove the vehicles from the airfield as well. They only appear at the airfield because it falls within distance of Balota town.

--- Edit --

Also, Silvie is one of the modules with external scripting capability. If you copy the folder path ca\Modules\Silvie\data\scripts to your mission file and copy the Silvie "main.sqf" or "SpawnVehicle.sqf" to the scripts file, you can work with the script settings. It might be possible to add some kind of area blacklist there. Would have to make sure it plays well with Silvie's FSM though.

Edited by OpusFmSPol

Share this post


Link to post
Share on other sites

Panther42: thanl you ill try.

Opus: man, you still fail to understand how low my scripting abilities are. :-) If i try to fiddle with the original BIS scripts, it would probably cause local nuclear powerplant to blow up, wich would probably piss of the Austrians. :-)

Edit:

but the idea of removing balota from spawnlist sounds sound, how do i do that? do i put it like

BIS_silvie_mainscope setvariable ["blackList",["Balota"]];

?

Edited by Mirek

Share this post


Link to post
Share on other sites

Hi Mirek, long time no see.

When I get home today I'll send you one of my scripts that I used in one of Phantom's missions. I used it to prevent ambient vehicles from spawning in our base, and should work fine on any area. I'll be home somewhere this evening.

Kind regards,

Martin/Sanchez

Share this post


Link to post
Share on other sites

Hey Martin,

Thank you. Ill appreciate it.

Share this post


Link to post
Share on other sites
If i try to fiddle with the original BIS scripts, it would probably cause local nuclear powerplant to blow up, wich would probably piss of the Austrians. :-)

Edit:

but the idea of removing balota from spawnlist sounds sound, how do i do that?

Well, I'll try to keep this simple so as not to upset your neighbors. ;)

1). In your mission folder add the Silvie folder path, so the folder path is "<your_mission_name>\ca\modules\Silvie\data\scripts".

2). Copy the Silvie "main.sqf" from the .pbo and place a copy in the "scripts" folder.

3). In your copy of the main.sqf find the line that reads this:

	} foreach _twnlistTemp;
};

//---Vehicle count

Insert the following lines so it reads this:

[color="#A9A9A9"]	} foreach _twnlistTemp;
};[/color]

_count = count _twnList;
for [{_i = 0}, {_i < _count}, {_i = _i + 1}] do 
{
private ["_town","_name"];
_town = _twnlist select _i;
_name = _town getVariable "Name";
diag_log format ["%1  ::  %2  ::  %3",_i,_town,_name];
};

[color="#A9A9A9"]//---Vehicle count[/color]

4). Start your mission. As soon as you enter world and game begins, exit the mission.

When your mission initialized, the code you added had Silvie dump the _twnlist values and their names into your .rpt file.

Look at your .rpt file and you'll see a list like this:

"0  ::  L 1-1-A:4  ::  BIS_loc_ACityC_Chernogorsk"
"1  ::  L 1-1-A:5  ::  BIS_loc_ACityC_Balota"
"2  ::  L 1-1-A:6  ::  BIS_loc_ACityC_Komarovo"
"3  ::  L 1-1-A:7  ::  BIS_loc_ACityC_Kamenka"
"4  ::  L 1-1-A:8  ::  BIS_loc_ACityC_Pavlovo"
"5  ::  L 1-1-A:9  ::  BIS_loc_ACityC_Bor"
"6  ::  L 1-1-A:10  ::  BIS_loc_ACityC_Zelenogorsk"
"7  ::  L 1-1-A:11  ::  BIS_loc_ACityC_Drozhino"
"8  ::  L 1-1-A:12  ::  BIS_loc_ACityC_Kozlovka"
"9  ::  L 1-1-A:13  ::  BIS_loc_ACityC_Sosnovka"
"10  ::  L 1-1-A:14  ::  BIS_loc_ACityC_Pulkovo"
"11  ::  L 1-1-A:15  ::  BIS_loc_ACityC_Pogorevka"
"12  ::  L 1-1-A:16  ::  BIS_loc_ACityC_Rogovo"
"13  ::  L 1-1-A:17  ::  BIS_loc_ACityC_Myshkino"
"14  ::  L 1-1-A:18  ::  BIS_loc_ACityC_Pustoshka"
"15  ::  L 1-1-A:19  ::  BIS_loc_ACityC_Vybor"
"16  ::  L 1-1-A:20  ::  BIS_loc_ACityC_Lopatino"
"17  ::  L 1-1-A:21  ::  BIS_loc_ACityC_Kabanino"
"18  ::  L 1-1-A:22  ::  BIS_loc_ACityC_Grishino"
"19  ::  L 1-1-A:23  ::  BIS_loc_ACityC_Petrovka"
"20  ::  L 1-1-A:24  ::  BIS_loc_ACityC_StarySobor"
"21  ::  L 1-1-A:25  ::  BIS_loc_ACityC_NovySobor"
"22  ::  L 1-1-A:26  ::  BIS_loc_ACityC_Guglovo"
"23  ::  L 1-1-A:27  ::  BIS_loc_ACityC_Vyshnoye"
"24  ::  L 1-1-A:28  ::  BIS_loc_ACityC_Mogilevka"
"25  ::  L 1-1-A:29  ::  BIS_loc_ACityC_Nadezhdino"
"26  ::  L 1-1-A:30  ::  BIS_loc_ACityC_Prigorodki"
"27  ::  L 1-1-A:31  ::  BIS_loc_ACityC_Elektrozavodsk"
"28  ::  L 1-1-A:32  ::  BIS_loc_ACityC_Pusta"
"29  ::  L 1-1-A:33  ::  BIS_loc_ACityC_Staroye"
"30  ::  L 1-1-A:34  ::  BIS_loc_ACityC_Msta"
"31  ::  L 1-1-A:35  ::  BIS_loc_ACityC_Tulga"
"32  ::  L 1-1-A:36  ::  BIS_loc_ACityC_Kamyshovo"
"33  ::  L 1-1-A:37  ::  BIS_loc_ACityC_Solnychniy"
"34  ::  L 1-1-A:38  ::  BIS_loc_ACityC_Dolina"
"35  ::  L 1-1-A:39  ::  BIS_loc_ACityC_Shakhovka"
"36  ::  L 1-1-A:40  ::  BIS_loc_ACityC_Orlovets"
"37  ::  L 1-1-A:41  ::  BIS_loc_ACityC_Polana"
"38  ::  L 1-1-A:42  ::  BIS_loc_ACityC_Gorka"
"39  ::  L 1-1-A:43  ::  BIS_loc_ACityC_Berezino"
"40  ::  L 1-1-A:44  ::  BIS_loc_ACityC_Dubrovka"
"41  ::  L 1-1-A:45  ::  BIS_loc_ACityC_Gvozdno"
"42  ::  L 1-1-A:46  ::  BIS_loc_ACityC_Krasnostav"
"43  ::  L 1-1-A:47  ::  BIS_loc_ACityC_Olsha"
"44  ::  L 1-1-A:48  ::  BIS_loc_ACityC_Khelm"
"45  ::  L 1-1-A:49  ::  BIS_loc_ACityC_Nizhnoye"

5). Select Balota:

- At the left is the array select number, starting at 0 (because array selection is zero-based).

- In the center is the _twnList variable for the location as listed in the _twnList array.

- On the right is the name of the location. In this instance, Balota is second in the list and would be "select 1".

Your select number might be different, especially if "City Center" location logics are added into your mission.

6). Go back into the main.sqf. Change the code you inserted to read this instead:

[color="#A9A9A9"]	} foreach _twnlistTemp;
};[/color]

_Balota = _twnList select 1;		[color="#A52A2A"]// Note: Use your select count![/color]
_twnList = _twnList - [_Balota];

[color="#A9A9A9"]//---Vehicle count[/color]

7). Save. Balota has been removed from the _twnList where vehicles will spawn.

When I went into my mission I found no vehicles at all in Balota. When I went to Cherno and Kamarovo there were vehicles present there.

Hope this helps.

Edited by OpusFmSPol
had an additional thought that didn't work when tested - removed

Share this post


Link to post
Share on other sites

Awesome thank you! :yay::yay::yay:

Share this post


Link to post
Share on other sites

Ok I got super simple solution from PhonicStudios. SO with his permission, here it is:

1.put small object, Sanchez sugestes invisible helipad, i used baseball.

2.Name it whatever you want, for example "Base"

3. Put folowing script to AMBIENT CIVILIAN VEHICLE´s init field:

BIS_silvie_mainscope setvariable ["vehicleInit",{if (_this distance base < 250) then { deletevehicle _this};}];

So Thank you man very much.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×