short statefloat myXfloat myYfloat myZfloat speedXfloat speedYfloat speedZfloat timerfloat tempif ( OnActivate ) set state to 1 set myX to GetPos, X set myY to GetPos, Y set myZ to GetPos, Z set speedX to 40.0 set speedY to 0.0 set speedZ to 0.0 set timer to 0endifif ( state == 1 ) set timer to GetSecondsPassed set temp to speedX / timer ; Keep it moving at a constant speed, irrespective of fps set myX to myX + temp player->SetPos, X, myX set temp to speedY / timer set myY to myY + temp player->SetPos, Y, myY set temp to speedZ / timer set myZ to myZ + temp player->SetPos, Z, myZ setpos, X, myX setpos, Y, myY setpos, Z, myZ if ( turning_activator->GetDisabled == 0 ) ; This is an invisible activator at the turning point. editor_marker.nif, I think. set temp to (turning_activator->GetPos, X - myX ) ; Are we inside a box 200 units to a side? if ( temp < 100 ) ; I can’t remember, does (temp < 100) && ( temp > 100 ) work? If so, combine these. if ( temp > -100 ) set temp to (turning_activator->GetPos, Y - myY ) if ( temp < 100 ) if ( temp > -100 ) set temp to (turning_activator->GetPos, Z - myZ ) if ( temp < 100 ) if ( temp > -100 ) turning_activator->Disable set speedX to 0 set speedY to 40 SetAngle, Z, 90 ; or whatever endif endif endif endif endif endifendifend