RU

Удалить пункт меню

Nex Moderator 24.06.2013 03:24 0 comments 5488 views

Prophet:

А как удалить пункт? Только пункт, не все меню. Просто мне нужно сделать так: например, если ГГ изучил книгу, пункт “Изучил книгу” в меню книги удаляется навсегда.

Prophet,
для обычного меню есть несколько способов.

Первый самый простой: удалить элемент массива, с помощью которого вызывается меню.

Пример:

! Удаляем четвёртый пункт меню (нумерация ведётся с нуля)
KILLVAR '$Моё_крутое_меню', 3

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

Пример:

! Локация, где вызываем меню
'<a href="EXEC:GS ''Вызов_меню''">...</a>'

! Служебная локация "Вызов_меню"
KILLVAR '$Моё_крутое_меню'
$Моё_крутое_меню[] = 'Осмотреть книгу:осмотреть_книгу'
$Моё_крутое_меню[] = 'Выбросить книгу:выбросить_книгу'
IF книга_изучена = 0:
    $Моё_крутое_меню[] = 'Изучить книгу:изучить_книгу'
END
$Моё_крутое_меню[] = 'Сжечь книгу:сжечь_книгу'
MENU '$Моё_крутое_меню'

Log in or Register to post comments.