Главная » Статьи » GTA:San Andreas » Скриптинг

RC -Удалённый режим управления
RC -Удалённый режим управления
Есть два способа посадить игрока в RC режим,разберём оба:
Первый способ пишется в одну строчку:
046E: put_player $PLAYER_CHAR in_RC_mode_at [x] [y] [z] angle 90.0 RC_model [модель]
[X] [Y] [Z] - координаты
[модель] - id модели RC(можно использовать любую машину, кроме фургонов и.т.д)
Пример:
(046E: put_player $PLAYER_CHAR in_RC_mode_at 40@ 41@ 42@ angle 40.09 RC_model #RCBARON)

Теперь разберём второй способ.
Первой строкой создаёться машина:
00A5: $CAR = create_car [модель] at [X] [Y] [Z]
Второй сажаем игрока в машину:
0715: put_player $PLAYER_CHAR in_RC_mode_in_car $CAR

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

Записать машину в переменуую то есть теперь можно мисать её имя через переменную $RCCAR:
$RCCAR = Player.RC_car($PLAYER_CHAR)

Вот этой командой обозначается выход из режима удалённого управления:
04DB: exit_rc_mode
Эта команда делает так, чтобы ваша машина не взрывалась по нажатию определённых клавиш(0-невзрывается, 1-взрывается):
04D6: enable_rc_car_detonation 0
А этой командой задаётся условие, которое проверяет в удалённом ли режиме игрок:
0241: player $PLAYER_CHAR in_remote_mode

Рассмотрим пример:
-------------------------------------------------------------------------------------


:RC
thread 'RC'
Model.Load(#TOPFUN)
Model.Load(#RCBARON)
038B: load_requested_models

:RC_2
wait 0
if and
Model.Available(#TOPFUN)
Model.Available(#RCBARON)
jf @RC_2
wait 1000
0@ = Car.Create(#TOPFUN, 2443.3904, -1763.2839, 13.5916)
Car.Angle(0@) = 180.0
Car.SetImmunities(0@,1,1,1,1,1)
Car.LockInCurrentPosition(0@) = true

:RC_PL_TEST
wait 0
if and
not $ON_MISSION == 1
not wasted_or_busted
Not Actor.Dead($PLAYER_ACTOR)
Actor.InCar($PLAYER_ACTOR,0@)
00E1: player 0 pressed_key 19
jf @RC_PL_TEST
1@ = Car.Create(#RCBARON, 2454.2078, -1785.3018, 13.5469)
Car.SetImmunities(1@,1,1,1,1,1)
Car.Angle(1@) = 270.0
Car.DoorStatus(0@,2)
0715: put_player $PLAYER_CHAR in_RC_mode_in_car 1@ // on foot version
048A: toggle_RC_car_detonation 0 // or opcode 04D6
gosub @rc_die

:RC_3
wait 10
if
00E1: player 0 pressed_key 15
jf @RC_DIE
04DB: exit_RC_mode // on foot version
Camera.Restore_WithJumpCut
Car.DoorStatus(0@,0)
jump @RC_PL_TEST

:RC_DIE
wait 0
if or
Car.Wrecked(1@)
04AD: actor $PLAYER_ACTOR in_water
jf @RC_3
04DB: exit_RC_mode // on foot version
Camera.Restore_WithJumpCut
Car.DoorStatus(0@,0)
jump @RC_PL_TEST

--------------------------------------------------------------------------------------

  • В центр экрана
  • Свернуть
  • Восстановить
  • Закрыть окно
Категория: Скриптинг | Добавил: SKV1991 (05.07.2007) | Автор: Кирилл E
Просмотров: 1188 | Рейтинг: 3.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]