====== Модуль Counters ======

^ Подключение          | require "counters"        |
^ Тип                  | расширение кода |
^ Зависимости          | INSTEAD 1.7.0                     |

===== Описание =====

Модуль ведет статистику по действиям игрока: use, inv, walk и act. Счетчики увеличиваются перед выполнением действия, таким образом, учитываются даже не успешные переходы (walk) игрока. tak действие рассматривается как act.

Функции для чтения счетчиков: inv_count(), act_count(), use_count(), walk_count().

Каждая функция, вызванная без параметров, возвращает общее число событий данного типа.
Если первый параметр число, то устанавливается общий счетчик событий данного типа.
Если первый параметр функции это объект, возвращается число событий для данного объекта.
Если первый параметр функции это объект, а второй -- число, то устанавливается число событий для данного объекта.
===== Примеры использования =====

<code lua>
instead_version "1.7.0"
require "counters"

apple = obj {
	nam = 'яблоко';
	dsc = 'На столе лежит {яблоко}.';
	tak = 'Я взял яблоко.';
	inv = 'Красное!';
}:disable();

table = obj {
	nam = 'стол';
	dsc = 'В центре комнаты стоит {стол}.';
	act = function(s)
		if act_count(s) == 1 then
			p 'На столе яблоко!';
			apple:enable();
		else
			p 'Стол как стол.';
		end
	end;
	obj = { 'apple' };
}


main = room {
	nam = 'комната';
	obj = { 'table' };
}
</code>


