celery 8 Posted September 27, 2008 I'm pretty sure something like this has been done already in some missions but what the heck. The parachute bug basically makes you lose your parachute before getting close enough to the ground, resulting in an annoying death by falling too high. It's caused in multiplayer by different players' games having a different idea of where the ground is and for some reason those clients can affect when the chutes of other players disappear. With every client having this script running, they can land safely on the ground regardless of any bugs trying to mess things up. parafix.sqs <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">;Parachute bug fix by Celery ;Fixes the issue of paratroopers losing their ;chutes prematurely and falling to their deaths ; ;Have each player exec this script in an init script or trigger #start ~1 ?vehicle player iskindof "ParachuteBase":goto "para" goto "start" #para @vehicle player==player ?!alive player:goto "start" _altlogic="Logic" createvehicle [0,0,0] _altlogic setpos [getpos player select 0,getpos player select 1,0] _alt=player distance _altlogic ?(getpos player select 2>1.6):player setvelocity [0,0,0];player setpos [getpos player select 0,getpos player select 1,_alt-(getpos player select 2)+1.6] deletevehicle _altlogic goto "start" Share this post Link to post Share on other sites
[aps]gnat 28 Posted September 28, 2008 Nice Celery, but why not a more efficient sqf version for something that always runs in the background ? Share this post Link to post Share on other sites
.kju 3244 Posted September 28, 2008 well for such a simple script there is most likely no real difference. it is said that 1.15 will fix the problem.. once it will be out. Share this post Link to post Share on other sites
Przemek_kondor 13 Posted September 28, 2008 this bug still exists. I patched it this way: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> while{ ((getPos vehicle player)select 2) > 2.0 }do{ sleep 0.2; if( vehicle player == player )then { player moveInDriver _chute; }; }; Share this post Link to post Share on other sites
celery 8 Posted September 28, 2008 Gnat @ Sep. 28 2008,04:55)]Nice Celery, but why not a more efficient sqf version for something that always runs in the background ? Sqs waits until the cpu is available for the job, sqf steals the resources from other tasks if it wants so with sqs there is absolutely no difference while sqf would make it worse if there is lots of stuff happening. And really, optimizing 0.001 fps is only in our heads and I think the function of the script is more important than one task out of a million more for the processor. this bug still exists.I patched it this way: Do you mean to say that you tested it online and the script doesn't work? Share this post Link to post Share on other sites
Przemek_kondor 13 Posted September 30, 2008 no, I mean that 1.15 didn't fix it (it was reply to Q) Share this post Link to post Share on other sites
.kju 3244 Posted September 30, 2008 hm i think we are still running 1.14 or did i miss something Share this post Link to post Share on other sites
Przemek_kondor 13 Posted October 1, 2008 haha, yes  , sry - in my mind was 1.05 Share this post Link to post Share on other sites
celery 8 Posted October 3, 2008 I updated the script with a temporary altitude logic so that landings on artificial structures such as bridges and roofs don't get glitched. Share this post Link to post Share on other sites
Przemek_kondor 13 Posted October 8, 2008 I will use it in next version of sabotage. Does this bug occur for AI? Share this post Link to post Share on other sites
celery 8 Posted October 8, 2008 I will use it in next version of sabotage.Does this bug occur for AI? I think it does, but only in multiplayer. The script I made works for players only though. To make it work for AI, all units have to exec the script individually and the "player" has to be replaced with "_unit", with _unit=_this select 0 at the start. Share this post Link to post Share on other sites