nightmare Posted July 15, 2014 Report Share Posted July 15, 2014 Hi, i'm too lazy to go downwards with ladders and stairs, so i made a little script to use a parachute. https://www.youtube.com/watch?v=iIrm7Tp1m7Y 1.) Dowload 2.) unpack "baseJump.zip" and copy the "baseJump" folder to your "/MPMissions/DayZ_Epoch.Map" folder. 3.) open the "init.sqf" in your mission folder and add following on the top, after: call compile preprocessFileLineNumbers "server_traders.sqf"; ( optional ) if you have a "custom" compiles.sqf, you can put it there instead. call compile preprocessFileLineNumbers "baseJump\init.sqf"; enjoy && have fun ;) ****** BaseJump Script ****** Author: Nightmare @ http://n8m4re.de included 3rdParty scripts / snippets - FNC_GetPos by Author: http://dayzepoch.com - fn_halo.sqf by Author: Karel Moricky , Modified: http://dayzepoch.com | Nightmare (TLS), calamity, js2k6 and 2 others 5 Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 To Change The Limit That We Get the option to base jump do i just change this code if( (s_Pos select 2) > 60 ) then { TO LIKE if( (s_Pos select 2) > 120 ) then { Link to comment Share on other sites More sharing options...
avdieking Posted July 15, 2014 Report Share Posted July 15, 2014 yes Link to comment Share on other sites More sharing options...
nightmare Posted July 15, 2014 Author Report Share Posted July 15, 2014 To Change The Limit That We Get the option to base jump do i just change this code if( (s_Pos select 2) > 60 ) then { TO LIKE if( (s_Pos select 2) > 120 ) then { yes Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 yes Alright Thanks Man :D Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 Could you make a video or screenshots of it please? :) I Always would like to see a video or screenie of it, as im not home at the moment and havent been able to put it onto my test server before the live one So if anyone has any videos or screenshots of this it would be much appreciated if you show us Link to comment Share on other sites More sharing options...
nightmare Posted July 15, 2014 Author Report Share Posted July 15, 2014 an video is uploading, can take some minutes.. Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 an video is uploading, can take some minutes.. https://www.youtube.com/watch?v=iIrm7Tp1m7Y Oh dude this is fucking sweet!! Awesome Job Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 Also am i able to set it below 60? so like if people don't have a huge tall base? because some of my players asked if it could be set lower Link to comment Share on other sites More sharing options...
nightmare Posted July 15, 2014 Author Report Share Posted July 15, 2014 Also am i able to set it below 60? so like if people don't have a huge tall base? because some of my players asked if it could be set lower you can decrease to 25 meters but this is the minimum for parachute Link to comment Share on other sites More sharing options...
calamity Posted July 15, 2014 Report Share Posted July 15, 2014 workz great Thanks now how to get an altimeter in debug ??? anyone ??? Link to comment Share on other sites More sharing options...
PryMary Posted July 15, 2014 Report Share Posted July 15, 2014 Do the following: Change this line to be like this: jump_action = JumpVehicle addAction [ ("<t color=""#FE9A2E"">" + ( localize "STR_HALO_OPEN_CHUTE" ) + "</t>" ),"custom\fn_halo.sqf",[],1,true,true,"",""]; Copy this code and put it into custom folder (make sure paths are correct): scriptName "modules_e\Functions\objects\fn_HALO.sqf"; sleep 0.01; //--- HALO ------------------------------------------------------------------------------------------------------------------------------------- if (typename _this == typename objnull) then { _unit = _this; //--- Eject! waituntil {(vehicle _unit) iskindof "ParachuteBase" || !isnil {_unit getvariable "bis_fnc_halo_now"}}; if (!local _unit) exitwith {}; //--- Delete parachute _parachute = vehicle _unit; if (_parachute != _unit) then { deletevehicle _parachute; }; //--- Init _dir = ([[0,0,0],velocity _unit] call bis_fnc_dirto); _unit setdir _dir; [objNull, player, rSwitchMove,"HaloFreeFall_non"] call RE; player switchmove "HaloFreeFall_non"; //--- Key controls if (_unit == player) then { //--- PLAYER ------------------------------------------------ _brightness = 0.99; _pos = [player] call FNC_GetPos; _parray = [ /* 00 */ ["\Ca\Data\ParticleEffects\Universal\Universal", 16, 12, 13, 0], /* 01 */ "", /* 02 */ "Billboard", /* 03 */ 1, /* 04 */ 3, /* 05 */ [0,0,-200], /* 06 */ wind, /* 07 */ 0, /* 08 */ 1.275, /* 09 */ 1, /* 10 */ 0, /* 11 */ [100], /* 12 */ [ [_brightness,_brightness,_brightness,0], [_brightness,_brightness,_brightness,0.01], [_brightness,_brightness,_brightness,0.10], [_brightness,_brightness,_brightness,0] ], /* 13 */ [1000], /* 14 */ 0, /* 15 */ 0, /* 16 */ "", /* 17 */ "", /* 18 */ player ]; bis_fnc_halo_clouds = "#particlesource" createVehicleLocal _pos; bis_fnc_halo_clouds setParticleParams _parray; bis_fnc_halo_clouds setParticleRandom [0, [100, 100, 0], [0, 0, 0], 0, 0, [0, 0, 0, 0], 0, 1]; bis_fnc_halo_clouds setParticleCircle [00, [00, 00, 00]]; bis_fnc_halo_clouds setDropInterval (0.4 - (0.3 * overcast)); //--- Effects bis_fnc_halo_ppRadialBlur = ppeffectcreate ["RadialBlur",464]; bis_fnc_halo_ppRadialBlur ppEffectAdjust [0.01,0.01,0.3,0.3]; bis_fnc_halo_ppRadialBlur ppEffectCommit 0.01; bis_fnc_halo_ppRadialBlur ppEffectEnable true ; bis_fnc_halo_soundLoop = time; playsound "BIS_HALO_Flapping"; bis_fnc_halo_action = _unit addaction [localize "STR_HALO_OPEN_CHUTE","\z\addons\dayz_code\compile\BIS_fnc\fn_halo.sqf",[],1,true,true,"Eject"]; bis_fnc_halo_keydown = { _key = _this select 1; //--- Forward //if (_key in (actionkeys 'HeliForward')) then { if (_key in (actionkeys 'MoveForward')) then { if (bis_fnc_halo_vel < +bis_fnc_halo_velLimit) then {bis_fnc_halo_vel = bis_fnc_halo_vel + bis_fnc_halo_velAdd}; }; //--- Backward //if (_key in (actionkeys 'HeliBack')) then { if (_key in (actionkeys 'MoveBack')) then { if (bis_fnc_halo_vel > -bis_fnc_halo_velLimit) then {bis_fnc_halo_vel = bis_fnc_halo_vel - bis_fnc_halo_velAdd}; }; //--- Left //if (_key in (actionkeys 'HeliCyclicLeft')) then { if (_key in (actionkeys 'TurnLeft')) then { if (bis_fnc_halo_dir > -bis_fnc_halo_dirLimit) then {bis_fnc_halo_dir = bis_fnc_halo_dir - bis_fnc_halo_dirAdd}; }; //--- Right //if (_key in (actionkeys 'HeliCyclicRight')) then { if (_key in (actionkeys 'TurnRight')) then { if (bis_fnc_halo_dir < +bis_fnc_halo_dirLimit) then {bis_fnc_halo_dir = bis_fnc_halo_dir + bis_fnc_halo_dirAdd}; }; }; bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_keydown;"]; //--- Loop bis_fnc_halo_vel = 0; bis_fnc_halo_velLimit = 0.2; bis_fnc_halo_velAdd = 0.03; bis_fnc_halo_dir = 0; bis_fnc_halo_dirLimit = 1; bis_fnc_halo_dirAdd = 0.06; [] spawn { _time = time - 0.1; while {alive player && vehicle player == player && isnil {player getvariable "bis_fnc_halo_terminate"}} do { //--- FPS counter _fpsCoef = ((time - _time) * 60) / acctime; //Script is optimized for 60 FPS _time = time; bis_fnc_halo_velLimit = 0.2 * _fpsCoef; bis_fnc_halo_velAdd = 0.03 * _fpsCoef; bis_fnc_halo_dirLimit = 1 * _fpsCoef; bis_fnc_halo_dirAdd = 0.06 * _fpsCoef; //--- Dir bis_fnc_halo_dir = bis_fnc_halo_dir * 0.98; _dir = direction player + bis_fnc_halo_dir; player setdir _dir; //--- Velocity _vel = velocity player; bis_fnc_halo_vel = bis_fnc_halo_vel * 0.96; player setvelocity [ (_vel select 0) + (sin _dir * bis_fnc_halo_vel), (_vel select 1) + (cos _dir * bis_fnc_halo_vel), (_vel select 2) ]; //--- Animation system _anim = "HaloFreeFall_non"; _v = bis_fnc_halo_vel; _h = bis_fnc_halo_dir; _vLimit = 0.1; _hLimit = 0.3; if ((abs _v) > _vLimit || (abs _h) > _hLimit) then { _vAnim = ""; if (_v > +_vLimit) then {_vAnim = "F"}; if (_v < -_vLimit) then {_vAnim = "B"}; _hAnim = ""; if (_h > +_hLimit) then {_hAnim = "R"}; if (_h < -_hLimit) then {_hAnim = "L"}; _anim = "HaloFreeFall_" + _vAnim + _hAnim; }; player playmovenow _anim; //--- Sound if ((time - bis_fnc_halo_soundLoop) > 4.5) then { playsound "BIS_HALO_Flapping"; bis_fnc_halo_soundLoop = time; }; //--- Effects /* bis_fnc_halo_ppRadialBlur ppEffectAdjust [0.02,0.02,0.3 - (bis_fnc_halo_vel/7)/_fpsCoef,0.3 - (bis_fnc_halo_vel/7)/_fpsCoef]; bis_fnc_halo_ppRadialBlur ppEffectCommit 0.01; */ sleep 0.01; }; //--- End player removeaction bis_fnc_halo_action; (finddisplay 46) displayremoveeventhandler ["keydown",bis_fnc_halo_keydown_eh]; // ppeffectdestroy bis_fnc_halo_ppRadialBlur; deletevehicle bis_fnc_halo_clouds; bis_fnc_halo_clouds = nil; bis_fnc_halo_vel = nil; bis_fnc_halo_velLimit = nil; bis_fnc_halo_velAdd = nil; bis_fnc_halo_dir = nil; bis_fnc_halo_dirLimit = nil; bis_fnc_halo_dirAdd = nil; bis_fnc_halo_action = nil; bis_fnc_halo_keydown = nil; bis_fnc_halo_keydown_eh = nil; if (!alive player) then { [objNull, player, rSwitchMove,"adthppnemstpsraswrfldnon_1"] call RE; player switchmove "adthppnemstpsraswrfldnon_1"; player setvelocity [0,0,0]; }; }; } else { //--- AI ------------------------------------------------ while {(([_unit] call FNC_GetPos) select 2) > 100} do { _destination = expecteddestination _unit select 0; _unitPosition = [_unit] call FNC_GetPos; if ((_destination distance [(_unitPosition select 0),(_unitPosition select 1),0]) > 10) then { _vel = velocity _unit; _dirTo = [_unit,_destination] call bis_fnc_dirto; if (player distance _unit > 500) then { _unit setdir _dirTo; }; _unit setvelocity [ (_vel select 0) + (sin _dirTo * 0.2), (_vel select 1) + (cos _dirTo * 0.2), (_vel select 2) ]; }; sleep 0.01; }; //--- Open [_unit] spawn bis_fnc_halo; _nul = [] execVM "custom\altimeter.sqf"; }; }; //--- PARA ------------------------------------------------------------------------------------------------------------------------------------- if (typename _this == typename []) then { _unit = _this select 0; if (!local _unit) exitwith {}; //--- Free fall if (count _this == 2) exitwith { _alt = _this select 1; _paraPosition = [_unit] call FNC_GetPos; _unit setpos [(_paraPosition select 0),(_paraPosition select 1),_alt]; _unit setvariable ["bis_fnc_halo_now",true]; _unit spawn bis_fnc_halo; _nul = [] execVM "custom\altimeter.sqf"; }; //------------- _para = objnull; _vel = []; _paraPosition1 = [_unit] call FNC_GetPos; _para = createVehicle ["ParachuteWest", _paraPosition1, [], 0, "CAN_COLLIDE"]; //_para = "BIS_Steerable_Parachute" createVehicle position _unit; _para setpos _paraPosition1; _para setdir direction _unit; _vel = velocity _unit; _unit moveindriver _para; //_unit moveingunner _para; _para lock false; bis_fnc_halo_para_dirAbs = direction _para; //--- Key controls if (_unit == player) then { _para setvelocity [(_vel select 0),(_vel select 1),(_vel select 2)*1]; /* bis_fnc_halo_DynamicBlur = ppeffectcreate ["DynamicBlur",464]; bis_fnc_halo_DynamicBlur ppEffectEnable true; bis_fnc_halo_DynamicBlur ppEffectAdjust [8.0]; bis_fnc_halo_DynamicBlur ppEffectCommit 0; bis_fnc_halo_DynamicBlur ppEffectAdjust [0.0]; bis_fnc_halo_DynamicBlur ppEffectCommit 1; */ bis_fnc_halo_para_vel = 0; bis_fnc_halo_para_velLimit = 0.5; bis_fnc_halo_para_velAdd = 0.01; bis_fnc_halo_para_dir = 0; bis_fnc_halo_para_dirLimit = 1.5; bis_fnc_halo_para_dirAdd = 0.03; bis_fnc_halo_para_keydown = { _key = _this select 1; //--- Forward if (_key in (actionkeys 'MoveForward')) then { if (bis_fnc_halo_para_vel < +bis_fnc_halo_para_velLimit) then {bis_fnc_halo_para_vel = bis_fnc_halo_para_vel + bis_fnc_halo_para_velAdd}; }; //--- Backward if (_key in (actionkeys 'MoveBack')) then { if (bis_fnc_halo_para_vel > -bis_fnc_halo_para_velLimit*0) then {bis_fnc_halo_para_vel = bis_fnc_halo_para_vel - bis_fnc_halo_para_velAdd}; }; //--- Left if (_key in (actionkeys 'TurnLeft')) then { if (bis_fnc_halo_para_dir > -bis_fnc_halo_para_dirLimit) then {bis_fnc_halo_para_dir = bis_fnc_halo_para_dir - bis_fnc_halo_para_dirAdd}; }; //--- Right if (_key in (actionkeys 'TurnRight')) then { if (bis_fnc_halo_para_dir < +bis_fnc_halo_para_dirLimit) then {bis_fnc_halo_para_dir = bis_fnc_halo_para_dir + bis_fnc_halo_para_dirAdd}; }; }; bis_fnc_halo_para_loop_time = time - 0.1; bis_fnc_halo_para_velZ = velocity _para select 2; bis_fnc_halo_para_loop = { if (!isnil {player getvariable "bis_fnc_halo_terminate"}) exitwith {}; if (time == bis_fnc_halo_para_loop_time) exitwith {}; //--- FPS too high _para = vehicle player; //--- FPS counter _fpsCoef = ((time - bis_fnc_halo_para_loop_time) * 20) / acctime; //Script is optimized for 20 FPS bis_fnc_halo_para_loop_time = time; //_fpsCoef = _fpsCoef / 3; bis_fnc_halo_para_velLimit = 0.3 * _fpsCoef; bis_fnc_halo_para_velAdd = 0.002 * _fpsCoef; bis_fnc_halo_para_dirLimit = 1.5 * _fpsCoef; bis_fnc_halo_para_dirAdd = 0.03 * _fpsCoef; //--- Dir bis_fnc_halo_para_dir = bis_fnc_halo_para_dir * 0.98; bis_fnc_halo_para_dirAbs = bis_fnc_halo_para_dirAbs + bis_fnc_halo_para_dir; _para setdir bis_fnc_halo_para_dirAbs; _dir = direction _para; //--- Crash _velZ = velocity _para select 2; if ((_velZ - bis_fnc_halo_para_velZ) > 7 && (getposatl _para select 2) < 100) then {player setdamage 1;debuglog ["Log::::::::::::::",(_velZ - bis_fnc_halo_para_velZ)];}; bis_fnc_halo_para_velZ = _velZ; //--- Pos _para setposasl [ (getposasl _para select 0) + (sin _dir * (0.1 + bis_fnc_halo_para_vel)), (getposasl _para select 1) + (cos _dir * (0.1 + bis_fnc_halo_para_vel)), (getposasl _para select 2) - 0.01 - 0.1 * abs bis_fnc_halo_para_vel ]; [ _para, (-bis_fnc_halo_para_vel * 75) + 0.5*(sin (time * 180)), (+bis_fnc_halo_para_dir * 25) + 0.5*(cos (time * 180)) ] call bis_fnc_setpitchbank; }; bis_fnc_halo_para_mousemoving_eh = (finddisplay 46) displayaddeventhandler ["mousemoving","_this call bis_fnc_halo_para_loop;"]; bis_fnc_halo_para_mouseholding_eh = (finddisplay 46) displayaddeventhandler ["mouseholding","_this call bis_fnc_halo_para_loop;"]; sleep 4; // ppeffectdestroy bis_fnc_halo_DynamicBlur; bis_fnc_halo_para_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_para_keydown;"]; //--- End //waituntil {vehicle player == player}; player setvariable ["bis_fnc_halo_terminate",nil]; waituntil {(([(vehicle player)] call FNC_GetPos) select 2) < 2 || !isnil {player getvariable "bis_fnc_halo_terminate"}}; (finddisplay 46) displayremoveeventhandler ["keydown",bis_fnc_halo_para_keydown_eh]; (finddisplay 46) displayremoveeventhandler ["mousemoving",bis_fnc_halo_para_mousemoving_eh]; (finddisplay 46) displayremoveeventhandler ["mouseholding",bis_fnc_halo_para_mouseholding_eh]; bis_fnc_halo_para_vel = nil; bis_fnc_halo_para_velLimit = nil; bis_fnc_halo_para_velAdd = nil; bis_fnc_halo_para_dir = nil; bis_fnc_halo_para_dirLimit = nil; bis_fnc_halo_para_dirAdd = nil; bis_fnc_halo_para_keydown = nil; bis_fnc_halo_para_loop = nil; bis_fnc_halo_para_keydown_eh = nil; bis_fnc_halo_para_mousemoving_eh = nil; bis_fnc_halo_para_mouseholding_eh = nil; }; }; Next make a sqf named altimeter and put in this code (save to the custom folder): sleep 2; _myalt = getPos player select 2; _myalt = round(_myalt); //debug start diag_log(format["ALTIMETER STARTED: %1m ", _myalt]); while {(_myalt) > 0} do { // Display my altitude text. _myalt = getPos player select 2; _myalt = round(_myalt); titleText [("ALTITUDE: " + str _myalt + "\nUse The Mouse Wheel To Pull Chute!!!"), "PLAIN DOWN", 0.1]; }; //debug Stop diag_log(format["ALTIMETER STOPPED: %1m ", _myalt]); Should be all good, it's not in the debug monitor but it's a start for someone more experienced to work with something :) Pry Link to comment Share on other sites More sharing options...
NGHD Posted July 15, 2014 Report Share Posted July 15, 2014 you can decrease to 25 meters but this is the minimum for parachute Alright Thanks Man ;) love your script Link to comment Share on other sites More sharing options...
js2k6 Posted July 16, 2014 Report Share Posted July 16, 2014 cool script, ive noticed that after using it though, i always have the open chute option regardless of height. anyone else have that issue? Link to comment Share on other sites More sharing options...
NGHD Posted July 16, 2014 Report Share Posted July 16, 2014 cool script, ive noticed that after using it though, i always have the open chute option regardless of height. anyone else have that issue? I haven't had that issue yet Link to comment Share on other sites More sharing options...
MattL Posted July 16, 2014 Report Share Posted July 16, 2014 cool script, ive noticed that after using it though, i always have the open chute option regardless of height. anyone else have that issue? If you're running 112555 then this will happen, that patch broke delete Vehicle, which this mod uses to delete the chute otherwise I have no idea man, sorry Link to comment Share on other sites More sharing options...
js2k6 Posted July 16, 2014 Report Share Posted July 16, 2014 bingo, i am using 112555. i'm already running a script that deletes empty parachutes because i've got halo spawns. maybe i can write something up to just remove the menu option. all good. thanks anyways. Link to comment Share on other sites More sharing options...
nightmare Posted July 16, 2014 Author Report Share Posted July 16, 2014 have a bit reworked... - sleep functions removed - _meters variable added js2k6 1 Link to comment Share on other sites More sharing options...
js2k6 Posted July 16, 2014 Report Share Posted July 16, 2014 have a bit reworked... - sleep functions removed - _meters variable added the new update makes it work perfectly for me. thanks Link to comment Share on other sites More sharing options...
Cramps2 Posted July 16, 2014 Report Share Posted July 16, 2014 Hmm no idea why but this script stops some people from logging in on my server. they get a loading screen that cant even be cleared using "flush" although they can hear the world and movement. I'm running Epoch 1051 + arma 112555 Link to comment Share on other sites More sharing options...
DY357LX Posted July 16, 2014 Report Share Posted July 16, 2014 Hmm no idea why but this script stops some people from logging in on my server. they get a loading screen that cant even be cleared using "flush" although they can hear the world and movement. I'm running Epoch 1051 + arma 112555 Yep. We had the same. Had to roll back. We're on the same Epoch + ArmA 2 versions as you so that might be the cause. Link to comment Share on other sites More sharing options...
calamity Posted July 17, 2014 Report Share Posted July 17, 2014 works fine with 1.0.5.1 and 112555 I have in init.sqf dayz_paraSpawn = true; just a possibility.... Link to comment Share on other sites More sharing options...
PryMary Posted July 17, 2014 Report Share Posted July 17, 2014 Hmm no idea why but this script stops some people from logging in on my server. they get a loading screen that cant even be cleared using "flush" although they can hear the world and movement. I'm running Epoch 1051 + arma 112555 same here, i saw your post this morning after last night trying my hardest to work out what was causing it. I removed this and server log-in runs fine now. It's probably because I have the spawn / class selection at login thats causing a conflict somewhere. Link to comment Share on other sites More sharing options...
DY357LX Posted July 17, 2014 Report Share Posted July 17, 2014 @PryMary - do you have dayz_paraSpawn = true; in your init.sqf? (I don't, had the same issues as you. See above comments.) Link to comment Share on other sites More sharing options...
PryMary Posted July 17, 2014 Report Share Posted July 17, 2014 no i have to set that as false for the spawn selection to work :( Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now