Jump to content

[TUTORIAL] So you want to put bloodsuckers on your server...


Nemaconz

Recommended Posts

Ok so I've already been hit up by serveral people asking how to add bloodsuckers to their server so instead or replying to each PM I'll just release it here for everyone to see. This took me several days to figure out and I would not have been able to do it if it wasn't for other people on these forums posting all the clues I needed to get it done. I take no credit for creating any of these scripts, I simply modified them to make them work on other maps.

First thing that you have to know is that you're going to HAVE to have Namalsk Crisis installed on your server, there is no other way around this without extensive work for you and the client. Now that being said you do not have to run the Namalsk map, I am running a Chernarus map on my server (feel free to go to my main server to check everything out for yourself). Basically I installed epoch on my server, then added overwatch to make it an Overpoch server then added Namalsk Crisis. It really isn't anything more fancy than adding the Namalsk Crisis files to your server in the same directory where your Epoch and Overwatch pbo's are. The only extra step is making sure you have the Namalsk bikey in the key folder.  You will know that the files are working properly as soon as you log into your server and you open up your infistar menu and see all the new extra skins such as the ns_bloodsucker and the namalsk zombies.

 

 

 

Now to get down to business, once you have Namalsk Crisis installed all you need to modify is the Init.sqf, mission.sqm (which are both in your mission pbo), add a custom building_spawnZombies.sqf and make sure your custom compiles.sqf is pointed at the custom building_spawnZombies.sqf.

In your init.sqf simply add:

dzn_ns_bloodsucker = true;        // Make this false for disabling bloodsucker spawn


dzn_ns_bloodsucker_den = 200;    // Spawn chance of bloodsuckers, max 400, ignore if dzn_ns_bloodsucker set to false



The more you increase the value of the dzn_ns_bloodsucker_den, the more they will spawn, when you set it at 400 they'll be spawning like crazy!! As you can see it is listed right above my Epoch events with my EVR blowout, like this:

 

 

dayz_maxAnimals = 5; // Default: 8
dayz_tameDogs = true;
DynamicVehicleDamageLow = 0; // Default: 0
DynamicVehicleDamageHigh = 100; // Default: 100

 

 

 

DZE_BuildOnRoads = false; // Default: False
dzn_ns_bloodsucker = true;        // Make this false for disabling bloodsucker spawn
dzn_ns_bloodsucker_den = 200;    // Spawn chance of bloodsuckers, max 400, ignore if dzn_ns_bloodsucker set to false
ns_blowout = true;                        // Make this false for disabling random EVR discharges (blowout module)
ns_blowout_dayz = true;     // Leave this always true or it will create a very huuuge mess
ns_blow_delaymod = 0.99;
DZE_MissionLootTable = True;
DZEdebug = false;

 

 

 

EpochEvents = [
["any","any","any","any",0,"animated_crash_spawner"],
["any","any","any","any",10,"crate_military"],
["any","any","any","any",20,"crate_supply_items"],
["any","any","any","any",30,"crash_spawner"],
["any","any","any","any",40,"crate_construction"],
["any","any","any","any",50,"supply_drop"]
];

 

dayz_fullMoonNights = true;

 

diag_log text "Init.sqf Start call compiles.";

 

//Load in compiled functions
call compile preprocessFileLineNumbers "init\variables.sqf";    //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";    //Initilize the publicVariable event handlers



Next is the mission.sqm, now this is going to be where you place the leader of the bloodsuckers, you have to have a leader or they will not spawn. It is best to place him in an out of the way location not likely to be discoverd by players. I placed mine on Hacker Island in the Chernarus map, and the coordinates listed below will place the leader there if you are using a chernarus map. You will be adding this to the end of the Class Groups section of the mission.sqm. MAKE SURE YOU INCREASE THE ITEM NUMBER OF THE CLASS GROUP BY 1, so right under where it says Class Groups it will say items=3; (or more if you have previously added more groups to this section) change it to items=4;. At the bottom of the Class Groups you will add this:

class Item3


  {
   side="West";
   class Vehicles
   {
    items=1;
    class Item0
    {
     position[]={23973.1,0.000656128,-5.40161};
     id=52;
     side="West";
     vehicle="ns_bloodsucker";
     leader=1;
     skill=0.60000002;
     text="sefik";
     init="this allowDamage false;";
    };
   };
  };
 };

 

The last }; is carried over from the previous class group to end the command, so make sure that your class item 2 only has 3 }; at the end of it and that class item 3 has 4 }; at the end of it. I set the side of the class group to West, even though players are considered West side the bloodsuckers will still attack, the reason why I did not set the bloodsuckers to east is because if you do it will cause problems with the AI, for some reason the AI in the DZMS will no longer attack you if you have bloodsuckers set to east side, I have no idea why. The problem with having bloodsuckers set to West side is that when you shoot them you're going to get a Cease Fire, Check your fire message, they'll still work perfectly, but I have not as of yet been able to figure out how to remove that message when shooting them.

Next you need to have a custom building_spawnZombies.sqf. You can pull it out of your DayZ_Code pbo or simply copy and paste mine:

 

private ["_obj","_type","_config","_canLoot","_unitTypes","_min","_max","_num","_zombieChance","_rnd","_position","_positions","_iPos","_nearBy","_noOneNear"];
//_t1 = diag_tickTime;

 

if (dayz_maxCurrentZeds > dayz_maxZeds) exitwith {};
if (dayz_CurrentZombies > dayz_maxGlobalZombies) exitwith {};
if (dayz_spawnZombies > dayz_maxLocalZombies) exitwith {};

 

_obj = _this select 0;
_type =   typeOf _obj;
_config =   configFile >> "CfgBuildingLoot" >> _type;
if (DZE_MissionLootTable) then {
 _config = missionConfigFile >> "CfgBuildingLoot" >> _type;
};
_canLoot =   isClass (_config);

 

if (_canLoot) then {
 
 //Get zombie class
 _zombieChance = getNumber (_config >> "zombieChance");
 _rnd = random 1;

 

 //Get zombie class
 _unitTypes =  getArray (_config >> "zombieClass");
 _min =    getNumber (_config >> "minRoaming");
 _max =    getNumber (_config >> "maxRoaming");
 
 //Walking Zombies
 _num = (round(random _max)) max _min;
 
 _position = getPosATL _obj;  
  
 _noOneNear = (count (_position nearEntities ["CAManBase",30])) == 0;
 
 if (_noOneNear) then {
 
  _positions = getArray (_config >> "lootPosZombie");
  
  if (count _positions > 0) then {
   
   {
    if (random 1 < _zombieChance) then {
     _iPos = _obj modelToWorld _x;
     _nearBy =  count (_iPos nearEntities ["zZombie_Base",1]) > 0;
     if (!_nearBy) then {
      [_iPos,true,_unitTypes] call zombie_generate;
     };
    };
   } count _positions;
   
  } else {

 

   for "_i" from 1 to _num do
   {
    if (random 1 < _zombieChance) then {
     [_position,true,_unitTypes] call zombie_generate;
    };
   };
  };
 };

 

   //Add bloodsuckers
 if ((_type == "Land_bspawn" || _type == "Land_a_Stationhouse" || _type == "Land_Church_02a" || _type == "Land_Church_02" || _type == "Land_Church_03" || _type == "Land_Church_01" || _type == "Land_Hlidac_budka" || _type == "Land_kulna" || _type == "Land_Mil_Barracks_i") && dzn_ns_bloodsucker && ((random 400) < dzn_ns_bloodsucker_den)) then {
  private["_content", "_originalPos"];
  _rnd = random 1;
  if (_rnd < 0.18562) then {
   _content = "this addweapon 'mut_heart'";
  } else {
   _content = "";
  };
  _originalPos = getPos _obj;
  "ns_bloodsucker" createUnit [[(_originalPos select 0) + (random 60), (_originalPos select 1) - (random 60), 0], group sefik, _content, 1, "CORPORAL"];
 };                                                                                                                                              

 

 dayz_buildingMonitor set [count dayz_buildingMonitor,_obj];
};



Here is what you need to know about spawning bloodsuckers, they will spawn on buildings only, however they will not spawn on all building types, only certain ones for reasons I do not know. The listed buildings above all work just fine. I also added a small chance for a mutant heart to be dropped, if a player has a mutant heart in their inventory the bloodsuckers will not attack them. REMEMBER THIS for when you are testing them on your server, I spent half a day trying to figure out why the bloodsuckers would attack me on my test server but not on my main server only to realise I had a mutant heart in my inventory on my main server, as soon as I removed it they came at me with a vengeance.

Place the building_spawnZombies.sqf in a directory below the init.sqf, for instance mine is in a custom folder. Last thing you need to do is point your custom compiles at the building_spawnZombies.sqf. So go into your compiles.sqf and change your building_spawnZombies to this:

building_spawnZombies =   compile preprocessFileLineNumbers "custom\building_spawnZombies.sqf";

That's it, pack it all up and you're good to go. This concept would apply to ANY map, not just Namalsk or Chernarus. Again for proof of concept you can join my main server and see for yourself, go hang around the fire station and church in Elecktro, won't be long before you hear the classic growls of a bloodsucker coming for you.

One last thing, make sure you are using the latest version of infistar on your server or the bloodsuckers will not decloak. You will need to have your launch parameters changed, for instance mine are:

@DayZ_Namalsk;@DayzOverwatch

In the expansions tab of your Dayz Main Menu make sure that Namalsk Crisis is listed above Overwatch, and that Overwatch is listed above Epoch.

 

Here is the download link for Namalsk Crisis:

http://www.armaholic...ge.php?id=14194

Choose the second FTP download link at the very bottom.

Good luck!

 

Link to comment
Share on other sites

Shame you need the extra mod to have this :/

Agreed, but again most people who have played my server agreed that it was worth it and thought adding the extra launch parameter after downloading NC wasn't that bothersome. The key for getting new players to join is about advertising. I'm currently working on a video for my server that I hope will light a fire under people who really don't know much about NC to download it and give it a go.

Link to comment
Share on other sites

  • 1 month later...

Namoverpoch? This is cool, thanks for putting it all together and releasing it.

I called it Overpoch Crisis :p. I took down my Overpoch Crisis server as there simply wasn't anyone joining, with the exception of a few players who would join and then get kicked for being global banned. I don't think enough people know about Namalsk Crisis to download it, and even if they do a majority of your average players are too incompetent to get it all together correctly to join. I'm going to get it back up again after I am done customizing my regular Overpoch server. Anyway, if you need any help just let me know!

Link to comment
Share on other sites

  • 3 weeks later...

Got this working on OverPoch Origins, To stop the spam when shooting them change the

Side = "West";

to Side = "East";

Like so

class Item2 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={23973.1,0.000656128,-5.40161}; id=52; side="EAST"; vehicle="ns_bloodsucker"; leader=1; skill=0.60000002; text="sefik"; init="this allowDamage false;"; }; }; };

Link to comment
Share on other sites

Got this working... blood suckers spawn in and all but they are cloaked and do not cause damage   :(

 

Any suggestions? I think it may be related to infistar. 

 

I CAN kill them tho... and give them coins  lol

 

After testing, infistar is not the problem. I can get them spawning using the custom compile zombie call and lines of code in init. I can also get bloodsuckers to spawn from DZAI. Using DZAI, bloodsuckers spawn cloaked and invincible. Using regular bloodsucker spawn methods, they spawn cloaked, they cannot inflict damage, and CAN be killed. 

 

I'm thinking the cloak issue could be related to the ns_mutants.pbo in the @namalsk add on files. 

 

Has ANYONE truly gotten bloodsuckers to spawn in Overpoch Namalsk, uncloaked, able to do damage, and also able to be killed?? Beginning to think this is not possible on Namalsk Overpoch. 

Link to comment
Share on other sites

^^ Yup, I had OverPoch Origins and they worked brilliantly.

Vibe. I am running overpoch Namalsk without the origin addon. Will it work without Origins?

As I said, I can get them to spawn in using multiple different methods. I can get them to spawn in using this forum's method and through DZAI, no problem. Roar occurs, you can see them chasing you, can see they are there yet... Can't actually see the bloodsuckers. They are cloaked.

I guess the question is... How the hell do you uncloak them???

Link to comment
Share on other sites

  • 6 months later...

We have the same thing on one server.

 

Warning Message: mpmissions\DayZ_Epoch_26.sauerland_winter\mission.sqm/Mission/Groups/Item2/Vehicles/Item0.vehicle: Vehicle class ns_bloodsucker no longer exists
Type ns_bloodsucker is not VehicleType

 

However it runs perfectly fine on another... All coding appears do be the same ... on both.

Link to comment
Share on other sites

  • 2 weeks later...

Hey there,
 
hope someone can help us here.

 

We have done everything step by step as explained above but to no avail.

 

There are no bloodsuckers there as well as there is no bloodsucker boss on the designated position (we took for this a player worldspace from the database)

 

Never mind ...it's working now.

Link to comment
Share on other sites

  • 1 month later...

At somebody else, it works on Cherno? All has made under the instruction, in Infistar has appeared skin bloodsucker and zombie Namalsk, heart of the mutant and APSI was added, and itself bloodsucker doesn't appear. In what there can be the problem?

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...