{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
if
0@ = SAMP.Base()
else_jump @noname_30
:noname_30
wait 409
sAMP.Available
else_jump @noname_30
0B34: samp register_client_command "bbp" to_label @bbp
0B34: samp register_client_command "bbv" to_label @bbv
jump @Noname_19
:Noname_19
wait 0
if
not 1@ == 1
else_jump @PH
if
not 2@ == 1
jf @VH
jump @Noname_19
:PH // player id
wait 0
SAMP.IsCommandTyped(0@)
0AD4: 0@ 0@ format "%d" 11@
if
0@ > 0
else_jump @err
if
0B23: samp is_player_connected 11@
jf @notfound
4@ = samp.GetActorHandleByPlayerID(11@)
if
056D: actor 4@ defined
jf @notfound
15@ = actor.Angle($player_actor)
if
actor.Driving(4@)
jf @notincar
actor.StorePos($player_actor, 10@ 11@ 12@)
12@ -= 1.0
if
not actor.Driving($player_actor)
0AA0: gosub_if_false @removeInCar
5@ = actor.CurrentCar(4@)
if
056E: car 5@ defined
else_jump @notCarDef
09B3: get_car 5@ door_status 27@
if
27@ == 0
jf @closedDoor
6@ = samp.GetSAMPVehicleIDByCarHandle(5@)
samp.SendEnterVehicle(6@, 0)
25@ = actor.Angle($player_actor)
wait 300
call @Noname_2829 1 5@
wait 250
04C4: store_coords_to 10@ 15@ 20@ from_actor $player_actor with_offset 0.0 0.0 4.0
0208: 18@ = random_float_in_ranges 5.0 200.0
0731: set_car 5@ y_angle_to 80
Car.SetSpeedInstantly(5@, -75.0)
0731: set_car 5@ y_angle_to 80
car.Angle(5@) = 18@
wait 50
car.PutAt(5@, 10@ 15@ 20@)
Car.SetSpeedInstantly(5@, -75.0)
wait 50
car.Health(5@) = 300
call @noname_2895 1 5@
actor.Angle($player_actor) = 25@
jump @ret
:VH // vehicle id
wait 0
SAMP.IsCommandTyped(0@)
0AD4: 0@ 0@ format "%d" 6@
if
0@ > 0
else_jump @err
5@ = samp.GetVehicleHandleBySAMPVehicleID(6@)
if
056E: car 5@ defined
else_jump @notCarDef
09B3: get_car 5@ door_status 27@
if
27@ == 0
jf @closedDoor
actor.StorePos($player_actor, 10@ 11@ 12@)
12@ -= 1.0
if
not actor.Driving($player_actor)
0AA0: gosub_if_false @removeInCar
samp.SendEnterVehicle(6@, 0)
25@ = actor.Angle($player_actor)
wait 300
call @Noname_2829 1 5@
wait 250
04C4: store_coords_to 10@ 15@ 20@ from_actor $player_actor with_offset 0.0 0.0 4.0
0208: 18@ = random_float_in_ranges 5.0 200.0
0731: set_car 5@ y_angle_to 80
Car.SetSpeedInstantly(5@, -75.0)
0731: set_car 5@ y_angle_to 80
car.Angle(5@) = 18@
wait 50
car.PutAt(5@, 10@ 15@ 20@)
Car.SetSpeedInstantly(5@, -75.0)
wait 50
car.Health(5@) = 300
call @Noname_2895 1 5@
actor.Angle($player_actor) = 25@
jump @ret
:bbp
1@ = 1
jump @cmd
:bbv
2@ = 1
jump @cmd
:err
chatmsg "Используйте: /bbp(v) [player/car id]" -999
jump @ret
:notfound
chatmsg "Игрок вне зоны прорисовки." -999
jump @ret
:notincar
chatmsg "Игрок не за рулем машины." -999
jump @ret
:closedDoor
chatmsg "Машина закрыта." -999
jump @ret
:notCarDef
chatmsg "Машина вне зоны стрима." -999
jump @ret
:removeInCar
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 10@ 11@ 12@
return
:ret
1@ = 0
2@ = 0
jump @Noname_19
:cmd
samp.CmdRet()
:Noname_2829
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
0A97: 2@ = car 0@ struct // 5@ = car handle
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 1328
0A8C: write_memory 3@ size 4 value 50 virtual_protect 0
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 1420
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
ret 0
:Noname_2895
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 1328
0A8C: write_memory 3@ size 4 value 1 virtual_protect 0
0687: clear_actor $PLAYER_ACTOR task
actor.StorePos($player_actor, 10@ 11@ 12@)
12@ -= 1.0
036A: put_actor $PLAYER_ACTOR in_car 0@
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 10@ 11@ 12@
ret 0
и ещё
thread "AIR"
0B34: samp register_client_command "bbveh" to_label @AIR_174
0@ = 0
:AIR_40
wait 0
if
0@ == 1
else_jump @AIR_40
Actor.StorePos($PLAYER_ACTOR, 7@, 8@, 9@)
036A: put_actor $PLAYER_ACTOR in_car 6@
wait 100
07D5: set_car 6@ velocity_in_direction_XYZ 3.0 3.0 3.3 rotation_velocitiesXY 0.0 0.0 unk 0.0
07DA: set_car 6@ rotation_velocity_XYZ 10.0 10.0 10.0 through_center_of_body
07DB: set_car 6@ rotation_velocity_XYZ 10.0 10.0 10.0 through_center_of_mass
wait 100
036A: put_actor $PLAYER_ACTOR in_car 5@
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 7@ 8@ 9@
036A: put_actor $PLAYER_ACTOR in_car 5@
0@ = 0
SAMP.CmdRet
jump @AIR_40
:AIR_174
wait 0
SAMP.IsCommandTyped(1@)
if
0AD4: 2@ = scan_string 1@ format "%d" 3@
else_jump @AIR_362
if
Actor.Driving($PLAYER_ACTOR)
else_jump @AIR_458
if
SAMP.IsPlayerConnected(3@)
else_jump @AIR_507
4@ = SAMP.GetActorHandleByPlayerID(3@)
if
056D: actor 4@ defined
else_jump @AIR_547
if
Actor.Driving(4@)
else_jump @AIR_613
5@ = Actor.CurrentCar($PLAYER_ACTOR)
6@ = Actor.CurrentCar(4@)
if and
056E: car 5@ defined
056E: car 6@ defined
else_jump @AIR_754
if and
not Actor.InCar($PLAYER_ACTOR, 6@)
not Actor.InCar(4@, 5@)
else_jump @AIR_681
0@ = 1
SAMP.CmdRet
jump @AIR_40
:AIR_362
wait 0
0AF8: samp add_message_to_chat "Используйте: /bbveh <ID>" color 12566463
SAMP.CmdRet
jump @AIR_40
Ну тот кикер от SR_TEAM фикситься одной строчкой в OnUnoccupiedVehicleUpdate. А тут, я был удивлен, что он садиться на место водителя, где уже есть водитель, и главное старый водитель остаётся в машине, и наблюдает как его машина улетает. Да происходит это все за 1 - 2 секунды. Попробую что нибудь намудрить
|
//Update