The Elder Scrolls Forums

TES Construction Set and Plugins >> General TES Construction Set

Pages: 1
Archived User Account

Flying companions...script help
      #2961668 - 08/23/04 12:39 PM

Hi scripting gurus!

I'm having a problem with my companions who fly (pixies) as a racial ability. Is there a way to get them to stay on the same level when we're just walking? Right now, when I walk down a hill, they just keep walking on the same level so they end up above me, but not far enough above me that the teleporting part of the companion script kicks in.

I don't want to remove their flying abilities because later in the TC the player will be able to levitate a lot, and I want the player to be able to keep the companions if they choose to.

I also don't want to set the teleport distance so ridiculously low that my companions will constantly be teleporting to me.

Is there a way to make them fly only when the player is levitating?

Here's the script I've been using...I'd like to improve it anyway because it's old and I didn't write it , so any suggestions would be helpful.

 Begin 0buddyScript
short companion
short Nolore
short float
float myx
float myy
float myz
float timer
AddTopic "Join My Big Adventure!"
;addspell 0buddylevitate

if ( GetCurrentAiPackage == 3 )
if ( GetWeaponDrawn )
elseif ( GetSpellReadied )
elseif ( GetDistance Player > 999 )
set timer to timer + GetSecondsPassed
if ( timer > 9 )
set timer to 0
set myx to ( Player->GetPos x )
set myy to ( Player->GetPos y )
set myz to ( Player->GetPos z )
SetPos x myx
SetPos y myy
SetPos z myz

if ( GetCurrentAiPackage == 3 )
if ( Player->GetEffect, sEffectLevitate == 1 )
if ( GetEffect, sEffectLevitate == 0 )
Cast 0buddylevitate player
if ( GetEffect, sEffectLevitate == 1 )
set myz to ( Player->GetPos z )
SetPos z myz


Post Extras: Print Post   Remind Me!   Notify Moderator  

Reged: 08/02/02
Posts: 1590
Re: Flying companions...script help [Re: ]
      #2962237 - 08/23/04 04:23 PM

You'll have to play with the numbers, and all this does is keep them at a specified height:

(new short variable)

float play_z (represents the player's z axis height)

(In you're "GetCurrentAiPackage == 3" area:)

set play_z to ( ( Player->GetPos z ) + 60 )
SetPos z play_z

This needs to run every frame. 60 is the number you'll have to play with. If I'm not mistaken, the player's z axxis height is taken from a point near the feet, so you need to add to that to keep your fairy somewhere around the player's head (or lower). I did this once, and you may need to set them lower than you want to, cause if you don't, they'll get hung up going up stairs, etc..

My mods

Post Extras: Print Post   Remind Me!   Notify Moderator  
Pages: 1

Extra information
0 registered and 2 anonymous users are browsing this forum.

Moderator:  Umrahel, Freddo, Pete, Hungry Donner, Attrebus, Miltiades, tegger 

Print Thread

      You cannot start new topics
      You cannot reply to topics
      HTML is disabled
      UBBCode is enabled

Thread views: 55

Rate this thread
Jump to

The Elder Scrolls Homepage

UBB.threads™ 6.3

Click for Privacy Statement 2003 Bethesda Softworks LLC, a ZeniMax Media company. All Rights Reserved.