Jump to content

Companion wheel "back up" command


Rooker75

Recommended Posts

"Back Up", "Use Stimpak" and "Talk To" do not trigger any dialogue response (unlike the rest of the CW options), and appear to be hardcoded.

 

This is something you can try:

 

Create a new AI package and use the following settings:

 

http://imageshack.com/a/img842/5784/s9uv.png

http://imageshack.com/a/img835/9062/ztr2.png

 

 

As for the scripting side, you will have to give more details - is this intended for a specific companion, or is to apply on all current companions?

 

If the former, then you can add the following code to the companion's script:

begin GameMode

	if GetPlayerTeammate == 0
	elseif Waiting
	elseif player.IsInCombat == 0
	elseif GetIsCurrentPackage KeepAwayInCombat
		if GetDistance player > 512
			RemoveScriptPackage
		endif
	elseif GetDistance player < 256
		AddScriptPackage KeepAwayInCombat
	endif

end
Edited by jazzisparis
Link to comment
Share on other sites

I'm trying to get all currently-hired companions to move out of the friggin way during combat. I'm sick of looking down a scope and seeing a companion's back or Boone's rifle.

 

I tried using a package like that once. Testing with Veronica, she'd run off, then run right back, then run off again. I swear I think they've all been hard-coded to place themselves between your gun barrel and whatever it's pointed at.

 

I don't remember which options I ticked last time. I'll try what you have there and see if it works better.

 

What I've got right now is an apparel item that runs a quest while it's equipped. The quest script checks every .5 secs to see if the player is in combat and ragdolls/pushes away any companion that comes within 150. It does the job, but it's a goofy way to do it. It also tossed Veronica right off a cliff one time, which was pretty funny, but not quite what I wanted.

Link to comment
Share on other sites

Flee Not Combat is the only way I can think of to make an actor move away from something, without specifying where to move to.


If you want the script to run on all companions, I would suggest using a script attached to a quest. Tick Start Game Enabled, set the Processing Delay to 1.0.

For the script, you can use the following code (requires NVSE):




ref rActor

begin GameMode

if player.IsInCombat
set rActor to GetFirstRef 200 1 0
while IsFormValid rActor
if rActor.GetPlayerTeammate == 0
elseif rActor.GetIsCurrentPackage KeepAwayInCombat
if rActor.GetDistance player > 512
rActor.RemoveScriptPackage
endif
elseif rActor.GetDistance player < 256
rActor.AddScriptPackage KeepAwayInCombat
endif
set rActor to TeddyBear01
set rActor to GetNextRef
loop
endif

end

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...