Пользователь указывает дату, с которой ему нужно найти все свои посты, и скрипт находит их, считает количество символов, считает полученную форумную валюту согласно заранее заданным настройкам, а потом выдает аккуратный список, который можно сразу копировать в банк.
Создайте на форуме новую страницу и установите туда скрипт ниже. Отредактируйте currency_dict, subforums и UserFld3 (встречается в коде в двух местах).
currency_dict - это ваши настройки стоимости постов.
- "one", "two" и "five" - это три варианта склонения названия вашей валюты. Одна шестеренка за пост, две шестеренки за пост, пять шестеренок за пост.
- "pricelist" - это ваш прайс-лист за посты. Считыются символы. В примере ниже за пост до 100 символов полагается одна шестеренка, до 200 - две шестеренки, от 301 и выше - четыре шестеренки.
subforums - это номера подфорумов, в которых могут быть игровые посты. Не забудьте добавить архивные подфорумы.
UserFld3 - это поле в профиле, в котором у вас считается валюта. В поле не обязательно должно быть только число, там может быть написано что-то вроде "100 шестеренок". Скрипт сам найдет число в тексте.
<div> <form> <div><label> Имя пользователя: <input type="text" id="user_name_fld" name="user_name" /> </label></div> <div><label> Дата последнего захода в банк (в формате гггг-мм-дд чч:мм:сс): <input type="text" id="last_date_fld" name="last_date" /> </label></div> <div><label> Сколько сейчас билетов в профиле: <input type="text" id="before_fld" name="before" /> </label></div> <a onclick="calculate()">Посчитать</a> </form> </div> <div id="code"></div> <script src="https://frpgtools.com/static/scripts/calculate.js"></script> <script> const currency_dict = { "one": "шестеренка", "two": "шестеренки", "five": "шестеренок", "pricelist": [{ "min": 0, "max": 100, "price": 1 }, { "min": 101, "max": 200, "price": 2 }, { "min": 201, "max": 300, "price": 3 }, { "min": 301, "price": 4 }] } const subforums = [10, 11, 9, 19, 20] document.getElementById('user_name_fld').value = UserLogin; let tickets = 0 if (typeof UserFld3 !== 'undefined') { let numberPattern = /\d+/g; tickets = UserFld3.match(numberPattern)[0] } document.getElementById('before_fld').value = tickets async function calculate() { const user_name = document.getElementById('user_name_fld').value const start_time_str = document.getElementById('last_date_fld').value const before = document.getElementById('before_fld').value const posts = await get_posts(subforums, user_name, start_time_str, currency_dict) const result = '<div class="code-box"><strong class="legend">Код:</strong><div class="blockcode"><div class="scrollbox"><pre>'+format_message(posts, before)+'</pre></div></div></div>' document.getElementById('code').innerHTML = result } </script>