gemcross

Объявление

Лучший пост у Аполлона

аполлон ведет себя так, потому что не боится. чего ему, любимому сыну зевса, бояться? смерти? так дядюшка и не примет его, смутьяна, в свое царство! с ним же дионис увяжется, и тогда бедному аиду не будет никакого покоя.

Лучший эпизод: "Трудно, товарищи, верить в хорошее"

Ксейден и Гаррик
игроки
флудеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » gemcross » Тестовый форум » банк


банк

Сообщений 1 страница 6 из 6

1

Банк Ролевой

Текущий баланс:

Помощь с проведением ивента

200 💎
*

Проход с рекламой по нашим темам у партнеров

100 💎
*

Оформление кастовой темы, со списками, сюжетом, хронологией и т.д.

50 💎
*

Участие в ивенте

50 💎
*

Завершенный эпизод (каждому участнику)

30 💎
*

Начатый первый эпизод с персонажем по заявку/заявителем (хотя бы по посту от каждого)

30 💎
*

Пост любого размера в любом эпизоде

15 💎
*

Заявка в "нужные персонажи"/"возьму роль"

15 💎
*

Лучший пост недели

15 💎
*

Лучший эпизод недели (каждому участнику)

15 💎
*

Игрок/флудер недели

15 💎
*

Регистрация

10 💎
*

За каждые 100 сообщений в профиле

10 💎
*

За каждые 100 плюсов в репутации

10 💎
*

За каждые 100 плюсов в позитиве

10 💎
*

Заявка в нужные касты

10 💎
*

За каждые 10 реклам

10 💎
*

Пост в личной теме

5 💎
*

Выкуп каста на 1 месяц (только с согласия всех членов каста, можно в сумме от разных членов каста)

200
*

Пиар по партнерам вашим нужным

150
*

Твинк (начиная с четвертого)

100
*

Смена фона профиля

20
*

1. Ночной сад

2. Закатное поле

3. Город фонарей

4. Корабль в ночи

5. Древо жизни

6. Ночное небо

https://upforme.ru/uploads/001b/2f/0f/6/551215.png

https://upforme.ru/uploads/001b/2f/0f/6/195854.png

https://upforme.ru/uploads/001b/2f/0f/6/721251.png

https://upforme.ru/uploads/001b/2f/0f/6/821336.png

https://upforme.ru/uploads/001b/2f/0f/6/79564.png

https://upforme.ru/uploads/001b/2f/0f/6/156975.png

Выкуп из черного списка на 1 месяц

100
*

Заказ эпиграфа

80
*

Персональная плашка

80
*

Сезонная плашка

60
*

Эмодзи в профиль (себе или другому)

60
*

Твинк (начиная с четвертого)

100
*

Подарок в профиль

60
*

Выкуп роли на 1 месяц (для себя или для друга)

60
*

Выкуп заявки на 1 месяц

60
*

Заказ рекламной листовки

50
*

Заказ нужного в шапку (на две недели)

20
*

Заказ нужного в профиль рекламы (на две недели: авик + лз + плашка)

20
*

Код:

0

2

За какие заслуги:
» подача заявки в "хочу видеть": 1 * 50 = 50 джемов


123

    Общая сумма начисляемой валюты: 50 джемов
    Итоговая сумма в профиле: 300 джемов

0

3

За что получить джемы:
» подача заявки на нужного персонажа: 2 * 100 = 200 джемов


123
456

» подача заявки в "хочу видеть": 1 * 50 = 50 джемов

На что потратить джемы:
» реклама нужного: 2 * 100 = 200 джемов


963
524

Общая сумма начисляемой валюты: 50 джемов
Итоговая сумма в профиле: 300 джемов

0

4

[spoiler="тело поста"]

Код:

[/block]
[/block]

0

5

пост
Код:
[block=bank]
[block=bankHead]Банк Ролевой[/block]
[block=balanceField]Текущий баланс: [balance=currentBalance][/balance]
[/block]
[block=bankForm]
[block=bankTabs][tab=itemSave][label=itemSave]Получить[/label][tab=itemSpend][label=itemSpend]Потратить[/label][/block]
[block=bankItems]

[block=itemSave][checkbox=подача заявки на нужного персонажа]подача заявки на нужного персонажа[/checkbox][price]100[/price] * [number]0[/number][textarea=proofInput]Ссылка на подтверждение...[/textarea][/block]

[block=itemSave][checkbox=подача заявки в "хочу видеть"]подача заявки в "хочу видеть"[/checkbox][price]50[/price] * [number]0[/number][textarea=proofInput]Ссылка на подтверждение...[/textarea]
[/block]

[block=itemSpend]
            [checkbox=реклама нужного]реклама нужного[/checkbox]
            [price]100[/price] * [number]0[/number]
            [textarea=proofInput]Ссылка на заявку[/textarea]
[/block]

[block=itemSpend]
            [checkbox=заявка в шапку]выкуп роли на месяц[/checkbox]
            [price]200[/price] * [number]0[/number]
            [textarea=proofInput]имя персонажа и фандом[/textarea]
[/block]

[block=itemSpend]
            [checkbox=заявка в шапку]заявка в шапку[/checkbox]
            [price]200[/price] * [number]0[/number]
            [textarea=proofInput]имя персонажа и фандом[/textarea]
[/block]

[/block]

[button=generateButton]Рассчитать[/button]
ТУТ ПУСТОЙ КОД
[/block]
[/block]
bb коды

textarea[textarea.proofInput]:im
balance[input/id]:im
tab[input.tabButton/id]:sia
label[label/for]:ia
checkbox[input/value]:ia
price[div]:i
number[input]:i
button[button/id]:a

хтмл низ
Код:
<script type="text/javascript">/**
 * author: амбассадор кринжа
 * modification: dreamer
 * version: 2.1
 * status: test
**/

// Обёртка для всего скрипта
(() => {
    // Кэширование часто используемых селекторов
    const currentBalanceInput = document.getElementById('currentBalance');
    const generateButton = document.getElementById('generateButton');

    // Инициализация: установка баланса и скрытие элементов для действия "потратить"
    const init = () => {
        document.querySelectorAll('.bankTabs p').forEach(tabs => {
            tabs.classList.add('radio-group');
        });
        document.querySelectorAll('input.tabButton').forEach(input => {
            input.type = 'radio';
            input.name = 'action';
        });
        document.querySelectorAll('input.custom_tag_checkbox').forEach(input => {
            input.type = 'checkbox';
        });
        document.querySelectorAll('input.custom_tag_number').forEach(input => {
            input.type = 'number';
            input.value = 0;
        });
        if (typeof UserFld5 !== 'undefined') {
            currentBalanceInput.value = parseInt(UserFld5) || 0;
        } else {
            currentBalanceInput.value = 0;
        }
        document.querySelectorAll('.bankItems .itemSpend').forEach(itembank =>
            itembank.classList.add('hidden')
        );
        
        document.querySelector('input#itemSave').checked = true;
        
        document.querySelectorAll('textarea.proofInput').forEach(textarea => {
            const text = textarea.textContent.trim();
            if (text) {
                textarea.setAttribute('placeholder', text);
                textarea.textContent = '';
            }
});
    };

    // Установка глобальных обработчиков событий
    const setupEventListeners = () => {
        document.querySelectorAll('input[name="action"]').forEach(button => {
            // Вешаем обработчик на изменение
            button.addEventListener('change', function () {
                const action = button.id;
                document.querySelectorAll('.bankItems > *').forEach(itembank => {
                    itembank.classList.toggle('hidden');
                });
            });
        });
        
        document.addEventListener('change', e => {
        // Обработка чекбоксов: показываем/скрываем поле подтверждения и блокируем/разблокируем поле количества
            if (e.target.matches('.bankItems input[type="checkbox"]')) {
                const itembank = e.target.closest('.bankItems > div');
                const proofInput = itembank.querySelector('.resizable-textarea');
                const quantityInput = itembank.querySelector('input[type="number"]');
                proofInput.classList.toggle('visible', e.target.checked);
                quantityInput.disabled = !e.target.checked;
                if (!e.target.checked) {
                    quantityInput.value = 0;
                    proofInput.value = '';
                }
            }
        });

        //Обработка ввода в поле подтверждения (.proof-input)
        document.addEventListener('input', e => {
            if (e.target.matches('.proofInput')) {
                const proofInput = e.target;
                const itembank = proofInput.closest('.bankItems > div');
                const quantityInput = itembank.querySelector('input[type="number"]');

                // Подсчёт количества строк в поле подтверждения
                const lines = proofInput.value.split('\n').filter(line => line.trim() !== '').length;

                // Установка значения числового поля в зависимости от количества строк
                quantityInput.value = Math.max(1, lines); // Минимум 1
            }
        });

        generateButton.addEventListener('click', generateBBCode);
    };

    const generateBBCode = () => {
        let total = 0,
            detailsSave = '',
            detailsSpend = '';
        document.querySelectorAll('.bankItems input[type="checkbox"]:checked').forEach(checkbox => {
            const itembank = checkbox.closest('.bankItems > div');
            const quantity = parseInt(itembank.querySelector('input[type="number"]').value);
            const price = parseInt(itembank.querySelector('.custom_tag_price').textContent);
            const proof = itembank.querySelector('.proofInput').value.trim();
            const sum = quantity * price;
            
            // Основная строка с описанием
            const line = `» ${checkbox.value}: ${quantity} * ${price} = ${sum} джемов`;
            
            if (itembank.classList.contains('itemSave')) {
                total += sum;
                if (proof) {
                    detailsSave += `${line}\n[quote]\n[hr]\n${proof}[/quote]\n`;
                } else {
                    detailsSave += line + '\n';
                }
            } else {
                total -= sum;
                if (proof) {
                    detailsSpend += `${line}\n[quote]${proof}[/quote]\n`;
                } else {
                    detailsSpend += line + '\n';
                }
            }
        });
    
        const currentBalance = parseInt(currentBalanceInput.value) || 0;
        const finalAmount = currentBalance + total;
        let bbcode = '';
        
        if (detailsSave) {
            bbcode += `[b]За что получить джемы:[/b]\n${detailsSave}\n`;
        }
        
        if (detailsSpend) {
            bbcode += `[b]На что потратить джемы:[/b]\n${detailsSpend}\n`;
        }
    
        bbcode += `[b]Общая сумма начисляемой валюты:[/b] ${total} джемов \n[b]Итоговая сумма в профиле:[/b] ${finalAmount} джемов`;
    
        document.querySelector('.blockcode pre').textContent = bbcode;
    };

    init();
    setupEventListeners();
})();</script>

0

6

За что получить джемы:
» подача заявки на нужного персонажа: 2 * 100 = 200 джемов


123
456

» подача заявки в "хочу видеть": 4 * 50 = 200 джемов

На что потратить джемы:
» заявка в шапку: 1 * 200 = 200 джемов

1

Общая сумма начисляемой валюты: 200 джемов
Итоговая сумма в профиле: 450 джемов

0


Вы здесь » gemcross » Тестовый форум » банк


Рейтинг форумов | Создать форум бесплатно