Blockbuster "Convoy"

Итак, в этом скрипте вы можете либо просто наблюдать за происходящим, либо принять активное участие и заработать деньги. Нажмите «присесть + спринт» для запуска миссии.
Игрок будет кататься в машине пассажиром. От посягательства ментов его охраняют 5 других машин вместе с 11-ю вооруженными актерами. Если машина застряла, нажмите «horn». Всегда можно выйти, нажав «выход из машины».
Но самое интересное начнется через 1 минуту после начала миссии. Копы вызовут подкрепление. Вот тогда вы можете нажать кнопку «подмисии» чтобы разнести полицейские машины с помощью минигана. Для успешного прохождения миссии надо взорвать 120 полицейских машин. Или вы можете нажать «look behind» чтобы снова оказаться внутри машины.


:SHOW2_1237
wait 25
if and
00E1: key_pressed 0 18
00E1: key_pressed 0 16
jf @SHOW2_1237
if and
Player.Defined($PLAYER_CHAR)
Player.Controllable($PLAYER_CHAR)
jf @SHOW2_1237
if and
$ONMISSION == 0 // integer values
not Actor.Driving($PLAYER_ACTOR)
jf @SHOW2_1237
077E: $ACTIVE_INTERIOR = active_interior
if
$ACTIVE_INTERIOR == 0 // integer values
jf @SHOW2_1237
if
88FE: not text_box_displaying
jf @SHOW2_1237
00BA: text_styled 'SWEET_1' 1500 ms 2
fade 0 2500

:SHOW2_1385
wait 0
if
not fading
jf @SHOW2_1385
start_mission 135
end_thread


---

//-------------Mission 135---------------

:escort
thread 'escort'
gosub @escort_47
if
wasted_or_busted
jf @escort_38
gosub @escort_2870

:escort_38
gosub @escort_2896
end_thread

:escort_47
increment_mission_attempts
$ONMISSION = 1 // integer values
Player.ClearWantedLevel($PLAYER_CHAR)
Model.Load(#STRATUM)
Model.Load(#HEATSEEK)
Model.Load(#WALTON)
Model.Load(#FAM1)
Model.Load(#FAM2)
Model.Load(#FAM3)
Model.Load(#M4)
Model.Load(#CHROMEGUN)
Model.Load(#CUNTGUN)
Model.Load(#DESERT_EAGLE)
Model.Load(#MP5LNG)
Model.Load(#SAWNOFF)
Model.Load(#SHOTGSPA)
Model.Load(#MICRO_UZI)
Model.Load(#AK47)
Model.Load(#MINIGUN)
Model.Load(#COPCARVG)
Model.Load(#LVPD1)
Model.Load(#FBIRANCH)
Model.Load(#FBI)
Model.Load(#TEC9)
038B: load_requested_models

:escort_151
wait 0
if and
Model.Available(#STRATUM)
Model.Available(#FBIRANCH)
Model.Available(#HEATSEEK)
Model.Available(#WALTON)
Model.Available(#FAM2)
Model.Available(#TEC9)
jf @escort_151
0395: clear_area 1 at 902.4323 2596.6987 10.507 range 50.0
Actor.StorePos($PLAYER_ACTOR, $X_COORD2, $Y_COORD2, $Z_COORD2)
$walt1 = Car.Create(#WALTON, 867.5538, 2613.677, 11.0585)
$strat = Car.Create(#STRATUM, 902.4323, 2596.6987, 10.507)
$walt2 = Car.Create(#WALTON, 928.1125, 2583.7808, 10.4214)
$walt5 = Car.Create(#WALTON, 909.4543, 2587.574, 10.3824)
$walt3 = Car.Create(#WALTON, 919.4312, 2588.1592, 10.3774)
$walt4 = Car.Create(#WALTON, 889.9837, 2602.8831, 10.6582)
Car.Angle($walt1) = 270.0
Car.Angle($walt2) = 270.0
Car.Angle($walt3) = 270.0
Car.Angle($walt4) = 270.0
Car.Angle($walt5) = 270.0
Car.Angle($strat) = 270.0
053F: set_car $strat tires_vulnerable 0
06ED: set_car $strat paintjob 2
Car.SetImmunities($walt1, 1, 1, 1, 1, 1)
Car.SetImmunities($strat, 1, 1, 1, 1, 1)
Car.SetImmunities($walt2, 1, 1, 1, 1, 1)
Car.SetImmunities($walt5, 1, 1, 1, 1, 1)
Car.SetImmunities($walt3, 1, 1, 1, 1, 1)
Car.SetImmunities($walt4, 1, 1, 1, 1, 1)
07EE: car $walt1 enable_tire_marks 1
07EE: car $strat enable_tire_marks 1
07EE: car $walt2 enable_tire_marks 1
07EE: car $walt5 enable_tire_marks 1
07EE: car $walt3 enable_tire_marks 1
07EE: car $walt4 enable_tire_marks 1
Car.DoorStatus($walt1) = 4
Car.DoorStatus($strat) = 4
Car.DoorStatus($walt2) = 4
Car.DoorStatus($walt5) = 4
Car.DoorStatus($walt3) = 4
Car.DoorStatus($walt4) = 4
$act1 = Actor.Create(Gang2, #FAM1, 0.0, 0.0, 0.0)
$act2 = Actor.Create(Gang2, #FAM2, 0.0, 0.0, 0.0)
$act3 = Actor.Create(Gang2, #FAM3, 0.0, 0.0, 0.0)
$act4 = Actor.Create(Gang2, #FAM1, 0.0, 0.0, 0.0)
$act5 = Actor.Create(Gang2, #FAM2, 0.0, 0.0, 0.0)
$act6 = Actor.Create(Gang2, #FAM3, 0.0, 0.0, 0.0)
$act7 = Actor.Create(Gang2, #FAM1, 0.0, 0.0, 0.0)
$act8 = Actor.Create(Gang2, #FAM2, 0.0, 0.0, 0.0)
$act17 = Actor.Create(Gang2, #FAM3, 0.0, 0.0, 0.0)
0129: $act9 = create_actor 8 #FAM1 in_car $walt1 driverseat
0129: $act10 = create_actor 8 #FAM2 in_car $strat driverseat
0129: $act11 = create_actor 8 #FAM3 in_car $walt2 driverseat
0129: $act12 = create_actor 8 #FAM1 in_car $walt5 driverseat
0129: $act13 = create_actor 8 #FAM3 in_car $walt3 driverseat
0129: $act14 = create_actor 8 #FAM1 in_car $walt4 driverseat
01C8: $act15 = create_actor 8 #FAM2 in_car $strat passenger_seat 1
01C8: $act16 = create_actor 8 #FAM3 in_car $strat passenger_seat 2
0350: unknown_actor $act1 not_scared_flag 1
0350: unknown_actor $act2 not_scared_flag 1
0350: unknown_actor $act3 not_scared_flag 1
0350: unknown_actor $act4 not_scared_flag 1
0350: unknown_actor $act5 not_scared_flag 1
0350: unknown_actor $act6 not_scared_flag 1
0350: unknown_actor $act7 not_scared_flag 1
0350: unknown_actor $act8 not_scared_flag 1
0350: unknown_actor $act9 not_scared_flag 1
0350: unknown_actor $act10 not_scared_flag 1
0350: unknown_actor $act11 not_scared_flag 1
0350: unknown_actor $act12 not_scared_flag 1
0350: unknown_actor $act13 not_scared_flag 1
0350: unknown_actor $act14 not_scared_flag 1
0350: unknown_actor $act15 not_scared_flag 1
0350: unknown_actor $act16 not_scared_flag 1
0350: unknown_actor $act17 not_scared_flag 1
060B: unknown_actor_use_entity $act12 26@
Actor.SetImmunities($act1, 1, 1, 1, 1, 1)
Actor.SetImmunities($act2, 1, 1, 1, 1, 1)
Actor.SetImmunities($act3, 1, 1, 1, 1, 1)
Actor.SetImmunities($act4, 1, 1, 1, 1, 1)
Actor.SetImmunities($act5, 1, 1, 1, 1, 1)
Actor.SetImmunities($act6, 1, 1, 1, 1, 1)
Actor.SetImmunities($act7, 1, 1, 1, 1, 1)
Actor.SetImmunities($act8, 1, 1, 1, 1, 1)
Actor.SetImmunities($act9, 1, 1, 1, 1, 1)
Actor.SetImmunities($act10, 1, 1, 1, 1, 1)
Actor.SetImmunities($act11, 1, 1, 1, 1, 1)
Actor.SetImmunities($act12, 1, 1, 1, 1, 1)
Actor.SetImmunities($act13, 1, 1, 1, 1, 1)
Actor.SetImmunities($act14, 1, 1, 1, 1, 1)
Actor.SetImmunities($act15, 1, 1, 1, 1, 1)
Actor.SetImmunities($act16, 1, 1, 1, 1, 1)
Actor.SetImmunities($act17, 1, 1, 1, 1, 1)
01B2: give_actor $act9 weapon 32 ammo 999999
01B2: give_actor $act10 weapon 32 ammo 999999
01B2: give_actor $act11 weapon 32 ammo 999999
01B2: give_actor $act1 weapon 33 ammo 999999
01B2: give_actor $act2 weapon 36 ammo 999999
01B2: give_actor $act15 weapon 25 ammo 999999
01B2: give_actor $act16 weapon 31 ammo 999999
01B2: give_actor $act3 weapon 26 ammo 999999
01B2: give_actor $act4 weapon 29 ammo 999999
01B2: give_actor $act12 weapon 32 ammo 999999
01B2: give_actor $act5 weapon 27 ammo 999999
01B2: give_actor $act6 weapon 28 ammo 999999
01B2: give_actor $act7 weapon 30 ammo 999999
01B2: give_actor $act8 weapon 38 ammo 9999999
01B2: give_actor $act17 weapon 31 ammo 9999999
01B9: set_actor $act9 armed_weapon_to 32
01B9: set_actor $act10 armed_weapon_to 32
01B9: set_actor $act11 armed_weapon_to 32
01B9: set_actor $act12 armed_weapon_to 32
01B9: set_actor $act15 armed_weapon_to 25
01B9: set_actor $act16 armed_weapon_to 31
0430: put_actor $PLAYER_ACTOR into_vehicle $strat passenger_seat 0
Car.SetDriverBehaviour($walt5, 3)
Car.SetDriverBehaviour($walt2, FollowRoad)
Car.SetDriverBehaviour($walt1, 3)
Car.SetDriverBehaviour($walt3, 3)
Car.SetDriverBehaviour($walt4, 3)
07F8: car $strat follow_vehicle $walt2 radius 15.0
07F8: car $walt3 follow_vehicle $walt2 radius 6.0
07F8: car $walt5 follow_vehicle $walt2 radius 10.0
07F8: car $walt4 follow_vehicle $walt2 radius 22.0
07F8: car $walt1 follow_vehicle $walt2 radius 27.0
00AE: unknown_set_car $walt1 to_ignore_traffic_lights 2
00AE: unknown_set_car $strat to_ignore_traffic_lights 2
00AE: unknown_set_car $walt2 to_ignore_traffic_lights 2
00AE: unknown_set_car $walt5 to_ignore_traffic_lights 2
00AE: unknown_set_car $walt3 to_ignore_traffic_lights 2
00AE: unknown_set_car $walt4 to_ignore_traffic_lights 2
$mark1 = Marker.CreateAboveCar($walt1)
$mark2 = Marker.CreateAboveCar($strat)
$mark3 = Marker.CreateAboveCar($walt2)
$mark4 = Marker.CreateAboveCar($walt5)
$mark5 = Marker.CreateAboveCar($walt3)
$mark6 = Marker.CreateAboveCar($walt4)
Car.SetMaxSpeed($walt1, 100.0)
Car.SetMaxSpeed($walt2, 25.0)
Car.SetMaxSpeed($strat, 100.0)
Car.SetMaxSpeed($walt5, 100.0)
Car.SetMaxSpeed($walt3, 100.0)
Car.SetMaxSpeed($walt4, 100.0)
0423: car $walt1 improve_handling 2.5
0423: car $strat improve_handling 2.5
0423: car $walt2 improve_handling 2.5
0423: car $walt5 improve_handling 2.5
0423: car $walt3 improve_handling 2.5
0423: car $walt4 improve_handling 2.5
0631: put_actor $act15 in_group $PLAYER_GROUP
0631: put_actor $act16 in_group $PLAYER_GROUP
0631: put_actor $act1 in_group $PLAYER_GROUP
0631: put_actor $act3 in_group $PLAYER_GROUP
0631: put_actor $act4 in_group $PLAYER_GROUP
0631: put_actor $act5 in_group $PLAYER_GROUP
0631: put_actor $act7 in_group $PLAYER_GROUP
0631: put_actor $act8 in_group $PLAYER_GROUP
0464: put_actor $act1 into_turret_on_car $walt2 at_car_offset -0.5 -0.7 0.9 position 0 shooting_angle 360.0 with_weapon 33
0464: put_actor $act2 into_turret_on_car $walt2 at_car_offset 0.5 -1.8 0.9 position 0 shooting_angle 360.0 with_weapon 36
0464: put_actor $act3 into_turret_on_car $walt1 at_car_offset -0.5 -0.7 0.9 position 0 shooting_angle 360.0 with_weapon 26
0464: put_actor $act4 into_turret_on_car $walt1 at_car_offset 0.5 -1.8 0.9 position 0 shooting_angle 360.0 with_weapon 29
0464: put_actor $act5 into_turret_on_car $walt3 at_car_offset -0.5 -0.7 0.9 position 0 shooting_angle 360.0 with_weapon 27
0464: put_actor $act6 into_turret_on_car $walt3 at_car_offset 0.5 -1.8 0.9 position 0 shooting_angle 360.0 with_weapon 28
0464: put_actor $act7 into_turret_on_car $walt4 at_car_offset -0.5 -0.7 0.9 position 0 shooting_angle 360.0 with_weapon 30
0464: put_actor $act8 into_turret_on_car $walt4 at_car_offset 0.5 -1.8 0.9 position 0 shooting_angle 360.0 with_weapon 38
0464: put_actor $act17 into_turret_on_car $walt5 at_car_offset -0.5 -0.7 0.9 position 0 shooting_angle 360.0 with_weapon 31
Actor.WeaponAccuracy($act1) = 100
Actor.WeaponAccuracy($act2) = 100
var
$x : array 16 of float
$y : array 16 of float
$z : array 16 of float
$cos : float
$sin : float
$rnd_x : float
$rnd : float
$max_cop : int = 16
$actcop: array 16 of Actor
$actcop2: array 16 of Actor
$copcar: array 16 of car
$timer : int = 120
$money : int
$wb : int = 0
$time : int = 60000
$turret_mode : int = 0
end // var
wait 1000
fade 1 1000
050F: 53@ = get_max_wanted_level
01F0: set_max_wanted_level_to 6
Player.SetMinWantedLevel($PLAYER_CHAR, 5)
0952: (unknown) 9
wait 200
054C: use_GXT_table 'GRAV'
03CF: load_wav 1058 as 1
03C3: set_timer_with_text_to $time type 1 text 'BB_19' // BPEMR
wait 4000
0954:

:escort_200
gosub @escort_300
if
$time 6
then
$modelcar = #COPCARVG
$modelcop = #LVPD1
$weapon = 24
else
$modelcar = #FBIRANCH
$modelcop = #fbi
$weapon = 29
end // if
$copcar[$i] = Car.Create($modelcar, $x[$i], $y[$i], $z[$i])
0129: $actcop[$i] = create_actor 6 $modelcop in_car $copcar[$i] driverseat
072F: (unknown) $copcar[$i] 1.0 2000 1 1 1 -1
0397: car $copcar[$i] siren = 1
04BA: set_car $copcar[$i] speed_instantly 5.0
01C8: $actcop2[$i] = create_actor 6 $modelcop in_car $copcar[$i] passenger_seat 0
01B2: give_actor $actcop2[$i] weapon $weapon ammo 99999
0713: actor $actcop2[$i] drive_by actor -1 car $strat point 0.0 0.0 0.0 5000.0 8 1 60
06E1: unknown_action_sequence $actcop[$i] $copcar[$i] $strat 2 60.0 2
end
jump @escort_2430

:escort_2422
if
00E1: key_pressed 0 19
then
if
$turret_mode == 0
then
$turret_mode = 1
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 0.0 0.0 0.0
0464: put_actor $PLAYER_ACTOR into_turret_on_car $walt5 at_car_offset 0.5 -1.8 0.9 position 0 shooting_angle 360.0 with_weapon 38
04F7: status_text $timer 0 line 1 'BB_18' // O4KN
else
$turret_mode = 0
0465: remove_actor $PLAYER_ACTOR from_turret_mode
0430: put_actor $PLAYER_ACTOR into_vehicle $strat passenger_seat 0
0151: remove_status_text $timer
end
end
return

:escort_2430
for $i = 1 to $max_cop
wait 0
if
$copcar[$i] <> -1
then
if or
Car.Wrecked($copcar[$i])
8202: not actor $PLAYER_ACTOR near_car $copcar[$i] radius 130.0 130.0 unknown 0
then
if and
Car.Wrecked($copcar[$i])
$turret_mode == 1
then
$timer += -1 // integer values
018C: play_sound 1058 at 0.0 0.0 0.0
gosub @escort_2440
gosub @escort_2437
else
gosub @escort_2440
gosub @escort_2437
end // if
else
gosub @escort_300
gosub @escort_2422
end
end
end
jump @escort_2430

:escort_2437
repeat
wait 0
gosub @escort_300
gosub @escort_2422
$rnd_x = random(5, 130)
$rnd = random(0, 360)
02F6: $cos = cosine $rnd // sinus swapped with cosine
02F7: $sin = sinus $rnd // cosine swapped with sinus
$cos *= $rnd_x // floating-point values
$sin *= $rnd_x // floating-point values
04C4: create_coordinate $X $Y $Z from_actor $PLAYER_ACTOR offset $cos $sin 0.0
02C1: set $x[$i] $y[$i] $z[$i] to_car_path_coords_closest_to $x $y $z
until 80C2: not sphere_onscreen $x[$i] $y[$i] $z[$i] 5.0
for $k = 1 to $max_cop // step 1
if
$k <> $i
then
if or
$x[$i] == $x[$k]
$y[$i] == $y[$k]
then
jump @escort_2437
end // if
end // if
end // for
if
$i > 6
then
$modelcar = #COPCARVG
$modelcop = #LVPD1
$weapon = 24
else
$modelcar = #FBIRANCH
$modelcop = #fbi
$weapon = 29
end // if
$copcar[$i] = Car.Create($modelcar, $x[$i], $y[$i], $z[$i])
0129: $actcop[$i] = create_actor 6 $modelcop in_car $copcar[$i] driverseat
072F: (unknown) $copcar[$i] 1.0 2000 1 1 1 -1
0397: car $copcar[$i] siren = 1
04BA: set_car $copcar[$i] speed_instantly 5.0
01C8: $actcop2[$i] = create_actor 6 $modelcop in_car $copcar[$i] passenger_seat 0
01B2: give_actor $actcop2[$i] weapon $weapon ammo 99999
if
$turret_mode == 0
then
0713: actor $actcop2[$i] drive_by actor -1 car $strat point 0.0 0.0 0.0 5000.0 8 1 60
06E1: unknown_action_sequence $actcop[$i] $copcar[$i] $strat 2 60.0 2
else
if
$timer == 0
then
jump @escort_2709
else
0713: actor $actcop2[$i] drive_by actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 5000.0 8 1 60
06E1: unknown_action_sequence $actcop[$i] $copcar[$i] $walt4 2 60.0 2
end // if
end
return

:escort_2440
Actor.RemoveReferences($actcop[$i])
Actor.RemoveReferences($actcop2[$i])
Car.RemoveReferences($copcar[$i])
return

:escort_2709
$money = 30000
fade 0 2000
wait 3000
0465: remove_actor $PLAYER_ACTOR from_turret_mode
Actor.PutAt($PLAYER_ACTOR, $X_COORD2, $Y_COORD2, $Z_COORD2)
gosub @escort_2900
fade 1 1500
wait 1000
jump @escort_2715

:escort_2712
$money = -200
fade 0 2000
wait 3000
gosub @escort_2900
if
$turret_mode == 0
then
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at $X_COORD2 $Y_COORD2 $Z_COORD2
else
0465: remove_actor $PLAYER_ACTOR from_turret_mode
Actor.PutAt($PLAYER_ACTOR, $X_COORD2, $Y_COORD2, $Z_COORD2)
end
fade 1 1500
wait 1000

:escort_2715
01E3: text_1number_styled 'M_PASS' $money 5000 ms 1
0318: set_latest_mission_passed 'SWEET_1'
Player.Money($PLAYER_CHAR) += $money
Player.ClearWantedLevel($PLAYER_CHAR)
0394: play_music 1
create_thread @show2
gosub @escort_38
return

:escort_2870
00BA: text_styled 'M_FAIL' 5000 ms 1 // ~r~MNCCNR ZPOBALEHA!
gosub @escort_2900
create_thread @show2
return

:escort_2896
$ONMISSION = 0 // integer values
mission_cleanup
return

:escort_2900
gosub @escort_2440
Model.destroy(#STRATUM)
Model.destroy(#HEATSEEK)
Model.destroy(#WALTON)
Model.destroy(#FAM1)
Model.destroy(#FAM2)
Model.destroy(#FAM3)
Model.destroy(#M4)
Model.destroy(#CHROMEGUN)
Model.destroy(#CUNTGUN)
Model.destroy(#DESERT_EAGLE)
Model.destroy(#MP5LNG)
Model.destroy(#SAWNOFF)
Model.destroy(#TEC9)
Model.destroy(#SHOTGSPA)
Model.destroy(#MICRO_UZI)
Model.destroy(#AK47)
Model.destroy(#MINIGUN)
Model.destroy(#COPCARVG)
Model.destroy(#LVPD1)
Model.destroy(#FBIRANCH)
Model.destroy(#FBI)
actor.RemoveReferences($act1)
actor.RemoveReferences($act2)
actor.RemoveReferences($act3)
actor.RemoveReferences($act4)
actor.RemoveReferences($act5)
actor.RemoveReferences($act6)
actor.RemoveReferences($act7)
actor.RemoveReferences($act8)
actor.RemoveReferences($act9)
actor.RemoveReferences($act10)
actor.RemoveReferences($act11)
actor.RemoveReferences($act12)
actor.RemoveReferences($act13)
actor.RemoveReferences($act14)
actor.RemoveReferences($act15)
actor.RemoveReferences($act16)
actor.RemoveReferences($act17)
car.RemoveReferences($walt1)
car.RemoveReferences($walt2)
car.RemoveReferences($walt3)
car.RemoveReferences($walt4)
car.RemoveReferences($strat)
car.RemoveReferences($walt5)
marker.Disable($mark1)
marker.Disable($mark2)
marker.Disable($mark3)
marker.Disable($mark4)
marker.Disable($mark5)
marker.Disable($mark6)
0151: remove_status_text $timer
014F: stop_timer $time
040D: unload_wav 1058
01F0: set_max_wanted_level_to 53@
0955:
return



Просмотров: 1370
8.11.2013, 15:24 -

Категория: Grand Theft Auto: San Andreas » Скрипты для Grand Theft Auto: San Andreas

Коментарии к Blockbuster "Convoy":