{$CLEO}
const
x = 567.389 // Координаты значка миссии
y = 531.035 // Координаты значка миссии
z = 12.0494 // Координаты значка миссии
a = 598.08 // Координаты пикапа
b = 860.784 // Координаты пикапа
c = 22.029 // Координаты пикапа
d = 569.892 // Координаты педа
e = 801.703 // Координаты педа
f = 11.6737 // Координаты педа
end
0000:
:MISSION_1
wait 0
if
$ONMISSION == 0 // Друга миcсия не запущена
jf @MISSION_1
if
0ADC: test_cheat "BL" // включить миссию
jf @MISSION_1
$ONMISSION == 1 // мисия запущена
02A7: 0@ = create_icon_marker_and_sphere 35 at x y z
:2
wait 0
if or
8256: not player $player_char defined // Игрок умер
0ADC: test_cheat "BL" // выключить миссию
jf @1
gosub @MISSION_END
jump @MISSION_1 // Чтобы можно пройти заново
:1
wait 0
if
00F8: player $player_char stopped 0 x y z radius 1.0 1.0 1.5
jf @2
wait 200
gosub @MISSION_START // Старт миссии
jump @MISSION_1 // Чтобы можно пройти заново
:MISSION_START // Старт миссии
gosub @load // Загрузить актера
0164: disable_marker 0@ // Удалить маркер
0317: increment_mission_attempts // команда, для того чтобы в статистике к попытке миссий прибавилось 1
gosub @MISSION_BEGIN // Сама миссия
return
:MISSION_END
$ONMISSION == 0
gosub @del // Удалить врагов
return
:MISSION_BEGIN // Тело миссии
gosub @foe // Враги
03DC: 2@ = create_marker_above_pickup 1@ // Создать маркер над кейсом
gosub @actor
return
:actor // Условие выполнение миссии
wait 0
if pickup.Picked_up(1@)
then jump @MISSION_COMPLETED // Миссия выполнена
else jump @player
end
return
:player // Условие провала миссии
wait 0
if 8256: not player $player_char defined
then jump @MISSION_FAILED // Провал миссии
else jump @actor
end
:MISSION_COMPLETED // Миссия выполнена
01E3: show_text_1number_styled GXT 'M_PASS' number 1000 time 5000 style 1
0394: play_music 1 // мелодия выполнение миссии
Player.Money($PLAYER_CHAR) += 1000
gosub @MISSION_END
gosub @reb // Перезагрузка скрипта
return
:MISSION_FAILED // Провал миссии
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 // MISSION FAILED
gosub @MISSION_END
gosub @reb // Перезагрузка скрипта
:foe // Создать врагов
3@ = actor.Create(4, #HMOCA, d, e, f)
01B2: give_actor 3@ weapon 33 ammo 9999
02E2: set_actor 3@ weapon_accuracy_to 100 // Установка точности стрельбы для актера
actor.Angle(3@) = 169.2093 // Задать угол актеру
01CA: actor 3@ kill_player $player_char // Актер хочет убить игрока
4@ = actor.Create(4, #HMOCA, d, e, f)
01B2: give_actor 4@ weapon 33 ammo 9999
02E2: set_actor 4@ weapon_accuracy_to 100 // Установка точности стрельбы для актера
actor.Angle(4@) = 169.2093 // Задать угол актеру
01CA: actor 4@ kill_player $player_char // Актер хочет убить игрока
0213: 1@ = create_pickup 335 type 1 at a b c // Создать пикап кейса
03DC: 2@ = create_marker_above_pickup 1@ // Создать маркер над пикапом кейса
return
:del
0164: disable_marker 2@ // Удалить маркер
0215: destroy_pickup 1@ // Удалить пикап кейса
0249: release_model 335 // Выгрузить из памяти
0249: release_model #MINIGUN // Выгрузить из памяти
0249: release_model #HMOCA // Выгрузить из памяти
actor.RemoveReferences(3@) // Удалить врага
actor.RemoveReferences(4@) // Удалить врага
return
:load // загрузка моделей для миссии
fade 0 300 // Затемение экрана
0247: request_model #HMOCA
0247: request_model #MINIGUN
038B: load_requested_models
gosub @delay // Задержка
fade 1 300 // Убрать затемение экрана
return
repeat
wait 0
model.Load(335)
038B: load_requested_models
gosub @delay
until model.Available(335)
return
:delay
16@ = 0
repeat
wait 0
until 0029: 16@ >= 1100 // задержка
return
:reb
wait 50
0ABA: end_custom_thread_named 'Test'
wait 1000
0A92: create_custom_thread "Test.cs" //название перезагружаемого потока
wait 50
return