Jump to content
  • 0

Adding missions [HELP]


Playitboy

Question

Hello friends

 

After reading up and following step by step on http://opendayz.net/threads/release-dayzchernarus-mission-system.12169/. I seem to have run into a dead end....

 

At first when trying to do this I messed up, forcing my server to not load character data...

 

So i tried again.

 

After the third time i thought i got it... My mission.pbo went up about 78k (so i know that the stuff i added actually went through). Repacked it into my server and it runs great...

 

The only problem is that although i copied all the data perfectly, the missions do not spawn...

 

What step could i have gotten wrong? Or is there an updated version or some help someone could give me?

 

All the help i can get will be great!!! 

 

Thanks!!!

 

Link to comment
Share on other sites

Recommended Posts

  • 0

Wait, your mission.pbo went up 78k? The "Missions" folder from the addon is supposed to go in your dayz_server.pbo (found in the @DayZ_Epoch\Addons directory on your server). The only things that go in your mission file are the "Debug" folder and the factions script if you don't have Sarge AI.

 

If there are still problems, look through your server's arma2oaserver.rpt log.

Link to comment
Share on other sites

  • 0

Thanks for replying. and yes, I meant to say that the server.pbo went up 78k. Do i need to change the name of the mission file they gave me? because right now it is named "DayZ-mission-master" as default. Does that mean anything? or should i leave it like that. Both the Debug folder and he faction.sqf are in the DayZ-mission-master folder

 

Thanks

Link to comment
Share on other sites

  • 0

We changed that but still get stuck at waiting for authentication.... I believe the core of the problem now is in the server_updateobjects.sqf. We do not have

#ifdef OBJECT_DEBUG
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
#endif
    //force fail
    _objectID = "0";
    _uid = "0";
};

So I instead tried inserting this: if (_object getVariable "Mission" == 1) exitWith {};

 

After this:

 

if ((typeName _objectID != "string") || (typeName _uid != "string")) then
{
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
    //force fail
    _objectID = "0";
    _uid = "0";
};
 

Link to comment
Share on other sites

  • 0

Here's how I did mine, seems to work fine:

 
if ((typeName _objectID != "string") || (typeName _uid != "string")) then
{ 
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
    //force fail
    _objectID = "0";
    _uid = "0";
};
 
if (_object getVariable "Mission" == 1) exitWith {};
 
if (!_parachuteWest and !(locked _object)) then {
if (_objectID == "0" && _uid == "0") then
{
_object_position = getPosATL _object;
     _isNotOk = true;
};
};
Link to comment
Share on other sites

  • 0

Okay, so that part I am doing correct if that is working for you... I did find something interesting though. In my server_cleanup.fsm I do not have this line:

if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

Instead mine looks like this:

if(vehicle _x != _x && !(vehicle _x in _safety) && (isPlayer _x)  && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

 

 

Can I still simply replace mine with:

if(vehicle _x != _x && (vehicle _x getVariable [""Mission"",0] != 1) && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

Or could that be the reason I am getting stuck at "waiting for authentication"?

Link to comment
Share on other sites

  • 0

This is how mine is:

" if(vehicle _x != _x && !(vehicle _x in _safety) && (isPlayer _x) && (typeOf vehicle _x) != ""ParachuteWest"" && ((vehicle _x getVariable [""Sarge"",0] != 1) && (vehicle _x getVariable [""DZAI"",0] != 1) && (vehicle _x getVariable [""Mission"",0] != 1))) then {" \n

Edits for DZAI, Mission System, and animated crashes. No issues with it that I can see...can connect fine, things don't go poof when they shouldn't...but I did put it together late last night and didn't get around to testing very much.

Link to comment
Share on other sites

  • 0

open server_functions.sqf with Notepad++

 

At exacly line 30:

add

fnc_hTime = compile preprocessFile "\z\addons\dayz_server\Missions\misc\fnc_hTime.sqf"; //Random integer selector for mission wait time

Should work.

 

Should look something like this

 

Line28 ---> fnc_plyrHit   = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
Line29 ---> server_deaths =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
Line30 ---> fnc_hTime = compile preprocessFile "\z\addons\dayz_server\Missions\misc\fnc_hTime.sqf"; //Random integer selector for mission wait time
Link to comment
Share on other sites

  • 0

Read:

In order to not let BEC kick the hell out of you when you loot some of the weapons these AI Missions drop, you will need to update your BE filters with the files that you will find in the zip file @ step 1.

I do not know how to update the BE filters correctly, since my server has the option to update these filters with a simple click on the button ;) So if someone can give some info about updating these filters, i'll add it in this post.

 

 

 

 

Download PBO Manager

For this tutorial you will need a program called PBO manager, download here: http://www.armaholic.com/page.php?id=16369

 

 

Step 1.

- Download the mission script:

https://github.com/lazyink/DayZ-Missions/archive/master.zip

 

Step 2.

Unpack the mission script and you will see these folders and files:

 

FOLDER: BE Filters

FOLDER: debug

FOLDER: Missions

FILE: faction.sqf

 

Step 3.

Download dayz_server.PBO from your server root addons folder (@DayZ_Epoch_Server/addons/dayz_server.PBO) MAKE A BACKUP OF THIS FILE!!

 

Step 4.

Open it with PBO Manager, click the + sign, and copy the FOLDER: Missions from the .zip file you downloaded at step 1. Do not close the PBO file yet!!!

 

Step 5.

Still in the PBO file: Open up the folder called "init", and drag the file called "server_functions.sqf" out of the PBO file.

 

Step 6.

Edit the "server_functions.sqf" file, and find this line:

fnc_plyrHit   = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";

Add this line directly below it:

fnc_hTime = compile preprocessFile "\z\addons\dayz_server\Missions\misc\fnc_hTime.sqf";

Then find this in the same file:

dayz_recordLogin = {
	private["_key"];
	_key = format["CHILD:103:%1:%2:%3:",_this select 0,_this select 1,_this select 2];
	_key call server_hiveWrite;
};

And add this directly below it:

//----------InitMissions--------//
  MissionGo = 0;
  MissionGoMinor = 0;
    if (isServer) then {
  SMarray = ["SM1","SM2","SM3","SM4","SM5","SM6"];
    [] execVM "\z\addons\dayz_server\missions\major\SMfinder.sqf"; //Starts major mission system
    SMarray2 = ["SM1","SM2","SM3","SM4","SM5","SM6"];
    [] execVM "\z\addons\dayz_server\missions\minor\SMfinder.sqf"; //Starts minor mission system
    };
    //---------EndInitMissions------//

Step 7.

Save the "server_functions.sqf" file, and drag it back to where it was in the PBO file (/init/)

 

Step 8.

Still in the PBO file, open up the folder called "Compile", and drag the file called "server_updateObject.sqf" out of it.

 

Step9.

Edit the server_updateObject.sqf and find this:

if ((typeName _objectID != "string") || (typeName _uid != "string")) then
{ 
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
    //force fail
    _objectID = "0";
    _uid = "0";
};

Add this line Directly below it:

if (_object getVariable "Mission" == 1) exitWith {};

Step 9.

Save the "server_updateObject.sqf" file, and drag it back to where it was in the PBO file (/compile/)

 

Step 10.

Still in the PBO file, open up the folder called "system" and drag the file called "server_cleanup.fsm" out of it

 

Step 11.

Edit the file "server_cleanup.fsm" and look for this:

if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

Replace it with this:

if(vehicle _x != _x && (vehicle _x getVariable [""Mission"",0] != 1) && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

Step 12.

Save the "server_cleanup.fsm" and drag it back where it was in the PBO file (/system/)

 

Step 13. ( YOU ALREADY HAVE THE BACKUP?? @ Step 1)

Save the dayz_server.pbo file, and overwrite it with the one on your server

 

Step 14.

Go to the MPMissions folder on your server and look for the map you are playing on (NOTE: I only tested this script with chernarus!!) so for me it would be the folder called "epoch.chernarus".

Note: I'm not sure about if this folder is extracted on your server, or whether it's in an .PBO file, can someone back me up on this???

 

Step 15.

Copy the FOLDER: debug from the zip file at step 1. to the epoch.chernarus (or the map you're playing) folder.

 

Step 16.

Copy the FILE: faction.sqf from the zip file at step 1. into the same folder as where you have put the debug folder.

 

Step 17.

Edit the file called "init.sqf" in the same folder as were you copied the faction.sqf from step 16, and look for this (somewhere at the bottom)

#include "\z\addons\dayz_code\system\REsec.sqf"

add this line directly below it:

[] execVM "faction.sqf";

That should be it... I hope it's a bit more clear now for those who couldn't make something out of the other tutorial. If not, i've wasted my time :D

Link to comment
Share on other sites

  • 0

 

open server_functions.sqf with Notepad++

 

At exacly line 30:

add

fnc_hTime = compile preprocessFile "\z\addons\dayz_server\Missions\misc\fnc_hTime.sqf"; //Random integer selector for mission wait time

Should work.

 

Should look something like this

Line28 ---> fnc_plyrHit   = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
Line29 ---> server_deaths =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
Line30 ---> fnc_hTime = compile preprocessFile "\z\addons\dayz_server\Missions\misc\fnc_hTime.sqf"; //Random integer selector for mission wait time

Here is your problem man..

Link to comment
Share on other sites

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
×
×
  • Create New...