Автор | Сообщение |
|
| Юрист урки, адвокат дьявола
|
Сообщение: 138
Зарегистрирован: 07.12.06
|
|
Отправлено: 30.07.10 23:17. Заголовок: Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. (продолжение)
Дорогие гости, если у вас есть небольшие "одноразовые" вопросы, пожалуйста, не стоит заводить под каждый из них отдельную тему на форуме, задавайте их здесь. Также, тут можно просто поздороваться или даже представиться. Спасибо :)
|
|
Профиль
Цитата
Ответить
|
Ответов - 269
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
All
[только новые]
|
|
|
| |
Сообщение: 2
Зарегистрирован: 21.08.14
|
|
Отправлено: 21.08.14 15:35. Заголовок: Благодарю, Ajenta! Н..
Благодарю, Ajenta! Не знал, что знаки < > работают в урке так, как положено. Подскажите, а такой код будет верен, или?... If M < or = N then GoTo код1 Else код2
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 130
Зарегистрирован: 06.11.08
|
|
Отправлено: 21.08.14 15:48. Заголовок: Kalten пишет: Благо..
Kalten пишет: цитата: | Благодарю, Ajenta! Не знал, что знаки < > работают в урке так, как положено. Подскажите, а такой код будет верен, или?... If M < or = N then GoTo код1 Else код2 |
| Нет не будет так нельзя писать, посмотрите справку если что, возможны <, >, <> - это не равно, =, <=, >= ну и между ними or и and в вашем же случае надо писать через then else. Подругому никак.
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 3
Зарегистрирован: 21.08.14
|
|
Отправлено: 21.08.14 17:30. Заголовок: Написал примерно вот..
Написал примерно вот так: :1 M =rnd3 N =RND3 If #N$ = #M$ then goto x If #n$ < #M$ then goto x Else Pln Нет нет нет!!! BTN 1,еще разок End Вроде работает,но не уверен,что это действительно верно, а точнее правильно. Кстати,подскажите пожалуйста, возможна ли дешифровка файлов qs2, qs3? Т.е. Что это теоретически возможно- это понятно. Но есть ли утилиты, или какие либо редакторы для таких файлов?
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 131
Зарегистрирован: 06.11.08
|
|
Отправлено: 21.08.14 19:19. Заголовок: Kalten пишет: Напис..
Kalten пишет: цитата: | Написал примерно вот так: :1 M =rnd3 N =RND3 If #N$ = #M$ then goto x If #n$ < #M$ then goto x Else Pln Нет нет нет!!! BTN 1,еще разок End Вроде работает,но не уверен,что это действительно верно, а точнее правильно. Кстати,подскажите пожалуйста, возможна ли дешифровка файлов qs2, qs3? Т.е. Что это теоретически возможно- это понятно. Но есть ли утилиты, или какие либо редакторы для таких файлов? |
| В урке нельзя просто так переносить на другую строку переменные и действия. Так работать не будет if then else должны быть на одной строке. Или же перед оператором должен быть знак подчёркивания. Или так: :1 M =rnd3 N =RND3 If #N$ = #M$ then goto x If #n$ < #M$ then goto x Else Pln Нет нет нет!!! BTN 1,еще разок End или так: :1 M =rnd3 N =RND3 If #N$ = #M$ then goto x If #n$ < #M$ then goto x _ Else _ Pln Нет нет нет!!! BTN 1,еще разок End В вашем же варианте else просто не сработает. И ещё, не нужно переменные "открывать". Достаточно сравнения как в любом языке. Я бы написала так. чтобы можно было ещё и проверить результат. :1 M =rnd3 N =rnd3 pln N = #N$ pln M = #M$ if N = M then goto x if N < M then goto x _ else _ pln Нет нет нет!!! btn 1,еще разок End
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 4
Зарегистрирован: 21.08.14
|
|
Отправлено: 23.08.14 04:48. Заголовок: Приветствую! Agenta,..
Приветствую! Agenta, Спасибо за помощь! Вот,что не ясно: Agenta Писала: * В урке нельзя просто так переносить на другую строку переменные и действия. Так работать не будет if then else должны быть на одной строке. Или же перед оператором должен быть знак подчёркивания. * Может этого нельзя делать в FireURQ? Т.к. в AKURQ1.28pre6 такой вот код работает, да и другие: :1 M =rnd3 N =rnd3 pln N = #N$ pln M = #M$ if N = M then goto x if N < M then goto x else pln Нет нет нет!!! btn 1,еще разок End
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 5
Зарегистрирован: 21.08.14
|
|
Отправлено: 24.08.14 19:53. Заголовок: Приветствую! Такая с..
Приветствую! Такая ситуация: имеется некое кол-во предметов,"к примеру 10", из которых можно взять только не больше 5-ти. Подскажите,пожалуйста,как такое можно сделать? Т.е. чтобы стояло ограничение на 5 предметов? "список предметов планирую выводить через btn с использованием конструкции IF Then, чтобы как только предмет взял,то тот появлялся в инвентаре,а из списка исчезал. Это, думаю, реализую,а вот ограничение как поставить,не знаю.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 96
Зарегистрирован: 02.01.09
|
|
Отправлено: 24.08.14 21:21. Заголовок: Kalten пишет: Приве..
Kalten пишет: цитата: | Приветствую! Такая ситуация: имеется некое кол-во предметов,"к примеру 10", из которых можно взять только не больше 5-ти. |
| Вы не написали, имеются в виду однотипные предметы или разные. Для однотипных существует системная переменная inv_<Название предмета>. Скажем, если в игре имеется куча кирпичей, из которых можно взять не более пяти, можно сделать проверку так: :Локация pln Ты стоишь у кучи кирпичей. btn Взять_кирпич, Взять кирпич end :Взять_кирпич if inv_Кирпич>=5 then pln Ты понимаешь, что больше пяти кирпичей тебе не унести. else inv+ Кирпич & pln Ты берешь кирпич из кучи. goto Локация end Если предметы разнородные, я бы ввела некую переменную, которая отслеживала бы количество предметов в инвентаре. При этом надо будет вручную увеличивать ее каждый раз, когда берется очередной предмет, и уменьшать, когда игрок избавляется от предмета. Например: Количество_предметов=0 :Локация pln Ты стоишь у кучи игрушек. btn Взять_куклу, Взять куклу btn Взять_мишку, Взять мишку btn Взять_машинку, Взять машинку // и т. д. end :Взять_куклу if Количество_предметов<5 then inv+ Кукла & Количество_предметов=Количество_предметов+1 & pln Ты берешь куклу. else pln Ты не сможешь унести в руках столько игрушек. end :Взять_мишку if Количество_предметов<5 then inv+ Мишка & Количество_предметов=Количество_предметов+1 & pln Ты берешь мишку. else pln Ты не сможешь унести в руках столько игрушек. end :Взять_машинку if Количество_предметов<5 then inv+ Машинка & Количество_предметов=Количество_предметов+1 & pln Ты берешь машинку. else pln Ты не сможешь унести в руках столько игрушек. end
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 6
Зарегистрирован: 21.08.14
|
|
Отправлено: 11.09.14 18:31. Заголовок: Приветствую! Спасибо..
Приветствую! Спасибо, Vito! Есть еще один вопрос: в первой локации введена переменная с определенным числом. По ходу игры эта переменная меняет свое значение. Так вот, можно ли сделать как-то так,чтобы при нулевом значении переменной происходило то или иное событие? Имею ввиду,можно ли сделать так, чтобы в одном месте сделать примерно так: If V1 < 1 Then GoTo Exit и не повторять этот код во всех локациях,где значение V1 меняется?
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 97
Зарегистрирован: 02.01.09
|
|
Отправлено: 11.09.14 20:37. Заголовок: Из "Описания URQ..
Из "Описания URQL", имеющегося на сайте: цитата: | Подробнее о Common метках: Часто необходимо выполнять некую общую последовательность действий для всех локаций... Именно для этого есть :Common метка - при вызове btn метка,Название метки на самом делается следующее: proc Common & GoTo метка к примеру, то есть вызывается Common и при встрече end идет выход из процедуры и только после этого уже переход на требуемую метку. Но ведь для разных частей квеста порой требуется разные Common локации, поэтому системная числовая переменная Common отвечает за имя вызываемой локации: :Common_номер к примеру при Common=5 будет вызов :Common_5. Никаких ограничений по номерам (подряд или нет) не накладывается, для простоты рекомендуется использовать только целые числа. Если Common=-5, то вызов будет соотвественно :Common_-5. Можно также обойтись и без использования локации Common вообще, например в КАЖДОЙ локации писать proc CommonLoc_#CommonLoc_N$, при этом будет происходить подобный же механизм(только имя Common локации будет :CommonLoc). Использование локации common сильно упрощает написание квестов, в которых надо вести учет ходов игрока (например, для введения игрового времени, голода, запаса энергии в лампе и т.п.) |
|
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 1
Зарегистрирован: 28.12.14
|
|
Отправлено: 28.12.14 21:02. Заголовок: Убийство персонажа при использовании предмета
Я решил начать вовсю использовать use-метки для предметов.Но вот незадача - когда я дошел до "плохого" предмета(типа отравленного печенья и т.д.) я застрял - goto, btn и прочие команды работают, но после использования предмета меня отправляет на ту локацию, где я до этого был(а там и описание локации, и кнопки разные), то есть игрок при "смерти" вполне может нажать одну из этих кнопок и спокойно продолжить игру.Что мне делать? :( Как-то так: Скрытый текст :место inv+ Отрава btn вернуться, Вернуться. end :use_отрава_Выпить pln ТЫ отравился и сдох. goto конец end ; Ну или вместо "гото" кнопка какая-то...Короче, убить игрока не получается.
|
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 145
Зарегистрирован: 06.11.08
|
|
Отправлено: 29.12.14 13:30. Заголовок: Юзай команду cls - ..
Юзай команду cls - это очистка экрана, тогда гг сдохнет, как ты хочешь :) типа такого например :место inv+ Отрава btn вернуться, Вернуться. end :use_отрава_Выпить cls pln ТЫ отравился и сдох. goto конец end
|
|
Профиль
Цитата
Ответить
|
|
|
| |
Сообщение: 2
Зарегистрирован: 28.12.14
|
|
Отправлено: 30.12.14 14:44. Заголовок: Ajenta Я так пробова..
Ajenta Я так пробовал. Для полной картины сойдет отакой код: :место pln Бла-бла-бла. inv+ Отрава btn вернуться, Вернуться. end :use_отрава_Выпить cls pln ТЫ отравился и сдох. goto конец end :Вернуться pln Бла-бла-бла В конце злобный неуязвимый персонаж вполне может нажать на кнопку "Вернуться". Его хоть за стопицот локаций переноси, а старые кнопки останутся.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 669
Зарегистрирован: 25.05.05
|
|
Отправлено: 31.12.14 10:16. Заголовок: EudGenius пишет: Aj..
EudGenius пишет: На какой версии программы Вы работаете? У меня Ваш пример работает как надо. clsb попробуйте?
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 3
Зарегистрирован: 28.12.14
|
|
Отправлено: 01.01.15 17:37. Заголовок: Korwin пишу под досу..
Korwin пишу под досурку.Обе версии.
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 4
Зарегистрирован: 28.12.14
|
|
Отправлено: 01.01.15 17:40. Заголовок: clsb вместо cls ниче..
clsb вместо cls ничего не дает :/ Даже не чистит экран.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 670
Зарегистрирован: 25.05.05
|
|
Отправлено: 02.01.15 19:02. Заголовок: EudGenius пишет: Ko..
EudGenius пишет: цитата: | Korwin пишу под досурку.Обе версии. |
| Несколько странный выбор, при всей моей ностальгической любви к досурке. FireURQ - отличный современный интерпретатор URQL. Лучший из всех. При этом - с "живым" и очень отзывчивым разработчиком. Но если есть какие-то супер важные причины для использования именно досурки, то было бы логично пользоваться именно моим руководством по ней. http://urq.plut.info/system/files/+URQL.doc А там поискать описание оператора forget_procs - особенного для досурки цитата: | 12). "proc <метка> "- передает управление на метку <метка>, то есть инструкции квеста выполняются с метки <метка>, но когда встречается "end" возвращает управление обратно, оператору, следующему за proc, при условии, что не было оператора forget_procs. (forget_procs - "забывает" все переходы по процедурам.) |
| :место pln Бла-бла-бла. inv+ Отрава btn вернуться, Вернуться. end :use_отрава_Выпить cls pln ТЫ отравился и сдох. forget_procs goto конец end :Вернуться pln Бла-бла-бла end
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 5
Зарегистрирован: 28.12.14
|
|
Отправлено: 11.01.15 19:50. Заголовок: Korwin , единственна..
Korwin , единственная супер-важная причина использовать именно досурку - олдскульный интерфейс и отсутствие тормозов на любом ПеКа :) (а также нормальное использование ASCII- картинок, в досе любой символ одной ширины). Под Фурку надо много чего переписывать, хотя если бы в ней опционально включался дос-режим, было бы классно.Да и парсер под Фуркой будет выглядеть жутко(я до сих пор хочу сделать пускай и простой, но парсер под урку). *ушел пробовать новый оператор*
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 6
Зарегистрирован: 28.12.14
|
|
Отправлено: 11.01.15 19:52. Заголовок: И, да, я читал именн..
И, да, я читал именно это руководство (хотя описания для малышей в нем нет). Как мне убрать надоедливое дальше при выводе кучи pln?
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 146
Зарегистрирован: 06.11.08
|
|
Отправлено: 12.01.15 11:25. Заголовок: EudGenius пишет: Ko..
EudGenius пишет: цитата: | Korwin , единственная супер-важная причина использовать именно досурку - олдскульный интерфейс и отсутствие тормозов на любом ПеКа :) (а также нормальное использование ASCII- картинок, в досе любой символ одной ширины). Под Фурку надо много чего переписывать, хотя если бы в ней опционально включался дос-режим, было бы классно.Да и парсер под Фуркой будет выглядеть жутко(я до сих пор хочу сделать пускай и простой, но парсер под урку). *ушел пробовать новый оператор* |
| В фурке можно использовать моноширинный шрифт. Можно изменить интерфейс на досовский и спокойно делать всё, что нравится. Ни на одном компе она ещё не тормозила. А парсер под досурку будет таким же как и под фурку, в этом плане ничего не меняется - это всё одна и та же урка.
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 7
Зарегистрирован: 28.12.14
|
|
Отправлено: 12.01.15 20:15. Заголовок: В фурке можно исполь..
цитата: | В фурке можно использовать моноширинный шрифт. Можно изменить интерфейс на досовский и спокойно делать всё, что нравится. Ни на одном компе она ещё не тормозила. А парсер под досурку будет таким же как и под фурку, в этом плане ничего не меняется - это всё одна и та же урка. |
| *Ушел искать клевые досовские фичи в фурке*
|
|
Профиль
Цитата
Ответить
|
Ответов - 269
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
All
[только новые]
|
|