RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2426290 views

Bumbr:

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

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

Вот такой код, нужно сделать так , чтобы появлялось действие снять щит при условии что щит одет, и его нельзя было бы одеть 100500 раз
END##text##

Сделал вам менюшку, должен отметить что создавать локации под каждое действие неудобно.
Переделал ваш код и сделал свою версию, с одной локацией-обработчиком.
Код

Спасибо, ваш вариант гораздо лучше

Aleks Versus Moderator 29.07.2013 18:04 (12 years ago)

Bumbr:

создавать локации под каждое действие неудобно

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

Возможно, я всегда действия с предметами выводил собственно в окно действий.

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

Spoiler
$ввод = input ('Введите код')
if $ввод = $код: addobj 'Предмет'
! или наверно можно сразу
if input ('Введите код') = $код: addobj 'Предмет'

А как тогда сделать так чтоб на локацию игрок мог войти всего 1 раз

Alladan:

А как тогда сделать так чтоб на локацию игрок мог войти всего 1 раз

Убей его при входе.

Aleks Versus Moderator 30.07.2013 18:58 (12 years ago)

Olegus t.Gl.:

Убей его при входе.

:=D

Alladan:

А как тогда сделать так чтоб на локацию игрок мог войти всего 1 раз

Вставь в действие, через которое осуществляется переход на локацию, проверку условия, типа по флагу:

if был_на_локации['название_локации']<1: goto 'название_локации'

А на локации, которую посещает герой, выставление этого флага

был_на_локации['название_локации']=1

Alladan,
этот вопрос есть в FAQ: Действие по условию. Там примеры действий для взятия предметов, но принцип тот же.

Нет ли способа выводить действия не списком, а таблицей?

Решил перенести некоторые действия в окно доп. описания, хотя это и не слишком удобно.

Снова интересуюсь нельзя ли подключить дополнительные qsp-файлы к AeroQSP-проекту.

Edited at 31.07.2013 13:56 (12 years ago)

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

Aleks Versus Moderator 05.08.2013 13:27 (12 years ago)

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

Log in or Register to post comments.