Для того чтобы поместить игрока в удалённое управление можно использовать два способа : 1) Опкодом 046e: put_player $player_char in_rc_mode at x y z a angle rcmodel #model x , y , z - координаты a - угол модели #model - модель rc машинки этот опкод создаёт машину и сразу садит в неё игрока на удалённое управление . 2) Создание 2-мя опкодами : car.create($car, x , y , z ) 0715: put player $player_char in rc mode in car $car
Чтобы всё это нормально смотрелось , а у некоторых не то чтобы смотрелось , а чтобы работало следует предварительно помещать актёра в какую-нибудь машину ... как rc машину можно использовать любое транспортное средство игры (смотрите пример1) .
04db: exit_rc_mode - чтобы выйти из удалённого режима используем этот опкод . 04d6: enable_rc_car_detonation 0 - чтобы машина не взрывалась по нажатию "огонь" . player.inremotemode($player_char) - проверка на нахождение игрока в rc состоянии .
Вот так мало насчёт этого ...
Теперь примеры:
Пример1: Просто создадим тачку , и поместим игрока в удалённое управление этой тачки :
:rctest wait 3000 model.load(#infernus) model.load(#manana) 038b: load requested models
:check wait 100 if and model.available(#infernus model.available(#manana) jf @check 04c4: create_coordinate $x $y $z from_actor $player_actor offset 0.0 5.0 1.0 car.create(1@,#infernus,$x ,$y ,$z) actor.storepos($player_actor,$x, $y ,$z) car.create(2@,#manana,$x, $y ,$z) 036a: put_actor $player_actor in_car 2@ wait 2000 0715: put_player $player_char in_rc_mode_in_car 1@ wait 1000 model.destroy(#infernus) model.destroy(#manana) wait 1000 end_thread
Пример2: Наверняка вы могли видеть этот мой скрипт на сайте http://missions.gtamaps.net , но всё же я решил его выложить в примерах тоже :
За домом cj'я появляется топфан фургон,с помощью которого можно ездить на разных rc машинках. Если вы в фургоне и хотите покататься на радиоуправляемой машинке,то сначала нажмите "подмиссия",потом нажмите "смотреть влево",чтобы полетать на самолётике,кстати,этот игрушечный самолётик может стрелять,если нажать "огонь",а также сбрасывать бомбы("гудок"). если вам нужен вертолёт(тоже с бомбами),то нажмите "смотреть вправо" сразу после того,как нажали "подмиссия".также можно поездить на игрушечном танке,нажав "гудок" после "подмиссия". танк может стрелять,правда не подряд,одно нажатие "огонь" - один выстрел танка.чтобы выйти из rc машинки жмите "выход из машины".если вы вышли то опять надо жать "подмиссия" и клавишу машинки,которая вам нужна.если вы нечайно нажали "подмиссия",то можно нажать "выход из машины", и ездить спокойно,чтобы перейти в нормальный режим езды.
create_thread @rc
:rc wait 2000 model.load(#rcbaron) model.load(#topfun) model.load(#rcbomb) model.load(#rcgoblin) model.load(#rctiger) 038b: load_requested_models
:rc_check wait 0 if and model.available(#rcbaron) model.available(#rcgoblin) model.available(#topfun) model.available(#rcbomb) model.available(#rctiger) jf @rc_check
:rc_2 wait 0 if and player.defined($player_char) not actor.driving($player_actor) 84ad: not actor $player_actor touching_water jf @rc_2
:rc_3 wait 1000 $car = car.create(#topfun, 2528.3347,-1712.3568,13.5471 ) 0229: set_car $car color_to 0 0
:rc_3_1 if actor.incar($player_actor,$car) jf @rc_3_2 jump @rc_choose
:rc_3_2 wait 0 if car.wrecked($car) jf @rc_3_1 jump @rc_2
:rc_choose wait 0 if 00e1: key_pressed 0 19 jf @rc_choose_b jump @rc_choose_2
:rc_choose_b wait 0 if or car.wrecked($car) actor.dead($player_actor) jf @rc_choose wait 3000 jump @rc_2
:rc_choose_2 wait 0 if 00e1: key_pressed 0 5 jf @rc_choose_3 04c4: create_coordinate $rc_x $rc_y $rc_z from_actor $player_actor offset 7.0 0.0 0.0 $car_rc = car.create(#rcbaron, $rc_x, $rc_y, $rc_z) jump @fin_1_2
:rc_choose_3 wait 0 if 00e1: key_pressed 0 7 jf @rc_boroda 04c4: create_coordinate $rc_x $rc_y $rc_z from_actor $player_actor offset 7.0 0.0 0.0 $car_rc = car.create(#rcgoblin, $rc_x, $rc_y, $rc_z) jump @fin_1_2
:rc_boroda wait 0 if or car.wrecked($car) actor.dead($player_actor) jf @rc_choose_4 wait 3000 jump @rc_2
:rc_choose_4 wait 0 if 00e1: key_pressed 0 18 jf @rc_choose_5 04c4: create_coordinate $rc_x $rc_y $rc_z from_actor $player_actor offset 7.0 0.0 0.0 $car_rc = car.create(#rctiger, $rc_x, $rc_y, $rc_z) jump @fin_tig
:rc_choose_5 wait 0 if or not actor.incar($player_actor,$car) 00e1: key_pressed 0 15 jf @rc_choose_2 jump @rc_3_1
:fin_1_2 wait 0 03a2: (unknown) $car_rc 0 0715: put_player $player_char in_rc_mode_in_car $car_rc 04d6: enable_rc_car_detonation 0 048a: enable_rc_car_detonation 0 01ec: make_car $car_rc very_heavy 1
:rc_vst wait 0 1@ = object.create(#rcbomb, 0.0,0.0, 130.0) 0681: attach_object 1@ to_car $car_rc at_offset 0.0 0.0 -0.3 rotation 0.0 0.0 0.0 035c: place_object 1@ relative_to_car $car_rc offset 0.0 0.0 0.0 object.collisiondetection(1@) = false object.toggleinmovinglist(1@) = false
:rc_4 wait 250 ms if and 00e1: key_pressed 0 18 01f3: car $car_rc airborne jf @rc_4_2 0682: detach_object 1@ 0.0 0.0 0.0 collision_detection 0 object.toggleinmovinglist(1@) = true object.collisiondetection(1@) = true 038c: object 1@ scatter 0.0 0.0 0.0 wait 100 04d9: object 1@ set_scripted_collision_check 1
:rc_5 wait 0 if or 04da: has_object 1@ collided 04e7: object 1@ in_water jf @rc_5 object.storepos(1@, $1x , $1y , $1z ) 020c: create_explosion_with_radius 7 at $1x $1y $1z 04d9: object 1@ set_scripted_collision_check 0 object.destroy(1@) jump @rc_vst
:rc_4_2 wait 0 if or 00e1: key_pressed 0 15 car.wrecked($car_rc) jf @rc_s4 04db: exit_rc_mode object.destroy(1@) jump @rc_choose
:rc_s4 wait 0 if or car.wrecked($car) actor.dead($player_actor) jf @rc_4 jump @rc_2
:fin_tig wait 0 03a2: (unknown) $car_rc 0 0715: put_player $player_char in_rc_mode_in_car $car_rc 01ec: make_car $car_rc very_heavy 1 04d6: enable_rc_car_detonation 0 048a: enable_rc_car_detonation 0
:fin_tig_2 wait 0 if or 00e1: key_pressed 0 15 car.wrecked($car_rc) jf @fin_tig_21 04db: exit_rc_mode jump @rc_choose
:fin_tig_21 wait 0 if or car.wrecked($car) actor.dead($player_actor) jf @fin_tig_2 jump @rc_2
|