You are not logged in.
Интересный скрип... сделать бы ещё чтобы двигатель не сразу заводился как например в GTA IV, вобще было-бы замечательно.
получи
активация ф5 деактивация ф6
Ооо спасиб тебе! Незнал о такой фишки 
Вот! Нашол на одном японском сайте очень интересный скрипт, но видать толи он защищён, толи ещё что-то... Кароче говоря прошу подсказать как его открыть и помоч изменить комбинацию кнопок для его включения и избавиться от назойливых ошибок. Cейчас чтобы активировать скрипт в игре необходимо набрать WMOD поэтому не работает в мультиплеерном моде.
Скрипт даёт возможность использовать фонарь (Как в Manhunt), лазерный луч, различный тип патрон, снайперские прицелы двух типов.

http://ifolder.ru/8109080
http://depositfiles.com/files/7930219
Seemann спасибо... написал мелкий тестовый скрипт но как оказалось в мультиплеерном режиме функция смены скина не отображаеться у других игроков. Вот, если кому нужна мелкая заготовка... мб есть ошибки или лишнее так как переделал один скрипт.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}//-------------MAIN---------------
0000: NOP:NONAME_2
wait 100
if
Player.Defined($PLAYER_CHAR)
else_jump @NONAME_49
if and
0AB0: key_pressed 17
0AB0: key_pressed 83
else_jump @NONAME_49
09C7: change_player $PLAYER_CHAR model_to #LAPD1:NONAME_49
jump @NONAME_2
Я про написание скрипта в основную функцую которого входит возможность по средству нажатия комбинации кнопок - изменить модель игроока на другую ( Пешиход, коп, медик, гагстер )
Тут на днях назрела идея по поводу смены скина через скрипт. Видел один японский срипт но он работал очень нестабильно и в нём был ужасно сложная структура + огромное количество глобальных переменных. Поэтому и прошу помоч.. в хелпе нашол как задать игроку одежду и подумал что такимже способом можно задать скин например копа для игрока.
Пример как в SannyBuilder'e
create_thread @ClothesTest // создаём поток
:ClothesTest // начинаем поток
wait 3000 // ждём 3 секунды
Player.SetClothes($PLAYER_CHAR,"bballjackrstar","bbjack",0) // нацепляем куртку
Player.SetClothes($PLAYER_CHAR,"jeansdenim","jeans",2) // теперь джинсы
Player.SetClothes($PLAYER_CHAR,"sneakerbincgang","sneaker",3) // кросовки
Player.SetClothes($PLAYER_CHAR,"glasses04dark","glasses04",15) // чёрные очки
Player.SetClothes($PLAYER_CHAR,"bandblack","bandana",16) // бандану тоже надо
player.Build($PLAYER_CHAR) // и перестраиваем модель игрока
end_thread // заканчиваем поток
($PLAYER_CHAR,"bballjackrstar","bbjack",0) 0 - убираем так как часть тела и вместо одежды задать скин...
Возможно ли такое?
Скрипт нашол, но раздражает то что машина абсолютно не ломаеться при ударах... Может кто поможет испарвить? Я тока по краям почистил но этого явно недостаточно.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
014B: $MODCOPCAR = init_parked_car_generator #COPCARLA color -1 -1 1 alarm 0 door_lock 0 0 10000 at 2436.479 -1636.828 13.0112 angle 153.9109
014C: set_parked_car_generator $MODCOPCAR cars_to_generate_to 1
$SPECIALFLASHON = 1
$SPECIALFLASHTYPE = 0
$LIGHTS_CHANGE_TIME_LEVEL = 0
$BACKJUMPMODE1 = 0
$BACKJUMPMODE2 = 0
:NONAME_87
wait 10
if and
Actor.Driving($PLAYER_ACTOR)
Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
00E1: player $PLAYER_CHAR pressed_key 19
else_jump @NONAME_87
wait 250
03C0: $ACTIVE_COP_CAR = actor $PLAYER_ACTOR car
0397: enable_car $ACTIVE_COP_CAR siren 1
wait 100
:NONAME_143
073C: car $ACTIVE_COP_CAR damage_component 7 // versionB
$BACKJUMPMODE1 = 0
jump @NONAME_283
:NONAME_164
073C: car $ACTIVE_COP_CAR damage_component 6 // versionB
$BACKJUMPMODE1 = 1
jump @NONAME_283
:NONAME_185
073C: car $ACTIVE_COP_CAR damage_component 7 // versionB
$BACKJUMPMODE1 = 2
jump @NONAME_283
:NONAME_206
073C: car $ACTIVE_COP_CAR damage_component 6 // versionB
$BACKJUMPMODE1 = 3
jump @NONAME_283
:NONAME_227
$BACKJUMPMODE1 = 4
jump @NONAME_283
:NONAME_241
067F: set_car $ACTIVE_COP_CAR lights 1
$BACKJUMPMODE2 = 0
jump @NONAME_568
:NONAME_262
067F: set_car $ACTIVE_COP_CAR lights 2
$BACKJUMPMODE2 = 1
jump @NONAME_568
:NONAME_283
0397: enable_car $ACTIVE_COP_CAR siren 1
067F: set_car $ACTIVE_COP_CAR lights 2
if
not Car.Wrecked($ACTIVE_COP_CAR)
else_jump @NONAME_87
if
80E1: not player $PLAYER_CHAR pressed_key 19
else_jump @NONAME_893
if
80E1: not player $PLAYER_CHAR pressed_key 18
else_jump @NONAME_241
0397: enable_car $ACTIVE_COP_CAR siren 1
gosub @NONAME_744
if
$LIGHTS_CHANGE_TIME_LEVEL == 0
else_jump @NONAME_385
wait 100
:NONAME_385
if
$LIGHTS_CHANGE_TIME_LEVEL == 1
else_jump @NONAME_408
wait 200
:NONAME_408
if
$LIGHTS_CHANGE_TIME_LEVEL == 2
else_jump @NONAME_431
wait 300
:NONAME_431
0A30: repair_car $ACTIVE_COP_CAR
if
$BACKJUMPMODE1 == 0
else_jump @NONAME_461
jump @NONAME_164
:NONAME_461
if
$BACKJUMPMODE1 == 1
else_jump @NONAME_486
jump @NONAME_185
:NONAME_486
if
$BACKJUMPMODE1 == 2
else_jump @NONAME_511
jump @NONAME_206
:NONAME_511
if
$BACKJUMPMODE1 == 3
else_jump @NONAME_536
jump @NONAME_227
:NONAME_536
if
$BACKJUMPMODE1 == 4
else_jump @NONAME_561
jump @NONAME_143
:NONAME_561
jump @NONAME_143
:NONAME_568
0397: enable_car $ACTIVE_COP_CAR siren 1
if
not Car.Wrecked($ACTIVE_COP_CAR)
else_jump @NONAME_87
if
00E1: player $PLAYER_CHAR pressed_key 18
else_jump @NONAME_143
0A30: repair_car $ACTIVE_COP_CAR
gosub @NONAME_744
0397: enable_car $ACTIVE_COP_CAR siren 1
if
$LIGHTS_CHANGE_TIME_LEVEL == 0
else_jump @NONAME_650
wait 50
:NONAME_650
if
$LIGHTS_CHANGE_TIME_LEVEL == 1
else_jump @NONAME_672
wait 80
:NONAME_672
if
$LIGHTS_CHANGE_TIME_LEVEL == 2
else_jump @NONAME_694
wait 100
:NONAME_694
if
$BACKJUMPMODE2 == 0
else_jump @NONAME_719
jump @NONAME_262
:NONAME_719
if
$BACKJUMPMODE2 == 1
else_jump @NONAME_744
jump @NONAME_241
:NONAME_744
if
$SPECIALFLASHON == 1
else_jump @NONAME_891
0407: store_coords_to $THEX $THEY $THEZ from_car $ACTIVE_COP_CAR with_offset 0.0 0.0 0.0
if
$SPECIALFLASHTYPE == 0
else_jump @NONAME_841
09E5: create_flash_light_at $THEX $THEY $THEZ RGB_mask 190 15 5 radius 20.0
$SPECIALFLASHTYPE = 1
return
:NONAME_841
if
$SPECIALFLASHTYPE == 1
else_jump @NONAME_891
09E5: create_flash_light_at $THEX $THEY $THEZ RGB_mask 66 60 196 radius 20.0
$SPECIALFLASHTYPE = 0
return
:NONAME_891
return
:NONAME_893
0A30: repair_car $ACTIVE_COP_CAR
0397: enable_car $ACTIVE_COP_CAR siren 0
00C1: $CURRENTTIME = get_minutes_left_to_time_hours $CURRENTTIME_HOUR time_minutes $CURRENTTIME_MINUTE
if and
not 5 > $CURRENTTIME_HOUR
21 >= $CURRENTTIME_HOUR
else_jump @NONAME_960
067F: set_car $ACTIVE_COP_CAR lights 1
wait 250
jump @NONAME_87
:NONAME_960
067F: set_car $ACTIVE_COP_CAR lights 2
wait 250
jump @NONAME_87
0A93: end_custom_threadПрошу заключать большие куски кода в тэг [cоde]. Seemann
Я вот подумал и решил попробовать на примере скрипта Yelmi написать скрипт который при включении мигалки давал бы эфект маргания фар, при этом для разнообразия маргание в 3 режимах: мегают все фары, беспорядочно и чередуясь, но воплотить в жизнь оказалось не так просто поэтому прошу помощи у профессионалов так как очень обьёмно получаеться...
Скрипт Yelmi если он не против - для примера.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:NONAME_2
wait 0
if and
Player.Defined($PLAYER_CHAR)
$ONMISSION == 0
0AB0: key_pressed 84
else_jump @NONAME_2
if and
Actor.Driving($PLAYER_ACTOR)
847A: not actor $PLAYER_ACTOR driving_bike
84A7: not actor $PLAYER_ACTOR driving_boat
84A9: not actor $PLAYER_ACTOR driving_heli
not Actor.DrivingPlane($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
89AE: not actor $PLAYER_ACTOR driving_train
else_jump @NONAME_2
if and
not Actor.DrivingVehicleType($PLAYER_ACTOR, #PIZZABOY)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #PCJ600)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #FAGGIO)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #FREEWAY)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #SANCHEZ)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #FCR900)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #NRG500)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #COPBIKE)
else_jump @NONAME_2
if and
not Actor.DrivingVehicleType($PLAYER_ACTOR, #BF400)
not Actor.DrivingVehicleType($PLAYER_ACTOR, #WAYFARER)
else_jump @NONAME_2
03C0: 0@ = actor $PLAYER_ACTOR car
067F: set_car 0@ lights 2
wait 750
:NONAME_201
wait 250
if
Actor.Driving($PLAYER_ACTOR)
else_jump @NONAME_429
0A97: 1@ = car 0@ struct
1@ += 1440
0494: get_joystick 0 data_to 10@ 11@ 12@ 13@
if
-100 > 10@
else_jump @NONAME_334
0AA6: call_method 7086336 1@ num_params 2 pop 0 0 0
0AA6: call_method 7086336 1@ num_params 2 pop 0 1 1
wait 300
0AA6: call_method 7086336 1@ num_params 2 pop 0 1 0
:NONAME_334
if
10@ > 100
else_jump @NONAME_414
0AA6: call_method 7086336 1@ num_params 2 pop 0 1 0
0AA6: call_method 7086336 1@ num_params 2 pop 0 0 1
wait 300
0AA6: call_method 7086336 1@ num_params 2 pop 0 1 1
:NONAME_414
if
0AB0: key_pressed 84
else_jump @NONAME_201
:NONAME_429
0AA6: call_method 7086336 1@ num_params 2 pop 0 0 0
0AA6: call_method 7086336 1@ num_params 2 pop 0 0 1
067F: set_car 0@ lights 0
wait 1000
jump @NONAME_2
Довольно красочный скрипт взрыва авто.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
thread 'CAR'
:CAR_11
wait 0
31@ = 1
:CAR_22
if
03CA: object 24@(31@,8i) exists
else_jump @CAR_199
Object.StorePos(24@(31@,8i), 4@, 5@, 6@)
if
04DA: has_object 24@(31@,8i) collided
else_jump @CAR_143
095C: create_smoke_at 4@ 5@ 6@ velocity 0.0 0.0 2.5 RGBA 0.2 0.2 0.2 1.0 size 2.5 last_factor 0.1
jump @CAR_199
:CAR_143
095C: create_smoke_at 4@ 5@ 6@ velocity 0.0 0.0 0.5 RGBA 0.2 0.2 0.2 1.0 size 2.5 last_factor 0.5
:CAR_199
31@ += 1
31@ > 4
else_jump @CAR_22
if
33@ > 10000
else_jump @CAR_305
31@ = 1
:CAR_246
if
03CA: object 24@(31@,8i) exists
else_jump @CAR_284
0650: destroy_particle 20@(31@,8i)
Object.Destroy(24@(31@,8i))
:CAR_284
31@ += 1
31@ > 4
else_jump @CAR_246
:CAR_305
Model.Load(#SATCHEL)
Model.Load(#BOMB)
Model.Load(1582)
038B: load_requested_models
if and
Model.Available(#SATCHEL)
Model.Available(#BOMB)
Model.Available(1582)
else_jump @CAR_305
wait 0
if
Player.Defined($PLAYER_CHAR)
else_jump @CAR_11
wait 0
if
Actor.Driving($PLAYER_ACTOR)
else_jump @CAR_11
064E: stop_particle 2@
064E: stop_particle 3@
064E: stop_particle 4@
064E: stop_particle 5@
0650: destroy_particle 2@
0650: destroy_particle 3@
0650: destroy_particle 4@
0650: destroy_particle 5@
wait 0
if and
84A7: not actor $PLAYER_ACTOR driving_boat
84A9: not actor $PLAYER_ACTOR driving_heli
847A: not actor $PLAYER_ACTOR driving_bike
not Actor.DrivingPlane($PLAYER_ACTOR)
else_jump @CAR_11
wait 0
if
Actor.Driving($PLAYER_ACTOR)
else_jump @CAR_11
03C0: 10@ = actor $PLAYER_ACTOR car
:CAR_491
wait 0
if
Actor.Driving($PLAYER_ACTOR)
else_jump @CAR_491
wait 0
if
8185: not car 10@ health >= 250
else_jump @CAR_305
wait 0
jump @CAR_545
:CAR_545
066B: 2@ = attach_particle "FIRE" to_car 10@ with_offset -1.16 -2.0 -0.25 flag 1
064C: make_particle 2@ visible
wait 0
066B: 3@ = attach_particle "FIRE" to_car 10@ with_offset 1.16 -2.0 -0.25 flag 1
064C: make_particle 3@ visible
wait 0
066B: 4@ = attach_particle "OVERHEAT_CAR" to_car 10@ with_offset -1.16 -2.0 -0.25 flag 1
064C: make_particle 4@ visible
wait 0
066B: 5@ = attach_particle "OVERHEAT_CAR" to_car 10@ with_offset 1.16 -2.0 -0.25 flag 1
064C: make_particle 5@ visible
wait 0
if
8185: not car 10@ health >= 250
else_jump @CAR_305
wait 0
jump @CAR_751
:CAR_751
wait 0
if
8185: not car 10@ health >= 250
else_jump @CAR_305
wait 0
if
Car.Wrecked(10@)
else_jump @CAR_751
wait 0
31@ = 1
:CAR_805
if
03CA: object 24@(31@,8i) exists
else_jump @CAR_843
0650: destroy_particle 20@(31@,8i)
Object.Destroy(24@(31@,8i))
:CAR_843
31@ += 1
31@ > 4
else_jump @CAR_805
064E: stop_particle 2@
064E: stop_particle 3@
064E: stop_particle 4@
064E: stop_particle 5@
0650: destroy_particle 2@
0650: destroy_particle 3@
0650: destroy_particle 4@
0650: destroy_particle 5@
0407: store_coords_to 1@ 2@ 3@ from_car 10@ with_offset 0.0 0.0 2.0
02CE: 3@ = ground_z_at 1@ 2@ 3@
0@ = Object.Create(#SATCHEL, 1@, 2@, 3@)
Object.CollisionDetection(0@) = True
Object.SetImmunities(0@, 1, 1, 1, 1, 1)
020C: create_explosion_with_radius 0 at 1@ 2@ 3@
020C: create_explosion_with_radius 4 at 1@ 2@ 3@
020C: create_explosion_with_radius 5 at 1@ 2@ 3@
08EB: create_sparks_at 1@ 2@ 3@ velocity_direction 0.0 0.0 25.0 density 500
:CAR_1054
0093: 30@ = integer 31@ to_float
30@ *= 30.0
Object.Angle(0@) = 30@
0400: store_coords_to 4@ 5@ 6@ from_object 0@ with_offset 5.0 0.0 1.0
0063: 4@ -= 1@ // (float)
0063: 5@ -= 2@ // (float)
0063: 6@ -= 3@ // (float)
095C: create_smoke_at 1@ 2@ 3@ velocity 4@ 5@ 6@ RGBA 1.0 1.0 1.0 1.0 size 15.0 last_factor 0.5
31@ += 1
31@ > 12
else_jump @CAR_1054
31@ = 1
:CAR_1211
0208: 30@ = random_float_in_ranges 0.0 360.0
Object.Angle(0@) = 30@
0208: 29@ = random_float_in_ranges 5.0 15.0
0400: store_coords_to 4@ 5@ 6@ from_object 0@ with_offset 29@ 0.0 25.0
0063: 4@ -= 1@ // (float)
0063: 5@ -= 2@ // (float)
0063: 6@ -= 3@ // (float)
24@(31@,8i) = Object.Create(1582, 1@, 2@, 3@)
Object.SetImmunities(24@(31@,8i), 1, 1, 1, 1, 1)
08D2: object 24@(31@,8i) scale_model 0.01
069A: attach_object 24@(31@,8i) to_object 0@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0
0682: detach_object 24@(31@,8i) 0.0 0.0 0.0 collision_detection 0
Object.CollisionDetection(24@(31@,8i)) = True
Object.Throw(24@(31@,8i), 4@, 5@, 6@)
Object.StorePos(24@(31@,8i), 4@, 5@, 6@)
066D: 20@(31@,8i) = attach_particle "FIRE_MED" to_object 24@(31@,8i) with_offset 0.0 0.0 0.0 flag 1
064C: make_particle 20@(31@,8i) visible
04D9: object 24@(31@,8i) set_scripted_collision_check 1
095C: create_smoke_at 4@ 5@ 6@ velocity 0.0 0.0 0.5 RGBA 0.2 0.2 0.2 1.0 size 2.5 last_factor 0.5
31@ += 1
31@ > 4
else_jump @CAR_1211
Object.Destroy(0@)
33@ = 0
jump @CAR_11
Чтобы убрать огонь удали строку:
066A: 8@ = attach_particle "gunflash" to_actor $PLAYER_ACTOR with_offset 0.0 -0.3 -0.05 rotation 0.0 -1.0 0.0 flag 1
Отличный скрипт! Летал прямтаки как Hancock, осталось только добавить возможность разносить столбы и машины при соприкосновении и клубы пыли при посадке на асфальт...
Fess! Спасибо, выручил +1
/offtop а тебя какой именно мод интересует? DM, GodFather, или ещё какой? Я например сейчас играю на одном очень занятном сервере IP:89.222.178.167:7777 Mod: HostName: [RuS]The Godfather: LS/SF. По мне очень неплохо. /offtop
Я про то что возможно ли в самом скрипте прописать настройку автомобиля из handling.cfg или переадресовать на другой файл в который прописать эти настройки? Ну например у нас есть автомобиль Sabre и мы его заменили на какую нибудь другую машину например Chevrolet и зайдя в игру у машины будут стоять настройки от Sabre а именно: Вес, разгон, максимальная скорость - все эти параметры сидят в handling.cfg который в SA-MP хорошенько скрыт, но CLEO скрипты очень даже хорошо работают, а значит какнибудь можно задать характеристики авто через скриптинг.
PS: может както криво опять разяснил но вроде норм.
Вопрос: можноли через CLEO скрипт задать настройку авто или переадресовать на другой cfg файл, чтобы нужные настройки действовали в SA-MP... Это бы помогло многим с установкой машин на базовые или просто похулиганить на какомнибудь сервачке.
Нащёл скрипт который прибавляет скорость когда сидишь в самолёте.
{$CLEO .cs}
$DRIVEBYMODE = 0
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
:NONAME_15
wait 0
if
Player.Defined($PLAYER_CHAR)
else_jump @NONAME_15
if
04C8: actor $PLAYER_ACTOR driving_flying_vehicle
else_jump @NONAME_15
03C0: 0@ = actor $PLAYER_ACTOR car
if
0AB0: key_pressed 35
else_jump @NONAME_15
jump @NONAME_81
:NONAME_81
Car.SetSpeedInstantly(0@, 100.0)
wait 100
if
0AB0: key_pressed 36
else_jump @NONAME_81
jump @NONAME_15
Вопрос заключаеться в том, как сделать ускорение на автомобилях?
А как сделать так чтобы , в одной комнате было слышно , а другой еле слышно.
Пример : Сидишь в коридоре , музыка играет тихо , подходишь поближе к координатам , то естевственно звук прибавлялся в громкости.
PS:Как поставить радио? Los Santos и так далее.
Щяс играю в SA-MP на моде Godfather и являюсь обладателем дома. Так вот! Очень захотелось добавить музыку в интерьер, но гдето полчаса просидев в билдере, методом проб и ошибок так ничего и не добился. Так вот очень нуждаюсь в помощи в решении этого деликатного вопроса. Надеюсь на отзывчивость...
Вопрос, можно ли задать характеристики машины например #SABRE через CLEO3? Это нужно так как в сампе все характеристики вписаны в samp.saa и в результате Handing.cfg не действует.
Ооо спасибо большое 
Тока вот у меня почемуто неполучаеться сделать чтобы скрипт активировался при нажатии комбинации 2 кнопок - Ctrl+ 1 например
0AB0: key_pressed 17
0AB0: key_pressed 53
Уважаемые скриптеры! Я тока тока начинаю вникать в суть картины и как говорил Seemann решил начать с самого простенького. Собственно делаю CLEO скрипт который при нажатии клавиши NUM 9 даёт minigun, но увы в игре он не появляеться.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}//-------------MAIN---------------
0000: NOP:NONAME_2
wait 10
0AB0: key_pressed 105
else_jump @NONAME_2
01B2: give_actor $PLAYER_ACTOR weapon 38 ammo 10000
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
wait 0
jump @NONAME_2
Укажите пожалуйста что не так?
угу, все заработало. в carmods легко прописать. Тсенкс.
Встречный вопрос! Как в carmods сделать параметр чтобы полицейская машина заезжала на маркер переноса авто интерьер где происходит уже последующий тюнинг? Ведь если заехать в Transfender то будит написано мол "Эту машину нельзя прокачать"
А немоглибы вы выложить CLEo скрипт? Буду очень признателен
Кстати точно! Они на PS2 есть а когда переделывали на персоналку почемуто пропустили их
Потому, что на монстрах стоит система поворота всех колёс