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

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


help:objs

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
help:objs [2013/11/07 16:03]
newsash создано
help:objs [2020/08/19 21:32] (текущий)
aleks_versus
Строка 1: Строка 1:
 +[[help:​acts|Назад:​ Действия]]
 =====Предметы (инвентарь)===== =====Предметы (инвентарь)=====
  
-6) В названиях действий и предметов не важен ​регистр ​букв, т.е"ДеньГи" и еньги" ​- одна ​и та же локация.+Предметы главный герой носит с собой, чтобы ​применить куда-нибудь. На деньги можно купить оружие, оружием кого-нибудь победить, ключом открыть дверь, и так далее. Герой может нести предметы в руках, в карманахв заплечном мешке, даже катить, в общем случае говорят ​"инвентарь". Таким образом,​ инвентарь - это список всех предметов, что ​есть у героя в данный момент.
  
-SHOWOBJS [#выражение] - если ​значение ​выражения ​отлично от 0, то показывает список ​предметов, иначе скрывает его. +В названиях предметов не важен регистр букв, т.е. еньГи" ​и "деньги" - один и тот же предмет.
- +
-ADDOBJ [$название],​[$путь к файлу изображения] или ADD OBJ [$название],​[$путь к файлу изображения] - добавление предмета ​с заданным изображением в рюкзак. Индекс. +
- +
-К предметам добавляется новый с названием [$название] и изображением [$путь к файлу изображения]. +
- +
-Параметр [$путь к файлу изображения] может отсутствоватьпри этом предмет добавится без изображения. +
- +
-Обратите внимание - для использования одинаковых предметов инвентаря,​ например денег, патронов ​и т.п., лучше использовать ​дополнительную переменную,​ обозначающую количество этих предметов,​ чтобы не загромождать инвентарь списком из 137 предметов Рубль / ПатронДля хранения числа предметов можно использовать массивы,​ индексируемые через строки:​+
  
 +====Команды====
  
 +  * **SHOWOBJS** //​[#​выражение]//​ - если значение выражения отлично от 0, то показывает список предметов,​ иначе скрывает его.
  
 +  * **ADD OBJ** //​[$название]//​**,​**//​[$путь к файлу изображения]//​**,​**//​[#​индекс]//​ или
 +  * **ADDOBJ** //​[$название]//​**,​**//​[$путь к файлу изображения]//​**,​**//​[#​индекс]//​ - добавление предмета с названием //​[$название]//​ и изображением //​[$путь к файлу изображения]//​ в инвентарь на место с номером //​[#​индекс]//​.
 +    * Параметр //​[#​индекс]//​ может отсутствовать. По умолчанию предметы добавляются в конец списка.
 +    * Индексация предметов рюкзака ведётся с 1.
 +    * Параметр //​[$путь к файлу изображения]//​ может отсутствовать,​ значение по умолчанию - %%''​%%.
 +    * Обратите внимание - для использования одинаковых предметов инвентаря,​ например денег, патронов и т.п., лучше использовать дополнительную переменную,​ обозначающую количество этих предметов,​ чтобы не загромождать инвентарь списком из 137 предметов Рубль / Патрон. Для хранения числа предметов можно использовать массивы,​ индексируемые через строки:<​sxh qsp>
 OBJECTS['​деньги'​] = 12 OBJECTS['​деньги'​] = 12
- 
 OBJECTS['​патроны'​] = 137 OBJECTS['​патроны'​] = 137
  
 '​Количество:​ <<​OBJECTS[$getobj(countobj)]>>'​ '​Количество:​ <<​OBJECTS[$getobj(countobj)]>>'​
 +</​sxh>​
 +  * **DELOBJ** //​[$название]//​ или **DEL OBJ** //​[$название]//​ - удаление предмета из рюкзака,​ если таковой имеется.
 +  * **KILLOBJ** //​[#​номер]//​ - удаление предмета,​ расположенного в заданной позиции. Если параметр [#​номер] не указан,​ то очистка рюкзака.
 +    * Индексация предметов рюкзака ведётся с 1.
 +  * **KILLALL** - эквивалентен конструкции "​KILLVAR & KILLOBJ"​.
  
 +  * **$SELOBJ** - функция возвращает название выделенного предмета в любом месте игры.
  
 +  * **COUNTOBJ** - функция возвращает количество предметов в рюкзаке.
 +  * **$GETOBJ(**//​[#​номер]//​**)** - возвращает название предмета в рюкзаке,​ расположенного в заданной позиции.
 +    * Индексация предметов рюкзака ведётся с 1.
 +    * Если предмета с заданным индексом не существует,​ возвращается пустая строка (''​).
 +    * //​Примеры://<​sxh qsp>
 +!Первый предмет в списке
 +$GETOBJ(1) ​
  
-Также см. локацию-обработчик добавления предмета. +оследний предмет в списке 
- +$GETOBJ(COUNTOBJ) 
- +</​sxh>​
- +
-DELOBJ [$название] или DEL OBJ [$название] - удаление предмета из рюкзака,​ если таковой имеется. Также см. локацию-обработчик удаления предмета. +
- +
- +
- +
-KILLOBJ [#​выражение] - удаление предмета,​ расположенного в заданной позиции. Если параметр [#​выражение] не указан,​ то очистка рюкзака. +
- +
-Индексация ​предметов рюкзака ведётся с 1. Также см. локацию-обработчик удаления ​предмета. +
- +
-KILLALL - эквивалентен конструкции "​KILLVAR & KILLOBJ"​. +
- +
-COUNTOBJ - возвращает количество предметов в рюкзаке. +
- +
-GETOBJ([#​выражение]) - возвращает название предмета в рюкзаке,​ расположенного в заданной позиции. Индексация предметов рюкзака ведётся с 1. +
- +
-Если предмета с заданным индексом не существует,​ возвращается пустая строка (''​). +
- +
- +
-GETOBJ(1) - вернёт название первого предмета в рюкзаке +
- +
-GETOBJ(COUNTOBJ) ​- вернёт название последнего добавленного предмета +
- +
- +
- +
-Код, подсчитывающий в массиве OBJECTS число предметов с одинаковым названием:​ +
- +
  
 +Код, подсчитывающий в массиве OBJECTS число предметов с одинаковым названием:<​sxh qsp>
 i = 1 i = 1
- 
 :loop :loop
- 
 IF i <= COUNTOBJ: IF i <= COUNTOBJ:
 +  OBJECTS[$GETOBJ(i)] = OBJECTS[$GETOBJ(i)] + 1
 +  i = i + 1
 +  JUMP '​loop'​
 +END
 +</​sxh>​
  
-OBJECTS[$GETOBJ(i)= OBJECTS[$GETOBJ(i)+ 1+Cм. также служебные локации: ​[[help:​service_locations|$ONOBJADD]], [[help:​service_locations|$ONOBJDEL]], [[help:​service_locations|$ONOBJSEL]].
  
-i = i + 1 +---- 
- +[[help:​menu|Вперёд:​ Меню]]
-JUMP '​loop'​ +
- +
-END+
help/objs.1383825809.txt.gz · Последние изменения: 2013/11/07 20:03 (внешнее изменение)