Библиотечка, дополняющая инвентарь
Скачать
- Последняя версия : Inventory Advanced (0.80)
- Старая версия: Библиотечка дополняющая инвентарь 0.76
Описание
Библиотечка, дополняющая возможности стандартного инвентаря QSP.
Позволяет простыми командами добавлять и удалять предметы, при этом их количество будет верно отображаться в инвентаре. Например, если вы добавляете 15 шишек, в инвентаре они отобразятся, как “Шишка (15 шт.)”. Добавляете ещё 15 шишек, и в инвентаре теперь отображается “Шишка (30 шт.)”. Учёт количества шишек берёт на себя библиотечка.
Вы можете добавлять предметы в обход функций библиотечки, они не помешают её работе, но и учитываться ею не будут.
В прикреплённом архиве вы найдёте саму библиотечку (lib/inventory_advanced.qsp), а так же пример работы с ней (invadv_test.qsp).
Автор оригинальной версии Ntropy настаивает на сохранении авторства, если вы используете библиотечку в своём проекте.
Оставить благодарность автору, или связаться с ним, можно по почте:
Ntropy (...@yandex.ru)
Адаптировал библиотечку под плееры версии 5.9.5 и выше Aleks Versus.
Использование
Для использования библиотечки в собственном проекте:
-
распакуйте папку “
lib” из скачанного архива в папку со своей игрой; -
подключите библиотечку, написав в своей игре на самой первой локации команду
inclib 'lib/inventory_advanced.qsp'.
Теперь вы можете использовать локации-функции библиотечки для управления предметами.
Локации могут вызываться как функции и как процедуры. Функции, как правило, возвращают значения, процедуры — никогда не возвращают.
Если вам нужно вызвать локацию, как функцию, в коде игры пишете:
@название_локации('в скобках перечисляем аргументы')
Если вам нужно вызвать локацию, как процедуру, в коде игры пишете:
@@название_локации 'аргументы можно не заключать в скобки'
Команды библиотечки
-
ia_add_obj — добавление предмета в инвентарь. Не возвращает значения. Общая запись:
@@ia_add_obj <$название предмета>, <количество>, <$тип>-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'. -
<количество>— сколько предметов хотите добавить. Если не указать, или указать 0, добавится один предмет к уже имеющемуся количеству. -
<$тип>— строка, обозначающая, в чём считаются предметы:'шт.','руб.','кг.'. Если не указать, или указать пустую строку, будет выводиться только количество.
-
-
ia_del_obj — удаление предмета из инвентаря. Не возвращает значение. Общая запись:
@@ia_del_obj <$название предмета>, <количество>-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'. -
<количество>— сколько предметов хотите удалить. Если не указать, или указать 0, удалится один предмет из уже имеющегося количества. В функцию встроена защита от избыточного удаления (количество предметов не может стать меньше нуля).
-
-
ia_obj_count — устанавливает или возвращает количество предметов с указанным названием. Общая запись:
! для установки количества предметов @@ia_obj_count <$название предмета>, <количество> ! для получения количества предметов @ia_obj_count(<$название предмета>)-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'. -
<количество>— какое число предметов хотите установить. Если не указать количество, функция вернёт число предметов. Если указать 0, число предметов в инвентаре станет равно нулю.
-
-
ia_obj_type — устанавливает или возвращает единицы измерения предмета. Общая запись:
! для установки количества предметов @@ia_obj_type <$название предмета>, <$тип> ! для получения количества предметов @ia_obj_type(<$название предмета>)-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'. -
<$тип>— строка, обозначающая, в чём считаются предметы:'шт.','руб.','кг.'. Если не указать, функция вернёт текущие единицы измерения для данного предмета. Если указать пустую строку, единицы измерения для предмета удалятся.
-
Дополнительные функции библиотечки
-
ia_obj_get_title — возвращает описание предмета, как оно должно отображаться в инвентаре, например “Радиоактивный пепел (1 кг.)”. Это техническая локация библиотечки. Общая запись:
@ia_obj_get_title(<$название предмета>)-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'.
-
-
ia_obj_get_pos — возвращает номер предмета в инвентаре. Если предмет в инвентаре отсутствует, возвращает 0. Эта локация не используется библиотечкой, однако она может быть полезна. Общая запись:
@ia_obj_get_pos(<$название предмета>)-
<$Название предмета>— это строковое название предмета, например'Шишки','Деньги','Радиоактивный пепел'.
-