general problems with all scripts using fn_selfactions.sqf

Fuggu

New Member
Hey guys...

so every time i want to install a script that uses a fn_selfaction.sqf reference of sorts i end up screwing up my server royally..

So I guess i make a really fundamental mistake installing scripts that change anything in the compiles or use a fn_selfaction..

So i have a ton of questions.. as a reference to explain what im doing (and might be doing wrong) i will use krixes self bloodbag script (since i seem to be the only one who can't get it to work)

First of all... the general Basics of my server..

I am running an Epoch 1.0.2.4 Server
Host is vilayer


Now I hope, this is where i already make the mistake...

Krixes i asking to do this:

Installation Instructions For new dayz_mission.pbo:
Open your dayz_mission.pbo and find init.sqf

add this just before progressLoadingScreen 1.0;
Code:
call compile preprocessFileLineNumbers "Scripts\compiles.sqf"; //Compile custom compiles
But how would this look like?

like this?
Code:
//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\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
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";    //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";                //Compile regular functions
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";                //Compile trader configs
call compile preprocessFileLineNumbers "Scripts\compiles.sqf"; //Compile custom compiles
progressLoadingScreen 1.0;
or rather like this?
Code:
//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\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
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";    //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";                //Compile regular functions
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";                //Compile trader configs
progressLoadingScreen 0.9;
call compile preprocessFileLineNumbers "Scripts\compiles.sqf"; //Compile custom compiles
progressLoadingScreen 1.0;
then again other scripts ask to put it in like this:
Code:
//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\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
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";    //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";                //Compile regular functions
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";                //Compile trader configs
progressLoadingScreen 1.0;
call compile preprocessFileLineNumbers "Scripts\compiles.sqf"; //Compile custom compiles
The next big questionmark in my head is the actual fn_selfActions.sqf

Is there a fn_selfActions.sqf File on a fresh Epoch installation or is it always a custom made File that is implemented latert? Because i've spent hours digging through the files on my server without finding anything. (the mission.pbo is unpacked already with my provider)

What fundamental thing am i doing wrong?
So far, the outcomes of this were:
-traders not working
-Safes not accessible
-nobody able to connect to the server

Hope i can get this issue solved... since there are so many things i want to add, but I'm just too afraid to screw up my server(again)

Cheers
 

Fr1nk

Valued Member!
fn_selfActions.sqf and compiles.sqf are both found in the dayz_code.pbo sitting on your computer, not the mission or server pbo files.

For easy reference, find them here (and all other latest Epoch files):
https://github.com/vbawol/DayZ-Epoch/blob/master/SQF/dayz_code/compile/fn_selfActions.sqf
https://github.com/vbawol/DayZ-Epoch/blob/master/SQF/dayz_code/init/compiles.sqf

Will assume that all custom files will be saved to the 'custom' folder. The actual folder location is:
File Manager > \vilayercodecustom\missions\epoch.chernarus\custom\

First, we need to change a few lines so that your custom fn_selfActions.sqf and compiles.sqf are loaded.

1) Edit your init.sqf

Code:
...
//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\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
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";//Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "custom\compiles.sqf";//Compile regular functions
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";//Compile trader configs
progressLoadingScreen 1.0;
...
2) Edit your compiles.sqf

Replace
Code:
fnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf"; //Checks which actions for self
With:
Code:
fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf"; //Checks which actions for self
3) Edit your fn_selfActions.sqf with changes as outlined in self-bloodbag instructions
4) Upload fn_selfActions.sqf and compiles.sqf to: \vilayercodecustom\missions\epoch.chernarus\custom\
5) Upload updated init.sqf to: \vilayercodecustom\missions\epoch.chernarus\
5) Restart server

That should be it, don't think I forgot anything..
 

Fuggu

New Member
I will try that tonight...

I hope, this will solve my issues.. but it looks like this is exactly the explanation i needed .. a lot of "aaaah's" and "ooh"s" were heard from me while reading your post....
 
I had the same problem. Apparently I was using the wrong selfActions file. I used the one from DayZ and not Epoch. Hope this helps.
 

deadlokd

Well-Known Member
good job Frink. glad to see ppl still helping others out.. keep it up.. if anyone needs help feel free to contact me as well.
 
Top