Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Скриптинг (https://mafia-game.ru/forum/forumdisplay.php?f=10)
-   -   Free Camera. Крутить головой в салоне авто теперь реально!!! (https://mafia-game.ru/forum/showthread.php?t=30)

Пёс-Призрак 28.03.2018 22:16

Free Camera. Крутить головой в салоне авто теперь реально!!!
 
Автор: B.LAKER

Скажем троекратное спасибо GOLOD55 за этот скрипт! И так, скрипт дает возможность крутить говой в нутри салона авто при езде (а ля ТДУ) и фрикамеру, вообще очень похоже на ГТАшеый камера хак. Вот небольшое демонстрационое видео (???)

Вобщем вот:

Развернуть для просмотра

F1 = вкл\выкл. скрипткамеру
LEFT \ RIGHT \ UP \ DOWN = вращение камеры
LEFT1 \ RIGHT1 = горизонтальная коррекция
FIRE \ ACTION (лмаус\рмаус) = вперед\назад
SNIPERMODE = зум камеры
[свернуть]


Сам скрипт:

Автор: GOLOD55

Развернуть для просмотра

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
[свернуть]


Что делать с этим скриптом чтоб его вставить!

Вот токачто зделал мини тутор:

Качаем прогу BScriptView 6.0 скачать , потом жилательно распаковать трактором новую папку MISSIONS. Открываем скачаную програму

BScriptView 6.0:

1) Нажимаем вверху File --> Load Scene2.bin
2) Находим папку MISSIONS в папке с мафией и там например FREERIDE (у меня это так D:\GAMES\MAFIA\MISSIONS\FREERIDE), это означает что устанавливатся будет в свободную езду, и будет работать только там, так же можно попоже установить и в сельскую месность(FREEKRAJINA) и прогулку ночь и в любую миссию и тд... И так что дальше, нажимаем вверху insert --> other
3) После нажатия insert должно появится такое
4) Подписываем в Name как угодно, можно и как на скрине и нажимаем insert
5) Потом в пустом поле стираем косые и вставляем сам скрип который изложен выше
6) Должно получится такое
7) Ну и нажимаем save. Все. Должно заробоатать.


Автор: GOLOD55

free_camera beta1

сделан ручной фокус зуума. удерживая клавишу SNIPERMODE, настройте зуум. повтор.нажатие выключит зуум.

Развернуть для просмотра

F1 = вкл\выкл. скрипткамеру
LEFT \ RIGHT \ UP \ DOWN = вращение камеры
LEFT1 \ RIGHT1 = горизонтальная коррекция
FIRE \ ACTION (лмаус\рмаус) = вперед\назад
SNIPERMODE = зум камеры. удерживать клаву.

dim_act 1
dim_frm 2
dim_flt 14
//scriptcamera_mode beta1 GOLOD55 30.03.08
findactor 0,"Tommy"
getactivecamera 0
findframe 1,"Tommy.neck"
vect_set 10,1,1,1

Label 101
commandblock 0
wait 1000
Label 100
commandblock 0
commandblock 1
human_getseatidx 0,0
ctrl_read 1,OBJECTIVES
if flt[1]=1,CAM,-1
if flt[11]=-1,-1,100
if flt[0]=-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.015,0,0
ctrl_read 1,UP
if flt[1]=1,ROTS,-1
vect_set 2,-0.015,0,0
ctrl_read 1,DOWN
if flt[1]=1,ROTS,-1
vect_set 2,0,0.015,0
ctrl_read 1,LEFT
if flt[1]=1,ROTS,-1
vect_set 2,0,-0.015,0
ctrl_read 1,RIGHT
if flt[1]=1,ROTS,-1
vect_set 2,0,0,-0.015
ctrl_read 1,LEFT1
if flt[1]=1,ROTS,-1
vect_set 2,0,0,0.015
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
vect_mul_scl 2,flt[10]
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[0]=-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
label zoom
commandblock 0
commandblock 1
ctrl_read 1,SNIPERMODE
if flt[1]=1,-1,100
camera_getfov 13
let flt[13]=flt[13]-0.5
camera_setfov flt[13]
let flt[10]=flt[10]-0.007
if flt[13]<5,101,zoom
---
label unlock
frm_linkto 0,-1
camera_unlock
act_setstate 0,active
label unsnip
camera_setfov 70
let flt[10]=1
goto 101
[свернуть]

Camry4Ever 08.10.2020 15:53

Если заменить "OBJECTIVES", например, на "HORN", будет ли вызываться камера нажатием клавиши "H" (default)?

Upd.
В общем проверил, заменил "OBJECTIVES" на "HORN", зашел в игру и нажал на "H", и все прекрасно заработало. М.б. кому сгодится инфа:).

абдуллу 27.07.2021 07:55

чё за гений это написал, у меня нет папки missions, ничего не работает

Melhior 27.07.2021 11:44

Цитата:

Сообщение от абдуллу (Сообщение 15176)
чё за гений это написал, у меня нет папки missions, ничего не работает

Сначала надо распаковать A1.dta MafiaDataXtractor' ом или DTA Unpacker ом.

spartaque12 27.07.2021 19:23

не проще заюзать гораздо лучше вариант?
https://github.com/Romop5/mafia-came...era-mod-v2.zip
Usage:
Copy HotReloader.exe, camera_injector.exe and cameramod.dll to game's directory. Then run the original game, and run camera_injector.exe to load the modification.

D3D8to9 wrapper is required for mod to work correctly. Please, use Release package which contains the copy of .dll.

Use F2 key to control GUI ingame.

Streetball 27.07.2021 21:31

Цитата:

Сообщение от абдуллу (Сообщение 15176)
чё за гений это написал, у меня нет папки missions, ничего не работает

чё за гений это написал:rus:

User 18.10.2021 18:54

Возможно ли изменять скорость камеры?

User 02.03.2023 18:27

Дополнение к работе Фрикамеры, которое помогает избежать рывков камеры, когда вы нажимаете на клавишы "влево/вправо" поворачивая руль.
Такое решение, возможно, кому-то уже известно, но я не встречал похожего, в любом случае, повторение не повредит.

Инструкция.

1.Устанавливаете дополнительно к моду Фрикамеры, скрипт пересаживания игрока с водительского места на пассажирское. Этот скрипт под катом:

Развернуть для просмотра


dim_flt 10
dim_act 10
dim_frm 10
findactor 0, "Tommy"
findactor 1, "NULL"

label 101
findnearactor 0, 1, Car
getactorframe 1, 1
car_getspeed 1, 0
if flt[0] > 0, 101, -1
compareownerwithex 0, 1, -1, 101
ctrl_read 1, HORN
if flt[1] = 1, -1, 101
car_setspeed 1, 1
commandblock 1
human_getseatidx 0, 2
if flt[2] = 0, 102, -1
if flt[2] = 1, 103, -1
if flt[2] = 2, 104, -1
if flt[2] = 3, 105, -1
if flt[2] = 4, 106, -1
if flt[2] = 5, 107, -1
commandblock 0
goto 101

label 102
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezLtoR.i3d"
wait 600
human_force_settocar 0, 1, 1
wait 1000 // ??? ????? ????? ?????????, ???? ????
goto 101

label 103
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezRtoL.i3d"
wait 600
human_force_settocar 0, 1, 0
playsound "black_on.wav", 1, 10, 5
wait 1000
goto 101

label 104
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezLtoR.i3d"
wait 600
human_force_settocar 0, 1, 3
wait 1000
goto 101

label 105
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezRtoL.i3d"
wait 600
human_force_settocar 0, 1, 2
wait 1000
goto 101

label 106
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezLtoR.i3d"
wait 600
human_force_settocar 0, 1, 5
wait 1000
goto 101

label 107
human_holster 0
commandblock 0
person_playanim 0, "AutoPrelezRtoL.i3d"
wait 600
human_force_settocar 0, 1, 4
wait 1000
goto 101
[свернуть]


2. В игре садитесь в машину на водительское место, нажимаете на клавишу "основной гудок", когда ваш персонаж уже будет на пассажирском сиденье, снова нажимаете на клавишу "основной гудок". Все, после этого включаете Фрикамеру и рывков при её использовании не будет. Способ будет работать до того момента, пока вы не выйдете из машины.

Минус этого способа в том, что ваш персонаж не будет двигаться за рулем, т.е. анимации, водителя крутящего руль, нет.

Drier 24.09.2023 16:57

Реально по другому воспринимаешь езду на машине.


Текущее время: 15:10. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot