Ok so, I had a bit of trouble finding a comprehensive all in one how to set this up guide and most of the info is scattered throughout here from when it was being developed. Here is what I did to get this working after combining all the instructions from here that I could and figuring some stuff out on my own. I'm a new server admin and new to all of this stuff so I shall approach this doco from that perspective and allow you to copy and paste as much as possible. A wall of text follows.
I run an Epoch 1.2.04 server at the time of writing so some things are possibly different for you. They are usually similar though.
The best way to run this is from your dayz_server.pbo. There are a few steps to make this happen. They are as follows:
1 - Create a new sqf calling it server_airRaid.sqf. Paste into it code from
http://pastebin.com/u6AXjDBz, making changes to the configuration so the bombings occur how you want them to as specified in the notes included in the file. Its pretty self explanatory as to what to change and configure.
2 - Open your dayz_server.pbo using a program such as PBO Manager (
http://www.armaholic.com/page.php?id=16369). Drag the newly created server_airRaid.sqf into the compile folder.
If it wont let you, drag one file out, accept that you are breaking the encryption and then drag both files back in. Its important that you drag and drop, extracting the pbo and compressing it again will break it without doing some other tweaks which I wont go into.
3 - Take the server_monitor.sqf out of the pbo (found in the system folder) for editing and find the code that controls the heli crash spawns. Mine looks like this:
Code:
// [_guaranteedLoot, _randomizedLoot, _frequency, _variance, _spawnChance, _spawnMarker, _spawnRadius, _spawnFire, _fadeFire]
if(OldHeliCrash) then {
nul = [3, 4, (50 * 60), (15 * 60), 0.75, 'center', HeliCrashArea, true, false] spawn server_spawnCrashSite;
};
And paste in nul = [] spawn server_airRaid; below it so it looks like this:
Code:
// [_guaranteedLoot, _randomizedLoot, _frequency, _variance, _spawnChance, _spawnMarker, _spawnRadius, _spawnFire, _fadeFire]
if(OldHeliCrash) then {
nul = [3, 4, (50 * 60), (15 * 60), 0.75, 'center', HeliCrashArea, true, false] spawn server_spawnCrashSite;
};
nul = [] spawn server_airRaid;
Save and drag the server_monitor.sqf back into the pbo.
3 - Next, bring out the server_functions.sqf file for editing which is located in the init directory. The original instructions from mmmyum say to add this next part of code below the spawn_carePackages line, but I don't have that so I have placed it under the heli crashes line.
Find
Code:
server_updateNearbyObjects = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateNearbyObjects.sqf";
server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
Place under it server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
So it looks like
Code:
server_updateNearbyObjects = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateNearbyObjects.sqf";
server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
server_airRaid = compile preprocessFileLineNumbers "z\addons\dayz_server\compile\server_airRaid.sqf";
4 - Bring out server_cleanup.sqf for editing from the system folder. Find the section that aims to kill hackers. It can look like this
Code:
" if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"" then {" \n
and change it to (remember this is for Epoch 1.2.04 and I have missions running. The important part to add is the Sarge part)
Code:
if(vehicle _x != _x && (vehicle _x getVariable [""Mission"",0] != 1) && !(vehicle _x in _safety) && (isPlayer _x) && (vehicle _x getVariable [""Sarge"",0] != 1) && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n
This is all for the dayz_server.pbo, we now move to the mission file for the sounds.
Some hosting providers have the mission in a pbo, others have it unpacked. Mine is unpacked but if yours isn't then operate your editing much the same as you did for the server pbo.
5 - In the mission folder, create a folder called sound. Paste into it the sounds from here
http://mmmyum.info/sound.zip
6 - Now we edit the description.ext file. I am going to assume that you have no pre-existing sounds configured, if you do then you will need to merge the following instead. Add to the bottom of your description.ext file the following:
Code:
class CfgSounds
{
sounds[]={nam,eve,puk};
class nam
{
name = "Siren1";
sound[] = {sound\SirenLoopMono.ogg, db+5, 1.0};
titles[] = {""};
};
class eve
{
name = "Siren2";
sound[] = {sound\Sirens.ogg, db+5, 1.0};
titles[] = {""};
};
class puk
{
name = "Siren3";
sound[] = {sound\Sirens2.ogg, db+5, 1.0};
titles[] = {""};
};
};
You may need to adjust the db settings if you cant here the sirens or its too loud. +5 works well for me. Save the file and that should be it.
I made what I felt were important adjustments to this. I found helicopters to be too unrealistic to be doing bombings, especially the ones being used. I changed it to use the SU-25 and the A-10 as they are vehicles that can be called on by AI in an Epoch server without any BEC issues etc. I also made it so they flew fast and low to their target and made them travel via a few waypoints first so that they could be seen by more players.
In order to do this I had to prevent the script from wanting to lower the vehicle to the ground where it would drop off AI if you had configured it to do so and change the speed settings. The way points are already part of the changeable settings provided. So this is the server_airRaid.sqf I use with all of my settings as they are. Its a bit bastardised in some parts but it does what I want.
http://pastebin.com/GtTjWBNP
I also removed Stary as a bombing target due to the traders being located there and changed the script to use a single siren sound (
https://docs.google.com/file/d/0B8s_adm7dSFSejFiNEVBMmFtMXc/edit?usp=sharing) to save space on the mission file download. Its not as good but meh.
Here also is my desctiption.ext, or the part you need to add to the end I should say.
Code:
//sounds
class CfgSounds
{
sounds[]={nam};
class nam
{
name = "Siren1";
sound[] = {\sound\SirenLoopMono.ogg, db+5, 1.0};
titles[] = {""};
};
};
Good luck! Hopefully I didn't forget anything. And thank you to mmmyum and all his contributors for a great script!
Black_Sheep