Zorkaz Posted February 26, 2021 Share Posted February 26, 2021 SetPlayerControls() is neat but how can I disable the original player moving too. When using an InputDisableLayer I disable the movement of the player as well as the target actor itself Link to comment Share on other sites More sharing options...
Evangela Posted February 27, 2021 Share Posted February 27, 2021 Try Game.SetPlayerAIDriven(). This will make the player basically an NPC(you can then run packages on it and stuff), and as such will not respond to controls until SetPlayerAIDriven(false) is called. Link to comment Share on other sites More sharing options...
YouDoNotKnowMyName Posted February 27, 2021 Share Posted February 27, 2021 I also tried that (to make a "multiple playable characters" mod) and I never got it to work ...;-( Link to comment Share on other sites More sharing options...
Zorkaz Posted February 27, 2021 Author Share Posted February 27, 2021 Oh that's neat. Thanks. Now I wonder why nobody used Lorenzo's alien helmet for mind control Edit: Player still gets into combat position and jumps. Still okay for now Link to comment Share on other sites More sharing options...
Evangela Posted February 28, 2021 Share Posted February 28, 2021 ^I don't remember how I stopped that. Maybe you can try SetRestrained(). Skyrim has SetDontMove() but that doesn't exist in Fallout 4.I also tried that (to make a "multiple playable characters" mod) and I never got it to work ...;-(One guy managed to do it in Skyrim, and despite using his code the exact same way, I ran into issues with the player using the Throw Voice shout dialogue whenever it needed to be speak/be spoken to and I couldn't get rid of the default armor(the player would wear the cloned armor and the default armor). Link to comment Share on other sites More sharing options...
Zorkaz Posted February 28, 2021 Author Share Posted February 28, 2021 Thank you.As a fun side note: Don't try running too far with an NPC, the LOD will disable you Link to comment Share on other sites More sharing options...
Evangela Posted February 28, 2021 Share Posted February 28, 2021 (edited) That's correct, you will have to keep teleporting the player every time it is x amount of distance away. I think uGridsToLoad still applies to the character you are now controlling, so this means the 'frozen' AI controlled player must be with in 5 cells(the default is 5x5) in any given direction. You can probably place an ability on the player upon it 'losing control' and put a condition on the spell to check the distance(20480 = 5 cells) and then have it warp. For immersion sake you can also make the player invisible so it's not a sudden "outer body" experience when the player suddenly pops infront of the clone or something.(Note: this is assuming this will work in the same way in Fallout 4 as it did for me in Skyrim.) Edited February 28, 2021 by Rasikko Link to comment Share on other sites More sharing options...
Zorkaz Posted February 28, 2021 Author Share Posted February 28, 2021 Of course. But you gotta try ;) Link to comment Share on other sites More sharing options...
SKKmods Posted February 28, 2021 Share Posted February 28, 2021 The default active area is 10,240 radius ((uGridsToLoad * 4096) /2) around the player controlled actor. Easy to validate: just Debug.Trace some object OnLoad distances from the player. Link to comment Share on other sites More sharing options...
Recommended Posts