Page 1 of 6

[Code] Fast Roping Workshop

Posted: 2010-02-16 22:57
by Sniperdog
I will edit this first post with info about the grapple code as we find more.

I give you the magical world of the grappling rope...

You hold the grapple handheld weapon and it all starts when you fire the projectile that throws it all into motion...

Code: Select all

ObjectTemplate.projectileTemplate GrapplingHookRope
You would be able to fire this projectile from a vehicle afaik and by doing it in burst mode with two of these projectiles from two barrels on either side of the chopper you would be able to deploy fastropes with one click of a mouse button (whichever drop a crate isnt)

Now the basic idea I've considered is to fire implosive bullets on either side of the chopper even with the center of gravity so they cancel each other out. The button that deploys the rope projectile would be the same trigger that causes a second weapon to fire these somewhat weak implosive bullets at a high ROF on either side of the chopper. The key to making all this work is making the hook be highly affected by implosions and the ropes not at all...

The code that governs the grapple is as follows...

Code: Select all

ObjectTemplate.create GrapplingHookRope grapplinghookrope
ObjectTemplate.networkableInfo BasicInfo
ObjectTemplate.PreCacheObject 1
ObjectTemplate.setMaxRopeLength 35.0
ObjectTemplate.setNumberOfLinks 26
ObjectTemplate.Timeout 60.0
ObjectTemplate.throwStrength 0.0012
ObjectTemplate.upThrowBoost 0.5 
ObjectTemplate.degradeThrowStrength 0.8
ObjectTemplate.throwStrength2 0.0012 
ObjectTemplate.upThrowBoost2 0.39
ObjectTemplate.degradeThrowStrength2 0.98
ObjectTemplate.dropStrength 0.3
ObjectTemplate.upDropBoost 0.6
ObjectTemplate.degradeDropStrength 0.99
ObjectTemplate.linkAttachMovement 0.00001
ObjectTemplate.linkAttachTime 0.5
ObjectTemplate.dismountCheckOffset 0.25
ObjectTemplate.minYNormal 0.5
ObjectTemplate.attachClimberRadius 2.0
ObjectTemplate.climbingSpeed 2.3
ObjectTemplate.elasticity 0.2
ObjectTemplate.airFriction 0.95
ObjectTemplate.climbableAngle 0.5
ObjectTemplate.dismountAngle 0.75
ObjectTemplate.ClimbersAttachForce 0.14
ObjectTemplate.AwakeTime 6
^^^
Governs the properties of the projectile that is released. Because it isn't actually one geometry but rather a large number of linked ones special code is required to govern the way they are all released and the physics of the movement. In addition this is what expresses the connection of all the pieces as it is defined in hardcode that we cant see. This is the most important piece of code and I will outline it more below...

Code: Select all

ObjectTemplate.create RopeLink ropelink
ObjectTemplate.PreCacheObject 1
^^^
AFAIK this just creates the ropelink geoms

Code: Select all

ObjectTemplate.create HookLink xp1_grapplinghook
ObjectTemplate.PreCacheObject 1
Same as above except for the hook

Code: Select all

ObjectTemplate.create GrapplingHookRopeContainer GrapplingHookRopeContainer
ObjectTemplate.PreCacheObject 1
ObjectTemplate.saveInSeparateFile 1
ObjectTemplate.networkableInfo BasicInfo
ObjectTemplate.seatAnimationSystem Objects/Vehicles/xpak_vehicles/xpak_grapplehook/animationSystem.inc
ObjectTemplate.seatInformation GrapplingHookRopeContainer 0.0796084/0.19108/0.0994398 0/0/0
ObjectTemplate.addTemplate GrappleContainerCamera
ObjectTemplate.setPosition 0/0.5/-0.5
ObjectTemplate.hasCollisionPhysics 0
ObjectTemplate.maintainCameraOnExit 1
ObjectTemplate.autoUseAbility 0
ObjectTemplate.isOpenVehicle 1
ObjectTemplate.createComponent VehicleHud
ObjectTemplate.vehicleHud.hudName "GrapplingHook"
ObjectTemplate.vehicleHud.showInfo 0
ObjectTemplate.vehicleHud.usePlayerIcon 1
ObjectTemplate.vehicleHud.useVehicleCommRose 0
rem ---EndComp ---
This is the vehicle-esque portion of the code that allows players to enter the grappling hook and climb it like a ladder traveling across the ropelink geom's. The vehicle is always located at a specific location along the ropes length. A geometry can be added to this to observe the physics of the vehicle.

Code: Select all

ObjectTemplate.create Camera GrappleContainerCamera
ObjectTemplate.setMinRotation -120/-60/0
ObjectTemplate.setMaxRotation 120/60/0
ObjectTemplate.setMaxSpeed 250/250/0
ObjectTemplate.setAcceleration 1000/1000/0.1
ObjectTemplate.setInputToYaw PIMouseLookX
ObjectTemplate.setInputToPitch PIMouseLookY
ObjectTemplate.CVMFlyBy 0
ObjectTemplate.CVMChase 0
ObjectTemplate.CVMFrontChase 0
ObjectTemplate.CVMNose 0
ObjectTemplate.CVMTrace 0
ObjectTemplate.CVMExternTrace 0
This is the code for the camera the players POV occupies while he is in the vehicle.



ObjectTemplate.create GrapplingHookRope grapplinghookrope

Creates all the projectiles (Custom code note it is not the normal "ObjectTemplate.projectileTemplate" but rather I believe it creates a number of projectiles at once as defined somewhere else...)


ObjectTemplate.networkableInfo BasicInfo

Defines the networkable properties of the object


ObjectTemplate.PreCacheObject 1

Unsure


ObjectTemplate.setMaxRopeLength 35.0

Used to set the distance between links


ObjectTemplate.setNumberOfLinks 26

# of ropelink connections


ObjectTemplate.Timeout 60.0

Amount of time before the object expires


ObjectTemplate.throwStrength 0.0012
ObjectTemplate.upThrowBoost 0.5
ObjectTemplate.degradeThrowStrength 0.8
ObjectTemplate.throwStrength2 0.0012
ObjectTemplate.upThrowBoost2 0.39
ObjectTemplate.degradeThrowStrength2 0.98
ObjectTemplate.dropStrength 0.3
ObjectTemplate.upDropBoost 0.6
ObjectTemplate.degradeDropStrength 0.99

All the above govern how the release velocity is degraded between all the separate parts to allow the rope to deploy as an actual rope instead of a giant clump of geom's... (Could be used to allow a proper deploying of the fastrope from the chopper)


ObjectTemplate.linkAttachMovement 0.00001

I believe a property of the connection between ropelinks but not entirely sure (ie used to mantain the integrity of the rope)


ObjectTemplate.linkAttachTime 0.5
ObjectTemplate.dismountCheckOffset 0.25
ObjectTemplate.minYNormal 0.5

Unsure


ObjectTemplate.attachClimberRadius 2.0

Pretty sure this is how easy it is to enter the rope


ObjectTemplate.climbingSpeed 2.3

Duh?


ObjectTemplate.elasticity 0.2

Can be increased to force the rope to stay awake longer


ObjectTemplate.airFriction 0.95

How the objects slow after release...


ObjectTemplate.climbableAngle 0.5
ObjectTemplate.dismountAngle 0.75

Have yet to test but I am fairly sure that by setting the top # to 0 you could make it so the person only can climb and by changing the bottom # you could make it so if the chopper accelerates too much horizontally while flying the person will be forced off the vehicle (That is hoping and I very much doubt this second part)


ObjectTemplate.ClimbersAttachForce 0.14

Not sure but also may possibly be used to fling a person off the rope if the chopper moves...


ObjectTemplate.AwakeTime 6

Time before rope locks up provided it has not made contact with a static mesh. Regardless it may still settle anyways but the time can be increased by tweaking the elasticity line.


These blocks of code do contain quite a bit of familiar code that bears a hybrid between a vehicle and a weapon, with quite a bit of custom code. I believe from what I've noticed is that the key to making anything even plausible is to try to add mobile physics to nearly every part (minus the camera) and add established ObjectTemplate code to trick the game into thinking the hook should be able to move, and ofcourse as AM mentioned to dramatically increase the awake time.

I was able to able to seperate the links and make the rope free form by added the mobile physics line to the "ObjectTemplate.create GrapplingHookRope grapplinghookrope" portion but still had to face the thing becoming frozen (attributed to AwakeTime). I will certainly be going back and testing this a lot more but alas I am an engineer at mid semester who has to deal with a lot of homework xD



ps. Still doesn't change the fact that this is a lot of complicated, weird work for a stupid little gimmick :P

[Code] Fast Roping Workshop

Posted: 2010-02-18 19:19
by CodeRedFox

Code: Select all

 Fast Roping Workshop

This is for those community member which have information of code they would like to share if they believe they have a way to get fast ropes into the game.

Idea of how to do it are welcome but please understand it has been tried, tried and tried before. Dont come in here posting some idea if you have no clue what your talking about and dont get [b]butt hurt[/b] if you get shot down or your post deleted.

Things we would like to see
[list]
[*]Code examples
[*]Other mods that have done it
[*]MORE code examples[/list]


[quote][color=Red][b]A little warning[/b]
[list]
[*]Would it be cool, YES
[*]Would the community want it, YES
[*]Is it a waste of time, NO nothing is a waste of time
[*]Do we want to hear your BS why no one will want it, [b]NO![/b] Keep your mouth shut[/list]


[b]If you post one ounce of Bull Sh*t you get infractions and and temp ban. Tired of the fighting. Sniper_dog14 above post is the only post out of the original 60 post that have any information. His post is what all posts after should look like.[/b][/color][/quote]

[Code] Fast Roping Workshop

Posted: 2010-02-19 00:23
by j0g32
I've got some ideas, that python coders could have a try on.

- Spawn and Delete a Staticobject (like the oilpump buildings) next to a vehicle.
How to use it? It should be activated by the commorose (like the Squadleader deployable assets menu)
=> this would be needed for the spawning of 3 different rope models.

-Use a python code similar to the one "sandbox-mod" uses for grabbing and so on but especially for "FREEZING" objects. This could help to set up the blocking of the pilot.

those are just ideas but they're needed for the concept I've suggested before...
Maybe somone could try to work with these things.


I'd prefer working on it by myself but I need some instructions in python and Battlefield2 refractor engine.


thx
j0g32
P.S. couldn't find good tutorials :neutral:

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 01:48
by Hitperson
dunno if this helps at all guys (looks mighty iffy to my eyes...)

Got Fast Ropes Workin.. - Official BF Editor Forums

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 08:32
by Hulabi
Emm... is it possible in the BF2 engine to teleport / respawn a player from place A to place B? Dont know if this would work, but if it's possible, have the player sit in the chopper, and when the chopper is hovering the player could trigger a weaponzoom effect, only having it as a "fastrope animation" (sliding down the rope). Make it 1st and 3rd person animations, and after the animation is over, teleport / respawn the player to the ground under the chopper? Like i said i have no idea if this would work, and if it's just a stupid idea, then no big deal :) just delete this post.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 08:50
by LUKE_NUKE_EM
Hitperson wrote:dunno if this helps at all guys (looks mighty iffy to my eyes...)

Got Fast Ropes Workin.. - Official BF Editor Forums
Hmm the poster of that thread was one of my xfire friends,

He told me he figured out fastropes, guess this is what he was talking about.

He played Project Reality, but he doesn't anymore, so I'm not too sure about his credibility..

I might be able to contact him about it..

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 08:55
by Rhino
Hitperson wrote:dunno if this helps at all guys (looks mighty iffy to my eyes...)

Got Fast Ropes Workin.. - Official BF Editor Forums
He most likley just threw a grapple hook up from the ground onto a hovering chopper, climbed up and took the photo since he has purposely not taken a photo of the chopper door itself to show how the "rope" is attached to the chopper and given no explanation as to how he did it.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 15:35
by j0g32
NautaFIN wrote:Emm... is it possible in the BF2 engine to teleport / respawn a player from place A to place B? Dont know if this would work, but if it's possible, have the player sit in the chopper, and when the chopper is hovering the player could trigger a weaponzoom effect, only having it as a "fastrope animation" (sliding down the rope). Make it 1st and 3rd person animations, and after the animation is over, teleport / respawn the player to the ground under the chopper? Like i said i have no idea if this would work, and if it's just a stupid idea, then no big deal :) just delete this post.
nice idea !
I think teleporting could work as in Sandbox mod you can enter a "jump" commando in the team-chat and it teleports you up/down.

To be honest, you're talking about sth. similar that I was thinking about (animations and stuff). ;)
I think it should be possible using a new animationsystem for a handheld weapon:
instead of pointing forwards with the weapon and closing his eye, the player-model could do a sliding animation.
There's no need in teleporting just use an exitpoint...

Re: [Code] Fast Roping Workshop

Posted: 2010-02-19 20:52
by Hjid
Thanks for the info sniper_dog, it is very much appreciated :-D

But I can't seem to get the rope to be active for longer than 10 seconds, even though I have set the awaketime to 10000. Does anybody have a solution for this?

Re: [Code] Fast Roping Workshop

Posted: 2010-02-20 12:44
by j0g32
Try to change another value ;-)

Re: [Code] Fast Roping Workshop

Posted: 2010-02-20 22:20
by OJINROH
Hjid wrote:Thanks for the info sniper_dog, it is very much appreciated :-D

But I can't seem to get the rope to be active for longer than 10 seconds, even though I have set the awaketime to 10000. Does anybody have a solution for this?
Wasn't there an Idea in the former thread that the awaketime could be lengthened by not letting the hook settle?
So in theory you would have to keep it moving just a little with the implosion thingy.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-21 00:30
by Hjid
I'm currently testing out a lot of this in the sandbox mod, and it seems that OJINROH is right.
When I keep the object that the rope is hanging on (not attached) the rope stays awake (not frozen).

Btw, when changing the elasticity to around 0.5 the rope keeps jumping a bit and stays unfrozen for a long time :grin: But this only seem to work when the grapple hook isn't connected to any staticmeshes. If it gets conected, the rope seems to lose its physics and starts falling really slow and eventually freeze.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-23 21:41
by Hjid
Here is a little update, although it is the sandboxmod, it should be possible to recreate in PR.
yay - Xfire Video

All we need now is to have the player forced into a parachute vehicle.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-23 22:30
by Sniperdog
I would say the physics code looks promising but the biggest issue to confront is how to actually get the grapple to spawn in the first place. It seems that the grapple projectile only appears when fired from a handheld weapon meaning you wont be able to just swap the projectile.

The next best bet would be to try and emulate a genericfirearm inside the helicopter that is deploying the ropes as a thrown weapon by adding any handheld weapon related code from the grapple tweak that doesn't cause the game to break...

Here is the code:

Code: Select all

ObjectTemplate.activeSafe GenericFireArm nsrif_grapplinghook
ObjectTemplate.creator TLO-1:tlo
ObjectTemplate.modifiedByUser "daveke"
ObjectTemplate.setNetworkableInfo HandFireArmsInfo
ObjectTemplate.saveInSeparateFile 1
ObjectTemplate.castsDynamicShadow 1
ObjectTemplate.cullRadiusScale 10
rem ---BeginComp:WeaponHud ---
ObjectTemplate.createComponent WeaponHud
ObjectTemplate.weaponHud.selectIcon Ingame\Weapons\Icons\Hud\Selection\nsrif_grapplinghook.tga
ObjectTemplate.weaponHud.specialAbilityIcon Ingame\Weapons\Icons\Hud\SpecialKitIcons\grapplinghook.tga
ObjectTemplate.weaponHud.hudName "KILLMESSAGE_WEAPON_ghook"
ObjectTemplate.weaponHud.altGuiIndex 6
ObjectTemplate.weaponHud.hasFireRate 0
rem ---EndComp ---
rem ---BeginComp:ThrownFireComp ---
ObjectTemplate.createComponent ThrownFireComp
ObjectTemplate.fire.fireLaunchDelay 0.3
ObjectTemplate.fire.altFireInput PIAltFire
ObjectTemplate.fire.addFireRate 0
ObjectTemplate.fire.projectileStartPosition 0/-0.04/0.18
ObjectTemplate.fire.fireLaunchDelaySoft 0.8
ObjectTemplate.fire.showWeaponAfterReloadDelay 0.05
ObjectTemplate.fire.pullBackTime 1
rem ---EndComp ---
rem ---BeginComp :D efaultAmmoComp ---
ObjectTemplate.createComponent DefaultAmmoComp
ObjectTemplate.ammo.ammoType 1
ObjectTemplate.ammo.nrOfMags 1
ObjectTemplate.ammo.magSize 1
ObjectTemplate.ammo.reloadTime 2.4
ObjectTemplate.ammo.minimumTimeUntilReload 2
ObjectTemplate.ammo.autoReload 1
ObjectTemplate.ammo.instantReloadOnEnable 1
ObjectTemplate.ammo.toggleWhenNoAmmo 1
rem ---EndComp ---
rem ---BeginComp:SoldierDeviationComp ---
ObjectTemplate.createComponent SoldierDeviationComp
ObjectTemplate.deviation.setFireDev 0.8 0.4 0.02
ObjectTemplate.deviation.minDev 0.75
ObjectTemplate.deviation.setTurnDev 0 0 0 0
ObjectTemplate.deviation.setSpeedDev 4 0.6 0.6 0.1
ObjectTemplate.deviation.setMiscDev 3 3 0.1
ObjectTemplate.deviation.devModStand 2
ObjectTemplate.deviation.devModCrouch 2
ObjectTemplate.deviation.devModLie 2
ObjectTemplate.deviation.devModZoom 2
rem ---EndComp ---
rem ---BeginComp :D efaultSoundComp ---
ObjectTemplate.createComponent DefaultSoundComp
rem ---EndComp ---
rem ---BeginComp:ThrownAnimationComp ---
ObjectTemplate.createComponent ThrownAnimationComp
rem ---EndComp ---
ObjectTemplate.geometry nsrif_grapplinghook
ObjectTemplate.setCollisionMesh nsrif_grapplinghook
ObjectTemplate.mapMaterial 0 cgfxShader1 0
ObjectTemplate.hasMobilePhysics 0
rem -------------------------------------
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Fire1P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Fire1P_Outdoor
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Fire3P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_BoltClick
ObjectTemplate.addTemplate S_nsrif_grapplinghook_TriggerClick
ObjectTemplate.addTemplate S_nsrif_grapplinghook_SwitchFireRate
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Reload1P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Reload3P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Deploy1P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Deploy3P
ObjectTemplate.addTemplate S_nsrif_grapplinghook_Zoom
rem -------------------------------------
ObjectTemplate.animationSystem1P Objects/Weapons/Handheld/nsrif_grapplinghook/AnimationSystem1p.inc
ObjectTemplate.animationSystem3P Objects/Weapons/Handheld/nsrif_grapplinghook/AnimationSystem3p.inc
ObjectTemplate.projectileTemplate GrapplingHookRope
ObjectTemplate.keepProjectiles 600
ObjectTemplate.velocity 225
ObjectTemplate.itemIndex 6
ObjectTemplate.delayToUse 3
this part especially...

Code: Select all

ObjectTemplate.createComponent ThrownFireComp
ObjectTemplate.fire.fireLaunchDelay 0.3
ObjectTemplate.fire.altFireInput PIAltFire
ObjectTemplate.fire.addFireRate 0
ObjectTemplate.fire.projectileStartPosition 0/-0.04/0.18
ObjectTemplate.fire.fireLaunchDelaySoft 0.8
ObjectTemplate.fire.showWeaponAfterReloadDelay 0.05
ObjectTemplate.fire.pullBackTime 1
rem ---EndComp ---
Regardless, very good work so far Hjid; that is a very nice observation with the elasticity code :)

Re: [Code] Fast Roping Workshop

Posted: 2010-02-25 06:12
by HangMan_
I thought about doing fast ropes via a weapon for a while. Like a rope fired by the pilot near the exit point of the helicopter, it would have mine style implosions all the way along it to hold the player on, but not strong enough to hold them in the air. So you would fall slowly along the rope.

Another thought that came across my mind was making a weapon similar to a parachute that you could use when near another object. In fastropes case it would be an animation that worked along with the pilot implosion weapon. So you use python or something so you can't switch to the fastrope grabbing weapon unless you are near a fastrope. And make it so that it was produces the explosions (possibly implosions) that stop you falling.

Just some spit balling ideas.

Edit: Also thismight be of use

Re: [Code] Fast Roping Workshop

Posted: 2010-02-26 20:22
by Hjid
There is one thing I'm wondering about. Is there anyone that has gotten a vehicle to shoot the grappling hook?
I just can't seem to get it working. It doesn't crash, but the ropes are just invisible. If you enter an open vehicle (Seat 4-6 in blackhawk) in vBF2 Xpack, you can't throw the grappling hook.

Re: [Code] Fast Roping Workshop

Posted: 2010-02-28 00:14
by sickly
[R-DEV]Rhino wrote:He most likley just threw a grapple hook up from the ground onto a hovering chopper, climbed up and took the photo since he has purposely not taken a photo of the chopper door itself to show how the "rope" is attached to the chopper and given no explanation as to how he did it.
See this is something I don't understand: if you can throw the Grappling Hook up to the hovering chopper, why can't you also drop the grappling hook from the chopper (i.e. as you would from a roof top ledge)?


If the only impediment is the fact that the a player can only enter the chopper by taking a position in it (i.e. by pressing the 'enter' key), then wouldn't the solution be to have the player's position 'exit' coordinates be inside the chopper's hold instead of adjacent to the chopper, so then it's just a matter of walking over to the edge and dropping the grappling hook as usual? (That would require the chopper's cargo hold ceiling height to be increased in order to accommodate the character in standing stance.)

You can already enter the chopper by landing it next to a small object, jumping onto the object and then moving into the hold while in crouched stance.

Assuming you can stop the rope disappearing (not clear what's up with this problem--does the rope disappear once it settles on a moving object or not?), I suppose you could experiment by getting a buddy to pilot the chopper once you've entered the hold, and then proceed to drop the grappling hook at the edge of the chopper's cargo hold once the chopper is airborne.

I have tried this on an immobile chopper in vBF2 and it works; the hook attaches to the edge of the chopper's hold and the rope falls as it normally would off a roof ledge (don't ask how long it took to get that experiment to work--suffice to say I suck at flying).

I'd be interested to know what kind of grip is involved and if the soldier slides out of the hold if the chopper tilts.


(I'm guessing that something as obvious as this has been thought of and doesn't work but throwing it out there just in case.)

Re: [Code] Fast Roping Workshop

Posted: 2010-02-28 00:54
by Salmonella
while ago I did this for bf2142


it is the micro implosions you guys said, depending on the angle of the weapon is pointed, it could lift up or slow down the fall.

but we still have the problem to make it only happens next to a chopper, even more only when it pointed to the opening on the chopper... really dont know...

Re: [Code] Fast Roping Workshop

Posted: 2010-02-28 01:30
by Maxfragg
you can drop a hook from a chopper, BUT, ladders (and technicaly, the hooks are some kind of ladder, can not propably beeing moved by an object, oh and there would be still the issue of switching "seats" form the helo to the rope

Re: [Code] Fast Roping Workshop

Posted: 2010-02-28 16:53
by sickly
Maxfragg wrote:you can drop a hook from a chopper, BUT, ladders (and technicaly, the hooks are some kind of ladder, can not propably beeing moved by an object, oh and there would be still the issue of switching "seats" form the helo to the rope
So the result is that the rope (i.e. type of ladder) disappears when the object it's hooked onto moves?

Does the amount of movement make a difference? Because if it works with a relatively stable hover (i.e. low movement) then it's not a big problem.

I was going on the assumption that it's the latter because you can apparently throw the grappling hook up onto a helo while it's hovering and climb up (supposedly hitting the 'use' key puts you into a free seat on the helo once you're close enough).

There's the proposed the idea of keeping the hook from settling on the object and the rope "flexible" or active. I know you can climb the rope even when it's still in motion (when attached to static objects at least); you don't have to wait for it to 'freeze.' I'd like to know if people are testing this stuff out.

As to the issue of switching seats: what I was suggesting is that you just exit the seat but remain in the helo (it's possible to move inside the vehicle), then move over to the edge of the helo's cargo hold and drop the rope just as you would from a rooftop. Forgot to add that you'd need to give the grappling hook priority when hitting the 'use' key, otherwise the player will just end up back in the helo passenger seat instead of on the rope.

Gameplay-wise, the only problems I see with this is that there's a risk of accidentally dropping the grappling hook onto the ground instead of the ledge, at which point you're screwed if you're the only player on the helo with one, and of the pilot flying the chopper away with your grappling hook once you're on the ground before you can retrieve it. What can I say, the pains of war. lol (Would make for a hilarious youtube video.)