1) Created a custom zone that uses bWaterZone, a high fluid friction, and no gravity. This allows the most control for the player, and it works fantastically well except for these few but annoying problems:
- Players can drown while climbing. I fixed this, though, by borrowing from TarZone's implementation of slowing down whatever enters; I simply set the pawn's UnderWaterTime to -1 while in the zone and reset it when they leave to the pawn's default.
- Projectiles think the rope is a water zone, because it is. Rockets and grenades slow down, biogel floats, etc. This is a big problem, as you can't properly shoot while climbing if this is the case.
- The water entry actor/noise, while replaceable, STILL HAPPENS for some actors, even the player in some cases. This is really irritating too.
- Pawns use their swimming animation while climbing, which looks stupid.
So far, this is still the best implementation despite the issues, as players have lots of control when climbing (up or down) and they can leap from another high place and "grab on" to the rope without falling to their death.
2) Tried a custom zone using only gravity and friction adjustments. This works sorta ok, sorta badly. There isn't as much control, as the player always goes straight up automatically, and often way way too fast (no one can climb a rope that fast!). Projectiles are ok, naturally, as it's not bWaterZone=True.
- Setting the gravity to a positive value makes it impossible to climb down and climbing up can be super fast
- Setting the gravity to zero doesn't help
- Setting the friction high still doesn't stop the player from zooming UP the rope if they jump, or if they hold the jump button and press forward against the rope brush
- If you leap from a high place, you can't start climbing up. You just fall, but sometimes you don't take any damage since the zone has a higher friction and lower terminal velocity
- It's very easy to fall out of the zone and very hard to fall back into it
3) Speculated about movers. I haven't tried this yet, but you could use invisible platforms that rise with a narrow, tall Trigger (movers set to TriggerControl). This is the worst implementation, and if it came to this, I'd just make standard elevators instead.
- No control for the player. Automatic climb
- Can't climb down. Mover can only go up one way
- Mover movement is very obvious to the player and you can walk around on it, even if it's very small
- If you fall off and want to go back up, you have to wait for the mover to slooooooowly come back down
So, yeah, this is a real dilemma. Do any of you have any ideas about how to deal with projectiles in a waterzone? I tried adding a
Code: Select all
if ( Other.IsA('Projectile') )
return;
to my custom waterzone's ActorEntered function, but that didn't do anything. Is there some way to make a zone just not register projectiles (or dropped inventory) at all? If I could get the zone to completely ignore projectiles, there wouldn't be that damn water splash actor/sound and velocity slowdown for them, and then I would be able to have climbable ropes.