Krixes - Self Bloodbag Script

My init.sqf looks like this, where am i ment to put the compile code

startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//Server Settings
dayZ_instance = 22964; // The instance
//dayZ_serverName = "UK1337"; // Servername (country code + server number)
dayz_antihack = 0; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 0; // DayZ RE Security / 1 = enabled // 0 = disabled

//Game Settings
dayz_spawnselection = 0; // DayZ Spawnselection / 1 = enabled // 0 = disabled, No current spawn limits.
dayz_spawnCrashSite_clutterCutter = 0; // Helicrash Settings / 0 = loot hidden in grass // 1 = loot lifted // 2 = no grass around the Helicrash
dayz_spawnInfectedSite_clutterCutter = 0; // Infected Base Settings / 0 = loot hidden in grass // 1 = loot lifted // 2 = no grass around the infected base

[] execVM "Scripts\kh_actions.sqf";


#include "\z\addons\dayz_code\system\mission\init.sqf"
 
at the bottom you see that the rest of it is loaded in from another file.
Just follow the path and find what are you looking for ;)
 
My init.sqf looks like this, where am i ment to put the compile code

startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//Server Settings
dayZ_instance = 22964; // The instance
//dayZ_serverName = "UK1337"; // Servername (country code + server number)
dayz_antihack = 0; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 0; // DayZ RE Security / 1 = enabled // 0 = disabled

//Game Settings
dayz_spawnselection = 0; // DayZ Spawnselection / 1 = enabled // 0 = disabled, No current spawn limits.
dayz_spawnCrashSite_clutterCutter = 0; // Helicrash Settings / 0 = loot hidden in grass // 1 = loot lifted // 2 = no grass around the Helicrash
dayz_spawnInfectedSite_clutterCutter = 0; // Infected Base Settings / 0 = loot hidden in grass // 1 = loot lifted // 2 = no grass around the infected base

[] execVM "Scripts\kh_actions.sqf";


#include "\z\addons\dayz_code\system\mission\init.sqf"


Here's what my init.sqf looks like:
Code:
startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//Server Settings
dayZ_instance = 1; // The instance
dayZ_serverName = ""; // Servername (country code + server number)
dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled
//enableRadio false;

//Game Settings
dayz_spawnselection = 1; // DayZ Spawnselection / 1 = enabled // 0 = disabled, No current spawn limits.
dayz_spawnCrashSite_clutterCutter = 2; // Helicrash Settings / 0 =  loot hidden in grass // 1 = loot lifted // 2 = no grass around the Helicrash
dayz_spawnInfectedSite_clutterCutter = 0; // Infected Base Settings / 0 =  loot hidden in grass // 1 = loot lifted // 2 = no grass around the infected base

//MERGED FROM DAYZ_CODE
initialized = false;
dayzHiveRequest = [];
dayz_previousID = 0;
0 fadeSound 0;
//disable greeting menu
player setVariable ["BIS_noCoreConversations", true];
//disable radio messages to be heard and shown in the left lower corner of the screen
enableRadio false;

//Load in compiled functions
call compile preprocessFileLineNumbers "custom\variables.sqf";                    //INITIALIZE THE CUSTOM VARIABLES
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "custom\publicEH.sqf";                    //INITIALIZE THE PUBLIC VARIABLE E-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 CUSTOM COMPILES
fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";        //LOAD CUSTOM SELF ACTIONS FILE
progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

[] spawn {
    while {true} do {
        waitUntil {((isNil "BIS_Effects_Rifle") OR {(count(toArray(str(BIS_Effects_Rifle)))!=7)})};
        diag_log "Res3tting B!S effects...";
        /* BIS_Effects_* fixes from Dwarden */
        BIS_Effects_EH_Killed = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\killed.sqf";
        BIS_Effects_AirDestruction = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\AirDestruction.sqf";
        BIS_Effects_AirDestructionStage2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\AirDestructionStage2.sqf";

        BIS_Effects_globalEvent = {
            BIS_effects_gepv = _this;
            publicVariable "BIS_effects_gepv";
            _this call BIS_Effects_startEvent;
        };

        BIS_Effects_startEvent = {
            switch (_this select 0) do {
                case "AirDestruction": {
                        [_this select 1] spawn BIS_Effects_AirDestruction;
                };
                case "AirDestructionStage2": {
                        [_this select 1, _this select 2, _this select 3] spawn BIS_Effects_AirDestructionStage2;
                };
                case "Burn": {
                        [_this select 1, _this select 2, _this select 3, false, true] spawn BIS_Effects_Burn;
                };
            };
        };

        "BIS_effects_gepv" addPublicVariableEventHandler {
            (_this select 1) call BIS_Effects_startEvent;
        };

        BIS_Effects_EH_Fired = {false};
        BIS_Effects_Rifle = {false};
        sleep 1;
    };
};

if ((!isServer) && (isNull player) ) then
{
    waitUntil {!isNull player};
    waitUntil {time > 3};
};

if ((!isServer) && (player != player)) then
{
    waitUntil {player == player};
    waitUntil {time > 3};
};

if (isServer) then {
    _serverMonitor = [] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
    "PVDZ_sec_atp" addPublicVariableEventHandler {
        _x = _this select 1;
        if (typeName _x == "STRING") then {
            diag_log _x;
        }
        else {
            _unit = _x select 0;
            _source = _x select 1;
            if (((!(isNil {_source})) AND {(!(isNull _source))}) AND {((_source isKindOf "CAManBase") AND {(owner _unit != owner _source)})}) then {
                diag_log format ["P1ayer %1 hit by %2 %3 from %4 meters",
                    _unit call fa_plr2Str,  _source call fa_plr2Str, _x select 2, _x select 3];
                if (_unit getVariable["processedDeath", 0] == 0) then {
                    _unit setVariable [ "attacker", name _source ];
                    _unit setVariable [ "noatlf4", diag_ticktime ]; // server-side "not in combat" test, if player is not already dead
                };
            };
        };
    };
};

if (!isDedicated) then {
    //Conduct map operations
    waitUntil {!isNil "dayz_loadScreenMsg"};
    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

    //Run the player monitor
    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    _playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
    if (dayz_antihack == 1) then {
    [] execVM "\z\addons\dayz_code\system\antihack.sqf";
    };

    #include "gcam\gcam_config.hpp"
    #include "gcam\gcam_functions.sqf"

    #ifdef GCAM
        waitUntil { alive Player };
        waituntil { !(IsNull (findDisplay 46)) };

        if (serverCommandAvailable "#kick") then { (findDisplay 46) displayAddEventHandler ["keyDown", "_this call fnc_keyDown"]; };
    #endif
};

// Logo watermark: adding a logo in the bottom left corner of the screen with the server name in it
if (!isNil "dayZ_serverName") then {
    [] spawn {
        waitUntil {(!isNull Player) and (alive Player) and (player == player)};
        waituntil {!(isNull (findDisplay 46))};
        5 cutRsc ["wm_disp","PLAIN"];
        ((uiNamespace getVariable "wm_disp") displayCtrl 1) ctrlSetText dayZ_serverName;
    };
};

if (dayz_REsec == 1) then {
#include "\z\addons\dayz_code\system\REsec.sqf"
};
 
Here's what my init.sqf looks like:
Code:
startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//Server Settings
dayZ_instance = 1; // The instance
dayZ_serverName = ""; // Servername (country code + server number)
dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled
//enableRadio false;

//Game Settings
dayz_spawnselection = 1; // DayZ Spawnselection / 1 = enabled // 0 = disabled, No current spawn limits.
dayz_spawnCrashSite_clutterCutter = 2; // Helicrash Settings / 0 =  loot hidden in grass // 1 = loot lifted // 2 = no grass around the Helicrash
dayz_spawnInfectedSite_clutterCutter = 0; // Infected Base Settings / 0 =  loot hidden in grass // 1 = loot lifted // 2 = no grass around the infected base

//MERGED FROM DAYZ_CODE
initialized = false;
dayzHiveRequest = [];
dayz_previousID = 0;
0 fadeSound 0;
//disable greeting menu
player setVariable ["BIS_noCoreConversations", true];
//disable radio messages to be heard and shown in the left lower corner of the screen
enableRadio false;

//Load in compiled functions
call compile preprocessFileLineNumbers "custom\variables.sqf";                    //INITIALIZE THE CUSTOM VARIABLES
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "custom\publicEH.sqf";                    //INITIALIZE THE PUBLIC VARIABLE E-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 CUSTOM COMPILES
fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";        //LOAD CUSTOM SELF ACTIONS FILE
progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

[] spawn {
    while {true} do {
        waitUntil {((isNil "BIS_Effects_Rifle") OR {(count(toArray(str(BIS_Effects_Rifle)))!=7)})};
        diag_log "Res3tting B!S effects...";
        /* BIS_Effects_* fixes from Dwarden */
        BIS_Effects_EH_Killed = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\killed.sqf";
        BIS_Effects_AirDestruction = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\AirDestruction.sqf";
        BIS_Effects_AirDestructionStage2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\AirDestructionStage2.sqf";

        BIS_Effects_globalEvent = {
            BIS_effects_gepv = _this;
            publicVariable "BIS_effects_gepv";
            _this call BIS_Effects_startEvent;
        };

        BIS_Effects_startEvent = {
            switch (_this select 0) do {
                case "AirDestruction": {
                        [_this select 1] spawn BIS_Effects_AirDestruction;
                };
                case "AirDestructionStage2": {
                        [_this select 1, _this select 2, _this select 3] spawn BIS_Effects_AirDestructionStage2;
                };
                case "Burn": {
                        [_this select 1, _this select 2, _this select 3, false, true] spawn BIS_Effects_Burn;
                };
            };
        };

        "BIS_effects_gepv" addPublicVariableEventHandler {
            (_this select 1) call BIS_Effects_startEvent;
        };

        BIS_Effects_EH_Fired = {false};
        BIS_Effects_Rifle = {false};
        sleep 1;
    };
};

if ((!isServer) && (isNull player) ) then
{
    waitUntil {!isNull player};
    waitUntil {time > 3};
};

if ((!isServer) && (player != player)) then
{
    waitUntil {player == player};
    waitUntil {time > 3};
};

if (isServer) then {
    _serverMonitor = [] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
    "PVDZ_sec_atp" addPublicVariableEventHandler {
        _x = _this select 1;
        if (typeName _x == "STRING") then {
            diag_log _x;
        }
        else {
            _unit = _x select 0;
            _source = _x select 1;
            if (((!(isNil {_source})) AND {(!(isNull _source))}) AND {((_source isKindOf "CAManBase") AND {(owner _unit != owner _source)})}) then {
                diag_log format ["P1ayer %1 hit by %2 %3 from %4 meters",
                    _unit call fa_plr2Str,  _source call fa_plr2Str, _x select 2, _x select 3];
                if (_unit getVariable["processedDeath", 0] == 0) then {
                    _unit setVariable [ "attacker", name _source ];
                    _unit setVariable [ "noatlf4", diag_ticktime ]; // server-side "not in combat" test, if player is not already dead
                };
            };
        };
    };
};

if (!isDedicated) then {
    //Conduct map operations
    waitUntil {!isNil "dayz_loadScreenMsg"};
    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

    //Run the player monitor
    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    _playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
    if (dayz_antihack == 1) then {
    [] execVM "\z\addons\dayz_code\system\antihack.sqf";
    };

    #include "gcam\gcam_config.hpp"
    #include "gcam\gcam_functions.sqf"

    #ifdef GCAM
        waitUntil { alive Player };
        waituntil { !(IsNull (findDisplay 46)) };

        if (serverCommandAvailable "#kick") then { (findDisplay 46) displayAddEventHandler ["keyDown", "_this call fnc_keyDown"]; };
    #endif
};

// Logo watermark: adding a logo in the bottom left corner of the screen with the server name in it
if (!isNil "dayZ_serverName") then {
    [] spawn {
        waitUntil {(!isNull Player) and (alive Player) and (player == player)};
        waituntil {!(isNull (findDisplay 46))};
        5 cutRsc ["wm_disp","PLAIN"];
        ((uiNamespace getVariable "wm_disp") displayCtrl 1) ctrlSetText dayZ_serverName;
    };
};

if (dayz_REsec == 1) then {
#include "\z\addons\dayz_code\system\REsec.sqf"
};

However, bear in mind, my setup is a little different from everybody elses. Most people on this forum use a [custom] folder, a [fixes] folder, a [scripts] folder, and a slew of other folders. I find this approach messy and confusing. I prefer less clutter, so I am only using (2) folders for my setup; a scripts folder (for all my scripts) and a custom folder (for all my customized dayz_code). If you look at the example I provided, you'll notice that my compiles.sqf, variables.sqf, publicEH.sqf, and fnSelfActions.sqf are all located in my /custom/ folder. Most people typically put these files into a folder called fixes instead. I just wanted to note that -- as my setup is different. Good Luck!
 
Sorry for trying to contribute.

cJiyY.jpg
 
Sorry for trying to contribute.

cJiyY.jpg
Yea sometimes people who say shit like this don't realize that theres nearly 20+ pages in most of these support threads cause they're like a year old. Hell this one is pushing 50...Not everyone has the time to read every single post by every single member. Not to mention more than half of them are people who are complaining about something not working and looking for help. I personally have never seen this fix before so Im grateful you posted it since now Im going to use it.
 
Yea sometimes people who say shit like this don't realize that theres nearly 20+ pages in most of these support threads cause they're like a year old. Hell this one is pushing 50...Not everyone has the time to read every single post by every single member. Not to mention more than half of them are people who are complaining about something not working and looking for help. I personally have never seen this fix before so Im grateful you posted it since now Im going to use it.

im glad i was able to help at least 1 person :)

edit: 2 :p
 
im glad i was able to help at least 1 person :)

edit: 2 :p
alternatively you can make the blood bag right click. This doesn't restrict it to if you have blood below 12000 but it does make less scroll clutter and you're less likely to accidentally the oops and be missing a bloodbag all of a sudden :)
 
alternatively you can make the blood bag right click. This doesn't restrict it to if you have blood below 12000 but it does make less scroll clutter and you're less likely to accidentally the oops and be missing a bloodbag all of a sudden :)
yea I did that before, I just found that a people kept asking me if there was self blood bag and how to do it. I swear if it's not on the scroll wheel people have no idea the feature is even there. lol
 
yea I did that before, I just found that a people kept asking me if there was self blood bag and how to do it. I swear if it's not on the scroll wheel people have no idea the feature is even there. lol
There is that fancy credits thing that you can add :)
 
There is that fancy credits thing that you can add :)
yep, I had that on for awhile too. it was nice and fancy. No one bothered to read it. I could tell because my in game name was dangerruss and I advertised myself as the admin and people had no clue half the time haha. TL;DR people don't read :D
 
yep, I had that on for awhile too. it was nice and fancy. No one bothered to read it. I could tell because my in game name was dangerruss and I advertised myself as the admin and people had no clue half the time haha. TL;DR people don't read :D
I can back that up man. People need to learn what those symbols called letters mean when combined in certain sequences :p
 
just like, on my server when you spawn you're halo jumping and I have an altimeter that also tells you how to pull your parachute. Guess how many people ask, how do I pull my parachute? lol
 
you need to use the epoch fn_selfActions.sqf found in @DayzEpoch\addons\dayz_code.pbo\compile
 
Back
Top