Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

   #1
07.01.2009 23:16

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Бета-тестирование

Бета-версия 0.9.0.0 доступна для скачивания: http://ifwiki.ru/ТОМ

В этой версии добавлено определение используемого интерфейса, что дает возможность подстраивать код игры под различные платформы (пока выбор между ТОМ-консолью и Миленой).
Добавлена функция input().

Демоигра адаптирована для проигрывания в Милене, добавлены картинки.

Весь функционал, предусмотренный для версии 1.0 разработан.
До релиза первой версии необходимо провести:
- поиск и исправление багов и глюков, полировку и доводку функционала;
- доработку демоигры про мышек;
- доработку документации;
- разработку набора примеров, полностью покрывающих функционал;
- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);
- возможно что-то еще забыл...

Отредактировано ASBer (07.01.2009 23:17)

Неактивен

   #2
08.01.2009 02:56

Korwin
Гоблин, зеленый от недосыпа (+134, -8)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 772
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Бета-тестирование

ASBer написал:

- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);

Изумлен. Это серьезно? Это возможно?

Неактивен

   #3
08.01.2009 09:32

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Korwin написал:

ASBer написал:

- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);

Изумлен. Это серьезно? Это возможно?

Это трудоемко, долго и муторно, но возможно.
Обе системы - парсерные, объектноориентированные, с C++ подобным языком. Это их роднит.
Надеюсь, что портирование библиотеки в дальнейшем позволит портировать игры между платформами, а также облегчит написание игр для ТОМа авторам, имеющим опыт работы в RTADS.

Неактивен

   #4
08.01.2009 11:41

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

библиотека РТАДСа хороша, но раз уж её перевод является делом трудоёмким, то стоит обратить внимание и на её недостаток: автор небольшого квеста может быть сильно удивлён тем, какие возможности будет иметь игрок в его игре благодаря командам, которые автор и не собирался использовать! помню тестовую головоломку 'волк, коза и капуста', в которой можно было дать капусту козе, которая потом не отдаёт её обратно. так что, реакция типа 'в этой игре Вам не потребуется использовать слово дать ' - очень даже неплохой вариант.

UPD

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

Отредактировано noname (08.01.2009 12:04)

Неактивен

   #5
08.01.2009 12:06

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname, я постараюсь это учесть, когда начну ваять собственную библиотеку (родную для ТОМа).

Неактивен

   #6
09.01.2009 06:56

uux
Участник (+658, -37)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1533

Re: Бета-тестирование

noname написал:

библиотека РТАДСа хороша, но раз уж её перевод является делом трудоёмким, то стоит обратить внимание и на её недостаток: автор небольшого квеста может быть сильно удивлён тем, какие возможности будет иметь игрок в его игре благодаря командам, которые автор и не собирался использовать! помню тестовую головоломку 'волк, коза и капуста', в которой можно было дать капусту козе, которая потом не отдаёт её обратно. так что, реакция типа 'в этой игре Вам не потребуется использовать слово дать ' - очень даже неплохой вариант.

noname, разные мнения есть на этот счет. Я вот считаю, что хорошо, когда возможности стандартной библиотеки шире того, что нужно в игре - ИМХО обрезАть существующие фичи гораздо проще, чем создавать недостающие.

noname написал:

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

Опять-таки - что, так сложно закомментить "лишние" глаголы? Если автору сложно с этим заморачиваться, то, извиняюсь за грубость, в топку таких авторов (точнее, их произведения).

Отредактировано uux (09.01.2009 06:57)

Неактивен

   #7
09.01.2009 11:10

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

автор небольшого квеста может быть сильно удивлён тем, какие возможности будет иметь игрок в его игре благодаря командам, которые автор и не собирался использовать!

Библиотеку РТАДС я постараюсь сохранить в максимально близком к оригиналу состоянии. Переделывать ее логику в мои планы не входит.
-----
  Если же рассуждать о метафизике ИЛ, то чем больше глаголов игра "понимает", тем лучше. Это производит выгодное впечатление и о игре и о платформе.
  Другое дело что умолчальные реакции на действия ИМХО должны быть максимально нейтральны, и не приводить к тупиковым состояниям.

Неактивен

   #8
01.02.2009 23:08

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

стёр старые версии. скачал всё новое. нет примера с черепом. что хочу: простой пример 2х2 локации, где ГГ может перемещаться на север-запад-юг-восток. а то- в примерах этого нет, а в мышках- пока трудно ориентироваться с непривычки.

если не сложно, то лучше 2-а примера: один- см выше, второй- когда каждая локация имеет уникальное имя (мой дом(на поляне) <-> цветочная поляна <-> горная тропа <-> тёмная пещера ), а перемещения осуществляются по названию локации.

хотелось бы начать разбираться с самого простого. предупреждаю: 'въезжать' буду долго. новые простые примеры будут требоваться постоянно. задумки никакой особой нет- просто проба парсера. на основе усвоенного из примеров буду постепенно усложнять свою 'игру'.

upd

как-то я так с порога "наехал"- извиняюсь за стиль. есть желание разбираться. есть желание делать это с помощью автора платформы - не так одиноко, и меньше мозги напрягать придётся smile

upd

и ещё: как ТОМ-квесты запускать под интерфейс Милены? хотелось бы тестить свои творилова как под консольным так и под графическим интерфейсом.

Отредактировано noname (01.02.2009 23:22)

Неактивен

   #9
02.02.2009 09:34

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname, постараюсь накидать примеров с локациями.
Обновленный пример с черепом, выложу чуть позже, вместе с черным плащем.

Милена нужна версии 2.0 с последним обновлением модулей.
Библиотеру tom.dll в милене нужно заменить на свежую.
Далее в Милене: Файл->Открыть->Выбираем файлы с расширением .tom->Выбираем файл->Open
Или выбрать для открытия файлов.tom Милену как программу по умолчанию (как у меня wink ).

Отредактировано ASBer (02.02.2009 09:38)

Неактивен

   #10
02.02.2009 21:24

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ну, что там? просто перемещение по пустым локациям с переходами. и не нужно ничего на скорую руку в движке 'вылизывать' - дай как есть. я готов ко всему, кроме 'пропадания'. неужели у тя времени совсем нет?

upd

эх, зря я поленился в мышках разобраться- к этому времени вполне мог бы уже содрать перемещения с лабиринта

Отредактировано noname (02.02.2009 21:41)

Неактивен

   #11
02.02.2009 22:31

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

ну если совсем просто - то примерно так:

файл удален - устарел

Отредактировано ASBer (28.07.2009 13:15)

Неактивен

   #12
02.02.2009 22:32

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Перемещения в примере парсерные. Если делать на меню, как в лабиринте у мышек - будет попроще.

Неактивен

   #13
02.02.2009 22:41

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ок! похоже- то, что нужно, и при этом- довольно просто. сложных примеров мне не надо- я ж сам хочу свою прогу делать. спасибо. буду разбираться. некоторые другие команды из мышек, типа взять, осмотреть, мне более понятны. а на перемещения глянул, и решил попросить помощи.

upd

Перемещения в примере парсерные. Если делать на меню, как в лабиринте у мышек - будет попроще.

хочу попробовать чистого парсера. на правильном русском. без менюшек. и с по-возможности полным контролем над вводом игрока: сколько слов ввёл? какие конкретно? в каких формах? в каком порядке? и т п - может понадобиться для правильного реагирования.

впрочем, что конкретно понадобится- будет видно по ходу работы над прогой. пока для себя решил использовать в своём творилове только простые фразы- без связок 'и', т е каждый ввод- одно действие. зато постараюсь сделать хотя бы одну команду с большим(3-и или более) кол-вом аргументов.

Отредактировано noname (02.02.2009 23:49)

Неактивен

   #14
03.02.2009 09:22

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

>хочу попробовать чистого парсера. на правильном русском.
- тогда смотри пример по морфологии и разбирайся с ключами.

>с по-возможности полным контролем над вводом игрока: сколько слов ввёл? какие конкретно? в каком порядке?
- смотри глобальную переменную token[]

>в каких формах
- для объектов, возвращаемых парсером, смотри свойство .key

>решил использовать в своём творилове только простые фразы- без связок 'и'
- связки 'и' сейчас сделать крайне затруднительно, это появится только во 2й версии.

>постараюсь сделать хотя бы одну команду с большим(3-и или более) кол-вом аргументов.
- а вот это как раз без проблем. smile

Отредактировано ASBer (03.02.2009 09:23)

Неактивен

   #15
03.02.2009 21:34

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

начал врубаться в язык. щазз продумываю структуру будущей программы. редактирую в обычном блокноте.

upd

вопрос такой:

описание локации выводится в двух случаях: когда ГГ входит в комнату, и когда ГГ вводит команду осмотреться
как сделать, что бы в обоих случаях вызывалась одна и та же фунция вывода описания?
при этом стандартный onEnter() тоже нужен - для некоторых локаций он будет определён по-своему, а по умолчанию- должен вызывать вышеупомянутую функцию

попробовал разные способы- чё-та не получилось... по-ходу я не разобрался с использованием функций

хотелось бы мини-микро-примерчик на эту тему, или просто отрывок- что нужно вставить в пример с локациями, что бы это работало

upd

насчёт вложенных локаций: универсальную команду "выйди[из локации]" сделать легко, насчёт "войти в локацию" - чуток посложнее. нужно вводить именованные входы. пока отложил это дело.

хотел сделать пример, похожий на мой с РТАДСа, и заметил такую заморочку: ДО объявления объекта ссылаться на него- некорректно.

т е

location a1.cls=место
  .север    = a2
  .восток   = b1
  .описание = "моя первая локация"
location b1.cls=место
  .север    = b2
  .запад    = a1
  .описание = "комната для роботов, которым нечем заняться"
location a2.cls=место
  .юг       = a1
  .восток   = b2
  .описание = "мой первый объект"
location b2.cls=место
  .запад    = a2
  .юг       = b1
  .описание = "цветовой код открывает дверь"

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

upd

не знаю, кому как, а мне удобно, что бы все служебные слова и системные переменные имели только английские имена, что бы оставить русские имена для моих функций и переменных. впрочем, английские имена я тоже буду использовать

Отредактировано noname (04.02.2009 07:35)

Неактивен

   #16
04.02.2009 08:33

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

unique сейф
  .title="сейф%; НдМр; ИпЕч //неодуш, мужск род, именит падеж, ед число
  ИпЕч=; РпЕч=ов; ДпЕч=ам; ВпЕч=ы; ТпЕч=ами; ПпЕч=ах"
  .lex = .title
  .описание="Надёжный сейф."

unique ты
  ........................................................
  .осмотреться()
  {
   %<location>
   %{actor.loc.title}</location>
   %{actor.loc.описание}
  }
  .осмотреть(obj)
  {
  %obj.описание
  }

action осмотреться
  .pat = "осмотреться=осмотрись"

action осмотреть
  .pat = "осмотреть=осмотри @объект:описание*Вп" //вначале писал просто "осмотреть=осмотри @объект", потом- скопировал с мышек

пишу "осмотреть сейф", выдаёт: "слово <сейф> мне не известно". хм.. а после чего слово становится известно?

Неактивен

   #17
04.02.2009 08:51

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

В .title сейфа были ошибки:

unique сейф
  .title="сейф%; НдМр; ИпЕч; //неодуш, мужск род, именит падеж, ед число
  ИпЕч=; РпЕч=a; ДпЕч=у; ВпЕч=; ТпЕч=ом; ПпЕч=е"
  .lex = .title
  .описание="Надёжный сейф."

и далее...

unique ты
  ........................................................
  .осмотреться()
  {
   %<location>
   %{actor.loc.title}</location>
   %{actor.loc.описание}
  }
  .осмотреть(obj)
  {
  %{obj.описание}
  }

Отредактировано ASBer (04.02.2009 08:56)

Неактивен

   #18
04.02.2009 09:12

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname пишет:

редактирую в обычном блокноте.

-  и я тоже smile

заметил такую заморочку: ДО объявления объекта ссылаться на него- некорректно.

- Да, конечно. ТОМ - это однопроходный интерпретатор. Но есть предопределение объектов:

location a1
location a2
location a3

и далее...

location a1
  .описание локации a1
  ...
location a2
  .описание локации a2
  ...
location a3
  .описание локации a3
  ...

мне удобно, что бы все служебные слова и системные переменные имели только английские имена

Все служебные слова имеют английские имена.
Все служебные слова будут иметь русские синонимы. (сейчас пока не у всех)
Каким именно языком пользоваться - это решение автора игры.

Отредактировано ASBer (04.02.2009 09:24)

Неактивен

   #19
04.02.2009 09:22

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

описание локации выводится в двух случаях: когда ГГ входит в комнату, и когда ГГ вводит команду осмотреться
как сделать, что бы в обоих случаях вызывалась одна и та же фунция вывода описания?
при этом стандартный onEnter() тоже нужен - для некоторых локаций он будет определён по-своему, а по умолчанию- должен вызывать вышеупомянутую функцию

попробовал разные способы- чё-та не получилось... по-ходу я не разобрался с использованием функций

хотелось бы мини-микро-примерчик на эту тему

Вообще здесь стандартное ООП. Переопределение методов, и вызовы методов классов работают как и везде. Не совсем понял проблему... можно поподробнее?

дополнение:
Хотя небольшой примерчик по функциям и методам действительно лишним не будет. smile

дополнение:
Добавил в пример входы-выходы и команды войти-выйти

Отредактировано ASBer (04.02.2009 10:41)


Прикрепленные файлы:
СЮЗВ.tom, Размер: 3,086 байт, Скачано: 387

Неактивен

   #20
04.02.2009 20:25

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ОК!
1. с сейфом действительно лажанулся- там до сейфа были кусты. недопеределал.
2. %{obj.описание} - фигурные скобки позволяют вставлять выражения в оператор вывода?
3. предопределение спасает дело. возможно, для больших квестов, такая 'строгость' сыграет положительную роль.
4. готов ли полный список служебных слов? хорошо бы найти редактор, аналогичный блокноту, но в котором можно их подцвечивать. где-то на форуме упоминали "блокнот++"
5.

Мой дом
Тут тепло и уютно.. На восток выходит деревянная дверь.
> выйти

Цветочная поляна
Тут красиво! На западе поляны стоит симпатичный домик. На севере видна тропа,
уходящая в горы.
> войди в дом

Это предложение непонятно!
> войди в домик

Это предложение непонятно!
> войди

Мой дом
Тут тепло и уютно.. На восток выходит деревянная дверь.
>

поясняю сложность с командой 'войди' : из одной и той же локации могут быть входы в различные другие локации. и даже если вход всего один, то и тогда команда 'войди' без параметра, кажется мне не совсем 'красивой'. таким образом реализация команды 'войди' тесно связана с реализацией переходов по названиям локаций: 'иди в дом', 'войди в дом'... впрочем, кое-что полезное из примера СЗЮВ.tom я-таки вынес.
6. сложность с выводом описания и по входу и по 'осмотреться' была в том, что функция не работала. щазз попробую ещё раз- с фигурными скобками там, где надо, и с предопределением, если понадобится.

Неактивен

   #21
04.02.2009 21:48

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

2. %{obj.описание} - фигурные скобки позволяют вставлять выражения в оператор вывода?

Фигурные скобки позволяют вставлять выражения в любую строку. Так как все что справа от оператора % это строка, то и в оператор вывода тоже.

4. готов ли полный список служебных слов?

Практически все служебные слова перечислены в Вике на страничке ТОМ: язык программирования. Правда пока не все описаны...

хорошо бы найти редактор, аналогичный блокноту, но в котором можно их подцвечивать.

Думаю пойдет любой редактор с подсветкой синтаксиса Си.

5. поясняю сложность с командой 'войди' : из одной и той же локации могут быть входы в различные другие локации. и даже если вход всего один, то и тогда команда 'войди' без параметра, кажется мне не совсем 'красивой'. таким образом реализация команды 'войди' тесно связана с реализацией переходов по названиям локаций: 'иди в дом', 'войди в дом'...

Добавить параметры в команды совсем не сложно, но тогда для всех входов-выходов будут нужны .title и .lex, и желательно с синонимами. Но так будет правильно.

Отредактировано ASBer (04.02.2009 21:50)

Неактивен

   #22
05.02.2009 11:54

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Eten написал:

Хороший редактор с подсветкой СИ и прочих языков - Bred3.

Скачал, посмотрел - в целом  понравилось.
но
- разбираться с подсветкой придется долго и серьезно.
- даже просто скопировать подсветку с .cpp на .tom не получилось получилось smile
- подсветка СИ к ТОМу подходит лишь отчасти, в некоторых местах подсвечивается как ошибки.

Отредактировано ASBer (05.02.2009 13:26)

Неактивен

   #23
05.02.2009 16:11

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 235

Re: Бета-тестирование

Могу порекомендовать Notepad++, сам пользуюсь. Подсветку синтаксиса придётся делать самому для любого редактора.

Отредактировано Gremour (05.02.2009 16:12)

Неактивен

   #24
05.02.2009 16:58

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

2Korwin: я еще настройку синтаксиса поковыряю, и выложу. Пока еще сыро.

2Gremour: спасибо, посмотрю!

Неактивен

   #25
05.02.2009 19:28

Eten
Участник (+8, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1417
Вебсайт

---

Re: Бета-тестирование

ASBer, возьми любой файл с подсветкой и глянь че у них там по написано. Методом проб и ошибок дойдешь. К тому же это не так сложно, т.к. видел не раз такие файлы у других разработчиков своих прог со скриптовыми языками.

Ах да, чуть не забыл. Этот плагин клорер используется не только в этом редакторе, так что ты себе облегчишь труд если не на все 100%, то хотя бы на 50%.

Отредактировано Eten (05.02.2009 19:29)

Неактивен

   #26
05.02.2009 23:38

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ну, вот появилось чуток свободного от работы и гулянок время, и вот что я наваял:

> с

a2
складское помещение
здесь есть: ты и сейф
выходы: этой дорогой не пройти, этой дорогой не пройти, a1, b2.

> в

b2
странная комната
здесь есть: ты, дубовый стол и стеклянный стол
выходы: этой дорогой не пройти, a2, b1, этой дорогой не пройти.

> осмотреть ты
Слово <ты> мне неизвестно.

> осмотреть стол
Непонятно, что имелось в виду: стеклянный стол или дубовый стол;

> дубовый
Это предложение непонятно!

>

радует та лёгкость, с которой выводится список находящихся в комнате объектов в правильных формах, с разделением запятыми и союзом 'и'. видимо, есть так же и простые средства убрать из этого списка ГГ ? а как насчёт выходов: может, стоит создать особый класс 'выходы', что бы можно было показывать список всех выходов из данной локации(я имею ввиду сзюв)?

и, мне таки совсем непонятно, чего он не выводит описание стола? вот моя прога: <прикреплённые файлы>

upd: да, и хорошо бы русские и латинские буквы в именах пользовательских переменных различать по цвету. а то, например, 'монстр' содержит не известно сколько русских и латинских букв. на глаз не различимо, а для интерпретёра- да.

Отредактировано noname (05.02.2009 23:44)


Прикрепленные файлы:
004.tom, Размер: 4,181 байт, Скачано: 415

Неактивен

   #27
06.02.2009 00:33

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

если убрать один из столов, то 'осмотреть стол' работает нормально, а 'осмотреть дубовый стол'- нет. код мышек мне так же не помог:

> осм домик
  На опушке леса, там, где просыпается солнышко, стоит маленький домик.
Он настолько мал, что сразу его и не заметишь. Да-да, это самый настоящий Мышкин
дом. Он сложен из толстых веток и глины, щели аккуратно заткнуты мягким мхом,
окошко с занавесочками и незаметная дверка.

> осм мышиный дом
Это предложение непонятно!

> осм мышиный домик
Это предложение непонятно!

то ли лексемы для прилагательных надо как-то по-особому прописывать, то ли я наткнулся на недоделанное место в платформе.

Неактивен

   #28
06.02.2009 09:27

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

радует та лёгкость, с которой выводится список находящихся в комнате объектов в правильных формах, с разделением запятыми и союзом 'и'. видимо, есть так же и простые средства убрать из этого списка ГГ ?

нужно в {actor.loc.item} добавить некий аспект:

{actor.loc.item:аспект} //слово "аспект" заменить на необходимый признак.

в этом в случае в список попадают только те объекты, которые унаследованы от класса с именем "аспект", или имеют истинное свойство с именем "аспект".
Т.е. чтобы ГГ не отображался в списке, необходимо чтобы ГГ не имел некое свойство, которое имеют все остальные предметы в локации.

пример:

Код:

class нечто //наследуем от него всё сущее
  ...
unique ты.cls = нечто //в том числе и ГГ, так как нечто имеет полезные свойства
  .нечто = нет //нейтрализуем аспект "нечто" для ГГ
  ...
...
%{actor.loc.item:нечто} //в локации отображаем все, что имеет аспект "нечто"
...

а как насчёт выходов: может, стоит создать особый класс 'выходы', что бы можно было показывать список всех выходов из данной локации(я имею ввиду сзюв)?

Да, можно. Смотри мой пример с выходами/входами.

> осмотреть стол
Непонятно, что имелось в виду: стеклянный стол или дубовый стол;

> дубовый
Это предложение непонятно!

Да, уточнения все еще не работают. Нужно заново вводить более полную команду.
Но эта команда должна быть предусмотренна в игре!

upd: да, и хорошо бы русские и латинские буквы в именах пользовательских переменных различать по цвету. а то, например, 'монстр' содержит не известно сколько русских и латинских букв. на глаз не различимо, а для интерпретёра- да.

И мне это тоже хотелось бы... sad

'осмотреть стол' работает нормально, а 'осмотреть дубовый стол'- нет. код мышек мне так же не помог

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

Отредактировано ASBer (06.02.2009 10:36)

Неактивен

   #29
06.02.2009 10:29

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

спасиб! пожалуй, так и библиотеку создать недолго smile
планирую: вводить постепенно новые команды, обыгрывать традиционно сложные для парсеров фразы.

в далёком будущем: могу попробовать сляпать на дельфях прогу, помогающую убирать/добавлять/редактировать объекты игрового мира в тексте проги. обещать пока ничего не берусь.

Неактивен

   #30
06.02.2009 20:12

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

-а как насчёт выходов: может, стоит создать особый класс 'выходы', что бы можно было показывать список всех выходов из данной локации(я имею ввиду сзюв)?

-Да, можно. Смотри мой пример с выходами/входами.

если делать таким способом, то каждому выходу придётся давать уникальное имя. этого делать не хотелось бы. а хотелось бы для каждой локации указывать существующие выходы, и куда они ведут. все навороты к выходам сверх этого- описать где-нить один раз, и забыть.

если в строчке
location a1.cls=место
убрать слово location, работа программы нисколько не изменится, так как по-любому объект 'a1' в результате принадлежит классу 'место'.

думаю вот что: с одной стороны, объект типа 'location' должен иметь соотв свойства и методы, для простой организации работы с переходами как по направлениям, так и по названиям локаций. с другой стороны... в нормальной литературной игре и список объектов, и список выходов должны быть 'замаскированы' в описаниях локаций. т е игрок видит вменяемую литературную 'картину' обстановки, и взаимодействует с упомянутыми в тексте сущностями в меру своего разумения.

постоянно спотыкаюсь на элементарных вещах. надеюсь побыстрее преодолеть 'барьер' и работать над тестовой прогой с большей эффективностью.
вопросы:

1)
описан класс T_parent_class
как создать класс-наследник T_child_class, который унаследует все его свойства и методы?
из описания ясно только, как создавать экземпляры классов. пробовал через '=' сделать классы одинаковыми- не вышло.

2)
что конкретно означает ошибка 'null=object!' ?

upd

если в строчке
location a1.cls=место
убрать слово location, работа программы нисколько не изменится, так как по-любому объект 'a1' в результате принадлежит классу 'место'.

ой, последняя фраза, видимо не верна. через class определяются как классы, так и качества объектов. вроде бы всё больше разбираюсь, а 'прояснения' в голове не наступает.

Отредактировано noname (06.02.2009 20:54)

Неактивен

   #31
06.02.2009 20:58

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

-а как насчёт выходов: может, стоит создать особый класс 'выходы', что бы можно было показывать список всех выходов из данной локации(я имею ввиду сзюв)?

-Да, можно. Смотри мой пример с выходами/входами.

если делать таким способом, то каждому выходу придётся давать уникальное имя. этого делать не хотелось бы.

я не вижу никакой проблемы, если каждому выходу будет соответствовать свой объект. Можно будет осматривать выходы, или делать с ними другие действия - например закрывать-открывать двери.

а хотелось бы для каждой локации указывать существующие выходы, и куда они ведут. все навороты к выходам сверх этого- описать где-нить один раз, и забыть.

Можно попробывать и так... но с ходу не могу придумать как.

если в строчке
location a1.cls=место
убрать слово location, работа программы нисколько не изменится, так как по-любому объект 'a1' в результате принадлежит классу 'место'.

Вообще то изменится. Помимо классов в ТОМе есть категории. Именно они задаются ключевыми словами location, unique, action и т.д. И слово "class" кстати тоже обозначает специальную категорию объектов для описания классов.

думаю вот что: с одной стороны, объект типа 'location' должен иметь соотв свойства и методы, для простой организации работы с переходами как по направлениям, так и по названиям локаций. с другой стороны... в нормальной литературной игре и список объектов, и список выходов должны быть 'замаскированы' в описаниях локаций. т е игрок видит вменяемую литературную 'картину' обстановки, и взаимодействует с упомянутыми в тексте сущностями в меру своего разумения.

Помоему такому подходу ничто не мешает... кроме отсутствия стандартной библиотеки smile

описан класс T_parent_class
как создать класс-наследник T_child_class, который унаследует все его свойства и методы?

Код:

class T_parent_class
  ... //описание свойств и методов класса
class T_child_class.cls = T_parent_class
  ... //описание свойств и методов класса

При этом наследуются все свойства и методы класса-предка. Но при этом вложенные объекты .item по наследству не передаются.

что конкретно означает ошибка 'null=object!' ?

Это означает попытку присвоить объект некоторому пустому значению.

Отредактировано ASBer (06.02.2009 21:05)

Неактивен

   #32
26.06.2009 15:12

aash29
Участник (+3)
Зарегистрирован: 28.08.2007
Сообщений: 46

Re: Бета-тестирование

при игре за мышонка команда "осм крот" выдает фатальную ошибку

Неактивен

   #33
27.06.2009 12:32

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

В ближайшее время выйдет существенно переработанная и исправленная версия.
Надеюсь что эта и подобные ей ошибки повторяться не будут.

Отредактировано ASBer (27.06.2009 13:08)

Неактивен

   #34
20.07.2009 00:34

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

хочу заострить внимание на одной незначительной детали:

положить и выложить - две разные команды

ИМХО положить что-то можно в/на/под что-то,
а выложить что-то, ну это- просто выложить

вот

ЗЫ
постараюсь разобраться и в тексте модуля и в его использовании

Неактивен

   #35
20.07.2009 07:25

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

положить и выложить - две разные команды

- выложить кафелем, например smile

Я думаю что "выложить"="положить на пол" и учитывая допустимую условность можно просто сделать синонимами "положить"="выложить".
>выложить на стол
>выложить в сундук
>выложить под кровать

Неактивен

   #36
20.07.2009 16:06

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ну, синонимы, так синонимы

тока для меня всё равно слово выложить означает ввпервую очередь попытку избавиться от предмета

а положить- попытку расположить предмет определённым образом среди других

НО если обе эти команды можно будет использовать и так и эдак- будет только лучше(?)

ЗЫ
всё равно, если я таки сделаю какую-нить игрушку наТОМе- я в ней всё сделаю по-своему :)

потому и хочу в модулях разбираться

Неактивен

   #37
21.07.2009 00:13

uux
Участник (+658, -37)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1533

Re: Бета-тестирование

noname написал:

положить и выложить - две разные команды

Однозначно. Синоним "положить" на самом деле - глагол "забить".

А "выложить" - это синоним "рассказать".

Неактивен

   #38
21.07.2009 09:22

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

uux, в ТОМе есть 2 возможности задать синонимы для глаголов:
- глобальные синонимы, которые подставляются перед началом парсинга;
- и локальные синонимы, которые действуют в границах парсерного шаблона.
Поэтому, предложенные тобой синонимы вполне реально сделать, если задавать их локально для каждого шаблона smile

Неактивен

   #39
21.07.2009 23:11

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

будем посмотреть

ЗЫ
и ASBer , жду-недождусь, когда будет реализована возможность ходить по сторонам света

это нужно в связи с тем, что хочу попробовать сгенерить большой мир со случайной расстановкой обстановки и неписей

типа не игра, а что-то врде какой-то модели

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

Неактивен

   #40
21.07.2009 23:43

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

не знаю, поймёт ли кто юмор:

Выбор тестируемого модуля:
1. UnusVerb.tml - неиспользуемые глаголы
2. Main.tml - минимальный набор классов и действий.

> 2
Включить в тест модуль неиспользуемых глаголов? (UnusVerb.tml)

да/нет> да
Хижина
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.
Здесь есть стол и заплетенное паутиной окно. Ты находишься тут и старик
находится тут.

> старик, скажи: старик, возьми ложку
Старик: старик возьми ложку
Старик взял ложку со стола.

:)

Отредактировано noname (21.07.2009 23:45)

Неактивен

   #41
21.07.2009 23:48

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Старик сказал - старик сделал!  А если не сделал - не старик. big_smilebig_smilebig_smile

Отредактировано ASBer (22.07.2009 07:39)

Неактивен

   #42
22.07.2009 10:29

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

> старик, скажи: "Старик, возьми ложку"
Старик: старик возьми ложку
Старик: вот, уже сам с собой начал говорить...
Старик взял ложку со стола.

noname так лучше?

Неактивен

   #43
22.07.2009 15:10

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ASBer написал:

noname так лучше?

во всяком случае этот вариант даст мне возможность 'подглядеть' как научить непися отличать свои собственные фразы от чужих

Быстренько накидал модуль с картой и перемещениями по компасу - Map.tml
Теперь в библиотеке 3 модуля. Но все 3 сырыееее...

быстро это у тебя получается

UPD

> осмотреться
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.

по команде осмотреться 'не видны' предметы, которые есть в комнате. так например, RTADS бы их упомянул по-любому, если они там есть (и не скрыты намеренно)- для этого квестоделу не приходится добавлять ни строчки кода

//
впрочем, ещё не известно как лучше для литературной игры, но для простых игр лишних сложностей не надо

Отредактировано noname (22.07.2009 15:16)

Неактивен

   #44
22.07.2009 15:29

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

по команде осмотреться 'не видны' предметы, которые есть в комнате.

Ок. Можно по команде "осмотреться" дергать метод OnEnter() текущей локации.
Тогда будет выводиться все как при входе в локацию.

Сейчас "осмотреться" = "осмотреть {loc}" - т.е. выводится свойство "описание" текущей локации.

> осмотреться
Хижина
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.
Здесь есть стол и заплетенное паутиной окно. Ты находишься тут и старик
находится тут.

> осмотри хижину
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.

В любом случае для каждой конкретной локации это можно поменять, перегрузив метод OnEnter() и свойство "описание"

Отредактировано ASBer (22.07.2009 15:36)

Неактивен

   #45
22.07.2009 15:51

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

понял. метод OnEnter нашёл. там совсем не сложно

думаю, вызывать OnEnter при осмотре- не вполне корректно- ведь там могут и какие-то события на локацию быть повешены

в ООП лучше всё сразу делать строго 'правильно', что бы потом непонятные глюки не возникали

---

так же обратил внимание на следующий момент:

допустим, в игре есть с десяток различных деревянных предметов. описание прилагательного деревянный придётся прописывать для каждого,
или же
можно вынести описание прилагательного во всех формах отдельно,
а в описании предметов только указывать те прилагательные, которые могут к нему относиться (естественно, с учётом рода предмета)?

UPD

и, да- исправить команду 'осмотреться' вполне смогу самостоятельно

сейчас думаю над демо-квестом этих модулей. пока есть такая идея: взять старючий квест ( закон об интеллектуальной собственности действует в РФ только с 1993года), причём такой, чтоб его можно было постепенно расширять и дополнять для демонстрации новых возможностей

квест я уже выбрал. там как раз перемещения сделаны по сзюв (но и 'нормальные' перемещения тоже будут реализованы в финальной версии игры )

квест хотя и был в своё время очень популярен(и его даже буржуи друг у друга плагиатили), но- совсем простой, и оригинальной первой версии на русском нет

Отредактировано noname (22.07.2009 16:00)

Неактивен

   #46
22.07.2009 16:13

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

думаю, вызывать OnEnter при осмотре- не вполне корректно- ведь там могут и какие-то события на локацию быть повешены

OnEnter как раз и создавался для вывода описания локации. Он срабатывает только на управляемого персонажа и вешать на него дополнительные события не совсем корректно.
Для перемещений есть более универсальные обработчики событий - ChkMoveObj(), BefMoveObj(), AftMoveObj() - срабатывают при любом перемешении и для всех объектов.

noname написал:

допустим, в игре есть с десяток различных деревянных предметов. описание прилагательного деревянный придётся прописывать для каждого,
или же можно вынести описание прилагательного во всех формах отдельно, а в описании предметов только указывать те прилагательные, которые могут к нему относиться (естественно, с учётом рода предмета)?

Достаточно описать для одного объекта, а в остальные раскопировать. При этом описание должно быть полным - для всех родов. Каждый объект воспримет только ту часть, которая ему подходит.
Возможен например такой вариант:

global.прилагательное_деревянный = "... полное описание ..."
...
А.деревянный = global.прилагательное_деревянный
Б.деревянная = global.прилагательное_деревянный
В.деревянное = global.прилагательное_деревянный

Хотя лучше все же будет так:

global.прилагательное_деревянный = "... описание для м.р. ..."
global.прилагательное_деревянная = "... описание для ж.р. ..."
global.прилагательное_деревянное = "... описание для с.р. ..."
...
А.деревянный = global.прилагательное_деревянный
Б.деревянная = global.прилагательное_деревянная
В.деревянное = global.прилагательное_деревянное

noname написал:

и, да- исправить команду 'осмотреться' вполне смогу самостоятельно

Код в студию! smile

Отредактировано ASBer (22.07.2009 16:23)

Неактивен

   #47
22.07.2009 17:23

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

вот код:

Код:

персонаж.осмотрелся()
{
  //осмотрел(loc)
  %{loc.описание}
  %{loc.item:предмет_по_месту}.{loc.item:персонаж_по_месту}.{menu()}
}

сделал по аналогии с OnEnter, только применительно к текущей локации(loc)
не понятна роль {menu()} в конце
его надо исправлять на loc.menu, или это что-то глобальное?

Неактивен

   #48
22.07.2009 17:37

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

не понятна роль {menu()} в конце
его надо исправлять на loc.menu, или это что-то глобальное?

Меню крепится к локации, следовательно должно быть loc.menu().
Если в локации есть хотя-бы одно menu_item(), строка меню добавится к описанию.

Неактивен

   #49
23.07.2009 13:37

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ага, припоминаю ( менюшки )

---

итак, собравшись с силами таки решился взяться за тот самый квест

И сразу появилась куча собственных идей, которые подавил на корню:

лучше сделать для начала простой доделанный плагиат перевод, чем вообще ничего не доделать

а после- мож и своё что-нить получится

---

итак, квест реально простой, но возник вопрос:

допустим, имеются 4-ре локации a1,a2,b1 и b2 (2x2),

и надо, что бы м/ду a2 и b2 проход бы не был возможен

я понимаю, что где-то в длинном тексте мышек это можно выцепить, НО из мини-демы модуля map этого не видно

подскажи плизз максимально короткий и простой способ

---

и, да- убедился, что я правильно сделал, взявшись за простую и известную вдоль и поперёк игру- мне сейчас очень не хватает навыков кодинга в ТОМе

Отредактировано noname (23.07.2009 13:37)

Неактивен

   #50
23.07.2009 13:56

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

допустим, имеются 4-ре локации a1,a2,b1 и b2 (2x2),
и надо, что бы м/ду a2 и b2 проход бы не был возможен

В этом конкретном случае проще всего повесить на персонажей проверку ChkMoveObj()

Код:

персонаж.ChkMoveObj(From,To)
{ if(From==a2 and To==b2 or From==b2 and To==a2)
   { %здесь прохода нет!
      return нет //перемещение отменяется
   }
}

В мышка смотри в файле Mouses.tom

Код:

МышеКрот.ПроверкаПеремещенияОбъекта(Откуда,Куда)
{ //Актер еще не вышел из локации, но намеревается это сделать
  ...  
  return нет //перемещение запрещено
}

P.S. модуль Map.tml предполагает что если локации расположены в соседних клетках, то проход между ними есть. "Стенами" между локациями служат пустые клетки карты.

Отредактировано ASBer (23.07.2009 14:02)

Неактивен

   #51
23.07.2009 14:14

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

в этой игре полно локаций, и они представляют из себя отнюдь НЕ прямоугольный лабиринт

думаю, хорошим выходом будет снабдить каждую локацию списком выходов (я уже так когда-то делал)

при этом хорошо бы, что бы выйти было возможно и по сзюв, и по названию локации-цели, и по командам войти/выйти

попробую поискать у себя примеры в архивах

---

опять, же подразнюсь немного: в RTADS в создаваемой локации автор может указать, в каком направлении из неё можно выйти, и куда при этом игрок попадёт- довольно просто с точки зрения автора. точно не помню, но вроде бы и переход в соседнюю локацию по названию тоже поддерживается(а может и нет) // недостатком ( с точки зрения автора) в этом случае может быть необходимость самому отслеживать, что бы переходы были двусторонними(т е и туда и обратно), прописывая один и тот же переход в обеих локациях. но это уже выбор автора- односторонние переходы хоть и редки, но тоже бывают

UPD

кроме переходов сзюв(они-чаще всего) в игре есть переходы вверх/вниз, а так же перенос в несвязанные локации, а так же одна комната с входом, но без выходов ( выход- с помощью особых действий ); а так же локации, в которых возможности персонажа ограничены только общением с одним неписем, а почти все остальные действия в этой ситуации лишены смысла

// т е на самом деле карта- именно прямоугольный лабиринт, НО соседние локации очень часто разделены(нет прохода)

Отредактировано noname (23.07.2009 14:27)

Неактивен

   #52
23.07.2009 15:01

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

пример (с предпоследними библиотеками):

Код:

include "std.lib\UnusVerb.tml"
include "std.lib\Main.tml"
include "std.lib\Map.tml"

location название_локации
{
  // текст локации убрал (ибо- спойер), но проверено- всё работает
  
  this + ГГ // вводим главного героя
  
}

проблема в том, что куда бы я не впихивал pers.title="ты; Мр2лЕч;", всё равно игруха пишет: "ГГ находится тут", а надо: "ты находишься тут". хотя по-большому счёту отображение присутствия ГГ вообще лучше убрать- ведь [почти]всегда ГГ находится там, где находится // ИМХО лучше отображение ГГ по-умолчанию убрать, но оставить возможность его включать по желанию автора

UPD

заодно дай пример переопределения некоторых свойств ГГ: внешний вид и инвентарь на момент начала квеста

Отредактировано noname (23.07.2009 15:03)

Неактивен

   #53
23.07.2009 15:37

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

игруха пишет: "ГГ находится тут", а надо: "ты находишься тут".

Чтобы писалось "ты находишься тут" вообще ничего менять у ГГ не надо! Если не работае - присылай код на мыло.

title для персонажей уже использованы в main.tml - их менять нельзя.

ГГ.описание = "самый крутой герой!" //меняет описание ГГ

ГГ.по_имени = "Вас%; ЕчОд; Ип; Зп=ь; Зп=я; Ип=я; Рп=и; Дп=е; Вп=ю; Тп=ей; Пп=е;" //меняет имя ГГ

ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации

unique нож //создаем предмет
{ cls = предмет
   this.МожноВзять = да
   ГГ + this //помещаем предмет в инвентарь ГГ
}

Отредактировано ASBer (23.07.2009 15:45)

Неактивен

   #54
23.07.2009 15:50

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

вот вырезка из твоего собственного примера:

Код:

 include "std.lib\UnusVerb.tml"
 include "std.lib\Main.tml"
 include "std.lib\Map.tml"

  //отладка действий
  //осмотрел.Debug = да 
  //взял.Debug = да
  //команда.Debug = да

  //создаем тестовую локацию
  location хижина
  { cls = место
    title = "хижин%; ЖрЕчНдСи; Ип; Ип=а; Рп=ы; Дп=е; Вп=у; Тп=ой; Пп=е;"
    this.старая = "стар%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.ветхая = "ветх%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.деревянная = "деревянн%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.описание = "__Ветхая деревянная хижина. Все здесь очень старое, и непригодно для использования."

    unique стол
    { cls = предмет
      title = "стол%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
      this.старый = "стар%; МрЕчНдПи; Ип; Ип=ый; Рп=ого; Дп=ому; Вп=ый; Тп=ым; Пп=ом;"
      this.деревянный = "деревянн%; МрЕчНдПи; Ип; Ип=ый; Рп=ого; Дп=ому; Вп=ый; Тп=ым; Пп=ом;"
      this.описание = "{fnOписание()}"
      fnOписание()
      { if(item) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }

      counting ложка
      { cls = предмет
        title = "лож%; ЖрНдСи; ИпЕч; 
          ИпЕч=ка; РпЕч=ки; ДпЕч=ке;  ВпЕч=ку; ТпЕч=кой;  ПпЕч=ке;
          ИпМч=ки; РпМч=ек; ДпМч=кам; ВпМч=ки; ТпМч=ками; ПпМч=ках;"
        this.деревянная = "деревянн%; ЖрНдПи; Ип; 
          ИпЕч=ая; РпЕч=ой; ДпЕч=ой; ВпЕч=ую; ТпЕч=ой;  ПпЕч=ой;
          ИпМч=ые; РпМч=ых; ДпМч=ым; ВпМч=ые; ТпМч=ыми; ПпМч=ых;"
        this.МожноВзять = да
      }
      this + ложка
    }

    unique окно
    { cls = предмет
      this.предмет_по_месту = "заплетенное паутиной окно"
    }

    unique старик
    { cls = персонаж
      this.по_имени = "старик%; МрЕчОдСи; Ип; Зп=; Ип=; Рп=а; Дп=у; Вп=а; Тп=ом; Пп=е;"
    }

    this + ГГ //вводим главного героя
  }

в таком варианте она обзывает героя ГГ, а не ты
( т е если весь пример урезать до такого состояния )

// и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?
ЗЫ
не то, чтоб я настаивал на том, чтобы главгерой в локациях не упоминался, просто хочу, чтобы была возможность сделать и так и эдак- по желанию автора. конкретно в этом квесте(и в большинстве других) главгерой в описаниях локаций не упоминается

Отредактировано noname (23.07.2009 15:53)

Неактивен

   #55
23.07.2009 16:18

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

в таком варианте она обзывает героя ГГ, а не ты

Угу, но это только при первом показе так... дальше нормально показывает "ты".
Исправлю.

noname написал:

и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?

Смотри мой пост выше: ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации

Неактивен

   #56
23.07.2009 18:30

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ок!
кста, наверное пора обменяться аськами для быстрого общения

моя= 585030964

Неактивен

   #57
23.07.2009 18:33

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

У меня нет аськи smile мэйл.ру-агент пойдет?

Неактивен

   #58
23.07.2009 18:38

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

по-моему аськой с мэйлру сконтачиться неполучится. ладно, вот тебе свежий баг из последних библиотек:
взял со стола ложку
осмотрел стол
надписи "на столе ничего нет" я не увидел

Неактивен

   #59
23.07.2009 18:50

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

взял со стола ложку
осмотрел стол
надписи "на столе ничего нет" я не увидел

у меня этот баг не повторяется...
1. описание стола сделано в тесте, а не в библиотеке.
2. такое может быть, если на столе есть еще что-то невидимое smile  - объект без свойства "предмет_по_месту"
3. покажи код стола smile

Отредактировано ASBer (23.07.2009 18:59)

Неактивен

   #60
23.07.2009 19:01

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

код приведён в сообщении #121

ИМХО: необходимо разделить примеры библиотек, так как в навороченной куче всё работает, а при попытке сделать отдельно самому- нет

библиотеки- последние из выложенных здесь

Неактивен

   #61
23.07.2009 19:09

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

код из сообщения #121 работает правильно...

попробуй в столе заменить
      fnOписание()
      { if(item) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }
на
      fnOписание()
      { if(item:предмет_по_месту.num) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }

Неактивен

   #62
23.07.2009 19:31

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

теперь работает. а  с тем кодом- не работало. перепроверял.

то ли у нас разные версии библиотек, то ли у меня уже засорилась память

Неактивен

   #63
23.07.2009 19:34

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Скорее стол засорился smile
поменяй на
      fnOписание()
      { if(item) return "{item}."
        else return "на столе ничего нет"
      }
и увидишь сколько там мусора smile

Неактивен

   #64
23.07.2009 20:03

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

Код:

      fnOписание()
      { if(item) return "{item}."
        else return "на столе ничего нет"
      }

ТОМ - Текстовая Основа Миростроения v.0.9.2.1 beta. ASBer(C)2008-2009
Контактный адрес - 2008_TOM@mail.ru
Введите '?', 'help' или 'помощь' для справки.

Хижина
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.
Здесь есть стол и заплетенное паутиной окно. ГГ находится тут и старик находится
тут.

> осм стол
?item?.

> взять ложку
Ты взял ложку со стола.

> осм стол
?item?.

>

этот пример привёл исключительно из-за того, что у моего ГГ тоже не всё как надо отображалось.
так например, один из предметов, для которого не было указано местоположения было невозможно осмотреть, так как этого предмета здесь нет, НО в инвентаре его было видно

видимо, надо перед началом игры делать какую-то читску памяти

---

с другой стороны, мож ты найдёшь другое решение проблемы

Неактивен

   #65
23.07.2009 20:08

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

ТОМ - Текстовая Основа Миростроения v.0.9.2.1 beta. ASBer(C)2008-2009

Последние библиотеки идут с версией v.0.9.2.2 (возьми в папке Libs4tom/Bin)

Отредактировано ASBer (23.07.2009 20:08)

Неактивен

   #66
23.07.2009 20:24

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

всё, разобрался: всё у меня было правильно распаковано, НО у меня с *.tom стояла ассоциация файлов с другим constom.exe, в другом месте, про который я уже и забыл

теперь пример из #121 работает как надо

Неактивен

   #67
23.07.2009 20:37

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ещё вопрос:

допустим, у ГГ есть спелое аппетитное съедобное красное яблоко, и все прилагательные для яблока указаны

как сделать, что бы при осмотре инвентаря ГГ видел именно 'красное яблоко', а не просто 'яблоко'(и не какое-нить другое)

UPD

ой, что-то я ударился в усложнения. так, вопрос про яблоко пока не актуален. попробую сделать эту примитивную игруху поближе к оригиналу

UPD

щазз более актуально выкладывание предметов(просто на пол)- сразу проще будет тестировать корректность работы игрухи

Отредактировано noname (23.07.2009 21:07)

Неактивен

   #68
23.07.2009 21:55

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

как выкладывать(и обменивать) предметы- тоже разобрался

есть ещё такая непонятка:

в некоторой локации надо запретить некоторые действия(почти все). как было бы правильнее всего это сделать?

ЗЫ
разобрался почти во всём, что необходимо для этой примитивной игрушки

но в таком(приближённом к оригиналу) виде, в наши дни она будет смотреться как позор парсера

как будет готова- начну её доводить до ума, усложнять и переделывать

Неактивен

   #69
23.07.2009 22:13

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

в некоторой локации надо запретить некоторые действия(почти все). как было бы правильнее всего это сделать?

Наверное проще всего вариант "в лоб" - в каждом действии прописать проверку текущей локации.

персонаж.взял()
{ if(loc==запретная_локация)
   { %ты не можешь здесь ничего брать!
      return;
   }

   //...

}

и далее также по всем действиям...

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

Отредактировано ASBer (23.07.2009 22:18)

Неактивен

   #70
24.07.2009 22:53

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

отчёт о приблизительном времени работы над игрой:

нормальная реализация данной игры требут от 3-х до 30-ти дней упорного перевода и кодинга

я скорее всего провожусь над ней месяца 3-и ( я ж ещё по олдгамесам шарюсь и играю в тамошние игрухи регулярно )

с учётом того, что её придётся доводить до ума- думаю, в этом году успею ( впрочем, меньше чем через неделю у меня днюха, а потом- буду искать работу; с другой стороны- когда я буду работать я мож больше времени буду именно написанием квеста заниматься, чем сейчас, когда целыми днями занимаюсь всякой фигнёй) // короче буду стремиться сделать в этом году (и не просто сделать бету, НО ещё и успеть её отшлифовать обезбажить и доработать )

особых чудес от игры ждать не стоит- её все уже прошли в том или ином варианте. я делаю её в-основном ради овладения навыками кодинга в ТОМе

ЗЫ

а комнату с невозможностью выполнения почти всех действий можно ещё реализовать через меню- оставить только возможные пункты

и ещё вопрос: допустим, устройство(напр лифт) имеет 9-ть нумерованных кнопок (от 1 до 9):

игрок пишет (к примеру): езжай на 6й этаж (или езжаё на шестой этаж) - как бы сделать это в ТОМе ?

Неактивен

   #71
25.07.2009 09:33

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

с учётом того, что её придётся доводить до ума- думаю, в этом году успею

А можно я набьюсь в бета-тестеры? smile

В файле набросок к лифту.
P.S. есть небольшая условность - числа в команде должны быть ПЕРЕД объектом. "5 этаж" - правильно. "Этаж 5" - будет ошибка.

--------------------------------------------------------------------------------
Прикрепленные файлы:
SixFloors.tom, Размер: 1,800 байт, Скачано: 27

Отредактировано ASBer (28.07.2009 13:28)

Неактивен

   #72
25.07.2009 13:32

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

в бетатестеры, конечно можно. но- не скоро
---

немного теории

что вообще автору может быть нужно от движка?:

- лично мне хотелось бы, чтоб от игрока требовался ввод фраз, правильных с т з русского языка // в том числе и знаки препинания // в этой игре знаков препинания пока не нужно

- штоп можно было сделать всё, что хочется, И штоп игра на вводимые фразы реагировала так, как хочет  именно этот автор именно в этом квесте // т е - широкие возможности использования движка

- штоп движок хорошо различала различные фразы: т е понимал отличие 'кинуть банку в коробку' от 'кинуть коробку в банку'; И особенно это актуально для обработки ошибок: напр если игрок пытается неправильно использовать известный проге глагол- автор пишет на этот случай один текст(напр подсказку по исп этого глагола), а если он пытается использовать какое-то непонятное слово(команду, судя по тому, что слово идёт в начале фразы) с известным проге предметом- автор пишет на этот случай другой текст(напр подсказку по исп предмета)
---

впрочем, пока буду делать основной 'костяк' игры

позже- обязательно нужно будет доработать, штоп она понимала все упомянутые в описаниях существительные, глаголы (и прилагательные?) И выдавала разумные ответы на любую фразу; (особенно- если фраза построена неверно- ведь в этом случае игроку необходима помощь программы)

//
на сюжет именно этой поделки можно не обращать внимания- он может заинтересовать только после полной переделки. напр если весь сюжет этого квеста станет необязательной частью более другого квеста. т е всё, что я сейчас делаю имеет ценность скорее как тренировка в кодинге, чем как создание новой игры // да, много времени убивает перевод- я-то знаю, как там что переводится, но как сделать эти фразы читабельными на русском- приходится поломать голову

Отредактировано noname (25.07.2009 13:33)

Неактивен

   #73
25.07.2009 17:59

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

в Багтрекер я тебе уже написал кое-о-чём

теперь вот что:

не нашёл, как переопределить стандартное сообщение "<предмет> не годится для этого действия."

Отредактировано noname (25.07.2009 18:00)

Неактивен

   #74
26.07.2009 15:17

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ох блин, ежовая морковка!

не сходятся в этой игре на квадратной карте входы с выходами.

первый проект однозначно необходимо делать совместно с автором платформы

тем более, что библиотека пока в стадии разработки

- заодно будет видно, что в библиотеку следует добавить

---

в связи с этим даю объяву в разделе 'игры' с просьбой солюшенов маленьких игр:

щазз открою там тему UPD: ссылка на тему

UPD

с тебя, ASBer - библиотека, с меня- перевод и кодинг, с любителей парсерных игр- солюшен

все промежуточные результаты работы буду выкладывать на форум

Отредактировано noname (26.07.2009 15:29)

Неактивен

   #75
27.07.2009 17:41

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

Здесь важно понимать различие: если действие даёт 2 разных результата - это 2 разных действия, даже если они используют один глагол. И описывать из нужно как 2 разных объекта

ага- понял. это как стандартное 'открыл' и особое 'открыл_фонарик'

Название объекта также является его свойством. Поэтому пример будет один

ну, щазз не буду вдаваться в уточнения, НО в более сложных квестах эта тема ещё всплывёт

UPD: жду пример :)

Отредактировано noname (27.07.2009 18:19)

Неактивен

   #76
27.07.2009 19:37

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

ASBer написал:

noname написал:

в таком варианте она обзывает героя ГГ, а не ты

Угу, но это только при первом показе так... дальше нормально показывает "ты".
Исправлю.

noname написал:

и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?

Смотри мой пост выше: ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации

не знаю, обратил ли ты внимание: при первом показе прога опять называет игрока ГГ, а не на ты

я-то в любом случае отключу показ героя, но если в ООП-проге есть такой глюк, значит где-то чего-то некорректно сделано

Неактивен

   #77
27.07.2009 21:47

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

Название объекта также является его свойством. Поэтому пример будет один

Отредактированно ASBer (Сегодня 19:32)

ты это, не томи- этож наверняка несложно- такой пример сделать ( пример задания особой обработки команды над двумя предметами ). с примерами как-то гораздо проще с языком разбираться

ЗЫ

возможно, в ближайшие дни до конца месяца буду занят. после планирую дописывать второго Спелеолога до куда смогу И выкладывать списки необходимых изменений в библиотеках. ну, там по-мелочи: спуститься вниз, подняться наверх, различные синонимы

саму игру (будет называться Спелеолог-2) планирую довести до 'кандидатского минимума': штоп она понимала по-возможности все упомянутые ею же в описаниях слова, а в случаях ввода неиспользуемых в игре команд давала по-возможности разумные ответы/помощь. так же планирую привинтить к ней систему подсказок и сделать версию под графичексий интерфейс

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

Неактивен

   #78
27.07.2009 23:22

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

ты это, не томи- этож

Пример на один глагол и два объекта.

--------------------------------------------------------------------------------
Прикрепленные файлы:
to_pawn.tom, Размер: 2,050 байт, Скачано: 30

Отредактировано ASBer (27.07.2009 23:26)

Неактивен

   #79
28.07.2009 00:04

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

отличный пример!

надо заметить, что он понравился мне ещё и тем, что показал возможность творить на ТОМе совершенно другим способом- этот код впечатлил меня свободой, предоставляемой ТОМом квестописцам. расширил моё видение ТОМа. ещё немного и я влюблюсь в ТОМ

и, конечно, в моих квестах(буде таковые случатся) будет ГГ и использование библиотек, НО впечатление свободы, оказанное этим примером на моё больное воображение уркиниста- неизгладимо

на самом же деле этот пример просто демонстрирует создание особой реакции на действие с двумя предметами друг на друга

эту тему регулярно просматривают около 30чел, а качают примеры - 2-3чел, поэтому выкладываю 'полный солюшен' этого примера (или правильнее сказать- лог):

ТОМ - Текстовая Основа Миростроения v.0.9.2.2 beta. ASBer(C)2008-2009
Контактный адрес - 2008_TOM@mail.ru
Введите '?', 'help' или 'помощь' для справки.


    КАК ЗАЛОЖИТЬ ЗА ВОРОТНИК, ДА НЕ НАПИТЬСЯ

  Ты сидишь за идеально сервированным столом. Перед тобой лежит накрахмаленная
салфетка и стоит запотевшая рюмка водки (пятьдесят граммов).

> заложить
Что заложить?

> заложить рюмку
Куда заложить?

> заложить воротник за рюмку
Рюмка не годится для этого действия.

> заложить рюмку за воротник
  Рука неуверенно потянулась к рюмке и вернулась назад. Нет! Воспитание не
позволяет пить без салфетки.

> заложить салфетку за воротник
  Ты взял салфетку, неторопясь расправил ее и аккуратно заложил за воротник,
провел по ней рукой, еще раз убедившись, что она на месте.

> заложить рюмку за воротник
  Ты хорошо выверенным молниеносным движением схватил рюмку, потянулся к ней
дрожащими губами, шумно выдохнул и одним махом заложил за воротник!

> заложить салфетку за воротник
  Ты поправил уже заложенную за воротник салфетку и жадно сглотнул.

> заложить рюмку за воротник
  Что толку в пустой рюмке - за воротник не заложишь.

Отредактировано noname (28.07.2009 00:10)

Неактивен

   #80
28.07.2009 01:09

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: Бета-тестирование

А мальчик-то растет! smile

Просмотрел исходник, но "думать" на этом языке пока не получается... Как-то непросто все.

Неактивен

   #81
28.07.2009 09:55

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

fireton, единственный известный мне способ понять язык - это начать писать на нем smile
Подругому никак... hmm

Неактивен

   #82
05.08.2009 22:38

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Тогда вот пока вам совсем маленькая но зато классическая игрушка - Плащ тьмы.

Возможности стандартной библиотеки пока гораздо скромнее рТАДСа - например, надеть плащ не получится.
В остальном получилось довольно близко к оригиналу...

О всех замеченных багах, несуразностях или нелогичности прошу писать сюда - исправлю smile

--------------------------------------------------------------------------------
Прикрепленные файлы:
Cloak.rar, Размер: 188,580 байт, Скачано: 26

Неактивен

   #83
05.08.2009 22:59

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

> з
Ты ушел на запад в гардероб.
Гардероб
  Стены этой маленькой комнаты, очевидно, когда-то имели множество крючков для
одежды. Сейчас же остался только один. Единственная дверь ведет на восток.
Здесь есть маленький бронзовый крючок для одежды.

> повесить плащ
Куда повесить?

> на крючок
Маленький бронзовый крючок для одежды не годится для этого действия.

насколько я знаю RTADSа(довольно плохо), он понимает уточняющие фразы. т е если после 'куда повесить?' ответить 'на крючок' то он бы понял(хотя реально там какой-то пример с яблоками приводился: взять яблоко - какое яблоко - зелёное - ты взял зелёное яблоко)

// это я так - штоп тебе было чем заняться smile

Неактивен

   #84
06.08.2009 14:32

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

> инв
У тебя есть бархатный плащ.

> з
Ты ушел на запад в гардероб.
Гардероб
  Стены этой маленькой комнаты, очевидно, когда-то имели множество крючков для
одежды. Сейчас же остался только один. Единственная дверь ведет на восток.
Здесь есть маленький бронзовый крючок для одежды.

> осм его
Бархатный плащ или маленький бронзовый крючок для одежды?

> маленький крючок
Это просто маленький бронзовый крючок, прикрученный к стене.

noname, в ТОМе уточнения работают. Но я еще подумаю... smile

Отредактировано ASBer (06.08.2009 14:33)

Неактивен

   #85
06.08.2009 14:57

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

Бархатный плащ или маленький бронзовый крючок для одежды?

насколько я понимаю, общепринятой реакцией для парсеров, которые поддерживают местоимения, было бы "осмотреть маленький бронзовый крючок для одежды", т к 'крючок'- последнее существительное, употреблённое в подходящей форме

с другой стороны, если ТОМ запоминает 2-а последних сущ каждой формы- тем лучше. наверное

Неактивен

   #86
06.08.2009 17:07

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Парсер не поддерживает местоимений - они поддерживаются библиотекой.
По последнему упоминанию объекта можно сделать - это правильно.

Здесь на троне правит королева в короне.

> осм ее
Королеву или корону?

вот с этим уже хуже... буду думать smile

Отредактировано ASBer (06.08.2009 17:20)

Неактивен

   #87
07.08.2009 00:16

Серый Волк
Модератор (+1033, -75)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 1075
Вебсайт

Re: Бета-тестирование

Разбавляю ваши технические несуразности песней, что безумству упорных мы поём.
ASBer, снимаю шляпу, кажись всё всерьёз и надолго.

Неактивен

   #88
07.08.2009 08:55

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Серый Волк, спасибо, но все только начинается! wink

Неактивен

   #89
07.08.2009 09:34

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: Бета-тестирование

noname написал:

Бархатный плащ или маленький бронзовый крючок для одежды?

насколько я понимаю, общепринятой реакцией для парсеров, которые поддерживают местоимения, было бы "осмотреть маленький бронзовый крючок для одежды", т к 'крючок'- последнее существительное, употреблённое в подходящей форме

с другой стороны, если ТОМ запоминает 2-а последних сущ каждой формы- тем лучше. наверное

Порой, входя в режим машинальной игры, игрок не вчитывается в текст и не видет упоминаемых там предметов. Для него "она", "его", "ими" это тот предмет, с котором он только что имел дело.

Ну, или может случиться так:

>открыть коробку
Коробка полностью обмотана скотчем и открыть её не просто
>осм её
Коробка полностью и качественно обмотана скотчем.
>сорвать скотч
Ты долго скреб ногтями, пытаясь зацепиться, но тщетно
>потрясти коробку
Без результата.
>подбросить коробку и пнуть её
Ты бросил коробку на пол.
(сообщение демона) В комнату зашла твоя возлюбленная Елена.
Что Вы хотели бы пнуть: коробку или Елену?

Отредактировано GrAndrey (07.08.2009 09:39)

Неактивен

   #90
10.08.2009 18:05

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

И до кучи вот еще игра про золотой череп портирована на стандартную библиотеку ТОМа.

--------------------------------------------------------------------------------
Прикрепленные файлы:
GOLDSKLR.rar, Размер: 188,249 байт, Скачано: 33

Отредактировано ASBer (11.08.2009 09:04)

Неактивен

   #91
13.08.2009 20:06

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

Пещера
  Ты находишься внутри темной и затхлой пещеры. Солнечный свет прорывается через
проход, расположенный к югу.
Здесь есть пьедестал и здесь есть мелкий камень.

когда я на RTADS описал стол и яблоки на нём, то в описании локации, при входе в неё, перечислялся и стол и

предметы на нём

примерно так:

стол находится здесь. зелёное яблоко и красное яблоко находятся на столе

вот как-то так. вполне логично, что ГГ, входя в комнату(пещеру) видит предметы на столе(на пъедестале).

если они только не спрятаны под чем-то

---

насчёт спелеолога: команда выложить/положить/бросить почему-то не работает. она вообще есть в библиотеке? без

неё немного неудобно тестить работу с предметами. ещё немного повыделываюсь: а не доделать ли библиотечные

команды 'вниз' и 'вверх', что бы понималось 'спуститься вниз' и 'подняться наверх'. сейчас этого нет

ЗЫ

у меня вроде бы последняя версия библиотеки, НО не последняя версия ТОМ

---

работе над спелеологом ОЧЕНЬ мешает одна игрушка с oldgames, называется xcom-apocalypse. уже почти две недели в неё играю и просто не в состоянии от неё оторваться(играю из-под дос-бокса)

Неактивен

   #92
19.08.2009 14:12

Cheshire
Участник (+100, -8)
Зарегистрирован: 01.07.2009
Сообщений: 321

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

Re: Бета-тестирование

ASBer написал:

Здесь на троне правит королева в короне.

> осм ее
Королеву или корону?

вот с этим уже хуже... буду думать smile

А разве нужно что-то придумывать? Обычная жизненная ситуация.

Насчет примера про "пнуть Елену". Можно как-то отделить объекты в описаниях, инициированных игроком, от объектов в описаниях, инициированных программой?

Отредактировано Cheshire (19.08.2009 14:13)

Неактивен

   #93
19.08.2009 15:06

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Cheshire написал:

ASBer написал:

Здесь на троне правит королева в короне.

> осм ее
Королеву или корону?

вот с этим уже хуже... буду думать smile

А разве нужно что-то придумывать? Обычная жизненная ситуация.

Если в тексте присутствуют персонаж и объект, то персонаж как правило более значим. В данном примере корона никак не акцентирована и служит как дополнительное описание самой королевы.

Cheshire написал:

Насчет примера про "пнуть Елену". Можно как-то отделить объекты в описаниях, инициированных игроком, от объектов в описаниях, инициированных программой?

угу, это можно.

Отредактировано ASBer (19.08.2009 15:08)

Неактивен

   #94
24.08.2009 11:08

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Бета-тестирование

Уж очень всё заманчивее и заманчивее выглядит ТОМ...
А кстати, что с Миленой, движется?

1) можно ли в ТОМ конструировать фразы-обращения, например "Робот, возьми гайку и закрути винт."? Или "Попросить робота взять гайку и закрутить винт"?

2) Насчёт "ты" и "вы" - даже при обращении на "ты" можно избежать личных окончаний, т.к. они лишь в прошедшем времени. Вместо "ты взял" - пишем "ты берёшь".

Обращение на "ты" должно быть, имхо, обусловлено сюжетом. Я тоже сторонник обращения на "вы", но вот сейчас делаю сюжет, герой которого - ученик колдуна. При всём уважении к игроку я не могу позволить обращения на "вы", ибо оно не так погрузит игрока в атмосферу, не заставит почувствовать себя учеником.

Отредактировано oleksus (24.08.2009 11:27)

Неактивен

   #95
24.08.2009 11:34

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

oleksus написал:

А кстати, что с Миленой, движется?

На вике лежит графический интерфейс для тома на основе милены лайт.
Там можно менять шрифт, форматировать текст, вставлять картинки и музыку. Все работает - спасибо Александру Графу smile

oleksus написал:

можно ли в ТОМ конструировать фразы-обращения, например "Робот, возьми гайку и закрути винт."?

В текущей версии можно только в два этапа:
>Робот, возьми гайку
>Робот, закрути винт
Но я думаю что эта проблема решаема, скоро иcправлю.

oleksus написал:

Насчёт "ты" и "вы" - даже при обращении на "ты" можно избежать личных окончаний, т.к. они лишь в прошедшем времени. Вместо "ты взял" - пишем "ты берёшь".

Личные окончания вполне нормально подставляются если правильно указан род персонажа (по умолчанию - Мр), с этим проблем быть не должно. Если только я еще не все глаголы в библиотеке расписал...

oleksus написал:

Обращение на "ты" должно быть, имхо, обусловлено сюжетом. Я тоже сторонник обращения на "вы", но вот сейчас делаю сюжет, герой которого - ученик колдуна. При всём уважении к игроку я не могу позволить обращения на "вы", ибо оно не так погрузит игрока в атмосферу, не заставит почувствовать себя учеником.

Добавлю в библиотеку возможность обращения к персонажу на "Вы". Пусть авторы игр сами решают как правильно. wink

Неактивен

   #96
24.08.2009 13:29

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Бета-тестирование

А что насчёт фразы "Пусть робот возьмёт гайку."?
Мне кажется, эта фраза универсальнее, поскольку в ней содержится ёмкий посыл для персонажа, чтобы он сам додумался, как это сделать.
Да и не всякому роботу так прямо "скажешь", что делать.

То есть, глагол "пусть" может как раз быть предназначен для такого "непрямого" управления.

Неактивен

   #97
24.08.2009 13:41

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

oleksus написал:

А что насчёт фразы "Пусть робот возьмёт гайку."?

Без проблем.
Нужно создать действие "пусть" с соответствующим шаблоном.

Но я не уверен что такое действие должно быть включено в стандартную библиотеку.

Неактивен

   #98
24.08.2009 14:41

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Бета-тестирование

а где взять файл игры, чтоб посмотреть пример?
и вообще, я хочу попробовать покодить.

Отредактировано oleksus (24.08.2009 14:45)

Неактивен

   #99
24.08.2009 14:43

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Все файлы игр (.tom, .tml) это обычные текстовые файлы.
Можно просматривать и редактировать любым текстовым редактором.

Неактивен

   #100
24.08.2009 14:46

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Бета-тестирование

не, я имел в виду, чтоб понять, как выглядит код локаций, игры.

пока читаю инфу в вики, хочу попробовать покодить.

Неактивен

   #101
15.10.2009 01:51

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Начиная с версии 0.9.2.8 beta возможна вставка выражений на естественном языке в код игры.
Для анализа выражений в коде игры использует тот-же парсер, что и для команд в процессе самой игре.
Выражения ЕЯ могут встраиваться в конструкции языка программирования.
Выражения ЕЯ не могут встраиваться в вычисляемые выражения - формулы, присвоения и т.п.
В конце выражения ЕЯ обязательно должна стоять точка.
Парсерная ошибка в коде приравнивается к синтаксической ошибке и приводит к прерыванию выполнения кода.

Выражения ЕЯ в коде эквивалентно оператору "<" для объекта this.
выполнение строки с синтаксисом:

команда на ЕЯ.

эквивалентно выполнению операции:

this < "команда на ЕЯ"

Неактивен

   #102
15.10.2009 09:38

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: Бета-тестирование

Скачал ТОМ, попытался разобраться... Не очень получилось, если честно.
Если б какие-нибудь уроки были, о создании игры с нуля...

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

Неактивен

   #103
15.10.2009 10:05

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

fireton написал:

Скачал ТОМ, попытался разобраться... Не очень получилось, если честно.
Если б какие-нибудь уроки были, о создании игры с нуля...

Набор примеров есть на ифвике - tom_sample.rar
Там примеры на различные темы, но без использования стандартной библиотеки.
Пошаговые уроки о создании игры с нуля наверное имеет смысл делать на основе стандартной библиотеки, которая всё еще в разработке...
В составе самой библиотеки есть тест и пара простых игр, можно попробовать делать по аналогии с ними.
В любом случае прийдется разбираться самостоятельно - удобочитаемого вводного материала пока к сожалению нет.
С удовольствием готов отвечать на любые возникающие вопросы - в данный момент я в отпуске, поэтому сейчас самое время smile

fireton написал:

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

Платформа не имеет жестко заданных парадигм словообразования. Библиотеки и даже отдельные игры могут применять свою собственную систему генерации словоформ и их согласования. Поэтому утилитку можно сделать только для стандартной библиотеки, которая всё еще в разработке...
Для существительных и прилагательных можно взять алгоритм генератора рТАДСа, если GrAndrey разрешит.
Для глаголов все сложнее... но новые глаголы нужны не так частно.

Неактивен

   #104
15.10.2009 15:29

noname
Участник (+35, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Бета-тестирование

насколько я понимаю, утилитками тут не обойдёшся- нужны словари.

ну или, как минимум- словарь исключений, в составе утилитки.

Неактивен

   #105
15.10.2009 18:29

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

noname написал:

насколько я понимаю, утилитками тут не обойдёшся- нужны словари.

Одно другому не мешает, особенно если учесть что словари - ну ооочень дальняя перспектива.

Неактивен

   #106
17.10.2009 18:36

Cheshire
Участник (+100, -8)
Зарегистрирован: 01.07.2009
Сообщений: 321

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

Re: Бета-тестирование

наименование = "пещер%; ЖрЕчНдСи; Ип; Ип=а; Рп=ы; Дп=е; Вп=у; Тп=ой; Тп=ою; Пп=е;"

По отдельности, в принципе, понятно -- Жр - женский род, Рп - родительный падеж и т.д. Но вот непонятно, почему не всегда все ключи прописываются, или наоборот, после где-нибудь идет строчка this.род_число = "ЖрЕч" (или даже ЖрМрЕч)? Что означает первый Ип? Что означают Си и Пи (существительное/прилагательное? а что за "и")?

Нужны примеры с предметами в множественном числе, исчислимыми предметами, со сложными названиями (нож Васи, клубок ниток) и т.д. roll

Неактивен

   #107
17.10.2009 19:22

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Добавил ссылки на статьи http://ifwiki.ru/ТОМ:_Лексема и http://ifwiki.ru/ТОМ:_Морфологический_ключ
возможно это поможет...

Cheshire написал:

Но вот непонятно, почему не всегда все ключи прописываются

Потому что иногда можно сократить описание лексемы, не прописав некоторые ключи.
Например:
"пещер%; ЖрЕчНдСи; Ип; Ип=а; Рп=ы; Дп=е; Вп=у; Тп=ой; Тп=ою; Пп=е;"
эквивалентно
"пещер%; ; ЖрЕчНдСиИп; ЖрЕчНдСиИп=а; ЖрЕчНдСиРп=ы; ЖрЕчНдСиДп=е; ЖрЕчНдСиВп=у; ЖрЕчНдСиТп=ой; ЖрЕчНдСиТп=ою; ЖрЕчНдСиПп=е;"
Если для лексемы указан, например, женский род, то и каждая словоформа лексемы будет отнесена к женскому роду. В таком случае Жр достаточно указать один раз как свойство всей лексемы.

Cheshire написал:

или наоборот, после где-нибудь идет строчка this.род_число = "ЖрЕч" (или даже ЖрМрЕч)?

Это я сумел победить доработав парсер. В текущей версии в this.род_число = "ЖрЕч" никакой необходимости нет и можно забыть как страшный сон.

Cheshire написал:

Что означает первый Ип?

Первый Ип - это словоформа по умолчанию. Если Вы напишите
%{пещера}
на экран будет выведено
пещера
т.е. тоже самое, как если бы Вы написали
%{пещера*Ип}

Cheshire написал:

Что означают Си и Пи (существительное/прилагательное? а что за "и")?

Совершенно верно! Существительное имя , Прилагательное имя smile

Cheshire написал:

Нужны примеры с предметами в множественном числе, исчислимыми предметами, со сложными названиями (нож Васи, клубок ниток) и т.д. roll

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

upd:
Еще очень рекомендую разобраться с примером Морфология.tom (есть в наборе примеров)


Прикрепленные файлы:
Морфология.tom, Размер: 5,964 байт, Скачано: 296

Неактивен

   #108
27.12.2009 11:56

Alexandr
Участник (+1)
Зарегистрирован: 25.12.2009
Сообщений: 12

Re: Бета-тестирование

Разбирался тут с ТОМ, и вот что заметил:
Я (ГГ) безприкословно слушаюсь всех. Например:

> зеркало, скажи "гоблин, скажи привет"
Зеркало: гоблин скажи привет
Ты: привет

или

> зеркало, скажи гоблин, возьми меч
Зеркало: гоблин возьми меч.
Ты взял меч из пещеры.

Почему ГГ так слушается других персонажей? Если они скажут ему убиться он тоже убъется? smile

Неактивен

   #109
27.12.2009 16:08

ASBer
Модератор (+151, -17)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 817
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Бета-тестирование

Alexandr написал:

Почему ГГ так слушается других персонажей? Если они скажут ему убиться он тоже убъется? smile

Конечно smile
ГГ такой же персонаж как и все остальные NPC. Чтобы ГГ не слушал команд NPC нужно прописать метод

Код:

ГГ.свобода_воли(){ return нет }

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru