UncheckedLake Posted February 22 Share Posted February 22 (edited) Hello all, Thought I'd share some progress: This is a recently made Wall-Jumping prototype script that is in a decent working state. (Video) https://www.youtube.com/watch?v=WSGHYvxe5gA Idea going for is basic Foundational-Ability that is reasonable to the relevant Skills/factors, that can eventually be used by qualifying NPCs too once programmed to. (Advanced Wall-Jumps Abils could be integrated in more unique circumstances). So far it can jump from all 8 angle key-inputs. It scales in utility according to several factors for a natural progression feel. All the variables/formulas can easily be adjusted. There's 1 Annoyance I've yet to resolve that isn't a major issue, I just like to simply/cleanly fix it. ( After a few successive jumps it can get stuck into auto-jumping off nothing .. a bug or a feature depending how you look at it .. Resolves if let go of 'controlKey' ) If Collision-Meshes are made more precise, the Wall-Jump would be more precise too. --- Next Focus for this: = Adjust the angle potential to be more precise, so it looks somewhat like this, and should feel natural: ( What we have now is only the 180 calculation ) It'd be cool to add animations, although I'm not an animator. The forward motion looks decent already. - Next Features related to this likely to (hopefully) 'knock out' soon: - Ledge-grabbing - Ledge horizontal movement - Climb Up/Clamber/Drop - Wall/Crevice-Climbing/Moving (with Depth and Corner Turning if can think it through) - Wall-Running [would be after these/ a bit different] -- All those would be contextual to the environment and physical objects, and eventually would need animations for each state to look polished. Any thoughts/feedback? Edited February 22 by UncheckedLake 1 Link to comment Share on other sites More sharing options...
RomanR Posted February 27 Share Posted February 27 If this script is made to run every frame, sometimes you need to ignore keys for some time to not confuse or overflow some queue in Oblivion. This what I did in my flight script: if ctrl_disabled == 0 if IsControlPressed 7 != 0 if DrakeDragonRaceQuest.col_key == 0 set DrakeDragonRaceQuest.col_key to 1 ; ignore further presses if DrakeDragonRaceQuest.disablecollisions == 0 set DrakeDragonRaceQuest.disablecollisions to 1 Message "Flight collisions disabled." else set DrakeDragonRaceQuest.disablecollisions to 0 Message "Flight collisions enabled." endif endif endif if IsControlPressed 7 == 0 && DrakeDragonRaceQuest.col_key != 0 set DrakeDragonRaceQuest.col_key to 0 ; stop ignoring key endif endif In this part pressing a cast button will set up "no collision" flight mode flag. However to avoid flipping it in and out and to not spam a message queue, a cast key is further ignored until pressed off again. I used quest variables, because this is a function script and so it will forget all local variables when returns. 1 Link to comment Share on other sites More sharing options...
UncheckedLake Posted February 28 Author Share Posted February 28 Thanks, I'll have to try something like that. That would be a good solution. I'm also not sure if the issue with the auto-jumping on 'nothing' is because of a faulty reading of its main mechanism -- Basically, it's reading 1 , but should say 0. It's happening right at the new-cycle frame, I think. But yes that solution should work block a faulty reading if it's just happening for that frame. (I was seeing the cycle-reading be 0 correctly, then the new-cycle frame appeared to read 1, allowing air-jumps) It was also inconsistent -- Most times it would not lock into that glitch, just sometimes. Would like to confirm it's not from the rough-draft logic, causing that false-reading somehow, too. Appreciate your insight. Link to comment Share on other sites More sharing options...
Recommended Posts