Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
08.08.2015 15:39

DarkDes
Участник (+12)
Зарегистрирован: 27.07.2015
Сообщений: 56

Вопросы по URQ

Появился один вопрос относительно URQL.

Сцены\комнаты\локации могут иметь свои локальные переменные, которые не будут сбрасываться с каждым новых входом?

Конкретный пример того, что хотел реализовать:

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

Такое можно реализовать? Конечно можно глобальную переменную объявить что-то вроде loc_room_gateA_monter_hp, но это как-то ... вроде должно быть что-то такое встроенное?

Неактивен

0    0    #2
10.08.2015 17:33

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

DarkDes написал:

uux написал:

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

Таки пришёл к этой мысли. Это будет немного запарно конечно. Жаль, что нет зачатков ООПа, хотя бы в виде локальных и глобальных переменных - придётся выходить из ситуации.

Функции в URQ - это по сути тоже комнаты? Можно как-то нацепить на кнопку (возможно, в сплывающем меню) посещение и возвращение обратно? Есть вроде такая штука как "proc", но есть ли подобие, но для кнопок?
В чём суть - хочу сделать что-то вроде "магазина", в который можно будет войти из различных локаций, при этом там можно (вот неожиданность!) купить что-нибудь, хотелось бы по кнопке сделать это (операция с инвентарём), а потом нажав на "назад" - вернуться в локацию из которой зашли в магазин.

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

Отредактировано Ajenta (10.08.2015 17:34)

Неактивен

0    0    #3
11.08.2015 18:23

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

DarkDes написал:

Да я просто невнимательно похоже читал, раз не заметил этого )

Про сохранение чего-то не совсем понял, которое про use_inv_Запись. Это такая "функция" для сохранения игры? Или это что-то совсем другое. Видел в плеере есть загрузка, а сохранение я так понял на плечах автора? Т.е. только он сам решает где должно быть сохранение или же можно всё таки сделать пункт меню "сохранить игру" ?

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

https://clck.ru/9ZQoE

Вот всё про сохранение в фурке.

Неактивен

0    0    #4
12.08.2015 15:30

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

DarkDes написал:

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


Всё больше я сомневаюсь в выборе URQ. Думаю больше с уклоном в объекты, а URQL не такой язык. Как можно сделать на нём сущность монстра и при этом с параметрами различными?
Ладно, если речь идёт о какой-то конкретном монстре, но что если я захочу в локацию А поместить монстра с типом1 ? Т.е. это ведь как-то надо будет всё вычислять, надеюсь меня спасут функции.

Если вы пирвыкли к ООП, берите instead и не мучайтесь. URQ позволяет как раз на ооп не заморачиваться тем, кто с ним не знаком и делать всё то же самое своими простыми методами.
Но если вам удобнее ооп, то зачем себя насиловать?

Неактивен

0    0    #5
15.09.2015 13:49

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

Евг написал:

== появилось во времена досурки, когда Корянов решил сделать сравнение строк по маске smile
Если = просто сравнивало переменные по "совпадает одно с другим или нет", то == позволяло писать конструкции вида if str == "взять *" then ... или if date == "??.01.2015" then ... Таким образом не надо было бить строки на буквы и перебирать каждую в цикле. Но этим, кажется почти никто не пользуется smile

Если бы об этом кто-то знал, то может быть и пользовались бы. Мне вот ты сейчас буквально Америку открыл.
И в фурке это работает, кстати?

Неактивен

0    0    #6
17.09.2015 16:49

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

uux написал:

Ajenta написал:

Если бы об этом кто-то знал, то может быть и пользовались бы.

Об этом вроде как в документации (описании URQL для URQ_DOS от Корвина) написано. Страница 21, "Строковые переменные и работа с ними".

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

Спасибо за ссылку, ага. Ну и кстати кто в курсе, что в фурке это рабоотает, опять же. smile

Неактивен

0    0    #7
23.10.2015 18:59

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

DarkDes написал:

Пытаюсь тут реализовать "бой", делаю через таймер из примера на вики.
Только вот какое дело - когда нажимаешь на текст\кнопку\ссылку, то тогда пауза как бы сбивается т.е. у меня сейчас "фазовый" бой, где игрок должен успеть за N секунд тыкать по ссылкам. Но получается так, что когда нажал на ссылку, то сразу бой переходит на следующую фазу, что вообще-то неправильно (в чём тогда смысл таймера будет?).

Знает кто как такое изменить? Т.е. смена фаз исключительно по таймеру, а не при любом действии игрока?

А как должно быть? Опиши подробней. У тебя таймер отсчитывает фазу, ожидается нажатие игроком на что-то. ОН жмёт, дальше друая фаза - что не так здесь?

Неактивен

0    0    #8
30.10.2015 13:41

Ajenta
Модератор (+1171, -324)
Зарегистрирован: 03.05.2009
Сообщений: 902
Вебсайт

Re: Вопросы по URQ

DarkDes написал:

Всё же не получается реализовать нормально этот бой sad
Можно как-то сделать так, чтобы нажатие на кнопки\ссылки не сбрасывали паузу? Вот только эта штука мешает. А если через цикл, то у меня просто всё зависает на определённое время (значит он работает?), но при этом ничего не выводит, а потом бац и уже "Ты труп".

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

Делай через таймер.

Неактивен

Powered by PunBB
© copyright 2001–2022 iFiction.Ru