Ghost Bike
Здравствуйте люди добрые! Предлагаю вам готовый РАБОЧИЙ cleo скрипт, делающий следующее : при нажатии кнопки "home" подъезжает горящий, не убиваемый, очень тяжелый bike. С него вы никогда не слетите. Так же если вы отошли от моцака на некоторое расстояние, то он к вам подъедет. Если нажать "delete" то bike уезжает в неизвестном направлении.
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
wait 3000
:bike_0
Model.Load(#FREEWAY)
038B: load_requested_models
15@ = 304475 //Это код кнопок (home и delete)
:bike_1
wait 0
if
Model.Available(#FREEWAY)
jf @bike_0
if
Player.Defined($PLAYER_CHAR)
jf @bike_1
wait 100
0208: 1@ = random_float_in_ranges -90.0 90.0 //Берем случайные значения от -90 до 90
0208: 2@ = random_float_in_ranges -90.0 90.0 //Берем случайные значения от -90 до 90
04C4: store_coords_to 31@ 32@ 33@ from_actor $PLAYER_ACTOR with_offset 1.0 1.0 0.0 //записываем в
//переменные 31@ 32@ 33@ координаты $Player_actor (игрока) с отступом в 1 по x и y
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 //записываем в
//переменные 10@ 11@ 12@ координаты $Player_actor (игрока) с отступом в 1@ 2@ по x и y
02C1: store_to 20@ 21@ 22@ car_path_coords_closest_to 10@ 11@ 12@ // ???
if
056E: car 3@ defined //существует ли машинка 3@
jf @bike_2
jump @bike_4
:bike_2
if and
not Actor.Driving($PLAYER_ACTOR)
&0(15@,1i) == 16711680 //проверка на нажатие кнопки home
jf @bike_1
wait 100
3@ = Car.Create(#FREEWAY, 20@, 21@, 22@) //создаем #FREEWAY по координатам 20@ 21@ 22@
Car.SetImmunities(3@, 1, 1, 1, 1, 1) //даем машине 3@ иммунитеты
01EC: make_car 3@ very_heavy 1 //делаем ее же очень тяжелой
0229: set_car 3@ primary_color_to 0 secondary_color_to 0 //красим в черный цвет
0294: set_car 3@ sprayable 0 //запрет на перекраску
064B: 13@ = create_particle "OVERHEAT_CAR" at 31@ 32@ 33@ type 1 //создаем дым
064B: 14@ = create_particle "OVERHEAT_CAR" at 31@ 32@ 33@ type 1 //создаем дым
064B: 7@ = create_particle "FIRE" at 20@ 21@ 22@ type 1 //создаем огонь
064B: 8@ = create_particle "FIRE" at 20@ 21@ 22@ type 1 //создаем огонь
066C: 7@ = attach_particle "FIRE" to_car 3@ with_offset 0.0 -1.0 0.0 rotation 0.0 -1.0 0.0 flag 1 //цепляем огонь
//на машину 3@ с отступом -1 по y
066C: 13@ = attach_particle "OVERHEAT_CAR" to_car 3@ with_offset 0.0 -1.0 0.0 rotation 0.0 -1.0 0.0 flag 1 //цепляем дым
//на машину 3@ с отступом -1 по y
066C: 8@ = attach_particle "FIRE" to_car 3@ with_offset 0.0 1.0 0.0 rotation 0.0 -1.0 0.0 flag 1 //цепляем огонь
//на машину 3@ с отступом 1 по y
066C: 14@ = attach_particle "OVERHEAT_CAR" to_car 3@ with_offset 0.0 1.0 0.0 rotation 0.0 -1.0 0.0 flag 1 //цепляем дым
//на машину 3@ с отступом 1 по y
064C: make_particle 7@ visible //делаем эфект видимым
064C: make_particle 13@ visible //делаем эфект видимым
064C: make_particle 14@ visible //делаем эфект видимым
064C: make_particle 8@ visible //делаем эфект видимым
wait 100
02C2: car 3@ drive_to 31@ 32@ 33@ //посылаем машину к игроку
Car.SetDriverBehaviour(3@, 5) //стиль езды (5=1+4(1-ехать по дороге, 2-подехать к игроку и остановиться))
Car.SetMaxSpeed(3@, 30.0) //задаем max скорость
00AE: set_car 3@ traffic_behaviour_to 2 //разрешает машине игнорировать светофоры
wait 100
5@ = Marker.CreateAboveCar(3@) //создаем маркер над машинкой
07E0: set_marker 5@ type_to 1 //присваиваем маркеру тип 1 (синий)
:bike_3
wait 100
if
0206: actor $PLAYER_ACTOR near_car 3@ radius 10.0 10.0 10.0 flag 0 on_foot //если актер рядом с машиной 3@
jf @bike_3
Marker.Disable(5@) //удаляем маркер
Car.SetDriverBehaviour(3@, Nowhere) //приказываем машине стоять
wait 100
:bike_4
IF
Actor.InCar($PLAYER_ACTOR,3@) //если актер в машине 3@
JF @bike_5
08C6: set_actor $PLAYER_ACTOR stay_on_bike 1 //то он не падает с мопеда
JUMP @bike_6
:bike_5
08C6: set_actor $PLAYER_ACTOR stay_on_bike 0 //если не в машине 3@, то падает
:bike_6
if
82BF: not car 3@ sunk //тонет ли машина 3@
jf @bike_9
wait 100
if
not Actor.Driving($PLAYER_ACTOR)
not Actor.InCar($PLAYER_ACTOR, 3@)
&0(15@,1i) == 255 //проверка на нажатие кнопки delete
jf @bike_7
02C2: car 3@ drive_to 20@ 21@ 22@
Car.SetDriverBehaviour(3@, FollowRoad)
Car.SetMaxSpeed(3@, 30.0)
00AE: set_car 3@ traffic_behaviour_to 2
wait 30000
Car.SetImmunities(3@, 0, 0, 0, 0, 0)
Car.SetDriverBehaviour(3@, Nowhere)
0650: destroy_particle 7@ //удаляем эфект
0650: destroy_particle 8@ //удаляем эфект
0650: destroy_particle 13@ //удаляем эфект
0650: destroy_particle 14@ //удаляем эфект
Car.RemoveReferences(3@) //удаляем данные о машине 3@
Car.Destroy(3@) //удаляем машину 3@
Model.Destroy(#FREEWAY) //удаляем модель #FREEWAY
jump @bike_1
:bike_7
wait 100
if and
not Car.Wrecked(3@) //взорвана ли машина
8206: not actor $PLAYER_ACTOR near_car 3@ radius 20.0 20.0 20.0 flag 0 on_foot
not Actor.InCar($PLAYER_ACTOR, 3@)
jf @bike_1
Car.SetImmunities(3@, 1, 1, 1, 1, 1)
02C2: car 3@ drive_to 31@ 32@ 33@
Car.SetDriverBehaviour(3@, 5)
00AE: set_car 3@ traffic_behaviour_to 2
Car.SetMaxSpeed(3@, 10.0)
5@ = Marker.CreateAboveCar(3@)
07E0: set_marker 5@ type_to 1
:bike_8
wait 100
if
0206: actor $PLAYER_ACTOR near_car 3@ radius 10.0 10.0 10.0 flag 0 on_foot
jf @bike_8
Marker.Disable(5@)
Car.SetDriverBehaviour(3@, Nowhere)
jump @bike_1
Если кто знает как проверять сколько времени - подскажите...
Также хотел бы узнать название particle эфекта огня, который охватывал бы только голову.
И подскажите как из моего скрипта по нажатию кнопки запустить миссию копов, дабы призрачный гонщик мог корать люд, чья душа запятнана кровью невинных...