TorturedChunk
Valued Member!
HALO JUMP SPAWN TUTORIAL
I give all credits of the originals scripts to the following:
Unkinhead,Hangender, VentZero, (1.7.7.1 fix : [GSG] Az)
Modified by: TorturedChunk
There were some issues with the other scripts that I had fixes for and wanted to make a clean post for people to easily install this. Both options are for CHERNARUS ONLY. If you want to take this and make it work for you on another map, go for it
CHERNARUS ONLY!
- Working Halo Jump for New and Re-Spawning players
- 2 Options for the actual Halo Script (#1 using internal ARMA 2:OA Halo Scripts, #2 Using the fn_HALO.sqf)
- You can choose Either Method. Do not use both. Choose whichever one is easiest for you to install.
- Both methods fix the saving issue for all players and vehicles.
- FIX FOR 1.7.7.1 is UNDER OPTION #2 but should work for both versions. Thanks to [GSG] Az for the fix.
OPTION #1
This uses the ARMA 2: OA Interal HALO Jump scripts. Requires Modification to BE filters and some server cleanup stuff. IMPO this method uses a cleaner HALO script.
Server Changes
1. dayz_server.pbo>>complie>>server_playerSetup.sqf
Find:
Code:
dayzPlayerLogin2 = [_worldspace,_state];
Change to:
Code:
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
2. dayz_server.pbo>>compile>>server_updateObject.sqf
Find:
Code:
if (!_parachuteWest) then {
if (_objectID == "0" && _uid == "0") then
{
_object_position = getPosATL _object;
diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",
typeOf _object,
_object_position select 0,
_object_position select 1,
_object_position select 2]);
_isNotOk = true;
};
};
Change to (Comment Out):
Code:
/*
if (!_parachuteWest) then {
if (_objectID == "0" && _uid == "0") then
{
_object_position = getPosATL _object;
diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",
typeOf _object,
_object_position select 0,
_object_position select 1,
_object_position select 2]);
_isNotOk = true;
};
};
*/
3. dayz_server.pbo>>system>>server_cleanup.fsm
Find:
Code:
"Check for hackers" \n
" {" \n
" if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n
" diag_log (""CLEANUP: KILLING A HACKER "" + (name _x) + "" "" + str(_x) + "" IN "" + (typeOf vehicle _x));" \n
" (vehicle _x) setDamage 1;" \n
" _x setDamage 1;" \n
" };" \n
" } forEach allUnits;" \n
Change to (Comment Out):
Code:
"Check for hackers" \n
"// {" \n
"// if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n
"// diag_log (""CLEANUP: KILLING A HACKER "" + (name _x) + "" "" + str(_x) + "" IN "" + (typeOf vehicle _x));" \n
"// (vehicle _x) setDamage 1;" \n
"// _x setDamage 1;" \n
"// };" \n
"// } forEach allUnits;" \n
Mission Changes
1. dayz_X.chernarus>>init.sqf
(X represents your instance ID)
At the VERY bottom ADD:
Code:
MC_BIS_halo_spawn = compile preprocessFileLineNumbers "fixes\haloInit.sqf";
private["_mkr"];
_mkr = "spawn" + str(round(random 4));
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
{
_pos = position player;
_mkr setMarkerPos [_pos select 0, _pos select 1];
player spawn MC_BIS_halo_spawn;
};
};
};
2. dayz_X.chernarus>>inti.sqf
(X represents your instance ID)
Find:
Code:
_playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
Change to:
Code:
_playerMonitor = [] execFSM "fixes\player_monitor.fsm";
BE Fixes
1. dayz_X.chernarus>>Battleye>>creatvehicle.txt
(X representing your instance ID)
Find:
Code:
5 "Parachute" !="ParachuteWest"//under monitoring
Change t0:
Code:
5 "Parachute" !="ParachuteWest" !"ParachuteEast" !"ParachuteG" !"ParachuteC"//under monitoring
Anti Hack Fixes
1. UnPBO (UnPack) " dayz_code.pbo"
Find: player_monitor.fsm in " dayz_code\system "
Copy that file (player_monitor.fsm) to " dayz_X.chernarus>>fixes "
(X represents your instance ID)
2. dayz_X.chernarus>>fixes>>player_monitor.fsm
(X represents your instance ID)
Find:
Code:
"[] execVM ""\z\addons\dayz_code\system\antihack.sqf"";" \n
Change to (Comment Out):
Code:
"// "[] execVM ""\z\addons\dayz_code\system\antihack.sqf"";" \n
Pack your mission and enjoy.