GetScale (float)
SetScale newScale_float
ModScale scaleChange_float
If (doonce == 0 )
Object_ID -> SetScale 0.1
Set doonce to 1
endif
Эти функции используются, чтобы установить или изменить размеры копии объекта.
Любой размер должен быть между (не включительно) 0 и 10 (так что можно задавать его вне 0.5 и 2, что первоначально отрицалось Bethesda)(инфа от Mode Locrian).
Скрипт выше может использоваться, чтобы обойти ограничение на размер, которое накладывает CS.
Примечание: Не следует вызывать SetScale каждый фрейм, особенно в экстерьерах и других медленных с точки зрения FPS ситуациях.
При загрузке игры размер сбросится в значение между 0.5 – 2. Потому не используйте однократных условий, а вызывайте функцию регулярно.
Например, каждые 10 фреймов или проверяя текущий размер объекта функцией GetScale:
if ( GetScale != 5 ) SetScale, 5
Также можно использовать стартовый скрипт Трибунала или Бладмуна.
Он будет однократно проверять размеры объектов при загрузке игры1 (Информация с форумов / JOG).
Пример:
Этот скрипт от Беседки показывает как увеличивать и уменьшать предмет.
Когда скрипт помещен на объект, активация копии объекта дает возможность игроку изменять ее размер.
Begin scalescript
short questionAsked
short button
float direction
float currscale
float tempscale
if ( MenuMode )
return
endif
if ( OnActivate == 1 )
if ( questionAsked == 0 )
MessageBox, "Сделать этот объект..." "...Больше" "...Меньше"
set questionAsked to 1
endif
endif
if ( questionAsked == 1 )
set button to GetButtonPressed
if ( button == -1 )
else
if ( button == 0 )
set direction to 1
elseif ( button == 1 )
set direction to –1
endif
set questionAsked to 0
set button to 0
endif
endif
if ( direction != 0 )
set tempscale to .3 * GetSecondsPassed
set tempscale to tempscale * direction
ModScale tempscale
set currscale to GetScale
if ( direction == -1 )
if ( currscale <= .5 )
set direction to 0
endif
else
if ( currscale >= 2 )
set direction to 0
endif
endif
endif
end scalescript