Разбор миссий, поставляемых в
Vice Mission Builder v1.1
Сначала создается поток:
004F: create_thread ЈЈcrapmod2
:crapmod2
0001: wait 0 ms
Ждем 0 мс
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈcrapmod2
Если игрок то идем дальше
0222: set_player $PLAYER_CHAR health_to 200
Задать здоровье игрока
00D6: if 1
02D7: player $PLAYER_CHAR currentweapon == 0
00E1: key_pressed 0 17
004D: jump_if_false ЈЈcrapmod3
Если у игрока выбрано оружие тип 0 И нажата клавиша 17 то идем дальше
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 13.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 26.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 39.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 52.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 65.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 78.0
-1.0
020C: create_explosion_with_radius 8 at 1@ 2@ 3@
Создаются переменные с координатами удаленными от игрока на определенное
значение
Создается взрыв радиусом 8 в заданных координатах
0001: wait 250 ms
Ждем 250 мс
:crapmod3
00D6: if 1
00E1: key_pressed 0 4
80E0: NOT player $PLAYER_CHAR driving
004D: jump_if_false ЈЈcrapmod4
Если нажата кнопка 4 И игрок не в машине то идем дальше
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 0.0
-1.0
04C4: create_coordinate 10@ 11@ 12@ from_actor $PLAYER_ACTOR offset 0.0
0.0 20.0
020C: create_explosion_with_radius 1 at 1@ 2@ 3@
Создаются переменные с координатами удаленными от игрока на определенное
значение
Создается взрыв радиусом 1 в заданных координатах
015F: set camera position 10@ 11@ 12@ 0.0 0.0 0.0
Установить камеру на заданных координатах
0160: point_camera 1@ 2@ 3@ 2
Камере указывают координаты для вида
0007: 4@ = 0.0 \ floating-point values
Переменной присвоено значение
:crapmod3_2
0001: wait 0 ms
Ждем 0 мс
02F6: 5@ = cosine 4@ \ sinus swapped with cosine
0013: 5@ *= 10.0 \ floating-point values (never used in VC or GTA 3)
02F7: 6@ = sinus 4@ \ cosine swapped with sinus
0013: 6@ *= 10.0 \ floating-point values (never used in VC or GTA 3)
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 5@ 6@
-1.0
020C: create_explosion_with_radius 1 at 1@ 2@ 3@
000B: 4@ += 20.0 \ floating-point values
00D6: if 0
0021: 4@ › 340.0 \ floating-point values
004D: jump_if_false ЈЈCRAPMOD3_2
0006: 16@ = 0 \ integer values
Создается формула для спиралевидной линии огня
:crapmod3wait
0001: wait 0 ms
Ждем 0 мс
0222: set_player $PLAYER_CHAR health_to 200
Задать здоровье игрока
00D6: if 0
0019: 16@ › 2000 \ integer values
004D: jump_if_false ЈЈCRAPMOD3WAIT
Если значение переменной 16@ больше 2000 идем дальше
02EB: restore_camera_with_jumpcut
Восстановить камеру
:crapmod4
00D6: if 1
80E0: NOT player $PLAYER_CHAR driving
00E1: key_pressed 0 14
004D: jump_if_false ЈЈcrapmod12
Если нажата кнопка 14 И игрок не в машине то идем дальше
04D7: lock_actor $PLAYER_ACTOR in_current_position 1
Заблокировать игрока на данной позиции
:crapmod5
0001: wait 0 ms
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈcrapmod2
Если игрок то идем дальше
0222: set_player $PLAYER_CHAR health_to 200
Задать здоровье игрока
00D6: if 0
00E1: key_pressed 0 14
004D: jump_if_false ЈЈcrapmod6
Если нажата кнопка 14 то идем дальше
0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@
Сохранить координаты игрока в переменных
00D6: if 23
0021: 0@ › 1480.0 \ floating-point values
0023: -2280.0 › 0@ \ floating-point values
0021: 1@ › 1880.0 \ floating-point values
0023: -1880.0 › 1@ \ floating-point values
004D: jump_if_false ЈЈCRAPMOD53
Если заданные числа выполняют условия то идем дальше
0055: put_player $PLAYER_CHAR at 0.0 0.0 -100.0
Установить игрока в заданных координатах
:crapmod53
04C4: create_coordinate 5@ 6@ 7@ from_actor $PLAYER_ACTOR offset 0.0 10.0
-1.0
0055: put_player $PLAYER_CHAR at 5@ 6@ 90.0
0002: jump ЈЈcrapmod5
Создать координаты и установить игрока в заданных координатах
:crapmod6
0055: put_player $PLAYER_CHAR at 5@ 6@ -100.0
Установить игрока в заданных координатах
04D7: lock_actor $PLAYER_ACTOR in_current_position 0
0002: jump ЈЈcrapmod2
Заблокировать игрока на данной позиции
:crapmod12
00D6: if 1
80E0: NOT player $PLAYER_CHAR driving
00E1: key_pressed 0 18
004D: jump_if_false ЈЈcrapmod900
Если нажата кнопка 18 то идем дальше
04D7: lock_actor $PLAYER_ACTOR in_current_position 1
Заблокировать игрока на данной позиции
:crapmod13
0001: wait 0 ms
Ждем 0 мс
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈcrapmod2
Если игрок то идем дальше
0222: set_player $PLAYER_CHAR health_to 200
Задать здоровье игрока
00D6: if 0
00E1: key_pressed 0 18
004D: jump_if_false ЈЈcrapmod14
Если нажата кнопка 18 то идем дальше
0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@
Сохранить координаты игрока в переменных
00D6: if 23
0021: 0@ › 1480.0 \ floating-point values
0023: -2280.0 › 0@ \ floating-point values
0021: 1@ › 1880.0 \ floating-point values
0023: -1880.0 › 1@ \ floating-point values
004D: jump_if_false ЈЈcrapmod133
Если заданные числа выполняют условия то идем дальше
0055: put_player $PLAYER_CHAR at 0.0 0.0 -100.0
Установить игрока в заданных координатах
:crapmod133
04C4: create_coordinate 5@ 6@ 7@ from_actor $PLAYER_ACTOR offset 0.0 10.0
-1.0
Создать координаты
0055: put_player $PLAYER_CHAR at 5@ 6@ -40.0
Установить игрока в заданных координатах
0002: jump ЈЈcrapmod13
:crapmod14
0055: put_player $PLAYER_CHAR at 5@ 6@ -100.0
Установить игрока в заданных координатах
04D7: lock_actor $PLAYER_ACTOR in_current_position 0
Заблокировать игрока на данной позиции
0002: jump ЈЈcrapmod2
:crapmod900
0002: jump ЈЈcrapmod2
Все! |