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

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

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

О:

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

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

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

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

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

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

if $selobj="Отвёртка":
! если выделен предмет Отвёртка
    
! очищаем окно доп описания
    clr
    
! выводим описание предмета
    pl "Прекрасная крестовая отвёртка. Отлично подойдёт для регулирования уровня громкости"    
end

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

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

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