Форум » » Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. » Ответить

Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы.

Серый Волк: Дорогие гости, если у вас есть небольшие "одноразовые" вопросы, пожалуйста, не стоит заводить под каждый из них отдельную тему на форуме, задавайте их здесь. Также, тут можно просто поздороваться или даже представиться. Спасибо :)

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

fireton: Поддержать Jaws в фурке невозможно (или страшный геморрой). Я как-то разбирался. Надо идти там другим путём совершенно.

Владислав: Всем доброго времени суток. Я снова по поводу неправильного отображения квеста в проигрывалете. Проверил квест сначала в программе akurq1.28.pre3,а потом в akurq2 В обоих программах результат один и тот же. Отображается строка #%вопрос3$ нажимаем кнопку следующий вопрос. Строка та же, только число меняется на случайное... В чём тут может быть причина? Вот код: instr вопрос1=Когда будут кормить? instr вопрос2=Где? instr вопрос3=Восколько? instr вопрос4=чем? instr вопрос5=точно? :выбор_вопроса pln №%вопрос#rnd5$$ btn выбор_вопроса, Следующий вопрос end Заранее спасибо!

Cheshire: Владислав пишет: pln №%вопрос#rnd5$$ Не очень понял проблему, но вот это косяк и скорее всего в нём причина. Должна быть решётка (#) вместо номера (№): [pre2]pln #%вопрос#rnd5$$[/pre2] UPD И мой вам совет: пишите уже на FireURQ. Акурка давно не развивается и имеет известные проблемы с запуском. Почитал предыдущую страницу. Хреновый совет, да.

Владислав: Я бы рад, но дело в том, что программа экранного доступа Jaws не работает в фурке.

Владислав: Фаертон говорил, что приспособить фурку под Jaws проблематичное дело. Или вообще невозможное.

Владислав: Немного разобравшись с этим вопросом у меня тут же появился следующий. Правильно ли будет, если я вынесу вопросы в отдельный файл, назову его например bace.qst этот файл будет вида: instr вопрос1=... instr вопрос2=... instr вопрос3=... и так далее А в основном файле квеста сделаю так: invkill perkill include bace.qst :начало pln Добро пожаловать в игру... btn выбор_вопроса, Начать end :выбор_вопроса pln #%вопрос№rnd3$$ btn выбор_вопроса, следующий вопрос. end Пока так, но в будущем планируется добавить варианты ответов, но так, чтобы правильный ответ был разным вариантом у каждого вопроса, из 4 вариантов, предложенных на каждый вопрос. Чтобы не было возможности тыкать на одну и ту же букву варианта и он был у всех вопросов правильным.

Евгений: Да, думаю так будет правильно. Внимательнее только с символом номера и решеткой, они иногда у тебя перепутаны. Надо pln #%вопрос#rnd3$$ вместо pln #%вопрос№rnd3$$

Владислав: Да, это действительно...Спасибо! А возможно такое, случайный вывод вопроса и прилогающихся к нему вариантов ответа? 3 Варианта не правильные, а четвёртый верный и направляет на следующий случайно выбранный вопрос. А нажатие на неправильный вариант отправляет на локацию паражения. Если это возможно, то как это можно сделать? Вопросы с вариантами выведены в отдельную базу. Файль bace.qst вида: instr вопрос1=... а) вариант1. б) вариант2. в) вариант3. г) вариант4. следующие вопросы такого же вида. Я бы мог вывести все вопросы в один файл квеста, но тогда получится мешанина.. И чтобы была за одно возможность изменять базу вопросов. Заранее спасибо большое!

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

vito: Если определить варианты ответа именно так, как написано - instr вопрос1=... а) вариант1. б) вариант2. в) вариант3. г) вариант4. то, естественно, будут сразу выводиться все варианты. Можно попробовать так: instr вопрос1=Считаете ли Вы <censored> партией жуликов и воров? instr вопрос1вариант1=Да instr вопрос1вариант2=Да instr вопрос1вариант3=Да instr вопрос1вариант4=Да вопрос1_правильный=1 ; Номер правильного варианта ответа и дальше: :выбор_вопроса номер_вопроса=rnd3 pln #%вопрос#номер_вопроса$$ ; выводим кнопку-ссылку на продолжение игры или на поражение, в зависимости от того, правильный ли ответ i=1 :Вывод_кнопок if вопрос1_правильный=i then btn выбор_вопроса, #%вопрос1вариант#i$$ else btn проигрыш, #%вопрос1вариант#i$$ i=i+1 if i<=4 then goto Вывод_кнопок end

Владислав: Большое спасибо!

Владислав: Непонятны только 2 вещи: 1. с какой целью создаётся переменная i? i=1 :Вывод_кнопок if вопрос1_правильный=i then btn выбор_вопроса, #%вопрос1вариант#i$$ else btn проигрыш, #%вопрос1вариант#i$$ i=i+1 if i<=4 then goto Вывод_кнопок end 2. как указать, чтобы при выборе случайного вопроса вместе с ним выводились прилагающиеся к вопросу варианты-кнопки.. В таблице сделал вопросы с вариантами по совету vito instr вопрос1=... instr вопрос1вариант1=.... instr вопрос1вариант2=... instr вопрос1вариант3=... instr вопрос1вариант4=.... вопрос1_правильный=2 ;правильный вариант 2 у этого вопроса. Понятно, что объявляем строковую переменную, которая называется вопрос1 и которая содержит сам вопрос. таких строковых переменных 30,потому что 30 вопросов. через rnd30 выбирается случайный вопрос... это всё правильно.. Но как указать,что нужные варианты принадлежать именно этому вопросу,и чтобы они отображались вместе с вопросом в виде кнопок? этого я понять не могу пока к сожалению, поэтому так часто спрашиваю:)

vito: Владислав пишет: 1. с какой целью создаётся переменная i? i - это в основном просто счетчик. В URQL нет оператора цикла, поэтому приходится "зацикливаться" подобным образом. У нас на каждый вопрос четыре варианта ответа - отсюда проверка на условие i<=4. Второе назначение i - это инструмент для отслеживания, когда давать ссылку для правильного ответа. Ну, то есть у нас задача стоит так: для каждого вопроса - четыре ответа, из них три ведут на проигрыш, а один - на продолжение игры. И вот мы пробегаем i от единицы до четырех и каждый раз сравниваем со значением номера правильного варианта (переменная вопрос1_правильный). Если их значения не совпадают, делаем кнопку с переходом на проигрыш, в противном случае - на продолжение игры. Без этого счетчика всё записывалось бы примерно так: if вопрос1_правильный =1 then btn выбор_вопроса, #%вопрос1вариант1$ else btn проигрыш, #%вопрос1вариант1$ if вопрос1_правильный =2 then btn выбор_вопроса, #%вопрос1вариант1$ else btn проигрыш, #%вопрос1вариант1$ и т. д. для всех вариантов. Очень муторно получается даже при 4-х вариантах ответа. Владислав пишет: Но как указать,что нужные варианты принадлежать именно этому вопросу,и чтобы они отображались вместе с вопросом в виде кнопок? Прощення просимо у шановного пана - это я малька упростила демо-пример. Конечно, в моем варианте оно будет работать только для первого вопроса. Замените везде вопрос1 на вопрос#номер_вопроса$, примерно так: :выбор_вопроса номер_вопроса=rnd3 pln #%вопрос#номер_вопроса$$ ; выводим кнопку-ссылку на продолжение игры или на поражение, в зависимости от того, правильный ли ответ i=1 :Вывод_кнопок if вопрос#номер_вопроса$_правильный=i then btn выбор_вопроса, #%вопрос#номер_вопроса$вариант#i$$ else btn проигрыш, #%вопрос#номер_вопроса$вариант#i$$ i=i+1 if i<=4 then goto Вывод_кнопок end

Владислав: Большое спасибо!

Владислав: Всем здравствуйте! Возникла такая проблема. Почему-то команда inv+1,предмет не добавляет предмет. Код выглядит примерно так: :локацияя pln описание локации, где есть предложение о том, что предмет взят. inv+1, предмет btn переход, Переход на следующую локацию. end В чём может быть причина? Проверяю квест через программу akurq 1.28.pre3

Владислав: К сожалению проблема от части не разрешилась. А точнее проблема вот в чём: база выглядит так же,как я уже описывал выше по совету vito . то есть так: instr вопрос1=.... instr вопрос1вариант1=... instr вопрос1вариант2=... instr вопрос1вариант3=... instr вопрос1вариант4=... сам код квеста примерно такой: :выбор_вопроса play sownds/level_lose.wav include База.qst x=rnd#количество вопросов$ pln #%вопрос#x$$ if вопрос1_правильный=1 then btn выбор_вопроса, #%вопрос1вариант1$ else btn проигрыш, #%вопрос1вариант1$ if вопрос1_правильный=2 then btn выбор_вопроса, #%вопрос1вариант2$ else btn проигрыш, #%вопрос1вариант2$ if вопрос1_правильный=3 then btn выбор_вопроса, #%вопрос1вариант3$ else btn проигрыш, #%вопрос1вариант3$ if вопрос1_правильный=4 then btn выбор_вопроса, #%вопрос1вариант4$ else btn проигрыш, #%вопрос1вариант4$ if вопрос2_правильный=1 then btn выбор_вопроса, #%вопрос2вариант1$ else btn проигрыш, #%вопрос2вариант1$ if вопрос2_правильный=2 then btn выбор_вопроса, #%вопрос2вариант2$ else btn проигрыш, #%вопрос2вариант2$ if вопрос2_правильный=3 then btn выбор_вопроса, #%вопрос2вариант3$ else btn проигрыш, #%вопрос2вариант3$ if вопрос2_правильный=4 then btn выбор_вопроса, #%вопрос2вариант4$ else btn проигрыш, #%вопрос2вариант4$ end Проблема заключается в том, что, когда запускаю квест, то выбирается вопрос в случайном порядке, но вот варианты выводятся все 8 подряд, как я их написал выше. при этом они вообще не относятся к выбранному вопросу. Условие одного правильного варианта и трёх неправильных выполняется. Простите, vito, что воспользовался таким способом. способ с переменной i не совсем хорошо понял. Поэтому пока так... Вопрос остаётся в том, как сделать так, чтобы первому вопросу пренадлежали первые 4 варианка,как написано выше,и эти варианты выводилис вместе с этим вопросом,даже если он не будет первым,а на пример будет 16-ым.

vito: Владислав пишет: Всем здравствуйте! Возникла такая проблема. Почему-то команда inv+1,предмет не добавляет предмет. Дело может быть в том, что между плюсом и единицей должен быть пробел, кк-то так: inv+ 1, предмет Кстати, если добавляете предметы в инвентарь по одному, можно использовать сокращенную запись: inv+ предмет (только, опять-таки, не забудьте пробел между плюсом и названием предмета. А вот между inv и плюсом пробела быть не должно).

vito: Владислав пишет: Вопрос остаётся в том, как сделать так, чтобы первому вопросу пренадлежали первые 4 варианка,как написано выше,и эти варианты выводилис вместе с этим вопросом,даже если он не будет первым,а на пример будет 16-ым. Однозначной привязкой вариантов к вопросу служит первая часть строковых переменных, их содержащая. Т. е. мы точно знаем, что если переменная называется, к примеру, вопрос3вариант2, то она относится именно к третьему вопросу. При формировании кнопок Вам надо сообщить программе, что выводить надо только варианты ответов, имена переменных для которых начинаются с нужного префикса (совпадающего с именем переменной, содержащей сам вопрос). Для этого используйте ту же самую конструкцию #x$, которую использовали для вывода нужного вопроса на экран (pln #%вопрос#x$$) - замените везде вопрос1 на вопрос#x$. Вам потребуется всего четыре оператора if. Попробую переписать Ваш пример с развернутыми комментариями (начинаются с точки с запятой), чтобы Вы лучше поняли, как работает программа. :выбор_вопроса play sownds/level_lose.wav include База.qst ; Случайным образом выбираем число в интервале от одного до количество вопросов и записываем его в переменную x x=rnd#количество вопросов$ ; Выводим выбранный случайным образом вопрос на экран. Конструкция #x$ позволяет выбрать переменную для нужного вопроса (вместо неё в соответствующее место программы при ее исполнении будет подставлено текущее значение числовой переменной x). Скажем, если x=4, то запись #%вопрос#x$$ будет эквивалентна записи #%вопрос4$. pln #%вопрос#x$$ ; Конструкцию #$ и #%$ можно использовать не только при выводе переменной на экран, но и вообще практически ; в любом месте кода. ; if вопрос#x$_правильный=1 проверяет, равна ли переменная, содержащая номер правильного варианта ответа ; для вопроса с номером x, единице. Если равна, то первый вариант ответа является правильным, и создаваемая ; для него (оператором btn) кнопка должна вести на локацию для продожения игры (в нашем случае выбор_вопроса). ; Если не равна, то первый вариант неправильный, и кнопка должна вести на локацию проигрыша (проигрыш). if вопрос#x$_правильный=1 then btn выбор_вопроса, #%вопрос#x$вариант1$ else btn проигрыш, #%вопрос#x$вариант1$ ; Аналогично для второго варианта ответа на этот же вопрос if вопрос#x$_правильный=2 then btn выбор_вопроса, #%вопрос#x$вариант2$ else btn проигрыш, #%вопрос#x$вариант2$ ; Аналогично для третьего варианта ответа на этот же вопрос if вопрос#x$_правильный=3 then btn выбор_вопроса, #%вопрос#x$вариант3$ else btn проигрыш, #%вопрос#x$вариант3$ ; Аналогично для четвертого варианта ответа на этот же вопрос if вопрос#x$_правильный=4 then btn выбор_вопроса, #%вопрос#x$вариант4$ else btn проигрыш, #%вопрос#x$вариант4$ ; Поскольку переменная вопрос#x$_правильный может быть равна только одному числу, то и кнопка со ссылкой на продолжение игры будет создана только одна, остальные будут вести к проигрышу. end В заключение еще раз весь код уже без комментариев, чтобы Вы могли просто скопировать его к себе, не заморачиваясь. Если что-то непонятно в моих объяснениях - спрашивайте. :выбор_вопроса play sownds/level_lose.wav include База.qst x=rnd#количество вопросов$ pln #%вопрос#x$$ if вопрос#x$_правильный=1 then btn выбор_вопроса, #%вопрос#x$вариант1$ else btn проигрыш, #%вопрос#x$вариант1$ if вопрос#x$_правильный=2 then btn выбор_вопроса, #%вопрос#x$вариант2$ else btn проигрыш, #%вопрос#x$вариант2$ if вопрос#x$_правильный=3 then btn выбор_вопроса, #%вопрос#x$вариант3$ else btn проигрыш, #%вопрос#x$вариант3$ if вопрос#x$_правильный=4 then btn выбор_вопроса, #%вопрос#x$вариант4$ else btn проигрыш, #%вопрос#x$вариант4$ end

Владислав: Большое спасибо, vito:)

Владислав: Всё отлично работает!



полная версия страницы