Lost Heaven modding
Advertisement
Lost Heaven modding

Эту статью надо править

По нажатию кнопки F1 передает управление камере (Том блокируется). Установка стандартная.Для запуска выбрать Прогулка\Город-День. По сути это скрипт который можно установить в любую миссию.

Кнопки мыши двигают камеру вперед назад, кнопки вперд\назад\вправо\влево и дополнительные - крутят камеру вокруг осей XYZ.

Как это работает[]

Хорошо бы объяснить что делает скрипт. А пока ясно одно:

  • С помощью BSV в scene2.bin выбранной миссии добавляют объект типа "Other" c именем freecamera1.
  • и добавляют ему скрипт:
dim_act 1
dim_frm 2
dim_flt 13
//scriptcamera_mode beta GOLOD55 02.02.08
findactor 0,"Tommy"
getactivecamera 0
findframe 1,"Tommy.neck"
vect_set 10,0,1,1

Label 101
commandblock 0
wait 1000
Label 100
commandblock 0
commandblock 1
human_getseatidx 0,10
ctrl_read 1,OBJECTIVES
if flt[1]=1,CAM,-1
if flt[11]=-1,-1,100
if flt[10]=-1,-1,INCAR
if flt[9]=1,CAM,-1

label INCAR
ctrl_read 1,SNIPERMODE
if flt[1]=1,snip,-1
vect_set 2,0.01,0,0
ctrl_read 1,UP
if flt[1]=1,ROTS,-1
vect_set 2,-0.01,0,0
ctrl_read 1,DOWN
if flt[1]=1,ROTS,-1
vect_set 2,0,0.01,0
ctrl_read 1,LEFT
if flt[1]=1,ROTS,-1
vect_set 2,0,-0.01,0
ctrl_read 1,RIGHT
if flt[1]=1,ROTS,-1
vect_set 2,0,0,-0.01
ctrl_read 1,LEFT1
if flt[1]=1,ROTS,-1
vect_set 2,0,0,0.01
ctrl_read 1,RIGHT1
if flt[1]=1,ROTS,-1
vect_set 2,0,0,0.1
ctrl_read 1,FIRE
if flt[1]=1,MOVE,-1
vect_set 2,0,0,-0.1
ctrl_read 1,ACTION
if flt[1]=1,-1,100

label MOVE
frm_getrot 0,5
vect_mul_quat 2,5
frm_getpos 0,5
vect_add_vect 2,5
frm_setpos 0,2
goto 100

Label ROTS
frm_getrot 0,5
quat_mul_quat 1,5
frm_setrot 0,1
goto 100

Label CAM
let flt[11]=-flt[11]
if flt[11]=-1,-1,unlock
camera_lock 1
frm_linkto 0,1
let flt[9]=1
if flt[10]=-1,-1,101
act_setstate 0,inactive
let flt[9]=0
goto 101

label snip
let flt[12]=-flt[12]
if flt[12]=-1,-1,unsnip
camera_setfov 10
goto 101

label unlock
frm_linkto 0,-1
camera_unlock
act_setstate 0,active
label unsnip
camera_setfov 70
goto 101
Advertisement