#1 21-09-2010 19:31

BullDogHEMI427
From: Рязань
Registered: 02-04-2009
Posts: 54

Полиция в штатском.

Если имеем от 3 до 5 звёзд, то в игру время от времени будет вступать полицейская машина, замаскированная под обычную (ЗАМАСКИРОВАННАЯ!!, а не просто чёрная без обозначений, как делали раньше), вместе с полицейскими в штатском. Скины у полицейских могут быть разные, машины - Примо, Премьер, обе такси. Водитель вооружён дрободаном, напарник - обычным пистолетом.

// 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 "UNDERCOVER"
2@ = 0

:UNDERCOVER_4
wait 0
if
  Player.Defined($PLAYER_CHAR)
jf @UNDERCOVER_4
if and
   Player.WantedLevel($PLAYER_CHAR) > 2
   not Player.WantedLevel($PLAYER_CHAR) > 5
//   8@ == 0
jf @UNDERCOVER_4
0209: 0@ = random_int_in_ranges 2000 5000 
wait 0@
0209: 0@ = random_int_in_ranges 0 3
14@ = 90.0
15@ = 0.0
16@ = -20
17@ = 15.0
0871: init_jump_table 0@ total_jumps 4 default_jump 0 @UNDERCOVER_9 jumps 0 @UNDERCOVER_12 1 @UNDERCOVER_14 2 @UNDERCOVER_17 3 @UNDERCOVER_20 -1 @UNDERCOVER_9 -1 @UNDERCOVER_9 -1 @UNDERCOVER_9 
 
:UNDERCOVER_9
wait 0
if and
   Player.WantedLevel($PLAYER_CHAR) > 2
   not Player.WantedLevel($PLAYER_CHAR) > 5
jf @UNDERCOVER_4
if
   Actor.Driving($PLAYER_ACTOR)
then
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 15@ 14@ 0.0 
03D3: get_route_nearest_for 11@ 12@ 13@ store_to 11@ 12@ 13@ Z_angle_to 4@
068D: get_camera_position_to 17@ 18@ 19@ 
Model.Load(#WHEEL_OR1)
while not Model.Available(#WHEEL_OR1)
wait 0
end
13@ += 0.6
0@ = Object.Create(#WHEEL_OR1, 11@,  12@, 13@)
0750: set_object 0@ visibility 0 
wait 10
if or
86BD:   not no_obstacles_between 11@ 12@ 13@ and 17@ 18@ 19@ solid 1 car 1 actor 0 object 1 particle 0 
82CC:   not object 0@ bounding_sphere_visible 
 then
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 else
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 if
 16@ = -20
  then
  15@ = -30.0
  14@ = 75.0
  16@ = 0
  jump @UNDERCOVER_9
 end
 if
 16@ == 0
  then
  15@ = 0.0
  14@ = 90.0
  16@ = 20
  jump @UNDERCOVER_9
 end
 if
 16@ == 20
  then
  15@ = 30.0
  14@ = 75.0
  16@ = 1
  jump @UNDERCOVER_9
 end
 if
 16@ == 1
  then
  15@ = 0.0
  14@ = 90.0
  16@ = -20
  jump @UNDERCOVER_9
 end
 jump @UNDERCOVER_9
end
else
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 0.0 14@ 0.0 
03D3: get_route_nearest_for 11@ 12@ 13@ store_to 11@ 12@ 13@ Z_angle_to 4@
Model.Load(#WHEEL_OR1)
while not Model.Available(#WHEEL_OR1)
wait 0
end
13@ += 0.6
0@ = Object.Create(#WHEEL_OR1, 11@,  12@, 13@)
0750: set_object 0@ visibility 0 
wait 10
 if
 82CC:   not object 0@ bounding_sphere_visible 
 then
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 else
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 14@ *= -1.0
 17@ *= -1.0
 jump @UNDERCOVER_9
end
end
0209: 0@ = random_int_in_ranges 0 6
0871: init_jump_table 0@ total_jumps 7 default_jump 0 @UNDERCOVER_11 jumps 0 @UNDERCOVER_26 1 @UNDERCOVER_27 2 @UNDERCOVER_28 3 @UNDERCOVER_29 4 @UNDERCOVER_30 5 @UNDERCOVER_31 6 @UNDERCOVER_32 

:UNDERCOVER_11
wait 0
0085: 1@ = 0@
2@ = 1
0209: 0@ = random_int_in_ranges 0 6
0871: init_jump_table 0@ total_jumps 7 default_jump 0 @UNDERCOVER_35 jumps 0 @UNDERCOVER_26 1 @UNDERCOVER_27 2 @UNDERCOVER_28 3 @UNDERCOVER_29 4 @UNDERCOVER_30 5 @UNDERCOVER_31 6 @UNDERCOVER_32 

:UNDERCOVER_12
wait 0
9@ = #PREMIER
jump @UNDERCOVER_9

:UNDERCOVER_14
wait 0
9@ = #PRIMO
jump @UNDERCOVER_9

:UNDERCOVER_17
wait 0
9@ = #TAXI
jump @UNDERCOVER_9

:UNDERCOVER_20
wait 0
9@ = #CABBIE
jump @UNDERCOVER_9

:UNDERCOVER_26
wait 0
0@ = #SBMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_27
wait 0
0@ = #OMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_28
wait 0
0@ = #OMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_29
wait 0
0@ = #SOMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_30
wait 0
0@ = #SWMYCR
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_31
wait 0
0@ = #SWMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_32
wait 0
0@ = #HMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_35
wait 0
2@ = 0
Model.Load(9@)
   while not Model.Available(9@)
wait 0
end
Model.Load(0@)
while not Model.Available(0@)   
wait 0
end   
Model.Load(1@)
while not Model.Available(1@)
wait 0
end   
Model.Load(#CHROMEGUN)
while not Model.Available(#CHROMEGUN)
wait 0
end   
5@ = Car.Create(9@, 11@, 12@, 13@)
Car.Angle(5@) = 4@
0129: 6@ = create_actor_pedtype 6 model 0@ in_car 5@ driverseat 
01B2: give_actor 6@ weapon 25 ammo 9999 // Load the weapon model before using this 
01C8: 7@ = create_actor_pedtype 6 model 1@ in_car 5@ passenger_seat 0
Model.Destroy(0@)
Model.Destroy(1@)
Model.Destroy(9@)
Model.Destroy(#CHROMEGUN)
Car.SetDriverBehaviour(5@, 5)
Car.SetSpeedInstantly(5@, 33.0)
Car.SetMaxSpeed(5@, 150.0)

:UNDERCOVER_43
wait 0
if or
   not Player.Defined($PLAYER_CHAR)
   not Player.WantedLevel($PLAYER_CHAR) > 0
jf @UNDERCOVER_45
Car.SetToNormalDriver(5@)
Car.RemoveReferences(5@)
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
wait 3000
jump @UNDERCOVER_4

:UNDERCOVER_45
wait 0
if
   Car.Defined(5@)
jf @UNDERCOVER_49
if
0202:   actor $PLAYER_ACTOR near_car 5@ radius 5.0 5.0 flag 0 
jf @UNDERCOVER_49
if
  Actor.Driving($PLAYER_ACTOR)
  then
  03C0: 0@ = actor $PLAYER_ACTOR car
  02E3: 10@ = car 0@ speed 
  if
   10@ <= 5.0
  jf @UNDERCOVER_47
end 
if
Actor.Defined(6@)
then
0633: AS_actor 6@ exit_car 
05E2: actor 6@ kill_actor $PLAYER_ACTOR
Actor.RemoveReferences(6@)
01B9: set_actor 6@ armed_weapon_to 25 
end
if
Actor.Defined(7@)
then
0633: AS_actor 7@ exit_car 
05E2: actor 7@ kill_actor $PLAYER_ACTOR
Actor.RemoveReferences(7@)
end
Car.RemoveReferences(5@)
wait 3000
jump @UNDERCOVER_4

:UNDERCOVER_47
wait 0
if and
   Actor.Defined(6@)
   Actor.Defined(7@)
then
if and
80F2:   not actor 6@ near_actor $PLAYER_ACTOR radius 25.0 25.0 0 
80F2:   not actor 7@ near_actor $PLAYER_ACTOR radius 25.0 25.0 0 
   Actor.Driving($PLAYER_ACTOR)
then
if and
   not Car.Wrecked(5@)
   0202:   actor 6@ near_car 5@ radius 35.0 35.0 flag 0 
   0202:   actor 7@ near_car 5@ radius 35.0 35.0 flag 0 
   then
   else
   wait 3000
   jump @UNDERCOVER_4
   end
05CB: AS_actor 6@ enter_car 5@ as_driver -1 ms 
05CA: AS_actor 7@ enter_car 5@ passenger_seat 0 -1 ms 
Car.SetDriverBehaviour(5@, 0)
while not Actor.InCar(7@, 5@) 
  while not Actor.InCar(6@, 5@)
  wait 0
  end
wait 0
end
Car.SetDriverBehaviour(5@, 6)
Car.SetMaxSpeed(5@, 150.0)
end
else
if
   Actor.Defined(6@)
then
Actor.RemoveReferences(6@)
end
if
   Actor.Defined(7@)
then
Actor.RemoveReferences(7@)
end
if
   Car.Defined(5@)
   then
   Car.RemoveReferences(5@)
   end
end

:UNDERCOVER_49
wait 0
if
   Actor.Defined(7@)
then
if or
   Actor.Dead(7@)
80F2:   not actor 7@ near_actor $PLAYER_ACTOR radius 150.0 150.0 0 
then
Actor.RemoveReferences(7@)
end
if or
   Actor.Dead(6@)
80F2:   actor 6@ near_actor $PLAYER_ACTOR radius 150.0 150.0 0 
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
jump @UNDERCOVER_4
end
end
if
 not Car.Defined(5@)
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
Actor.DestroyInstantly(6@)
Actor.DestroyInstantly(7@)
jump @UNDERCOVER_4
if
   Actor.InCar($PLAYER_ACTOR, 5@)
   then
   Car.RemoveReferences(5@)
   if
   Actor.Defined(6@)
then
Actor.RemoveReferences(6@)
end
if
   Actor.Defined(7@)
   then
   Actor.RemoveReferences(7@)
   end
end
end
if
8202:   not actor $PLAYER_ACTOR near_car 5@ radius 150.0 150.0 flag 0 
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
Car.Destroy(5@)
Actor.DestroyInstantly(6@)
Actor.DestroyInstantly(7@)
jump @UNDERCOVER_4
end
jump @UNDERCOVER_43

Скрины:
284487-83edf-36238067-h200.jpg284487-520d7-36238068-h200.jpg
284487-b39dc-36238071-h200.jpg284487-a9fe9-36238073-h200.jpg

Тестим, оцениваем, комментируем smile

Last edited by BullDogHEMI427 (21-09-2010 20:00)


Also known as HemiG
It's cool to Hate. It's cool to be a bloody guitarist.
284487-39e63-35897154-h200.jpg

Offline

#2 21-09-2010 19:54

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Полиция в штатском.

Хорошо бы скомпилированный файл сразу выложить, для ленивых)

Offline

#3 21-09-2010 20:01

BullDogHEMI427
From: Рязань
Registered: 02-04-2009
Posts: 54

Re: Полиция в штатском.

Не вопрос (ну ясное дело=) ), зааттачил в первом посте.


Also known as HemiG
It's cool to Hate. It's cool to be a bloody guitarist.
284487-39e63-35897154-h200.jpg

Offline

Board footer

Powered by FluxBB