×
Меню
Индекс

MSFD Forcing sneak movement

 
ForceSneak         
ClearForceSneak     
     "Actor_ID"->ForceSneak
 
GetForceSneak      ( returns Boolean/short)
     If ( "actor_ID"->GetForceSneak == 1 )
 
The ForceSneak command puts the Actor in sneak mode, all movement will be performed in sneaking. ClearForceSneak terminates ForceSneak mode. Unfortunately there does not seem to be a corresponding command to force running (added with Tribunal). GetForceSneak returns one if ForceSneak mode is active on the calling Actor. Check the LookoutScript  script for an example. Here's a snippet:
 
 
elseif ( walkstate == 2 )
     Fargoth->ForceSneak ; enter sneak mode
     Fargoth->AiTravel -11468.595,-71511.531,173.728                    ;goes to tree
     set walkstate to 3
 
elseif ( walkstate == 3 )
     if ( Fargoth->GetAiPackageDone == 1 )
          ;Fargoth->Equip "torch_infinite_time_unique"
          set walkstate to 4
          ;MessageBox "SHOULD BE AT TREE"
     endif
 
 
elseif ( walkstate == 4 )
 
     set timer to timer + GetSecondsPassed
 
     Fargoth->ClearForceSneak ; terminate sneak mode
     Fargoth->AiWander 0 0 0 0 0 0 0 0 0
 
          if ( timer > 3 )
               Fargoth->ForceSneak ; reenter sneak mode
               Fargoth->AiTravel -11410.590,-72057.188,133.644          ;goes to wall
               set walkstate to 5
          endif