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

14.8. Как сделать, чтоб при щелчке по предмету выполнялся какой-либо код?

В: Как сделать, чтоб при щелчке по предмету выполнялся какой-либо код?

О: Для начала нужно завести локацию-обработчик выделения предмета. Для этого:

  • создаём локацию и называем, например, "если_предмет_выбран". Название может быть любым.
  • в самой первой локации в игре указываем плееру, какую локацию он должен использовать, как обработчик выделения предмета. Для этого в системную переменную $onobjsel вносим имя нашей новой локации:
    $onobjsel = "если_предмет_выбран"

Теперь код локации будет выполняться всякий раз, когда мы выделяем новый предмет.

Функция $selobj возвращает нам название выделенного предмета, поэтому на локации-обработчике мы можем проверять, какой предмет выделен, и выполнять соответствующий код.

Например, можно выводить описание предмета в окно дополнительного описания при щелчке по предмету:

if $selobj = "Отвёртка":
! если выделен предмет Отвёртка

! очищаем окно доп описания

clr
! выводим описание предмета

pl "Прекрасная крестовая отвёртка. Отлично подойдёт для регулирования уровня громкости"
end

Или совершать переход на локацию:

if $selobj = "Камень телепортации":
! если выделен предмет Камень телепортации

! переходим на локацию

goto "Эверест"
end

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