Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su

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

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

О:

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

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

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

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

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

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

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

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

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