!------------------------------------------------------------------------------- #Начало !---------- ADDQST 'libs\az.qsp' & if …Az.Инициализация(1)=0: EXIT !---------- ! Загружаем визуальную тему игры …ЗагрузитьТему,'dialog' !---------- ! Создаём персонажей …Создать,'Кассир' ,Тип_Персонажи …Создать,'Грабитель' ,Тип_Персонажи !---------- ! Создаём локации …Создать,'Банк' ,Тип_Локации !---------- ! Создаём диалоги …Создать,'Разговор' ,Тип_Диалоги !---------- ! Вызываем скрипт для заполнения игровых объектов из отдельных функций …ЗаполнитьОбъектыИгры !---------- ! Выводим локацию, в которой находится игрок …Вывести,ЛОКАЦИЯ ! Выводим диалог …Вывести,'Грабитель',ИГРОК,'Разговор' !---------- --- Начало !------------------------------------------------------------------------------- #Локации.Банк.Заполнить !---------- ! Поскольку само описание в примере не используется, то просто создаём пустое …Добавить,'Банк:Описания','Банк','' !---------- --- Персонажи.Грегор.Заполнить !-------------------------------------------------------------------------------- #Персонажи.Кассир.Заполнить ! Делаем кассира текущим персонажем, за которого будем играть …Текущий,'Кассир' !---------- ! Помещаем кассира в банк …Поместить,0,'Кассир','Банк' !---------- …Установить,'Кассир:Свойства:Живой',ДА !---------- ! Делаем так, чтобы в диалогах имя персонажа выводилось как "Вы" …Добавить,'Кассир:Упоминания','Диалоги','Вы' !---------- ! Поскольку само описание в примере не используется, то просто создаём пустое …Добавить,'Кассир:Описания','Кассир','' !---------- --- Персонажи.Грегор.Заполнить !-------------------------------------------------------------------------------- #Персонажи.Грабитель.Заполнить !---------- ! Для вывода диалога нам нужен заголовок объекта, а описание не так уж важно …Добавить,'Грабитель:Описания','Грабитель','' !---------- --- Персонажи.Грабитель.Заполнить !-------------------------------------------------------------------------------- #Диалоги.Разговор.Заполнить ! Чтобы в каждой функции заполнения диалога не требовалось использовать имя "Разговор", делаем этот диалог текущим …Текущий,'Разговор' !---------- ! Заполняем вступительный текст …ВступлениеКДиалогу,0,'п. Грабитель перемахнул через стойку и оказался перед вами.' !---------- …ДобавитьБлокДиалога,0,'Начало -> Что + ЯТутНеРаботаю + ХранилищеВПодвале',' [Грабитель:] У тебя одна минута на то, чтобы объяснить мне, как добраться до хранилища. [Кассир:] Что? [Ремарка] Бац! В глазах сверкнуло и боль такая сильная, что кажется, будто она — единственное, что вы сейчас чувствуете. Даже сильнее страха. [Грабитель:] Одна минута. [Ремарка] холодный кружок дула прижимается к вашему лбу. ' …ДобавитьФразу,0,'Кассир', 'Что -> ЧтоБац', 'Что!?',{if:…ТемаДиалогаОткрыта('ЧтоБац')=НЕТ} …ДобавитьФразу,0,'Кассир', 'Что -> ЧтоГлупость', 'Что?',{if:…ТемаДиалогаОткрыта('ЧтоБац')=ДА} …ДобавитьБлокДиалога,0,'ЧтоБац -> Назад',' [Ремарка] Бац! Оказывается, может быть ещё больнее, чем в первый раз. [Грабитель:] Ещё раз скажешь "что", выстрелю. ' …ДобавитьБлокДиалога,0,'ЧтоГлупость -> Конец','[Ремарка] Грабитель стискивает зубы и стреля...','',{…Установить,'Кассир:Живой',НЕТ} …ДобавитьФразу,0,'Кассир', 'ЯТутНеРаботаю -> АПочемуВКабинке', '* Но я здесь не работаю...' …ДобавитьБлокДиалога,0,'АПочемуВКабинке -> Отмазки',' [Кассир:] Но я здесь не работаю, я вообще не знаю, где тут что! [Грабитель:] Какого чёрта тогда ты делаешь в кабинке оператора? ' …ДобавитьФразу,0,'Кассир', 'Отмазки -> ЯТехник', '* Я техник.' …ДобавитьФразу,0,'Кассир', 'Отмазки -> Прячусь', '* От вас прячусь.' …ДобавитьФразу,0,'Кассир', 'Отмазки -> Ворую', '* Тоже решил денег взять.' …ДобавитьБлокДиалога,0,'ЯТехник -> ОдолжилБейдж + ХранилищеВПодвале',' [Кассир:] Я просто техник, мне позвонили и попросили починить компьютер. Они иногда вызывают меня сюда, но я не знаю, где тут сейф, честное слово! [Грабитель:] Занятно. Тогда почему на твоём бейдже написано "Старший кассир"? ' …ДобавитьФразу,0,'Кассир', 'ОдолжилБейдж -> ТыМнеНеНужен', ' * Я его одолжил, чтобы через турникет пройти.' …ДобавитьБлокДиалога,0,'ТыМнеНеНужен -> Конец',' [Кассир:] Я его одолжил, чтобы пройти через турникет, я часто так делаю, а то они никак мне собственный не сделают... [Грабитель:] У кого одолжил? [Ремарка] Вы ткнули пальцем в толстого очкарика на полу, тут же затрясшего головой. [Грабитель:] Окей, спасибо, техник... [Ремарка] ...И спускает куро... ','',{…Установить,'Кассир:Живой',НЕТ} …ДобавитьБлокДиалога,0,'Прячусь -> Что + ХранилищеВПодвале',' [Кассир:] Я тут от вас прячусь... [Грабитель:] А, ты один из посетителей? [Кассир:] Да. [Грабитель:] Я вот не видел, как ты сюда пробегал, ты сюда зашёл ещё до того, как я вошёл в здание? [Кассир:] Да! [Грабитель:] А как же ты через турникет прошёл? ' …ДобавитьБлокДиалога,0,'Ворую -> ХранилищеВПодвале',' [Кассир:] Да я вот решил тоже денег взять. Под шумок, так сказать. Хе-хе. [Грабитель:] А, вон оно что. Но на тебе форма сотрудника банка. То есть, ты не только лжец, но ещё и вор? Двадцать секунд. Хе-хе. ' …ДобавитьФразу,0,'Кассир', 'ХранилищеВПодвале -> ПроХранилище', '* Хранилище в подвале.' …ДобавитьБлокДиалога,0,'ПроХранилище -> ВариантыМаршрута',' [Кассир:] Хранилище находится в подвале... [Грабитель:] Уже лучше. А теперь, как туда добраться? ' !---------- …ДобавитьФразу,0,'Кассир', 'ВариантыМаршрута(-) -> ПоЛестнице', '* По лестнице...' …ДобавитьФразу,0,'Кассир', 'ВариантыМаршрута(-) -> НаЛифте', '* На лифте...' …ДобавитьФразу,0,'Кассир', 'ВариантыМаршрута -> ПочтиЗакончили', '* Нет...',{if:…ВТемеДиалогаОсталисьФразы('ВариантыМаршрута',%ФРАЗА%)=НЕТ} …ДобавитьБлокДиалога,0,'ПоЛестнице -> СложностиПоЛестнице',' [Кассир:] Вон за той дверью в подвал ведёт лестница, по ней можно спуститься до главного коридора, из него в архив, а уже через архив к двери хранилища. [Грабитель:] Ещё что-нибудь, о чём мне как грабителю полезно было бы узнать? ' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛестнице(-) -> ПроЛестницу', '* О лестинце...' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛестнице(-) -> ПроКоридор', '* О коридоре...' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛестнице(-) -> ПроАрхив', '* Об архиве...' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛестнице(-) -> ПроДверь', '* О двери в хранилищие...' !---------- …ПриВыводеТемыДиалога,'Разговор:СложностиПоЛестнице',{ if …ВТемеДиалогаОсталисьФразы('СложностиПоЛестнице')=НЕТ: …ВывестиБлокДиалога,' [Кассир:] Вроде всё. [Грабитель:] А другой путь есть? ' …ПерейтиКТемеДиалога,'ВариантыМаршрута' !---------- °Результат=Прервать end } !---------- …ДобавитьБлокДиалога,0,'ПроЛестницу -> ПроОружие',' [Кассир:] На лестнице сторожит охранник с оружием. [Грабитель:] Каким оружием? ' …ДобавитьФразу,0,'Кассир', 'ПроОружие(=) -> НеРазбираюсьВОружии', '* Ружьё какое-то...' …ДобавитьФразу,0,'Кассир', 'ПроОружие(=) -> ОписаниеОружия', '* Benelli M4...' …ДобавитьБлокДиалога,0,'НеРазбираюсьВОружии -> СложностиПоЛестнице',' [Кассир:] Не знаю, я не разбираюсь. [Грабитель:] Дальше. ' …ДобавитьБлокДиалога,0,'ОписаниеОружия -> СложностиПоЛестнице',' [Кассир:] Benelli M4 Super 90, шестизарядный, с телескопическим прикладом, пистолетной рукояткой, планкой Пикатинни... [Грабитель:] Всё, заткнись, давай дальше. ' !---------- …ДобавитьБлокДиалога,0,'ПроКоридор -> ПроЛучи',' [Кассир:] Поперёк коридора идут лазерные лучи. [Грабитель:] Красные или зелёные? ' …ДобавитьФразу,0,'Кассир', 'ПроЛучи(=) -> КрасныеЛучи', '* Красные.' …ДобавитьФразу,0,'Кассир', 'ПроЛучи(=) -> ЗеленыеЛучи', '* Зелёные.' …ДобавитьБлокДиалога,0,'КрасныеЛучи -> СложностиПоЛестнице',' [Кассир:] Красные, кажется. А что есть какая-то разница? [Грабитель:] Не твоего ума дело, дальше давай. ' …ДобавитьБлокДиалога,0,'ЗеленыеЛучи -> СложностиПоЛестнице',' [Кассир:] Зелёные, кажется, а что? [Грабитель:] Проклятье, у меня дейтеранопия. [Кассир:] Зелёный цвет не различаете? [Грабитель:] Да. [Кассир:] Сочувствую. [Грабитель:] Спасибо. Дальше. ' !---------- …ДобавитьБлокДиалога,0,'ПроАрхив -> СложностиПоЛестнице',' [Кассир:] В архиве люди пропадают... [Грабитель:] Что?! [Кассир:] Люди, говорю, в архиве пропадают. [Грабитель:] Да это я понял! Почему пропадают? [Кассир:] Не знаю, но, поговаривают, что нужно быть поосторожнее со шкафами F. [Грабитель:] Почему? [Кассир:] Пропали сотрудники Фриманн, Фрекель, Фаркопс и Фонг. У вас какая фамилия? [Грабитель:] Фицжеральд. [Кассир:] О... [Грабитель:] Дальше. ' !---------- …ДобавитьБлокДиалога,0,'ПроДверь -> СложностиПоЛестнице',' [Кассир:] Толщина двери в хранилище полтора метра. [Грабитель:] Ого... [Кассир:] И замок "Sargent & Greenleaf". [Грабитель:] Ой... [Кассир:] Пол внутри под напряжением десять тысяч вольт. [Грабитель:] Ох... [Кассир:] А снаружи камеры. [Грабитель:] Понятно. Дальше. ' !---------- …ДобавитьБлокДиалога,0,'НаЛифте -> СложностиПоЛифту',' [Кассир:] В кабинете управляющего есть лифт, спускающийся прямо в хранилище. Только вряд ли вы до него доберётесь. [Грабитель:] Почему это? ' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛифту(-) -> ПроУправляющего', '* Управляющий.' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛифту(-) -> ПроСобак', '* Собаки.' …ДобавитьФразу,0,'Кассир', 'СложностиПоЛифту(-) -> ПроСистемы', '* Системы идентификации.' !---------- …ПриВыводеТемыДиалога,'Разговор:СложностиПоЛифту',{ if …ВТемеДиалогаОсталисьФразы('СложностиПоЛифту')=НЕТ: if …ПоследняяТемаДиалога()<>'ПоСистемамВсе': …ВывестиРеплику,'Кассир','Вроде всё.' end …ВывестиБлокДиалога,' [Грабитель:] Ещё что-нибудь по лифту? [Кассир:] Нет, всё. [Грабитель:] А другой путь есть? ' …ПерейтиКТемеДиалога,'ВариантыМаршрута' !---------- °Результат=Прервать end } !---------- …ДобавитьБлокДиалога,0,'ПроУправляющего -> СложностиПоЛифту',' [Кассир:] В кабинете скорее всего сидит сам управляющий. [Грабитель:] И чего? [Кассир:] Он чемпион города по гарлемскому боксу. [Грабитель:] Впервые слышу про такой бокс. [Кассир:] Основная особенность его в том, что во время боя разрешено использовать кастеты, биты и автоматическое оружие. [Грабитель:] Хмм, ну ладно, допустим, я с ним разберусь, что ещё? ' !---------- …ДобавитьБлокДиалога,0,'ПроСобак -> СложностиПоЛифту',' [Кассир:] Собаки. [Грабитель:] Собаки? [Кассир:] Да. [Грабитель:] Большие? [Кассир:] Очень. [Грабитель:] Много? [Кассир:] Четыре. [Грабитель:] Ох... Ну допустим, с собаками я как-нибудь управлюсь. Что-то ещё? ' …ДобавитьБлокДиалога,0,'ПроСистемы -> ПереченьСистем',' [Кассир:] В лифте стоят системы идентификации, которые пропускают только управляющего. [Грабитель:] Какие системы? ' …ДобавитьФразу,0,'Кассир', 'ПереченьСистем(-) -> ПроОтпечатки', '* Отпечатки.' …ДобавитьФразу,0,'Кассир', 'ПереченьСистем(-) -> ПроСетчатку', '* Сетчатка глаза.' …ДобавитьФразу,0,'Кассир', 'ПереченьСистем(-) -> ПроВес', '* Вес.' …ДобавитьФразу,0,'Кассир', 'ПереченьСистем(-) -> ПоСистемамВсе', '* По системам всё.',{if:…ВТемеДиалогаОсталисьФразы('ПереченьСистем',%ФРАЗА%)=НЕТ} !---------- …ДобавитьБлокДиалога,0,'ПроОтпечатки -> ПереченьСистем',' [Кассир:] Сканер отпечатка правой ладони. [Грабитель:] Это, теоретически, можно обойти. Дальше. ' …ДобавитьБлокДиалога,0,'ПроСетчатку -> ПереченьСистем',' [Кассир:] Сканер сетчатки глаза. [Грабитель:] Для этого у меня есть инструменты и необходимые навыки... [Ремарка] От зловешей ухмылки вас аж передёрнуло. [Грабитель:] ...дальше. ' …ДобавитьБлокДиалога,0,'ПроВес -> ПереченьСистем',' [Кассир:] Датчик веса. [Грабитель:] Хм. Сколько весит местный управляющий? [Кассир:] 124 килограмма. А вы сколько весите? [Грабитель:] 61. Мда. Тут даже клонирующая машина бы не помогла. Ладно, дальше. ' …ДобавитьБлокДиалога,0,'ПоСистемамВсе -> СложностиПоЛифту',' [Кассир:] По системам идентификации всё. ' !---------- …ДобавитьБлокДиалога,0,'ПочтиЗакончили -> ПроДеньги',' [Кассир:] К сожалению, больше путей нет. [Грабитель:] Вот же задачка. Монетку бросить что ли... Это всё? Может ещё что-нибудь знаешь? ' …ДобавитьФразу,0,'Кассир', 'ПроДеньги(-) -> ЛапшаПроДеньги', '* Про деньги.' …ДобавитьБлокДиалога,0,'ЛапшаПроДеньги -> Конец',' [Кассир:] Знаю про деньги в хранилище. [Грабитель:] Так, и что с ними? [Кассир:] Их там нет. [Грабитель:] Как нет?! [Кассир:] Ну мы переезжаем в другой район города и все деньги и ценности уже перевезли сегодня ночью. [Грабитель:] Так почему ты сразу не сказал?! [Кассир:] Ну про это вы как раз не спрашивали. [Грабитель:] Проклятье! [Ремарка] И с этими словами он выбегает из отделения банка, где его ловит экипаж инкассаторской машины, приехавшей, чтобы как раз перевезти содержимое хранилища в другой район города. Хе-хе. ' !---------- …ЗавершениеДиалога,'Разговор','',{ if …Получить('Кассир:Живой'): …ВывестиТекстВДиалоге,'п. Ну что же. Вам удалось выжить.' else …ВывестиТекстВДиалоге,'п. Да уж. Вряд ли вас обрадует тот факт, что до денег грабитель так и не добрался.' end } !---------- --- Диалоги.Разговор.Заполнить !--------------------------------------------------------------------------------