00033. Работа с текстом

Работа с текстом|В этом уроке мы рассмотрим способы вывода текста.|wmysterio|wmysterio||||Важную роль в играх имеет текст, так как мы узнаём с помощью его что нужно сделать в миссии. Давайте модернизируем нашу миссию, добавив текст.

В первую очередь, рассмотрим текст-бокс. Это такие сообщения, в левом верхнем угле, в который сообщается о каких-то событиях. Вот скрин:

Чтобы вывести на экран такой текст нужно воспользоваться опкодом:

03E5: show_text_box 'HELP101'

Здесь: 'HELP101' - имя GXT-записи

Если вы не знаете как создать такую запись, то прочтите эти уроки: FXT Editor и Rus2gxtCoder. Рассмотрим самый распространённый опкод:

00BB: show_text_lowpriority GXT 'IE23' time 3000 flag 1

Этот опкод явно отличается от предыдущего, так как здесь присутствуют два других параметра:

Здесь: 3000 - время демонстрации текста 1 - флаг текста ( я не знаю, что он с себя представляет, так что оставляйте единицу )

Этот текст будет выводится в виде диалоговых текстов. Скрин:

Используя этот опкод текст всегда будет писаться внизу. Есть очень похожий опкод на этот, с теми же параметрами. Разница только в том, что он будет показан сразу. Предыдущий менее приоритетный для игры:

00BC: show_text_highpriority GXT 'MTIME3' time 1000 flag 1

Рассмотрим так же опкод, с использованием стилей. Вы уже его встречали в предыдущих уроках. Вот этот опкод:

00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1

Здесь: 'M_FAIL' - имя GXT-ключа 5000 - время демонстрации текста. Этот параметр всё равно показывает фиксированное время, так что менять его бесполезно 1 - стиль текста. Посмотреть все известные мне стили можно в нашей базе данных.

Есть ещё очень много опкодов, которые связаны с тестом, но ещё детальнее мы ознакомимся с ними, когда будем изучать рисование на экране. В этом уроке мы рассмотрели основные опкоды для работы с текстом. Давайте теперь используем их, что бы модернизировать наш скрипт мисси. Создадим новый fxt-файл со следующим содержимым:

Вставим эти стоки в скипт и получим:

// WMYSTERIO, ru-script.3dn.ru

DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.04 

DEFINE MISSIONS 1
DEFINE MISSION 0 AT @MISSION_0 
 
DEFINE EXTERNAL_SCRIPTS 0

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 3072

{$VERSION 3.1.0027}

//-------------MAIN---------------
thread 'MAIN'
set_wb_check_to 0
set_weather 0
select_interior 0
fade 0 0
0180: set_on_mission_flag_to $ONMISSION
00C0: set_current_time_hours_to 8 minutes_to 0
04E4: unknown_refresh_game_renderer_at 2491.1572 -1670.3434
Camera.SetAtPos(2491.1572, -1670.3434, 12.3359)
$PLAYER_CHAR = Player.Create(#NULL, 2491.1572, -1670.3434, 12.3359)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Actor.Angle($PLAYER_ACTOR) = 66.3548
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
Camera.SetBehindPlayer
Player.SetClothes($PLAYER_CHAR, "WORKTRCAMOGRN", "WORKTR", 2)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCGANG", "SNEAKER", 3)
Player.SetClothes($PLAYER_CHAR, "TSHIRTERISORN", "TSHIRT", 0) 
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
$TRAMPLIN = object.Create(#AD_JUMP, 2480.5842, -1721.8175, 12.5488)
object.Angle($TRAMPLIN) = 180.0
object.SetImmunities($TRAMPLIN, 1, 1, 1, 1, 1)
Object.Indestructibility($TRAMPLIN) = False
Object.RemoveFromMissionCleanupList($TRAMPLIN)
0879: enable_gang_wars 1
076C: set_zone 'GAN1' gang 1 density_to 40 
076C: set_zone 'GAN2' gang 1 density_to 80 
076C: set_zone 'IWD1' gang 0 density_to 40 
076C: set_zone 'IWD2' gang 0 density_to 80 
076C: set_zone 'IWD3A' gang 2 density_to 40 
076C: set_zone 'IWD3B' gang 2 density_to 80 
0237: set_gang 0 weapons_to 22 31 14 
0237: set_gang 1 weapons_to 30 28 17 
0237: set_gang 2 weapons_to 36 15 27 
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 0
0746: set_acquaintance 0 of_actors_pedtype 8 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 0
0767: set_zone 'MARKST' popcycle_group_for_peds_and_cars_to 14
0767: set_zone 'UNITY' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'LAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LAIR2A' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LAIR2B' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LBAG1' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'LBAG2' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'LBAG3' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'BLUF1A' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'BLUF2' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'SUN1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3A' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3B' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3C' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN4' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'COM1A' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM1B' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM4' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'PER1' popcycle_group_for_peds_and_cars_to 9
0767: set_zone 'CHC1A' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC1B' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC2A' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC2B' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC3' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'CHC4A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'CHC4B' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'CHC1A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC1B' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC2A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC2B' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC3' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC4A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC4B' popcycle_group_for_peds_to 9 
0767: set_zone 'CONF1A' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'CONF1B' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'THALL1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDOC1A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC1B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC2' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3C' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC4' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDT1A' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT1B' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT1C' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LDT5' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT6' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT7' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE2A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE2B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE3C' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'ELCO1' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'ELCO2' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'ELCO1' popcycle_group_for_peds_to 9 
0874: set_zone 'ELCO2' popcycle_group_for_peds_to 9 
0767: set_zone 'GAN1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'GAN2' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'GAN1' popcycle_group_for_peds_to 1 
0874: set_zone 'GAN2' popcycle_group_for_peds_to 1 
0767: set_zone 'GLN1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'GLN2A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LIND1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LIND1B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND2A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND2B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'IWD1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD2' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD3A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD3B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD4' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD5' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'IWD1' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD2' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD3A' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD3B' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD4' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD5' popcycle_group_for_peds_to 1 
0767: set_zone 'JEF1A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF1B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3C' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LFL1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LFL1B' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'LFL1A' popcycle_group_for_peds_to 9 
0874: set_zone 'LFL1B' popcycle_group_for_peds_to 9 
0767: set_zone 'LMEX1A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LMEX1B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'ELS1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS1B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS2' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS3A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS3B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS4' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'ELS1A' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS1B' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS2' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS3A' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS3B' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS4' popcycle_group_for_peds_to 10 
0767: set_zone 'MAR1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'MAR2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'MAR3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'MKT1' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT2' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT3' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT4' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MUL1A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL1B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL1C' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL2A' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL2B' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL3' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL4' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5C' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL6' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL7A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL7B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'PLS' popcycle_group_for_peds_and_cars_to 8
0767: set_zone 'RIH1A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH1B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH2' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH3A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH3B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH4' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH6B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH6B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'ROD1A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD1B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD1C' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD2A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD2B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD3A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD3B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4C' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'ROD5B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'SMB1' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'SMB2' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'VIN2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN1A' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN1B' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VERO1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'VERO2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'VERO3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'VERO4A' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'VERO4B' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'CRANB' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CALT' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'SUNMA' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'SUNNN' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'BATTP' popcycle_group_for_peds_and_cars_to 2
0767: set_zone 'ESPN1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPN2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPN3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'BAYV' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'PARA' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'JUNIHO' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'JUNIHI' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CIVI' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CHINA' popcycle_group_for_peds_and_cars_to 9
0874: set_zone 'CHINA' popcycle_group_for_peds_to 6
0767: set_zone 'SFDWT1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT4' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'SFDWT5' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'SFDWT6' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'FINA' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'CITYS' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'WESTP1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'WESTP2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'WESTP3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'THEA1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'THEA2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'THEA3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'GARC' popcycle_group_for_peds_and_cars_to 7
0767: set_zone 'HASH' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'OCEAF1' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'OCEAF2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'OCEAF3' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'DOH1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'DOH2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'CUNTC1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'CUNTC2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'CUNTC3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'SFGLF1' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF2' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF3' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF4' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'HILLP' popcycle_group_for_peds_and_cars_to 10
0767: set_zone 'SILLY1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY4' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR2' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR3' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR4' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR5' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFBAG1' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'SFBAG2' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'SFBAG3' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'EASB1' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'EASB2' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'ESPE1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPE2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPE3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'LINDEN' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'YELLOW' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'BFC1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BFC2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'RIE' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'LDM' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'RSW1' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'RSW2' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'RSE' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'LDS' popcycle_group_for_peds_and_cars_to 11
0767: set_zone 'SRY' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'JTS1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTS2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LVA1' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LVA2' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'LVA3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LVA4' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'VAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'VAIR2' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'VAIR3' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LVBAG' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'GGC1' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'GGC2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'BFLD1' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'BFLD2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'WWE' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'WWE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'PINT' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'YBELL2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'YBELL1' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'JTW1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTW2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN5' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN6' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN7' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN8' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'HGP' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'SPIN' popcycle_group_for_peds_and_cars_to 11
0767: set_zone 'BINT1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'PRP1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP4' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'REDE1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'REDE2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'REDE3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'REDW1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'REDW2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'REDW3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'REDW4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'ROCE1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'ROCE2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'OVS' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CREE' popcycle_group_for_peds_and_cars_to 9
0767: set_zone 'STRIP1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STRIP2' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'STRIP3' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STRIP4' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'PILL1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'PILL2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'RING' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'ISLE' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'STAR1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STAR2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'ROY' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CAM' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'LOT' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'PIRA' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'VISA1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'VISA2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'CALI1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'CALI2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'DRAG' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'PINK' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'HIGH' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CONST1' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'ANGPI' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'SHACA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BACKO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BEACO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FARM' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'PALO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MONT' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MONT1' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MTCHI1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI2' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI3' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI4' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'HBARNS' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'DILLI' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'TOPFA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUEB' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUEB1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'PANOP' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUAC' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'CREEK' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'CREEK1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MAKO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'TOPFA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FERN' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'NROCK' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'HANKY' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'LEAFY' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'RED' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FLINTC' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'WHET' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BIGE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ELQUE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BARRA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'CARSO' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'PAYAS' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'PROBE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ELCA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'FLINTR' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ARCO' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'VALLE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'FLINTI' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'MONINT' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ROBINT' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'TOM' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ALDEA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BRUJA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ROBAD' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BONE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'HAUL' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'QUARY' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'OCTAN' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'PALMS' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'EBAY' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'EBAY2' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'DAM' popcycle_group_for_peds_and_cars_to 18
014B: $MY_CAR = init_parked_car_generator #BULLET color -1 -1 0 alarm 0 door_lock 0 1 10000 at 2474.2131 -1690.8783 12.1239 angle 180.0
014C: set_parked_car_generator $MY_CAR cars_to_generate_to 101
0213: $PICKUP_0001 = create_pickup #BODYARMOUR type 15 at 2491.0 -1685.8561 13.5107
032B: $PICKUP_0002 = create_weapon_pickup #MINIGUN group 15 ammo 60 at 2493.0 -1685.8561 13.5107 
02E1: $PICKUP_0003 = create_cash_pickup 500 at 2495.0 -1685.8561 13.5107 permanence_flag 1 
04A6: $PICKUP_0004 = create_asset_money_pickup_at 2497.0 -1685.8561 13.5107 money 10000 10000
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 // íàøè íîâûå òî÷êè ðåñòàðòà!!!
016C: restart_if_wasted_at 1180.85 -1325.57 12.58 angle 271.4 town_number 0
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0
016C: restart_if_wasted_at 1244.437 331.2261 18.5547 angle 7.5465 town_number 1
016D: restart_if_busted_at 632.2344 -571.7104 15.3515 angle 267.2 town_number 1
016C: restart_if_wasted_at -2199.719 -2308.075 29.6181 angle 322.8928 town_number 1
016D: restart_if_busted_at -2163.829 -2387.817 29.625 angle 134.2066 town_number 1
016C: restart_if_wasted_at -2670.285 616.4364 13.4531 angle 183.1042 town_number 1
016D: restart_if_busted_at -1605.792 716.8598 11.0241 angle 355.2978 town_number 1
016C: restart_if_wasted_at -316.3832 1056.045 18.7344 angle 1.6017 town_number 2
016D: restart_if_busted_at -212.1889 979.4168 18.3219 angle 278.0478 town_number 2
016C: restart_if_wasted_at -1514.823 2527.119 54.7443 angle 2.3546 town_number 2
016D: restart_if_busted_at -1393.072 2633.116 54.9491 angle 86.0424 town_number 2
016C: restart_if_wasted_at 1578.446 1770.682 9.8358 angle 99.7567 town_number 2
016D: restart_if_busted_at 2337.083 2453.802 13.9765 angle 90.7643 town_number 2
fade 1 0
create_thread @SAVE 
create_thread @STARTER
end_thread 

:SAVE
thread 'SAVE'
wait 0
if AND
$ONMISSION == 0
0AB0: key_pressed 115
then
03D8: show_save_screen 
wait 250
end
jump @SAVE

:STARTER 
thread 'STARTER'
wait 0
$ICON = marker.CreateIconAndSphere(15, 2287.793, -1667.109, 15.0317)

:STARTER_1
wait 0
if AND
$ONMISSION == 0
00EC: actor $PLAYER_ACTOR 0 near_point 2287.793 -1667.109 radius 15.0317 3.0 
jf @STARTER_1
marker.Disable($ICON)
00BA: show_text_styled GXT 'MIS_01' time 1000 style 2 // Новый код
start_mission 0
end_thread

//-------------Mission 0---------------
// Originally: MISSION_0

:MISSION_0
thread 'MISSION_0'
gosub @MISSION_0_29_57 
if 
wasted_or_busted 
jf @MISSION_0_29_46 
gosub @MISSION_0_29_144 

:MISSION_0_29_46
$ONMISSION = 0 
mission_cleanup 
end_thread 

:MISSION_0_29_57
increment_mission_attempts 
$ONMISSION = 1 
018A: 1@ = create_checkpoint_at 2184.3604 -1774.8608 12.3665
03BC: 2@ = create_sphere_at 2184.3604 -1774.8608 12.3665 radius 2.0 
00BB: show_text_lowpriority GXT 'MS_0101' time 3000 flag 1 // новый код

:MISSION_0_A
wait 0
if
00EC: actor $PLAYER_ACTOR 0 near_point 2184.3604 -1774.8608 radius 12.3665 3.0
jf @MISSION_0_A
marker.Disable(1@)
03BD: destroy_sphere 2@ 
model.Load(#BARREL4)
038B: load_requested_models 

:MISSION_0_B
wait 0
if
model.Available(#BARREL4)
jf @MISSION_0_B
0@ = object.Create(#BARREL4, 2153.9919, -1796.8591, 12.5507)
object.Angle(0@) = 277.5201
model.Destroy(#BARREL4)
3@ = marker.CreateAboveObject(0@)
00BB: show_text_lowpriority GXT 'MS_0102' time 3000 flag 1 // новый код

:MISSION_0_C
wait 0
if
0366: object 0@ damaged
jf @MISSION_0_C
0318: set_latest_mission_passed 'MIS_01' // новый код
01E3: show_text_1number_styled GXT 'M_PASS' number 5000 time 4000 style 1 
Player.Money($PLAYER_CHAR) += 5000
0394: play_music 1
gosub @MISSION_0_END
create_thread @STARTER
return 

:MISSION_0_29_144
wait 0 
gosub @MISSION_0_END
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 
create_thread @STARTER
return

:MISSION_0_END
wait 0
if
03CA: object 0@ exists
then
object.RemoveReferences(0@)
object.Destroy(0@)
end 
marker.Disable(1@)
marker.Disable(3@)
03BD: destroy_sphere 2@ 
return 

В результате, мы получим текст во время миссий:

Так же следует обратить внимание на опкод:

0318: set_latest_mission_passed 'MIS_01'

Когда мы прошли миссию и сохранились, то при попытке загрузки игры мы увидим текст который заменяет предыдущий текст миссий. Если раньше при загрузке миссии нам писало "В самом начале", то теперь мы увидим название текста, содержащийся в FXT-записи: "Охота за объектом", который был показан в начале миссии:

Этот опкод также обновляет статистику пройденных миссий. Если мы пройдём миссию без использования этого опкода, то при загрузке игры ( сохранив игру перед этим ) будет отображаться только дата, а в поле текста ничего не будет.|1851|1|0|68549768png640438400273``\|33411750png826358400173\|33822757`png`437`344`400`314|39807839png640400400250``\|70774744png640400400250``||rabota_s_tekstom|1498861603

Last updated