Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
20.14. Как сделать записную книжку в игре?
В: Как сделать записную книжку в игре?
То есть чтобы игрок мог делать записи, а когда нужно, мог их просматривать.
О:
Хранить записи для записной книжки можно в массиве, саму же записную книжку можно сделать в виде предмета:
Работу с предметом "Записная книжка" удобнее всего орагнизовать через всплывающее меню. Для всплывающего меню создаём две локации. Назовём их, например, "note.add" и "note.read". Первая будет служить для добавления записи в записную книжку, вторая — для воспроизведения записей из записной книжки.
Код локации "note.add" достаточно прост:
$new_note=$input('Введите текст записи.')
! если введён какой-либо текст, добавляем его в очередную ячейку массива note[]
if $new_note<>'':
$note[]=$new_note
end
! для верности удаляем пременную
killvar 'new_note'
Код локации "note.read":
clr
! счётчик
i=0
loop local i=0 while i<arrsize('$note') step i+=1:
! пока счётчик не достиг размера массива note
! выводим запись
pl $note[i]
end
Непосредственно при добавлении предмета, либо где-то ранее, прописываем пункты меню для записной книжки в массив:
$меню_записная_книжка[1]="Прочитать записи:note.read"
На локации-обработчике выделения предмета добавляем такой код:
if $selobj='Записная книжка':
! вызываем меню
menu '$меню_записная_книжка'
end
! не забываем снять выделение в конце локации
unselect
Вот и всё. Теперь у нас есть предмет "Записная книжка", щелчок по которому вызовет всплывающее меню с двумя пунктами "Добавить запись" и "Прочитать записи".