MSFD Определение нахождения игрока в интерьере или в экстерьере
[no fix] GetInterior (returns Boolean/short)
If ( GetInterior == 1 )
Недокументированная функция! (Спасибо XP-Cagey и Killgore)
Эта функция возвращает 1, если текущая ячейка интерьер, и 0, если – экстерьер.
Вот пример глобального скрипта от Killgore. Чтобы опробовать его, в консоли напечатайте "StartScript Outside_Check".
Begin Outside_Check
short doonce
if ( MenuMode == 1)
Return
EndIf
if (doOnce == 0) ;если вы в новой ячейке ;или он только что начался
if ( GetInterior == 1 )
MessageBox "1: внутри"
elseif ( GetInterior == 0 )
MessageBox "0: снаружи"
else
MessageBox "где-то еще"
endif
set doOnce to 1
Return
endif
if ( doOnce == 1)
if ( CellChanged == 0) Return
else ;если игрок перемещается из ячейки в ячейку..
set doOnce to 2 ;скрипт ждет дополнительный фрейм
endif
Return
endif
if ( doOnce == 2) ;затем начинается снова и печатает
set doOnce to 0
Return
endif
End Outside_Check