OK here it is, a working halo spawn for Tavi 2.0. I would first like to say im still a little new to this so if i have done anything here that compromises any antihack or monitoring mods please say so immediately and i will pull this down!
If you go to the halo spawn in the tutorials then you will find the one i followed at the end of the thread in a link describing the new halo spawn tutorials. Like i said, I followed these two options and tweaked my own pbo to get this working.
OK the first step is navigating to the server_playersetup.sqf in the server file that you get from unpacking your PBO. Mine looks like:
dayz_server>compile>server_playerSetup.sqf
(you will open this with your notepad++ or whatever you use)
Around line 200( line 206 for me) you will see this block of code:
You will need to change the dayzPlayerLogin2 = [_worldspace,_state]; to look like this
Now save the file and close it to avoid any mis clicks or unintended character changes.
The next thing you need to do is navigate to dayz_server>compiles>server_updateObject.sqf(again this is what my server folder is named. Yours may be named something else but you will still have the complies>server_updateObject.sqf (If you do not then something is seriously wrong.))
OK now this is one of the steps i fiddled with and finally after hours got the chute to not disappear 20 feet from the ground. Try this way first. If im correct this only handles disappearing chutes NOT chutes killing people. I will get to that in a bit.
You will again open this file with your notepad++ or w/e you use and scroll to about line 20 and look for this block of code pertaining to parachute:
All you need to do is add /* before the if and */ after the closing brackets. It should look like this:
Now save the file and close it to avoid any mis clicks or unintended character changes.
OK now this step confused me a lot so i will try to make this very easy to understand. Navigate to dayz_server>system>server_cleanup.fsm(once again this is what my server folder is called yours may be named different but you still have the system>server_cleanup.fsm(If not then once again you are in trouble.))
Once again open the file with your notepad++ or w/e you use and SEARCH(not scroll) search for hackers. There will be two different areas that come up so be sure you locate the block of code that looks like this:
Now this was confusing to for tavi. Yours most likely has the // infront of "Check for hackers" \n like this:
What i did was literally copy and paste the section of code form the tutorial i followed to make it look like this:
Now my problem is that i use Sarge AI on our Taviana server. So mine looked like this:
Now what i did was literally copy and paste over my sarge vehicle cleanup with the provided code i got from the tutorial i followed and all my ai seems to be working just fine. However i think this may cause helicopters that the ai leave once again obtainable by players. I plan to work with this to try and incorporate both statements in the future. So for now make it look like this:
COPY AND PASTE THIS. START FROM THE QUOTATION MARKS!
*****TWO PART TUTORIAL SEE NEXT POST*****
If you go to the halo spawn in the tutorials then you will find the one i followed at the end of the thread in a link describing the new halo spawn tutorials. Like i said, I followed these two options and tweaked my own pbo to get this working.
OK the first step is navigating to the server_playersetup.sqf in the server file that you get from unpacking your PBO. Mine looks like:
dayz_server>compile>server_playerSetup.sqf
(you will open this with your notepad++ or whatever you use)
Around line 200( line 206 for me) you will see this block of code:
Code:
dayzPlayerLogin2 = [_worldspace,_state];
_clientID = owner _playerObj;
_clientID publicVariableClient "dayzPlayerLogin2";
You will need to change the dayzPlayerLogin2 = [_worldspace,_state]; to look like this
Code:
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
_clientID = owner _playerObj;
_clientID publicVariableClient "dayzPlayerLogin2";
Now save the file and close it to avoid any mis clicks or unintended character changes.
The next thing you need to do is navigate to dayz_server>compiles>server_updateObject.sqf(again this is what my server folder is named. Yours may be named something else but you will still have the complies>server_updateObject.sqf (If you do not then something is seriously wrong.))
OK now this is one of the steps i fiddled with and finally after hours got the chute to not disappear 20 feet from the ground. Try this way first. If im correct this only handles disappearing chutes NOT chutes killing people. I will get to that in a bit.
You will again open this file with your notepad++ or w/e you use and scroll to about line 20 and look for this block of code pertaining to parachute:
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;
};
};
All you need to do is add /* before the if and */ after the closing brackets. It should look like this:
Code:
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 (!_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;
};
};
*/
if (_isNotOk) exitWith { deleteVehicle _object; };
_lastUpdate = _object getVariable ["lastUpdate",time];
_needUpdate = _object in needUpdate_objects;
*/
Now save the file and close it to avoid any mis clicks or unintended character changes.
OK now this step confused me a lot so i will try to make this very easy to understand. Navigate to dayz_server>system>server_cleanup.fsm(once again this is what my server folder is called yours may be named different but you still have the system>server_cleanup.fsm(If not then once again you are in trouble.))
Once again open the file with your notepad++ or w/e you use and SEARCH(not scroll) search for hackers. There will be two different areas that come up so be sure you locate the block of code that looks like this:
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
Now this was confusing to for tavi. Yours most likely has the // infront of "Check for hackers" \n like this:
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
What i did was literally copy and paste the section of code form the tutorial i followed to make it look like this:
Code:
"//Check for hackers" \n
"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
Now my problem is that i use Sarge AI on our Taviana server. So mine looked like this:
Code:
"//Check for hackers" \n
" {" \n
" if(vehicle _x != _x && (vehicle _x getVariable [""Sarge"",0] != 1) && !(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
Now what i did was literally copy and paste over my sarge vehicle cleanup with the provided code i got from the tutorial i followed and all my ai seems to be working just fine. However i think this may cause helicopters that the ai leave once again obtainable by players. I plan to work with this to try and incorporate both statements in the future. So for now make it look like this:
Code:
"//Check for hackers" \n
"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
COPY AND PASTE THIS. START FROM THE QUOTATION MARKS!
*****TWO PART TUTORIAL SEE NEXT POST*****