Grey_Fox написал(а):Ivan_V, а вот такой Вам не сгодится? Далее в той теме есть и реализация магазина на его основе, правда, в виде заказов, а не покупки в реальном времени.
Тестировал, начинал с него, потом попробовал более упрощенный вариант. Но как валюта не годится.
Дело в том, что данный скрипт использует алгоритм умножения не совсем в том русле. Плюс, тут действуют только цельные числа, никаких десятых, сотых (0,01, 0,001) и т.п. И еще несколько неприятных моментов, особенно при правке дополнительного поля и изменения числа в скрипте. Впрочем любой может убедится в этом и понять о чем виду я речь, протестировав его. Я сначала тоже обрадовался ) Долго описывать принцип работы, но он реально не годится, если вы умеете считать до 100 и прибавлять без калькулятора.
Я не буду долго описывать почему он фейловый для такой цели.
Я выведу математикой тот, который хотелось бы.
Учитываются все числа, а не только цельные. Берется заданное число из дополнительного поля, будь-то 0, плюсуется (никаких умножений) по схеме исходя из заданных в скрипте.
Например...
Первый скрипт:
а+б=в (где а - сообщение (одно сообщение), б - указанное число в скрипте, как в том, что описано выше (только тут он не множится), в - выводящее, значение для формулы во втором скрипте), никаких умножений. В данном скрипте, он выполняет только функцию вывода "в" и все. К примеру (а)1 (1 сообщение)+0,04 (указатель)=1,04. Таким образом в=1,04.
Второй скрипт:
Из первого скрипта, мы выяснили, что в=1,04 (ВСЕГДА).
в*(здесь умножается)а=д (если значение д=0). То есть проще - в=д (то есть 1,04) Если значение д больше или меньше 0 то, в*а+г=д.
а - каждое добавленное сообщение, то есть а=1 (ВСЕГДА), это триггер который срабатывает на каждое добавленное сообщение.
д - дополнительное поле.
Если д=0 (то есть в дополнительном поле у нас сумма равна 0), тогда скрипт начисляет значение в (что в нашем случае=1,04)
г - сумма дополнительного поля, если д не равняется 0. То есть, тоже д, но при расчете формулы - г.
То есть, если у нас была в дополнительном поле например сумма -0,03 (то г=-0,03) и мы написали сообщение, то расчет - 1,04 (в) *1(а) + (-0,03 (г))=1,01 (д). То есть, после добавления сообщения, в дополнительном поле будет значение 1,01 вместо -0,03
Если запутался кто-то:
а - каждое написанное (добавленное) сообщение и всегда равно 0.
б - указанное число в скрипте за каждое 1 сообщение.
в - значение используемое во втором скрипте, которое отвечает за стоимость каждого сообщения.
Формула первого скрипта: а+б=в
г - сумма в дополнительном поле.
д - дополнительное поле.
Формулы второго скрипта:
1) в*а=д
где в=д, если сумма в дополнительном поле равна 0.
2) в*а+г=д
где сумма в дополнительном поле больше или меньше 0.
Осталось подставить необходимые числа и вуаля,- деньги начисляются за каждое сообщение, вне зависимости, отняли мы из дополнительного поля или его изменили. + не суммируется общее кол-во сообщений. В том же скрипте, все верх тормашками.
Там же, где-то так:
а2*а+д=д или а2*а*б=д
При этом д не равняется д. Как только производится редактирование дополнительного поля, то включается снова выше указанная формула. Но это не только в случае с д, но и в случае суммы сообщений у пользователя. И это еще не все, также происходит пересчет, когда меняется значение б.
Вот такие дела, скрипт хороший, правда
но для валюты, он не годен, для пересчета, начислений, перевода и т.п. Но если у Вас ФРПГ в стиле фентези или фантастики, в самую пору такой скрипт
магия чисел
или компьютерный вирус нового поколения 
Отредактировано Ivan_V (Ср, 14 Окт 2015 16:45:54)