НАВИГАЦИЯ ИГРЫ

Скриптинг

По этому описанию можно научится создавать модификации миссий для GTA:Vice-City.

 :Label00A269

02A8: $9 = create_marker 14 at 812.707 582.606 17.2778 - создаём маркер на радаре
03BC: $A = create_sphere 812.707 582.606 17.2778 2.0 - круг, обозначение миссии на земле
0002: jump ЈЈLabel00A29A

:Label00A29A
0001: wait 250 ms - ждать 250 милисекунд
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈLabel00A29A
00D6: if 0
0038: $= 0 ;; integer values
004D: jump_if_false ЈЈLabel00A29A
00D6: if 0
00F9: player $PLAYER_CHAR stopped 0 ()near_point_on_foot 812.707 582.606 17.2778 radius 2.0 2.0 2.0 - вот

самое главное - где начинаестя миссия
004D: jump_if_false ЈЈLabel00A29A - эсли не наступили, делаем всё сначала
0164: disable_marker $9 - уничтожить маркер
03BD: destroy_sphere $A - уничтожить круг
0417: start_mission 0 - стартуем миссию
0001: wait 7000 ms ждём
004E: end_thread


;-------------Mission 0---------------
; Originally: (no description)

:Label009B51
03A4: name_thread "Mission1" создаём thread
0050: gosub ЈLabel009AEE - загрузка моделей
00D6: if 0
0112: wasted_or_busted
004D: jump_if_false ЈLabel009B7A
0050: gosub ЈLabel009ACC


:Label009B7A
0050: gosub ЈLabel00A222
004E: end_thread

:Label009AEE
0001: wait 0 ms
0317: increment_mission_attempts
0004: $ 1 ;; integer values
0001: wait 0 ms
0247: request_model #HNb - загружаемые модели
038B: load requested models

:Label009AFF
0001: wait 0 ms
00D6: if 0
0248: model #HNb available проверка моделей
004D: jump if false ЈЈLabel009AFF - если нет, возвращаемся
0002: jump ЈЈLabel009AAA - если всё правилно, переходим к созданию актёров

:Label009AAA
0001: wait 0 ms
009A: $11A = create actor 5 #HNb at -850.701 741.554 17.06 создаём на координатах игрока
0223: set_actor $11A health_to 200 - устанавливаем его здоровье на 200
0187: 1@ = create marker above actor $11A - создаём над ним маркер
01CA: actor $my1 kill player $PLAYER_CHAR - заставляем актёра убить игрока


:Label009ABC
0001: wait 0 ms
00D6: if 0
0118: actor $my1 dead - если он умер
004D: jump if false ЈЈLabel009CCA
0002: jump ЈЈLabel009ACCb - то переходим х тексту Миссия выполнена

:Label009CCA
0001: wait 0 ms
00D6: if 0
0112: wasted or busted
004D: jump if false ЈЈLabel009ABC
0002: jump ЈЈLabel009ACC

:Label009ACCb
0001: wait 0 ms
0164: disable marker 1@ - удаляем маркер
0394: play_music 1 - проигрываем музыку
01E3: text_1number_styled "M_PASS" 200 5000 ms 1 - выводим надпись миссия выполнена и цена 200$
030C: set_mission_points += 1 - изменяем статистику
0109: player $PLAYER_CHAR money += 200 - даём игроку деньги
004E: end thread

:Label009ACC
0001: wait 0 ms
0164: disable marker 1@ - удаляем маркер
00BA: text_styled "M_FAIL" 4000 ms 1 - выводим надпись миссия провалена
004E: end thread

:Label00A222
0004: $ 0 ;; integer values
0249: release_model #HNb - удаляем модели
01BD: $CURRENT_TIME_IN_MS = current_time_in_ms
00D8: mission_cleanup
0051: return

Нравится6
Комментарии (1)
  • 0
    aleks_ksm
    Статья не несёт никакой мысленной нагрузки так как понять из неё пока что ничего нельзя.
B
i
u
Спойлер