#1 06-06-2008 07:50

AlphaOmega
Registered: 02-06-2008
Posts: 98

Камера а-ля GTA одын

Вот - нашёл на сайте мод интересный. Делает камеру как в первой и второй частях гта.

CODE  
// mod originally posted by Alex at http://www.gtaforums.com/index.php?showtopic=354881
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
03A4: name_thread 'TDFcam' 

:TDFcam_11
0001: wait 0 ms 
015A: restore_camera 
00D6: if 
0256:   player $PLAYER_CHAR defined 
004D: jump_if_false @TDFcam_11 
00D6: if 
80DF:   not actor $PLAYER_ACTOR driving 
004D: jump_if_false @TDFcam_98 
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 0.0 30.0 rotation 0.0 6.0 0.0 1.0 2 
0002: jump @TDFcam_11 

:TDFcam_98
0679: put_camera_on_car 5@ with_offset 0.0 0.0 37.0 rotation 0.0 10.0 0.0 0.0 2 
0002: jump @TDFcam_11

В принципе, работает неплохо, однако камера дёргается сильно при поворотах, как при пешей прогулке, так и при поездке.
Может кто-то знает как успокоить камеру?

Offline

#2 06-06-2008 13:56

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Камера а-ля GTA одын

http://www.gtaforums.com/index.php?showtopic=272532

Смотрим этот топик. Там есть камера с видом сверху.

P.S. Назвать это модом язык не поворачивается. К тому же это чужой скрипт. Перемещаю в Общие вопросы.

Offline

#3 15-06-2008 10:14

AlphaOmega
Registered: 02-06-2008
Posts: 98

Re: Камера а-ля GTA одын

Заново переписал и улучшил скрипт.
Теперь в нём используются локальные переменные, и во время езды, камера поднимается выше в зависимости от скорости.

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
:start

thread 'CAM'

0000: NOP

0006: 1@ = 0

:begin

:mode2check
wait 0
if
0039:   1@ == 0
jf @modifier
////////////////////////////////////////////////////////////
// jf @mode2off // use if no speed modification is needed //
////////////////////////////////////////////////////////////
jump @mode2key

:mode2key
wait 0 
if
0AB0:   key_pressed 0x71
jf @begin
jump @mode2on

:mode2on
Camera.Restore

:modifier
wait 0
if 
   Player.Defined($PLAYER_CHAR)
jf @mode2on
if 
   not Actor.Driving($PLAYER_ACTOR)
jf @mode2drive
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 0.0 30.0 rotation 0.0 6.0 0.0 1.0 2
0006: 1@ = 1
jump @mode2off

:mode2drive 

03C0: 2@ = actor $PLAYER_ACTOR car 
02E3: 3@ = car 2@ speed
0006: 4@ = 40.0
005B: 4@ += 3@ // (float)
0679: put_camera_on_car 5@ with_offset 0.0 0.0 4@ rotation 0.0 10.0 0.0 0.0 2
0007: 1@ = 1
jump @mode2off

:mode2off
if 
00E1: key_pressed 0 13 // change camera button
jf @begin
0006: 1@ = 0

Camera.Restore
jump @begin

Собираюсь и дальше усовершенствовать скрипт путём оптимизации движения камеры - при езде на больших и малых скоростях камеру "колбасит" из стороны в сторону - КАК ИЗБАВИТСЯ?

Last edited by AlphaOmega (15-06-2008 10:14)

Offline

#4 15-06-2008 15:09

Capushon
Registered: 13-08-2006
Posts: 352
Website

Re: Камера а-ля GTA одын

@AlphaOmega -
IMHO, тто не тот путь, которым нужно идти ...
Я в мультимоде менял угол камеры одной строчкой, так думаю и вид сверху можно попробовать сделать.
Сам код сейчас искать не хочется, если не найдёшь - подскажу...


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#5 15-06-2008 15:18

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Камера а-ля GTA одын

@Capushon -
Опкод 09EF wink У тебя он слегка приподнимает камеру, как в GTA3/VC. Очень удобно, один из самых первых CLEO-скриптов как раз его использовал. И сейчас он включен в базовый комплект CLEO 3 (VCCam.cs). Скрипт содран из мультимода, признаюсь smile

Offline

Board footer

Powered by FluxBB