HALO Jumps for dayz

Hey Hangender is it possible to update the code to work with all the skins used on taviana.eu (dayzland.eu version)?

They use quite a bit of different skins.

Thanks.
 
its funny how i didnt got any emails informing me about the thread o_O


do this

player action [ "eject", vehicle player];
sleep 1;
player removeWeapon "ParachuteWest";
sleep 0.1;
player spawn bis_fnc_halo;

no more backseat problems.
 
anyone else having issue with people getting stuck up in the air upon spawn and wont begin to fall unless the parachute is pulled from that height? at first i thought it was fog doing it (seem to only happen when very foggy and when more than 1 on server) and or a part of my ppeffect scripts, but subracting them form the pbo in tests, ive still had the problem. Anyone know what might be the cause?
 
its funny how i didnt got any emails informing me about the thread o_O


do this

player action [ "eject", vehicle player];
sleep 1;
player removeWeapon "ParachuteWest";
sleep 0.1;
player spawn bis_fnc_halo;

no more backseat problems.
do i just replace the code in haloinit.sqf with this one?
 
ok tutorial time!
NOTE: ALL PATHS ARE EXAMPLES, CHANGE THEM ACCORDINGLY TO YOUR MISSIONFILE! MANIPULATION AND BASIC KNOWLEDGE OF THE MISSIONFILE AND SERVER.PBO NEEDED.


add this line to compiles.sqf where all the other compiles are:
Code:
bis_fnc_halo = compile preprocessFileLineNumbers "path_to_this_file_in_your_missionfile\fn_HALO.sqf";


add this line to fn_selfActions.sqf after the 'packing my tent' part:
Code:
    if ( (cursorTarget isKindOf "Air") and (getDammage cursorTarget < 0.95) ) then {
        _vehicle = cursorTarget;
        _HALO_ActionAdded = _vehicle getVariable["HALO_ActionAdded",false];
 
        if( !_HALO_ActionAdded ) then {
            _vehicle setVariable ["HALO_ActionAdded", true];
 
            // HALO Jump
            s_halo_action = _vehicle addAction [("<t color=""#FF9800"">" + ("HALO Jump") + "</t>"),"path_to_this_file_in_your_missionfile\jump.sqf",[],2,false,true,"","(_this in _target) && (getPosATL player select 2) > 10"];
        };
    };


create a file called jump.sqf
Code:
player action [ "eject", vehicle player];
sleep 1;
player removeWeapon "ParachuteWest";
sleep 0.1;
player spawn bis_fnc_halo;
player setvelocity [0,120*0.8,0];
player setdir 0;


download fn_HALO.sqf and place it in your missionfile, edit this line in this file :
Code:
bis_fnc_halo_action = _unit addaction [localize "STR_HALO_OPEN_CHUTE","path_to_this_file_in_your_missionfile\fn_HALO.sqf",[],1,true,true,"Eject"];


open dayz_server.pbo and extract these files :
dayz_server.pbo\compiles\server_updateObject.sqf
dayz_server.pbo\system\server_cleanup.fsm
and replace them with mine (change extention of the server_cleanup.fsm.txt to .fsm !)

change your battleye script.txt and comment-out this:
Code:
1 "BIS_fnc_halo" !"if (isnil 'BIS_fnc_halo"


this should work, it does for me ... flawlessly!
 

Attachments

  • fn_halo.sqf
    12.2 KB · Views: 55
  • server_updateObject.sqf
    2.9 KB · Views: 51
  • server_cleanup.txt
    14.7 KB · Views: 49
@VentZer0 what do you mean by "add this line to compiles.sqf where all the other compiles are:"? I dont have a compiles.sqf but I have a compiles folder with a bunch of different sqfs in it. Im using dayz.st if that helps.

Thanks
 
I'm getting an issue where you spawn in HALO Jumping but you are on the ground, my server was updated to 1.7.6 so idk if it has to do with that but could anyone help me out?

Edit: Also I have regular HALO Jumps working and I have the corrected code to account for different player skins/humanity.
 
Warning, due a mistake made by dayz developers some code needed to be changed (mission.pbo ini.sqf code):

Old code:

Code:
if (!isDedicated) then {
    [] spawn {
        waitUntil { !isNil ("dayzLoginRecord") and  !(player getVariable ["humanity",0] > 5000 and typeOf player == "Survivor2_DZ") and !(player getVariable ["humanity",0] < -2000 and (typeOf player == "Survivor2_DZ" or typeOf player == "SurvivorW2_DZ") ) and !(player getVariable ["humanity",0] > 0 and (typeOf player == "Bandit1_DZ" or typeOf player == "BanditW1_DZ") ) };
 
        if (dayzPlayerLogin2 select 2) then
        {
            [player, 1000] spawn bis_fnc_halo;
        };
    };
};

New code:

Code:
if (!isDedicated) then {
    [] spawn {
        waitUntil { !isNil ("dayz_Totalzedscheck") and  !(player getVariable ["humanity",0] > 5000 and typeOf player == "Survivor2_DZ") and !(player getVariable ["humanity",0] < -2000 and (typeOf player == "Survivor2_DZ" or typeOf player == "SurvivorW2_DZ") ) and !(player getVariable ["humanity",0] > 0 and (typeOf player == "Bandit1_DZ" or typeOf player == "BanditW1_DZ") ) };
 
        if (dayzPlayerLogin2 select 2) then
        {
            [player, 1000] spawn bis_fnc_halo;
        };
    };
};



The mistake is in player_monitor.fsm:

Code:
dayzLoginRecord = [_playerUID,_charID,0];
publicVariable "dayzLoginRecord";

Which should have been:

Code:
dayzLoginRecord = [_playerUID,_charID,0];
publicVariableServer "dayzLoginRecord";

For anyone that is still using dayzLoginRecord - don't.
 
Warning, due a mistake made by dayz developers some code needed to be changed (mission.pbo ini.sqf code):

Old code:

Code:
if (!isDedicated) then {
    [] spawn {
        waitUntil { !isNil ("dayzLoginRecord") and  !(player getVariable ["humanity",0] > 5000 and typeOf player == "Survivor2_DZ") and !(player getVariable ["humanity",0] < -2000 and (typeOf player == "Survivor2_DZ" or typeOf player == "SurvivorW2_DZ") ) and !(player getVariable ["humanity",0] > 0 and (typeOf player == "Bandit1_DZ" or typeOf player == "BanditW1_DZ") ) };
 
        if (dayzPlayerLogin2 select 2) then
        {
            [player, 1000] spawn bis_fnc_halo;
        };
    };
};

New code:

Code:
if (!isDedicated) then {
    [] spawn {
        waitUntil { !isNil ("dayz_Totalzedscheck") and  !(player getVariable ["humanity",0] > 5000 and typeOf player == "Survivor2_DZ") and !(player getVariable ["humanity",0] < -2000 and (typeOf player == "Survivor2_DZ" or typeOf player == "SurvivorW2_DZ") ) and !(player getVariable ["humanity",0] > 0 and (typeOf player == "Bandit1_DZ" or typeOf player == "BanditW1_DZ") ) };
 
        if (dayzPlayerLogin2 select 2) then
        {
            [player, 1000] spawn bis_fnc_halo;
        };
    };
};



The mistake is in player_monitor.fsm:

Code:
dayzLoginRecord = [_playerUID,_charID,0];
publicVariable "dayzLoginRecord";

Which should have been:

Code:
dayzLoginRecord = [_playerUID,_charID,0];
publicVariableServer "dayzLoginRecord";

For anyone that is still using dayzLoginRecord - don't.
You think this would fix my issue where players spawn in HALO Jumping but are on the ground?

And also im using dayz.st and we don't have a server_monitor.fsm so does that part affect me?
 
Back
Top