Другое Отключение кнопок при открытом чате

DimanSAMP

Участник
Автор темы
41
5
У меня есть клео скрипт, как сделать, чтобы кнопки в нем не работали при открытии чата в сампе?
 

ARMOR

kjor32 is legend
Модератор
4,851
6,081
Проверяешь чат на то открыт ли он опкодом 0B21:
Ссылка: https://wiki.blast.hk/ru/gta-sa/opcodes/0B21
И если он не открыт то пускаешь скрипт дальше, а если открыт то ждешь закрытия чата
 

DimanSAMP

Участник
Автор темы
41
5
Проверяешь чат на то открыт ли он опкодом 0B21:
Ссылка: https://wiki.blast.hk/ru/gta-sa/opcodes/0B21
И если он не открыт то пускаешь скрипт дальше, а если открыт то ждешь закрытия чата
Опкод 0B21 не найден среди стандартных опкодов и в используемых расширениях.

Добавьте директиву {$USE <имя_расширения>} в начало скрипта.

Список доступных расширений: default, CLEO+, CLEO, newOpcodes, ini, file, bitwise
 

ARMOR

kjor32 is legend
Модератор
4,851
6,081
Опкод 0B21 не найден среди стандартных опкодов и в используемых расширениях.

Добавьте директиву {$USE <имя_расширения>} в начало скрипта.

Список доступных расширений: default, CLEO+, CLEO, newOpcodes, ini, file, bitwise
У тебя не установлены опкоды sampfuncs в sannybuilder?
 

DimanSAMP

Участник
Автор темы
41
5
Я поставил опкоды только что, все равно ругается на отсутствие.
 

DimanSAMP

Участник
Автор темы
41
5
Код:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
{$USE <0B21>}

thread 'EJECT'
wait 100
3@ = Audiostream.Load("CLEO\MP3\KRITIC.MP3")
wait 100
5@ = Audiostream.Load("CLEO\MP3\111.MP3")
wait 100
6@ = Audiostream.Load("CLEO\MP3\NIGHT.MP3")
wait 100
7@ = Audiostream.Load("CLEO\MP3\STANDART.MP3")
wait 100
8@ = Audiostream.Load("CLEO\MP3\BULLET.MP3")
wait 100
9@ = Audiostream.Load("CLEO\MP3\THERMAL.MP3")
wait 100
10@ = Audiostream.Load("CLEO\MP3\AVTOPILOT.MP3")
wait 100
11@ = Audiostream.Load("CLEO\MP3\AVTOPILOFF.MP3")
wait 100
12@ = Audiostream.Load("CLEO\MP3\LANDING.MP3")
wait 100
Model.Load(1212)
038B: load_requested_models
jump @EJECT_306

:EJECT_306
wait 5
if and
if 0B21: samp is_chat_opened
    wait 5
else
key_down 78
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_374
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 1
Audiostream.PerformAction(6@, 1)
jump @EJECT_374

:EJECT_374
wait 5
if and
key_down 74
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
0811: 1@ = actor $PLAYER_ACTOR used_car
jf @EJECT_435
wait 0
08B1: enable_night_vision 0
08B2: enable_thermal_vision 0
Audiostream.PerformAction(7@, 1)
jump @EJECT_435

:EJECT_435
wait 0
if or
031E:   car 1@ hit_by_weapon 22
031E:   car 1@ hit_by_weapon 23
031E:   car 1@ hit_by_weapon 24
031E:   car 1@ hit_by_weapon 25
031E:   car 1@ hit_by_weapon 26
031E:   car 1@ hit_by_weapon 27
031E:   car 1@ hit_by_weapon 28
031E:   car 1@ hit_by_weapon 29
031E:   car 1@ hit_by_weapon 30
jf @EJECT_520
jump @EJECT_573

:EJECT_520
if or
031E:   car 1@ hit_by_weapon 31
031E:   car 1@ hit_by_weapon 32
031E:   car 1@ hit_by_weapon 33
031E:   car 1@ hit_by_weapon 34
031E:   car 1@ hit_by_weapon 38
jf @EJECT_601
jump @EJECT_573

:EJECT_573
wait 0
Audiostream.PerformAction(8@, 1)
wait 2000
0468: clear_car 1@ last_weapon_damage
jump @EJECT_601

:EJECT_601
wait 5
if
044B:   actor $PLAYER_ACTOR on_foot
jf @EJECT_701
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 0
Car.RemoveReferences(1@)
jump @EJECT_660

:EJECT_660
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_660
wait 0
Audiostream.PerformAction(5@, 1)
jump @EJECT_701

:EJECT_701
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_306
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
jump @EJECT_743

:EJECT_743
wait 5
4@ = Car.Health(1@)
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
   not 4@ >= 300
jf @EJECT_804
wait 0
Audiostream.PerformAction(3@, 1)
wait 1
jump @EJECT_804

:EJECT_804
wait 5
if and
key_down 85
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_853
wait 0
08B2: enable_thermal_vision 1
Audiostream.PerformAction(9@, 1)
jump @EJECT_853

:EJECT_853
wait 5
if and
key_down 80
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_973
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
Actor.StorePos($PLAYER_ACTOR, 31@, TIMERA, TIMERB)
0AB6: store_target_marker_coords_to 27@ 28@ 29@ // IF and SET
03A2: set_car 1@ action 3
0742: set_plane 1@ unknown_trajectory 1.5
0745: set_hydra 1@ thrust_to_horizontal
04D2: set_plane 1@ fly_autopilot_around_point 27@ 28@ 29@ altitude_between TIMERB and 2000
Audiostream.PerformAction(10@, 1)
jump @EJECT_973

:EJECT_973
wait 5
if and
key_down 79
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1052
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Player.CanMove($PLAYER_CHAR, True)
Audiostream.PerformAction(11@, 1)
wait 0
jump @EJECT_1052

:EJECT_1052
wait 5
if and
key_down 76
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1140
wait 0
0745: set_hydra 1@ thrust_to_horizontal
0811: 1@ = actor $PLAYER_ACTOR used_car
Audiostream.PerformAction(12@, 1)
04D2: set_plane 1@ fly_autopilot_around_point 2000.0 507.6 500.0 altitude_between 0.0 and 0.0
jump @EJECT_1140

:EJECT_1140
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 2000.0 507.6 radius 150.0 30.0
jf @EJECT_1254
wait 0
Object.Create(18@, 1212, 0.0, 0.0, 0.0)
04D2: set_plane 1@ fly_autopilot_around_point 0.0 507.6 150.0 altitude_between 0.0 and 0.0
jump @EJECT_1254

:EJECT_1254
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 0.0 507.6 radius 150.0 30.0
03CA:   object 18@ exists
jf @EJECT_1380
wait 0
04D2: set_plane 1@ fly_autopilot_around_point -1469.0 507.6 19.5 altitude_between 0.0 and 0.0
0742: set_plane 1@ unknown_trajectory 30.0
Car.SetSpeedInstantly(1@, 50.0)
Car.SetMaxSpeed(1@, 50.0)
jump @EJECT_1380

:EJECT_1380
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1502
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
jump @EJECT_1502

:EJECT_1502
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1624
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
jump @EJECT_1624

:EJECT_1624
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1369.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_306
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
jump @EJECT_306
USE в начале я сам добавил, что с ним, что без него не работает
 

DimanSAMP

Участник
Автор темы
41
5
Можешь пояснить еще, как поставить проверку, типо куда

Точнее как проигрывать скрипт дальше, если чат не открыт
 

D3.Pheonix

🎹
Модератор
2,817
1,599
Можешь пояснить еще, как поставить проверку, типо куда

Точнее как проигрывать скрипт дальше, если чат не открыт
Эта проверка проверят открытость чата, если нужно обратное условие, то в опкоде, вместо первого нуля нужно 8 ставить (8B21)
По идее, добавить в этот блок кода проверку
CLEO:
:EJECT_306
wait 0
if 8B21: samp is_chat_opened // if chat closed
jf @EJECT_306
if and
key_down 78
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_374
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 1
Audiostream.PerformAction(6@, 1)
jump @EJECT_374
 

DimanSAMP

Участник
Автор темы
41
5
Эта проверка проверят открытость чата, если нужно обратное условие, то в опкоде, вместо первого нуля нужно 8 ставить (8B21)
По идее, добавить в этот блок кода проверку
CLEO:
:EJECT_306
wait 0
if 8B21: samp is_chat_opened // if chat closed
jf @EJECT_306
if and
key_down 78
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_374
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 1
Audiostream.PerformAction(6@, 1)
jump @EJECT_374
Теперь он спамит постоянно звуком, если чат закрыт
 

DimanSAMP

Участник
Автор темы
41
5
Код:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

thread 'EJECT'
wait 100
3@ = Audiostream.Load("CLEO\MP3\KRITIC.MP3")
wait 100
5@ = Audiostream.Load("CLEO\MP3\111.MP3")
wait 100
6@ = Audiostream.Load("CLEO\MP3\NIGHT.MP3")
wait 100
7@ = Audiostream.Load("CLEO\MP3\STANDART.MP3")
wait 100
8@ = Audiostream.Load("CLEO\MP3\BULLET.MP3")
wait 100
9@ = Audiostream.Load("CLEO\MP3\THERMAL.MP3")
wait 100
10@ = Audiostream.Load("CLEO\MP3\AVTOPILOT.MP3")
wait 100
11@ = Audiostream.Load("CLEO\MP3\AVTOPILOFF.MP3")
wait 100
12@ = Audiostream.Load("CLEO\MP3\LANDING.MP3")
wait 100
Model.Load(1212)
038B: load_requested_models
jump @EJECT_306

:EJECT_306
wait 5
if and
key_down 78
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_374
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 1
Audiostream.PerformAction(6@, 1)
jump @EJECT_374

:EJECT_374
wait 5
if and
key_down 74
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
0811: 1@ = actor $PLAYER_ACTOR used_car
jf @EJECT_435
wait 0
08B1: enable_night_vision 0
08B2: enable_thermal_vision 0
Audiostream.PerformAction(7@, 1)
jump @EJECT_435

:EJECT_435
wait 0
if or
031E:   car 1@ hit_by_weapon 22
031E:   car 1@ hit_by_weapon 23
031E:   car 1@ hit_by_weapon 24
031E:   car 1@ hit_by_weapon 25
031E:   car 1@ hit_by_weapon 26
031E:   car 1@ hit_by_weapon 27
031E:   car 1@ hit_by_weapon 28
031E:   car 1@ hit_by_weapon 29
031E:   car 1@ hit_by_weapon 30
jf @EJECT_520
jump @EJECT_573

:EJECT_520
if or
031E:   car 1@ hit_by_weapon 31
031E:   car 1@ hit_by_weapon 32
031E:   car 1@ hit_by_weapon 33
031E:   car 1@ hit_by_weapon 34
031E:   car 1@ hit_by_weapon 38
jf @EJECT_601
jump @EJECT_573

:EJECT_573
wait 0
Audiostream.PerformAction(8@, 1)
wait 2000
0468: clear_car 1@ last_weapon_damage
jump @EJECT_601

:EJECT_601
wait 5
if
044B:   actor $PLAYER_ACTOR on_foot
jf @EJECT_701
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 0
Car.RemoveReferences(1@)
jump @EJECT_660

:EJECT_660
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_660
wait 0
Audiostream.PerformAction(5@, 1)
jump @EJECT_701

:EJECT_701
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_306
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
jump @EJECT_743

:EJECT_743
wait 5
4@ = Car.Health(1@)
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
   not 4@ >= 300
jf @EJECT_804
wait 0
Audiostream.PerformAction(3@, 1)
wait 1
jump @EJECT_804

:EJECT_804
wait 5
if and
key_down 85
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_853
wait 0
08B2: enable_thermal_vision 1
Audiostream.PerformAction(9@, 1)
jump @EJECT_853

:EJECT_853
wait 5
if and
key_down 80
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_973
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
Actor.StorePos($PLAYER_ACTOR, 31@, TIMERA, TIMERB)
0AB6: store_target_marker_coords_to 27@ 28@ 29@ // IF and SET
03A2: set_car 1@ action 3
0742: set_plane 1@ unknown_trajectory 1.5
0745: set_hydra 1@ thrust_to_horizontal
04D2: set_plane 1@ fly_autopilot_around_point 27@ 28@ 29@ altitude_between TIMERB and 2000
Audiostream.PerformAction(10@, 1)
jump @EJECT_973

:EJECT_973
wait 5
if and
key_down 79
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1052
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Player.CanMove($PLAYER_CHAR, True)
Audiostream.PerformAction(11@, 1)
wait 0
jump @EJECT_1052

:EJECT_1052
wait 5
if and
key_down 76
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1140
wait 0
0745: set_hydra 1@ thrust_to_horizontal
0811: 1@ = actor $PLAYER_ACTOR used_car
Audiostream.PerformAction(12@, 1)
04D2: set_plane 1@ fly_autopilot_around_point 2000.0 507.6 500.0 altitude_between 0.0 and 0.0
jump @EJECT_1140

:EJECT_1140
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 2000.0 507.6 radius 150.0 30.0
jf @EJECT_1254
wait 0
Object.Create(18@, 1212, 0.0, 0.0, 0.0)
04D2: set_plane 1@ fly_autopilot_around_point 0.0 507.6 150.0 altitude_between 0.0 and 0.0
jump @EJECT_1254

:EJECT_1254
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 0.0 507.6 radius 150.0 30.0
03CA:   object 18@ exists
jf @EJECT_1380
wait 0
04D2: set_plane 1@ fly_autopilot_around_point -1469.0 507.6 19.5 altitude_between 0.0 and 0.0
0742: set_plane 1@ unknown_trajectory 30.0
Car.SetSpeedInstantly(1@, 50.0)
Car.SetMaxSpeed(1@, 50.0)
jump @EJECT_1380

:EJECT_1380
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1502
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
jump @EJECT_1502

:EJECT_1502
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1624
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
jump @EJECT_1624

:EJECT_1624
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1369.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_306
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
jump @EJECT_306
 

D3.Pheonix

🎹
Модератор
2,817
1,599
Пробуй
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
{$USE CLEO+}

thread 'EJECT'
wait 100
3@ = Audiostream.Load("CLEO\MP3\KRITIC.MP3")
wait 100
5@ = Audiostream.Load("CLEO\MP3\111.MP3")
wait 100
6@ = Audiostream.Load("CLEO\MP3\NIGHT.MP3")
wait 100
7@ = Audiostream.Load("CLEO\MP3\STANDART.MP3")
wait 100
8@ = Audiostream.Load("CLEO\MP3\BULLET.MP3")
wait 100
9@ = Audiostream.Load("CLEO\MP3\THERMAL.MP3")
wait 100
10@ = Audiostream.Load("CLEO\MP3\AVTOPILOT.MP3")
wait 100
11@ = Audiostream.Load("CLEO\MP3\AVTOPILOFF.MP3")
wait 100
12@ = Audiostream.Load("CLEO\MP3\LANDING.MP3")
wait 100
Model.Load(1212)
038B: load_requested_models
jump @EJECT_306

:EJECT_306
wait 5
if and
    key_down 78
    8B21:     samp is_chat_opened
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_374
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 1
Audiostream.PerformAction(6@, 1)
jump @EJECT_374

:EJECT_374
wait 5
if and
key_down 74
8B21:     samp is_chat_opened
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
0811: 1@ = actor $PLAYER_ACTOR used_car
jf @EJECT_435
wait 0
08B1: enable_night_vision 0
08B2: enable_thermal_vision 0
Audiostream.PerformAction(7@, 1)
jump @EJECT_435

:EJECT_435
wait 0
if or
031E:   car 1@ hit_by_weapon 22
031E:   car 1@ hit_by_weapon 23
031E:   car 1@ hit_by_weapon 24
031E:   car 1@ hit_by_weapon 25
031E:   car 1@ hit_by_weapon 26
031E:   car 1@ hit_by_weapon 27
031E:   car 1@ hit_by_weapon 28
031E:   car 1@ hit_by_weapon 29
031E:   car 1@ hit_by_weapon 30
jf @EJECT_520
jump @EJECT_573

:EJECT_520
if or
031E:   car 1@ hit_by_weapon 31
031E:   car 1@ hit_by_weapon 32
031E:   car 1@ hit_by_weapon 33
031E:   car 1@ hit_by_weapon 34
031E:   car 1@ hit_by_weapon 38
jf @EJECT_601
jump @EJECT_573

:EJECT_573
wait 0
Audiostream.PerformAction(8@, 1)
wait 2000
0468: clear_car 1@ last_weapon_damage
jump @EJECT_601

:EJECT_601
wait 5
if
044B:   actor $PLAYER_ACTOR on_foot
jf @EJECT_701
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
08B2: enable_thermal_vision 0
08B1: enable_night_vision 0
Car.RemoveReferences(1@)
jump @EJECT_660

:EJECT_660
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_660
wait 0
Audiostream.PerformAction(5@, 1)
jump @EJECT_701

:EJECT_701
wait 5
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_306
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
jump @EJECT_743

:EJECT_743
wait 5
4@ = Car.Health(1@)
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
   not 4@ >= 300
jf @EJECT_804
wait 0
Audiostream.PerformAction(3@, 1)
wait 1
jump @EJECT_804

:EJECT_804
wait 5
if and
8B21:     samp is_chat_opened
key_down 85
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_853
wait 0
08B2: enable_thermal_vision 1
Audiostream.PerformAction(9@, 1)
jump @EJECT_853

:EJECT_853
wait 5
if and
8B21:     samp is_chat_opened
key_down 80
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_973
wait 0
0811: 1@ = actor $PLAYER_ACTOR used_car
Actor.StorePos($PLAYER_ACTOR, 31@, TIMERA, TIMERB)
0AB6: store_target_marker_coords_to 27@ 28@ 29@ // IF and SET
03A2: set_car 1@ action 3
0742: set_plane 1@ unknown_trajectory 1.5
0745: set_hydra 1@ thrust_to_horizontal
04D2: set_plane 1@ fly_autopilot_around_point 27@ 28@ 29@ altitude_between TIMERB and 2000
Audiostream.PerformAction(10@, 1)
jump @EJECT_973

:EJECT_973
wait 5
if and
8B21:     samp is_chat_opened
key_down 79
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1052
wait 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Player.CanMove($PLAYER_CHAR, True)
Audiostream.PerformAction(11@, 1)
wait 0
jump @EJECT_1052

:EJECT_1052
wait 5
if and
8B21:     samp is_chat_opened
key_down 76
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
jf @EJECT_1140
wait 0
0745: set_hydra 1@ thrust_to_horizontal
0811: 1@ = actor $PLAYER_ACTOR used_car
Audiostream.PerformAction(12@, 1)
04D2: set_plane 1@ fly_autopilot_around_point 2000.0 507.6 500.0 altitude_between 0.0 and 0.0
jump @EJECT_1140

:EJECT_1140
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 2000.0 507.6 radius 150.0 30.0
jf @EJECT_1254
wait 0
Object.Create(18@, 1212, 0.0, 0.0, 0.0)
04D2: set_plane 1@ fly_autopilot_around_point 0.0 507.6 150.0 altitude_between 0.0 and 0.0
jump @EJECT_1254

:EJECT_1254
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 0.0 507.6 radius 150.0 30.0
03CA:   object 18@ exists
jf @EJECT_1380
wait 0
04D2: set_plane 1@ fly_autopilot_around_point -1469.0 507.6 19.5 altitude_between 0.0 and 0.0
0742: set_plane 1@ unknown_trajectory 30.0
Car.SetSpeedInstantly(1@, 50.0)
Car.SetMaxSpeed(1@, 50.0)
jump @EJECT_1380

:EJECT_1380
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1502
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
jump @EJECT_1502

:EJECT_1502
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1269.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_1624
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
jump @EJECT_1624

:EJECT_1624
wait 5
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
00EC:   actor $PLAYER_ACTOR sphere 0 near_point -1369.0 507.6 radius 19.5 60.0
03CA:   object 18@ exists
jf @EJECT_306
wait 0
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
Car.SetSpeedInstantly(1@, 10.0)
Car.SetMaxSpeed(1@, 10.0)
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
08E6: set_plane 1@ landing_gear 0
Model.Destroy(18@)
Object.RemoveReferences(18@)
Object.RemoveReferences(18@)
jump @EJECT_306