Announcement

Collapse
No announcement yet.

Climbing walls in two planes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Climbing walls in two planes

    Looking for a way to create a zone that allows players to scale wall. The ladder actor and ledges can be used, but I am looking for two axis movement while climbing a wall. There is an actor Physics setting called PHYS_SPIDER available. Based on UnrealWikki's (minimal) description, it is what I am looking for (at least partially). How do I create a zone that changes a Players physics to SPIDER when in the zone (in much the same way as entering a water zone changes Player physics to swimming)

    Has this been tried before and found to have no effect? Thanks.

    Unreal Wikki info:
    http://wiki.beyondunreal.com/wiki/PhysicsType
    Give some taffer fire, and you'll keep him warm for the night with one less reason to cause trouble for the master.
    Set a taffer on fire, and he will be warm for the rest of his life, and have no need to bother the master.

  • #2
    Maybe try looking at the way it's done on the vine covered wall in TH-Theatre? There are patches of wall there that allow 2-axis movement.

    Comment


    • #3
      A good thought, but I looked into that. Theatre uses ladder actors as I recall. Also, horizontal movement is slowed (at least for me). My map currently uses a combination of ladders and ledges on the walls. The effect is close, just lacks the degree of freedom I seek. Then there is the issue where some of the walls have narrow paths to them. Putting ladder actors there is not good as it slows down player movement. I have a way around it, but removes some player movement that I would prefer not have limited.
      Give some taffer fire, and you'll keep him warm for the night with one less reason to cause trouble for the master.
      Set a taffer on fire, and he will be warm for the rest of his life, and have no need to bother the master.

      Comment


      • #4
        How bout using a small Zone with altered gravity?
        My leet Thievery Map
        My leet UT3 Map
        My leet AS Map

        Comment


        • #5
          look at TH-soulsharbour, there is a climable wall outside near well

          Comment


          • #6
            Another good thought, but for what I am trying to do, did not work to well. Dual gravity vectors move you to a corner when you jump, and applying a horizontal had some rather annoying effects. Example: jumps suddely become really high followed by rather quick and painful introduction to the ground as you re-entered vertical gravity. Actually, that might have uses elsewhere, but in my situation can have nasty, unintuituve consequences. Might be other ways to configure the gravity, I just do not know them.
            Give some taffer fire, and you'll keep him warm for the night with one less reason to cause trouble for the master.
            Set a taffer on fire, and he will be warm for the rest of his life, and have no need to bother the master.

            Comment


            • #7
              Maybe you could have a zone (or actor) which would set PHYS_Flying while the player is in contact with it?

              Comment


              • #8
                Actually, I would like to create a zone that changes physics to PHY_Spider, just do not know how to do this. Have not been successful with the Zone Properties "change Physics" flag- seems to have no effect- probably missed a key setting though.
                Give some taffer fire, and you'll keep him warm for the night with one less reason to cause trouble for the master.
                Set a taffer on fire, and he will be warm for the rest of his life, and have no need to bother the master.

                Comment


                • #9
                  I couldn't find that "Change physics" default prop in ZoneInfo, but this should do the trick:

                  [code:1:50439f0dae]//================================================== ===========================
                  // ChangePhysZone.
                  //================================================== ===========================
                  class ChangePhysZone expands ZoneInfo;

                  var() EPhysics SetPhysics, ResetPhysics;

                  event ActorEntered( actor Other )
                  {
                  if (Other.Physics != SetPhysics)
                  Other.SetPhysics( SetPhysics );

                  Super.ActorEntered( Other );
                  }

                  event ActorLeaving( actor Other )
                  {
                  if (Other.Physics != ResetPhysics)
                  Other.SetPhysics( ResetPhysics );

                  Super.ActorLeaving( Other );
                  }[/code:1:50439f0dae]

                  DefaultProperties > ChangePhysZone > ResetPhysics should be set to PHYS_Falling, and in your case, SetPhysics should be PHYS_Spider.

                  Now the only problem is, the physics are only changed upon entry and exit of the zone. We could remedy this by doing a constant check on physics:

                  [code:1:50439f0dae]//================================================== ===========================
                  // ReplacePhysZone.
                  //================================================== ===========================
                  class ReplacePhysZone expands ZoneInfo;

                  var() EPhysics ReplaceFrom, ReplaceTo;

                  function Tick( float DeltaTime )
                  {
                  local Actor A;

                  ForEach ZoneActors( class'Actor', A )
                  {
                  if (A.Physics == ReplaceFrom)
                  A.SetPhysics( ReplaceTo );
                  }
                  }

                  event ActorLeaving( actor Other )
                  {
                  Other.SetPhysics( PHYS_Falling );
                  Super.ActorLeaving( Other );
                  }[/code:1:50439f0dae]

                  In your case, ReplaceFrom should be PHYS_Walking, and ReplaceTo should be PHYS_Spider.
                  ]V[]V[

                  Comment

                  Working...
                  X