Инструменты пользователя

Инструменты сайта


Боковая панель

help:objs

Это старая версия документа.


Назад: Действия

Предметы (инвентарь)

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

В названиях предметов не важен регистр букв, т.е. "ДеньГи" и "деньги" - один и тот же предмет.

Команды

  • SHOWOBJS [#выражение] - если значение выражения отлично от 0, то показывает список предметов, иначе скрывает его.
  • ADD OBJ [$название],[$путь к файлу изображения],[#индекс] или
  • ADDOBJ [$название],[$путь к файлу изображения],[#индекс] - добавление предмета с названием [$название] и изображением [$путь к файлу изображения] в инвентарь на место с номером [#индекс].
    • Параметр [$индекс] может отсутствовать. По умолчанию предметы добавляются в конец списка.
    • Индексация предметов рюкзака ведётся с 1.
    • Параметр [$путь к файлу изображения] может отсутствовать, значение по умолчанию - ''.
    • Обратите внимание - для использования одинаковых предметов инвентаря, например денег, патронов и т.п., лучше использовать дополнительную переменную, обозначающую количество этих предметов, чтобы не загромождать инвентарь списком из 137 предметов Рубль / Патрон. Для хранения числа предметов можно использовать массивы, индексируемые через строки:
      OBJECTS['деньги'] = 12
      OBJECTS['патроны'] = 137
      
      'Количество: <<OBJECTS[$getobj(countobj)]>>'
      
  • DELOBJ [$название] или DEL OBJ [$название] - удаление предмета из рюкзака, если таковой имеется.
  • KILLOBJ [#номер] - удаление предмета, расположенного в заданной позиции. Если параметр [#номер] не указан, то очистка рюкзака.
    • Индексация предметов рюкзака ведётся с 1.
  • KILLALL - эквивалентен конструкции "KILLVAR & KILLOBJ".
  • COUNTOBJ - функция возвращает количество предметов в рюкзаке.
  • GETOBJ([#номер]) - возвращает название предмета в рюкзаке, расположенного в заданной позиции.
    • Индексация предметов рюкзака ведётся с 1.
    • Если предмета с заданным индексом не существует, возвращается пустая строка ('').
    • Примеры:
      !Первый предмет в списке
      GETOBJ(1) 
      
      !Последний предмет в списке
      GETOBJ(COUNTOBJ)
      

Код, подсчитывающий в массиве OBJECTS число предметов с одинаковым названием:

i = 1
:loop
IF i <= COUNTOBJ:
  OBJECTS[$GETOBJ(i)] = OBJECTS[$GETOBJ(i)] + 1
  i = i + 1
  JUMP 'loop'
END

Cм. также служебные локации: $ONOBJADD, $ONOBJDEL, $ONOBJSEL.


Вперёд: Меню

help/objs.1405870865.txt.gz · Последние изменения: 2014/07/20 19:41 (внешнее изменение)