Перейти к основному содержимому

20.17. Как сделать в игре книгу? Чтобы её можно было взять и потом прочитать?

В: Как сделать в игре книгу? Чтобы её можно было взять и потом прочитать?

О:

На самом деле это частный случай работы с предметами в игре.

Подъём любого предмета пишется с помощью действий. Например:

if книгу_поднял=0:
act "Взять книгу":
addobj "Старая книга"
книгу_поднял=1
goto $curloc
end
end

Теперь, чтобы игрок имел возможность читать эту книгу, нужно завести локацию-обработчик выделения предмета, если у вас её ещё нет. Название может быть любым, но для примера я назову эту локацию "если_предмет_выделен".

Чтобы плеер понял, какую локацию ему нужно использовать, как локацию-обработчик выделения предмета, необходимо прописать название этой локации в системную переменную $onobjsel, например на самой первой локации в игре:

$onobjsel="если_предмет_выделен"

На самой вновь созданной локации пишем код для книги:

! если выбран предмет "Старая книга"
if $selobj="Старая книга":
! очищаем окно дополнительного описания

clr
! выводим текст книги в окно дополнительного описания

pl "Жил на юге человек, еще задолго до того времени, когда Тангбранд сын Вильбальдуса стал проповедовать Христа в Исландии. Звали этого человека Эйрик Светлоокий, сын Торгримура, и в те дни не было человека, равного ему по силе, красоте и смелости, во всем он был первый. Там же, на юге, жили две женщины, неподалеку от того места, где западные острова всплыли над морем. Одну звали Гудруда Прекрасная, другую — Сванхильда, прозванная Незнающей Отца. Они были сводные сестры, и не было равных им женщин в те дни: они были прекраснее всех. Однако между ними не было ничего общего, кроме крови и ненависти."
end
! снимаем выделение предмета

unselect

Так же посмотрите раздел вопросов о создании меню, если хотите добавить больше действий с книгой для игрока.