Пытаюсь сделать простейшую запертую дверь. Вот код:
<... удалено ...>
получаю в процессе прогона вот такое:
>з Тебе сначала придётся открыть тяжелую дубовую дверь. >открыть Что ты хочешь открыть? >дверь Она заперта. >отпереть (тяжелую дубовую дверь) (с помощью большого ключа) Отомкнута. >запереть (тяжелую дубовую дверь) (с помощью большого ключа) Отомкнута. >запереть дверь ключом Её уже заперта.
advr.t уже смотрел, ошибки ускользают... Помогите разобраться...
Отредактировано fireton (30.12.2007 22:14)
Неактивен
Скачал демо «Золотой череп». Хочу скомпилировать, но выдаёт ошибку.
----- begin build: Wed Aug 29 13:04:42 2018 ----- >tc32 -i "." -i "C:\Program Files (x86)\TADS Tools" -o "GOLDSKLR_rls.gam" "D:\Games\TADS\GOLDSKLR.T" TADS Compiler v2.5.16 Copyright (c) 1993, 2012 Michael J. Roberts TADS for Windows [WIN32] patchlevel 0.0 Mike Roberts <mjr_@hotmail.com> maintains this port. >tadsrsc32 "GOLDSKLR_rls.gam" -type html -add "GameInfo.txt" TADS Resource Manager version 2.2.4 Copyright (c) 1992, 1999 by Michael J. Roberts. All Rights Reserved. . adding GameInfo.txt (HTML) GameInfo.txt: unable to open file tadsrsc32: error code 1 Build failed. ----- end build: Wed Aug 29 13:04:42 2018 -----
Кому он блин сдался этот GameInfo.txt!?
UPD
Эта проблема возникает, если выбрать в меню Build — Compile for release. В остальных случая компилируется без ошибки. >tadsrsc32 "GOLDSKLR_rls.gam" -type html -add "GameInfo.txt" — полагаю, если убрать этот «-add "GameInfo.txt"» то всё будет работать как надо. Только я ещё не разобрался где это убирается.
Отредактировано Kephra (29.08.2018 13:18)
Неактивен
Ещё вопрос: почему названия локаций не выделяются жирным?
Отредактировано Kephra (29.08.2018 13:25)
Неактивен
В шестой главе нет картинок http://rtads.org/man/TADSBEG.HTM
Неактивен
Nikita написал:
Потому что стандартной функциональностью это является лишь для RTADS, а не TADS 2.
В смысле? Интерпретатор-то ставиться на компуктер именно TADS 2, или есть ещё RTADS? Может имелось ввиду: подключаемые русские библиотеки, где эта фича есть? Я с ними и скомпилировал.
Неактивен
----- begin build: Wed Aug 29 15:18:11 2018 ----- >tc32 -i "." -i "C:\Program Files (x86)\TADS Tools" -o "D:\Games\TADS\test.gam" -ds2 "D:\Games\TADS\test.t" tc32: error: Синтаксическая ошибка в имени файла, имени папки или метке тома. Build failed. ----- end build: Wed Aug 29 15:18:11 2018 -----
Что блин ему не так с именами?
Это нормально, что в воркбенче ошибки на русском выводятся кракозабрами?
Отредактировано Kephra (29.08.2018 15:24)
Неактивен
Nikita написал:
Нет, интерпретатор единый. Ну разве что для современного RTADS выше 17 релиза нужен минимум 2.5.8. RTADS - это именно альтернативная стандартная библиотека для общей инфраструктуры TADS 2.
Ну да, скачав и инсталлировав набор автора, интерпретатор поставился TADS 2.5.16
Скомпилировал ваш файл, теперь названия выделяются как надо, но:
спойлер…
Это всё из-за extendr.t
На скриншоте, в начале говорится что эта шляпа выводится в режиме отладки и надо обнулить какой-то флаг у объекта generator
================
#include <generator.t>
Зачем его подключать? Как он работает? Я в будущем намерен использовать CaseGen (генератор падежных форм), или назначение generator.t в другом?
Отредактировано Kephra (29.08.2018 16:15)
Неактивен
Nikita написал:
Ну это нормально в том смысле, что является известной проблемой некоторых версий Workbench. Если правильно помню, то вот в этой версии такой проблемы быть не должно.
А ничего что эта версия 2.5.14, когда последняя с сайта RTADS 2.5.16?
Nikita написал:
Потом один из них всё равно перешёл на Notepad++
Я собираюсь пользовать Sublime Text, мне этот копролит воркбенч (окаменелый экскремент) нафиг не нужон, только надо подключить компилятор, но это потом.
Nikita написал:
TADS Toolchain - это по сути примерно то же самое, но в чуть очеловеченной форме, доступной не технарям, ну и позволяет быстро собрать свои первые пробы без предварительного боя со средой разработки.
Попробуем
Nikita написал:
Кроме того, у встроенного генератора более совершенные алгоритмы, чем у внешнего, так как он сначала был портирован из внешнего, а потом несколько раз дорабатывался, тогда как внешний с 2003 года не развивался.
А вот оно как, было бы хорошо добавить это примечание на сайте для всех внешних генераторов.
Nikita написал:
Когда вы собираете игру в отладочном режиме в Workbench, встроенный генератор специально показывает вам сгенерированные словоформы, чтобы вы могли проверить корректность генерации. О работе с Workbench и режимах её использования можно подробнее почитать в приложениях E и M, если уж вы хотите научиться с ней работать. Если всё же нет желания использовать встроенный генератор падежных форм, то тогда надо убрать из кода символ препроцессинга GENERATOR_INCLUDED и подключение библиотеки generator.t.
Не знаю в чем было дело. Но после того как я перезаписал файл игры в кодирове Cyrilic (win 1251) было в UTF-8 и словоформы больше не выводятся, также если скомпилировать для дебага. Однако перестало выводится и в UTF-8. Что это было, я не знаю.
Отредактировано Kephra (29.08.2018 17:15)
Неактивен
Nikita написал:
К сожалению, для Sublime Text нет готового варианта подсветки кода TADS 2, а только TADS 3. Впрочем, если для вас это не принципиально, то проблемы нет.
Да вроде подсветка для Си вполне себе ничего.
Nikita написал:
TADS всегда тяготел к форме масонской ложи, где все всё знают и не особо стремятся привлекать новых людей, так как считается, что преодоление всех начальных трудностей - это как обряд инициализации, доказывающей, что человек реально способен писать на этой платформе.
Тем не менее, на этом форуме в ветке RTADS люди сильно отзывчивые.
Nikita написал:
но для этого надо будет читать исходный код стандартной библиотеки, который вместе со своими комментариями - это практически ещё одна секретная часть руководства. Со временем, вместо справочника из руководства вы, если выживите, перейдёте на прямое чтение исходников.
Да я уже заглядывал в исходники и заметил что многое там прокомментировано.
Nikita написал:
Да, основная кодировка RTADS - это Windows 1251. Если нужно собирать в другой кодировке, то нужно перекодировать и подключаемые библиотеки, то есть все модули программы должны иметь одну кодировку.
А интерпретатор прочитает? UTF-8 он не может.
Неактивен
Nikita написал:
TADS - это вообще платформа для поклонников парсеров старой школы в лучших её проявлениях, так что не успеете моргнуть, как вас здесь сожрут за попсу. Возможно даже прямо я. Это как есть Heavy Metal, тоже являющийся как и парсеры жанром из 80-х, но который играется и слушается до сих пор, продолжая своё развитие. На все же новомодные веянья, типа R&B или рэпа, металлистам плевать, хотя там больше аудитория и всё такое. Просто используется иное мерило успеха и иные эстетические предпочтения и ценности на основе сильных внутренних убеждений, не прогибающихся под толпу. В общем в TADS принято чтить канон и ковать самый прочный парсерный металл. Я вот вас регулярно отсылаю к руководству, как священно служитель к писанию, ну так про это там тоже есть в приложении A. :-)
Да, здесь хватает снобов-ретроградов Но мне то что, никто же не запретит мне запилить в ваш святой РТАДС карту. Только если вы не перестанете мне содействовать в этой ереси, помогая развернутыми ответами и отсылками к документации . Хотя, возможно, если я начну часто играть в парсер, то сам стану ретроградом. Оценю прелесть игры без карты, и прочей ереси, и не стану более запариваться по этому поводу.
====================
Это без генератора
спойлер…
Далее, С генератором:
спойлер…
Код взят из мануала
pedestal: surface, fixeditem desc = 'пьедестал/1м' noun = 'пьедестал/1м' 'постамент/1м' isHim = true location = cave ; goldSkull: item desc = 'золотой/1мп череп/1м' noun = 'череп/1м' adjective = 'золотой/1мп' isHim = true location = pedestal ;
Отредактировано Kephra (30.08.2018 01:36)
Неактивен
Посмотрим как будет играться с картой, если удастся её сделать. С картой и перемещением по названию локаций.
Nikita написал:
#define GENERATOR_INCLUDED
Блин, точно, заработало. Теперь смотрю на укороченный код падежных форм, аж дышать легче стало.
Nikita написал:
Кстати, в noun и adjective в принципе не обязательно дублировать те слова, которые уже есть в desc, они туда автоматически пропишутся генератором, когда он у вас заработает. Достаточно туда прописывать синонимы и остальные существенные слова описания из ldesc. То есть для вашего кода в объекте черепа noun и adjective вообще можно было бы не писать, так как всё охвачено desc, а в пьедестале ограничиться только синонимом "постамент".
А вот это вообще космос! Теперь код выглядит, как в англ версии. Я конечно сомневаюсь что генератор работает безупречно, но если его можно использовать в 90% случаях, тогда круто. Это сделало мой день . Мерси.
UPD
А это нормально? Что ещё за А? Куда-то подевалась Н. Стало так сразу после использования генератора.
спойлер…
Отредактировано Kephra (30.08.2018 04:22)
Неактивен
Nikita написал:
Если вы всё-таки воспользуетесь шаблоном игры из TADS Toolchain, то там, помимо прочего, будет и подключённый комплект библиотек Patcher, где находятся исправления, которые должны были бы войти в релиз 28 RTADS, который так и не был собран и выпущен.
Да, теперь как надо. Я где-то читал, вроде в документации к «TADS Toolchain», что уже всё пропатчено и отдельно его подключать не надо, по схожей причине не нужен и спелчекер, к тому же, они оба закомментированы, поэтому я их и не включал. Значит, если все-таки надо подключать патч, может надо и спелчекер?
Неактивен