gemini beta v0.1

Объявление

nico
san-francisco
real-life

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

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


Вы здесь » gemini beta v0.1 » GEMINI MOMENT » хеллоуинские дейлики


хеллоуинские дейлики

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

1

[html]
<div class="gemini_topic">
    <div class="gemini_topic_title">
        <div class="gemini_topic_humanized">хеллоуинские дейлики</div>
        <div class="gemini_topic_directive">G:\daily_check</div>
    </div>

    <div class="gemini_topic_main">
        <div class="gemini_topic_block1">надеюсь, вы готовы получать призы просто так, за красивые глазки? налетайте на
            всеми любимые дейлики, но делайте это на ваш страх и риск, если кишка не тонка... ведь никогда не знаешь,
            чего ожидать от админов, которые любят хелловин и хорроры, правда? <strong>считайте это вашим триггер
                ворнингом</strong> и не говорите потом, что я не предупреждал!</div>
        <div class="gemini_topic_minititle">правила участия</div>
        <div class="daily-desc">
            <div>
                <p class="point">
                    отмечаться нужно каждый день (по москве), каждый пропуск обнуляет
                    streak, так что придется начинать заново (призы будут суммироваться всегда)
                </p>
                <p class="point">
                    дейлики полуавтоматичексие, поэтому от вас требуется только нажать
                    кнопочку под нужной циферкой в табличке ниже
                </p>
                <p class="point">
                    токены будут начисляться сразу, а все остальное - по возможности
                    gemini team, понять-простить
                </p>
                <p class="point">
                    с твинков участвовать можно и нужно, токены и ваучеры будут
                    суммироваться, а офомления будут установлены только единдожды, сами
                    понимаете
                </p>
            </div>
            <div class="gemini-daily-streak" id="gemini-daily-streak">
                <i class="fa-solid fa-fire gemini-daily-streak-fire"></i>
                <div class="gemini-daily-streak-text">
                    <span class="gemini-daily-streak-count" id="gemini-daily-streak-count">0</span>
                    <span class="gemini-daily-streak-label">day streak</span>
                </div>
            </div>
        </div>

        <div class="gemini_topic_minititle">отмечайся здесь</div>

        <div class="gemini-daily-grid" id="gemini-daily-grid">
            <div class="gemini-daily-cell" data-day="1">
                <div class="gemini-daily-num">1</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="2">
                <div class="gemini-daily-num">2</div>
                <div class="gemini-daily-desc">
                    500 <i class="fa-regular fa-sparkles"></i>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="3">
                <div class="gemini-daily-num">3</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="4">
                <div class="gemini-daily-num">4</div>
                <div class="gemini-daily-desc">
                    фон плашки
                    <span style="
              color: white;
              padding: 2px 5px;
              border-radius: 15px;
              background: #53612e;
              white-space: nowrap; margin: 3px 0; display: inline-block;
            ">вот такой</span>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="5">
                <div class="gemini-daily-num">5</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="6">
                <div class="gemini-daily-num">6</div>
                <div class="gemini-daily-desc">
                    <span class="voucher_label chaton_label" title="удвоение сообщений" style="cursor: help">CHAT
                        ON</span>
                    на 3 дня
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="7">
                <div class="gemini-daily-num">7</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="8">
                <div class="gemini-daily-num">8</div>
                <div class="gemini-daily-desc">фон плашки (<a href="https://upforme.ru/uploads/001a/e1/ae/2/338682.png"
                        target="_blank">посмотреть</a>)</div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="9">
                <div class="gemini-daily-num">9</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="10">
                <div class="gemini-daily-num">10</div>
                <div class="gemini-daily-desc">
                    иконка
                    <img src="https://upforme.ru/uploads/001c/c2/c0/15/912893.gif" width="16px" />
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="11">
                <div class="gemini-daily-num">11</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="12">
                <div class="gemini-daily-num">12</div>
                <div class="gemini-daily-desc">
                    ваучер
                    <span class="voucher_label postit_label applied" title="удвоение постов" style="cursor: help">post
                        it</span>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="13">
                <div class="gemini-daily-num">13</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="14">
                <div class="gemini-daily-num">14</div>
                <div class="gemini-daily-desc">
                    иконка
                    <img src="https://upforme.ru/uploads/001c/c2/c0/15/448454.gif" width="16px" />
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="15">
                <div class="gemini-daily-num">15</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="16">
                <div class="gemini-daily-num">16</div>
                <div class="gemini-daily-desc">
                    <span class="voucher_label adsrush_label" style="cursor: help" title="удвоение рекламы">AD
                        RUSH</span>
                    на 5 дней
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="17">
                <div class="gemini-daily-num">17</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="18">
                <div class="gemini-daily-num">18</div>
                <div class="gemini-daily-desc">статичный фон профиля (<a
                        href="https://upforme.ru/uploads/001a/e1/ae/2/447649.png" target="_blank">посмотреть</a>)</div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="19">
                <div class="gemini-daily-num">19</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="20">
                <div class="gemini-daily-num">20</div>
                <div class="gemini-daily-desc">
                    <span class="voucher_label plusvibe_label" title="удвоение плюсов" style="cursor: help">PLUS
                        VIBE</span>
                    на 2 дня
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="21">
                <div class="gemini-daily-num">21</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="22">
                <div class="gemini-daily-num">22</div>
                <div class="gemini-daily-desc">
                    ваучер <span class="voucher_label redesign_label" title="3 элемента профиля">SKIN SET</span>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="23">
                <div class="gemini-daily-num">23</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="24">
                <div class="gemini-daily-num">24</div>
                <div class="gemini-daily-desc">
                    фон профиля (<a href="https://upforme.ru/uploads/001a/e1/ae/2/221648.jpg" target="">посмотреть</a>)
                    + фон плашки <span style="
              color: white;
              padding: 2px 5px;
              border-radius: 15px;
              background: #43484e; display: inline-block;
              white-space: nowrap; margin: 3px 0;
            ">вот такой</span>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="25">
                <div class="gemini-daily-num">25</div>
                <div class="gemini-daily-desc"></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="26">
                <div class="gemini-daily-num">26</div>
                <div class="gemini-daily-desc">
                    1500 <i class="fa-regular fa-sparkles"></i>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="27">
                <div class="gemini-daily-num">27</div>
                <div class="gemini-daily-desc">анимированный фон профиля (<a
                        href="https://upforme.ru/uploads/001a/e1/ae/2/371800.gif" target="">посмотреть</a>)</div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="28">
                <div class="gemini-daily-num">28</div>
                <div class="gemini-daily-desc">
                    2 ваучера
                    <span class="voucher_label postit_label applied" title="удвоение постов" style="cursor: help">post
                        it</span>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="29">
                <div class="gemini-daily-num">29</div>
                <div class="gemini-daily-desc">ваучер <span class="voucher_label redesign_label"
                        title="5 элементов профиля" style="cursor: help">redesign</span></div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
            <div class="gemini-daily-cell" data-day="30">
                <div class="gemini-daily-num">30</div>
                <div class="gemini-daily-desc">
                    <span class="voucher_label pticeoff_label" title="скидка в магазине" style="cursor: help">price
                        off</span>
                    на 50% на 3 дня + 3000 <i class="fa-regular fa-sparkles"></i>
                </div>
                <button class="gemini-daily-btn" type="button">Отметиться</button>
            </div>
        </div>
    </div>
</div>

<style>
    .gemini-daily-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 8px;
        padding: 10px;
    }

.daily-desc {display: grid; grid-template-columns: 1fr 90px; gap: 30px}

    @media screen and (max-width: 540px) {
        html:not(.force-desktop) .gemini-daily-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
        }

html:not(.force-desktop) .daily-desc { grid-template-columns: 1fr }
    }

    .gemini-daily-cell {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 8px;
        border: 1px solid var(--topic-block1-border);
        border-radius: 4px;
        min-height: 90px;
        box-sizing: border-box;
        background: var(--topic-block1-bg);
    }

    .gemini-daily-cell.gemini-ticked {
        opacity: 0.6;
        filter: grayscale(0.7);
    }

    .gemini-daily-cell.gemini-current {
        animation: gemini-pulse 1.5s ease-in-out infinite;
    }

    @keyframes gemini-pulse {

        0%,
        100% {
            box-shadow: 0 0 0px var(--topic-block1-border);
        }

        50% {
            box-shadow: 0 0 12px var(--topic-block1-border);
        }
    }

    .gemini-daily-num {
        font-weight: bold;
        font-size: 20px;
        color: var(--plain-text-color);
    }

    .gemini-daily-desc {
        font-size: 12px;
        text-align: center;
        flex: 1;
    }

    .gemini-daily-desc i {
        font-weight: 200;
    }

    .gemini-daily-desc img.bg {
        object-fit: cover;
        width: 100%;
        border-radius: 5px;
        margin-top: 5px;
        display: block;
        aspect-ratio: 3 / 2;
    }

    .gemini-daily-btn {
        padding: 4px 8px;
        cursor: pointer;
    }

    .gemini-daily-streak {
        width: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        box-sizing: border-box;
    }

    .gemini-daily-streak-fire {
        font-size: 64px;
        color: var(--accent-color);
    }

    .gemini-daily-streak-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        line-height: 1.2;
    }

    .gemini-daily-streak-count {
        font-size: 32px;
        font-weight: bold;
        color: var(--plain-text-color);
    }

    .gemini-daily-streak-label {
        font-size: 12px;
        opacity: 0.7;
    }

</style>

<script src="https://forumstatic.ru/files/001a/e1/ae/62149.js"></script>
[/html][hideprofile]

+1

2

дейлики на октябрь с пугалками
павуки по экрану
скример
кровь сверху
звук детского смеха
топот маленьких ножек
поломка форума

0

3

кровь

Код:
(function () {
    // === SVG-фильтр ===
    var svgNS = "http://www.w3.org/2000/svg";
    var svg = document.createElementNS(svgNS, "svg");
    svg.setAttribute("style", "display: none;");
    svg.innerHTML =
        '<filter id="blood-noise">' +
            '<feTurbulence baseFrequency="0.07" type="fractalNoise" result="turbNoise" />' +
            '<feDisplacementMap in="SourceGraphic" in2="turbNoise" ' +
                'xChannelSelector="G" yChannelSelector="B" scale="4" result="disp" />' +
        '</filter>';
    document.body.appendChild(svg);

    // === Стили ===
    var style = document.createElement("style");
    style.textContent =
        '#blood-layer {' +
            'position: fixed;' +
            'top: -100px;' +                      /* ⭐ подняли на 100px вверх */
            'left: 0;' +
            'width: 100vw;' +
            'height: calc(100vh + 100px);' +      /* ⭐ добавили 100px к высоте */
            'pointer-events: none;' +
            'z-index: 999999;' +
            'filter: url(#blood-noise) blur(1px) contrast(1.6);' +
        '}';
    document.head.appendChild(style);

    // === Canvas ===
    var w = window.innerWidth;
    var h = window.innerHeight + 100;  // ⭐ высота с запасом

    var canvas = document.createElement("canvas");
    canvas.id = "blood-layer";
    document.body.appendChild(canvas);
    canvas.width = w;
    canvas.height = h;

    var ctx = canvas.getContext("2d");

    function Blood(x, y, r, s) {
        this.x = x;
        this.y = y;
        this.r = r;
        this.cy = y;
        this.speed = s;
    }

    Blood.prototype.draw = function () {
        ctx.beginPath();
        ctx.arc(this.x + 1, this.cy, this.r, 0, Math.PI * 2);
        ctx.closePath();
        ctx.fillStyle = 'red';
        ctx.fill();
    };

    // === Генерация капель ===
    var bloodDrops = [];

    // ⭐ генерируем 80 капель случайно по всей ширине
    var count = 80;
    for (var i = 0; i < count; i++) {
        var x = Math.random() * w;
        var y = 20 + Math.random() * 100;         // стартовая высота разная
        var r = 0.8 + Math.random() * 2.5;         // ⭐ радиус от 0.8 до 3.3 (толще)
        var s = 0.6 + Math.random() * 1.8;         // скорость от 0.6 до 2.4
        bloodDrops.push(new Blood(x, y, r, s));
    }

    // ⭐ добавляем "толстые" струи — несколько капель рядом с большим радиусом
    for (var j = 0; j < 10; j++) {
        var baseX = Math.random() * w;
        var baseY = 30 + Math.random() * 80;
        var speed = 0.8 + Math.random() * 1.5;
        // 4-5 капель рядом
        var cluster = 4 + Math.floor(Math.random() * 2);
        for (var k = 0; k < cluster; k++) {
            var offsetX = (Math.random() - 0.5) * 15;
            var r = 1.5 + Math.random() * 2.5;
            bloodDrops.push(new Blood(baseX + offsetX, baseY, r, speed));
        }
    }

    function loop() {
        ctx.globalCompositeOperation = 'destination-out';
        ctx.fillStyle = 'rgba(0,0,0,0.02)';
        ctx.fillRect(0, 0, w, h);

        ctx.globalCompositeOperation = 'source-over';

        for (var i = 0; i < bloodDrops.length; ++i) {
            if (Math.random() > 0.5) {
                bloodDrops[i].cy += bloodDrops[i].speed;
            } else {
                bloodDrops[i].cy += bloodDrops[i].speed / 3;
            }

            if (bloodDrops[i].cy > h) {
                bloodDrops[i].cy = bloodDrops[i].y;
            }

            bloodDrops[i].draw();
        }

        requestAnimationFrame(loop);
    }

    loop();

    window.addEventListener("resize", function () {
        w = window.innerWidth;
        h = window.innerHeight + 100;
        canvas.width = w;
        canvas.height = h;
    });
})();

павуки

Код:
// ============================================
// 🕷️ ПАУКИ ВЫБЕГАЮТ ТОЛЬКО ИЗ ВЕРХНЕЙ ЧАСТИ 🕷️
// 250 пауков, спавн: сверху и по бокам (только верхние 30%)
// Вставь в консоль (F12) и нажми Enter
// ============================================

(function() {
    const CONFIG = {
        totalSpiders: 250,
        minSize: 25,
        maxSize: 100,
        minSpeed: 10,
        maxSpeed: 50
    };
    
    const GIF_URL = 'https://upforme.ru/uploads/001c/c2/c0/10/74374.gif';
    
    const container = document.createElement('div');
    container.style.cssText = `
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        pointer-events: none;
        z-index: 999999;
        overflow: hidden;
    `;
    document.body.appendChild(container);
    
    const gifImg = new Image();
    gifImg.src = GIF_URL;
    
    let spiders = [];
    let isRunning = true;
    let isGifLoaded = false;
    
    gifImg.onload = function() {
        console.log('🕷️ Гифка загружена!');
        isGifLoaded = true;
        for (let i = 0; i < CONFIG.totalSpiders; i++) {
            createSpider();
        }
        console.log(`🕷️ ${CONFIG.totalSpiders} пауков бегут!`);
        animateSpiders();
    };
    
    gifImg.onerror = function() {
        console.warn('⚠️ Гифка не загрузилась, использую эмодзи');
        isGifLoaded = true;
        for (let i = 0; i < CONFIG.totalSpiders; i++) {
            createSpider();
        }
        animateSpiders();
    };
    
    function createSpider() {
        const size = CONFIG.minSize + Math.random() * (CONFIG.maxSize - CONFIG.minSize);
        
        // === СПАВН: СВЕРХУ + БОКА (ТОЛЬКО ВЕРХНИЕ 30%) ===
        const side = Math.random();
        let x, y, angle;
        
        // Верхняя граница 30% от высоты экрана
        const topAreaHeight = window.innerHeight * 0.3;
        
        if (side < 0.33) {
            // Сверху (по всей ширине)
            x = Math.random() * window.innerWidth;
            y = -size - Math.random() * 100;
            angle = 180; // Вниз
        } else if (side < 0.66) {
            // Слева (только в верхних 30%)
            x = -size - Math.random() * 100;
            y = Math.random() * topAreaHeight;
            angle = 90; // Вправо
        } else {
            // Справа (только в верхних 30%)
            x = window.innerWidth + size + Math.random() * 100;
            y = Math.random() * topAreaHeight;
            angle = 270; // Влево
        }
        
        const speed = CONFIG.minSpeed + Math.random() * (CONFIG.maxSpeed - CONFIG.minSpeed);
        
        const spider = document.createElement('img');
        if (isGifLoaded) {
            spider.src = GIF_URL;
        } else {
            spider.textContent = '🕷️';
            spider.style.fontSize = size + 'px';
            spider.style.lineHeight = '1';
        }
        
        spider.style.cssText = `
            position: absolute;
            top: ${y}px;
            left: ${x}px;
            width: ${isGifLoaded ? size : 'auto'}px;
            height: ${isGifLoaded ? size : 'auto'}px;
            ${!isGifLoaded ? `font-size: ${size}px; line-height: 1;` : ''}
            object-fit: contain;
            opacity: ${0.7 + Math.random() * 0.3};
            transform-origin: center center;
            transform: rotate(${angle}deg);
            pointer-events: none;
        `;
        
        if (!isGifLoaded) {
            spider.textContent = '🕷️';
        }
        
        container.appendChild(spider);
        
        spiders.push({
            el: spider,
            x: x,
            y: y,
            size: size,
            speed: speed,
            angle: angle,
            changeTimer: Math.random() * 20,
            changeInterval: 15 + Math.floor(Math.random() * 35),
            shakeIntensity: 0.5 + Math.random() * 1.0,
            isDead: false
        });
    }
    
    function animateSpiders() {
        function move() {
            if (!isRunning) return;
            
            let aliveCount = 0;
            
            spiders.forEach(spider => {
                if (spider.isDead) return;
                
                // === МЕНЯЕМ НАПРАВЛЕНИЕ ===
                spider.changeTimer++;
                if (spider.changeTimer >= spider.changeInterval) {
                    spider.changeTimer = 0;
                    spider.angle += (Math.random() - 0.5) * 40;
                    spider.changeInterval = 15 + Math.floor(Math.random() * 35);
                    
                    const speedChange = (Math.random() - 0.5) * 5;
                    spider.speed = Math.max(
                        CONFIG.minSpeed * 0.8,
                        Math.min(CONFIG.maxSpeed * 1.2, spider.speed + speedChange)
                    );
                }
                
                // === ДВИЖЕНИЕ ===
                const angleRad = spider.angle * Math.PI / 180;
                const moveX = Math.sin(angleRad) * spider.speed * 0.5;
                const moveY = -Math.cos(angleRad) * spider.speed * 0.5;
                
                const shakeX = (Math.random() - 0.5) * spider.shakeIntensity;
                const shakeY = (Math.random() - 0.5) * spider.shakeIntensity * 0.5;
                
                spider.x += moveX + shakeX;
                spider.y += moveY + shakeY;
                
                // === ПОВОРОТ ===
                spider.el.style.top = spider.y + 'px';
                spider.el.style.left = spider.x + 'px';
                spider.el.style.transform = `rotate(${spider.angle}deg)`;
                
                // === ВЫЛЕТ ===
                const margin = 200;
                if (spider.y > window.innerHeight + margin || 
                    spider.y < -margin ||
                    spider.x > window.innerWidth + margin || 
                    spider.x < -margin) {
                    spider.isDead = true;
                    spider.el.style.display = 'none';
                } else {
                    aliveCount++;
                }
            });
            
            if (aliveCount === 0) {
                console.log('🕷️ Все пауки добежали! Финиш! 🏁');
                isRunning = false;
                return;
            }
            
            requestAnimationFrame(move);
        }
        
        move();
    }
    
    document.addEventListener('keydown', function stop(e) {
        if (e.key === 'Escape') {
            isRunning = false;
            container.remove();
            document.removeEventListener('keydown', stop);
            console.log('🕷️ Пауки исчезли!');
        }
    });
    
    console.log(`🕷️ Запускаем ${CONFIG.totalSpiders} пауков! Нажми ESC чтобы остановить.`);
})();

скример

Код:
(function () {
    // === НАСТРОЙКИ ===
    var IMG_URL = 'https://upforme.ru/uploads/001a/e1/ae/2/885378.png';
    var DURATION = 1000;   // сколько миллисекунд показывать (1500 = 1.5 сек)
    var Z_INDEX = 2147483647;
    // ==================

    // === Стили ===
    var style = document.createElement('style');
    style.textContent =
        '#screamer-overlay {' +
            'position: fixed;' +
            'top: 0;' +
            'left: 0;' +
            'width: 100vw;' +
            'height: 100vh;' +
            'z-index: ' + Z_INDEX + ';' +
            'background: #000;' +
            'display: flex;' +
            'align-items: center;' +
            'justify-content: center;' +
            'pointer-events: none;' +
            'opacity: 0;' +
            'transition: opacity 80ms ease-in;' +
            'overflow: hidden;' +
        '}' +
        '#screamer-overlay.active {' +
            'opacity: 1;' +
        '}' +
        '#screamer-overlay img {' +
            'max-width: 100%;' +
            'max-height: 100%;' +
            'width: auto;' +
            'height: auto;' +
            'object-fit: contain;' +      /* ⭐ вписываем целиком, не растягиваем */
            'display: block;' +
            'animation: screamer-shake 60ms infinite;' +
        '}' +
        '@keyframes screamer-shake {' +
            '0%   { transform: translate(0, 0) scale(1.02); }' +
            '25%  { transform: translate(-4px, 2px) scale(1.04); }' +
            '50%  { transform: translate(3px, -3px) scale(1.02); }' +
            '75%  { transform: translate(-2px, 4px) scale(1.05); }' +
            '100% { transform: translate(4px, -2px) scale(1.03); }' +
        '}';
    document.head.appendChild(style);

    // === Разметка ===
    var overlay = document.createElement('div');
    overlay.id = 'screamer-overlay';

    var img = document.createElement('img');
    img.src = IMG_URL;
    img.alt = '';

    overlay.appendChild(img);
    document.body.appendChild(overlay);

    // === Показ ===
    function show() {
        void overlay.offsetWidth;
        overlay.classList.add('active');

        setTimeout(function () {
            overlay.classList.remove('active');
            setTimeout(function () {
                if (overlay.parentNode) {
                    overlay.parentNode.removeChild(overlay);
                }
            }, 150);
        }, DURATION);
    }

    img.onload = show;
    img.onerror = function () {
        console.warn('Скример: не удалось загрузить картинку');
        show();
    };

    if (img.complete) show();
})();

глитч

Код:
(function () {
    // === НАСТРОЙКИ ===
    var DURATION = 600;  // длительность глитча (мс)
    // ==================

    var style = document.createElement('style');
    style.textContent =
        '@keyframes glitch-shift {' +
            '0%   { transform: translate(0, 0); filter: none; }' +
            '10%  { transform: translate(-8px, 2px); filter: invert(1) hue-rotate(90deg); }' +
            '20%  { transform: translate(6px, -4px); filter: invert(0.8) hue-rotate(-60deg); }' +
            '30%  { transform: translate(-4px, 6px); filter: invert(1) hue-rotate(180deg); }' +
            '40%  { transform: translate(10px, -2px); filter: saturate(3) contrast(2); }' +
            '50%  { transform: translate(-6px, -6px); filter: invert(0.5); }' +
            '60%  { transform: translate(8px, 4px); filter: hue-rotate(90deg); }' +
            '70%  { transform: translate(-10px, 0); filter: invert(1); }' +
            '80%  { transform: translate(4px, -8px); filter: saturate(5); }' +
            '90%  { transform: translate(-2px, 4px); filter: invert(0.3); }' +
            '100% { transform: translate(0, 0); filter: none; }' +
        '}' +
        '.glitch-active {' +
            'animation: glitch-shift 100ms infinite;' +
        '}' +
        /* RGB-разделение через псевдоэлементы */
        '#glitch-rgb {' +
            'position: fixed;' +
            'top: 0; left: 0;' +
            'width: 100vw; height: 100vh;' +
            'z-index: 2147483645;' +
            'pointer-events: none;' +
            'opacity: 0;' +
            'transition: opacity 60ms;' +
            'background: rgba(255,0,0,0.05);' +
            'mix-blend-mode: screen;' +
        '}' +
        '#glitch-rgb.active {' +
            'opacity: 1;' +
        '}';
    document.head.appendChild(style);

    function trigger() {
        document.body.classList.add('glitch-active');

        var rgb = document.createElement('div');
        rgb.id = 'glitch-rgb';
        document.body.appendChild(rgb);
        void rgb.offsetWidth;
        rgb.classList.add('active');

        // случайные горизонтальные сдвиги
        var shifts = setInterval(function () {
            document.body.style.transform = 'translateX(' + (Math.random() - 0.5) * 20 + 'px)';
        }, 40);

        setTimeout(function () {
            clearInterval(shifts);
            document.body.style.transform = '';
            document.body.classList.remove('glitch-active');
            rgb.classList.remove('active');
            setTimeout(function () {
                if (rgb.parentNode) rgb.parentNode.removeChild(rgb);
            }, 100);
        }, DURATION);
    }

    trigger();
})();

0

4

https://codepen.io/hoskinshozzy/pen/LENoXeV
https://codepen.io/st-skumar/pen/BaXeqMV

https://codepen.io/epilande/pen/DeoZVY

https://codepen.io/BenjiStander/pen/JReQmQ

0

5

Код:
mybbAPI.call("storage.set", {
  key: "daily_progress_gemini",
  value: JSON.stringify([9, 10, 11, 12]),
  token: window.ForumAPITicket
}).then(r => console.log("saved:", r));

0

6

3

0

7

4

0

8

5

0

9

5

0

10

5

0

11

6

0

12

7

0

13

8

0

14

11

0

15

13

0

16

14

0

17

15

0

18

16

0

19

16

0

20

20

0

21

21

0

22

25

0

23

26

0

24

27

0

25

28

0

26

28

0

27

29

0

28

5

0

29

[html]<div id="gemini-debug-buttons">
  <button class="gemini-debug-btn" data-day="5">день 5</button>
  <button class="gemini-debug-btn" data-day="10">день 10</button>
  <button class="gemini-debug-btn" data-day="13">день 13</button>
  <button class="gemini-debug-btn" data-day="16">день 16</button>
  <button class="gemini-debug-btn" data-day="20">день 20</button>
  <button class="gemini-debug-btn" data-day="21">день 21</button>
  <button class="gemini-debug-btn" data-day="25">день 25</button>
  <button class="gemini-debug-btn" data-day="27">день 27</button>
  <button class="gemini-debug-btn" data-day="28">день 28</button>
</div>
<script>
const STORAGE_KEY = "daily_progress_gemini";

function getMoscowDay() {
  const now = new Date();
  const msk = new Date(
    now.getTime() + (3 * 60 + now.getTimezoneOffset()) * 60000
  );
  return msk.getDate();
}

function buildArrForDay(targetDay) {
  const today = getMoscowDay();
  const arr = [];
  for (let i = targetDay - 1; i >= 1; i--) {
    arr.push(today - i);
  }
  return arr;
}

document.querySelectorAll(".gemini-debug-btn").forEach(function (btn) {
  btn.addEventListener("click", function () {
    const targetDay = parseInt(btn.dataset.day, 10);
    const arr = buildArrForDay(targetDay);

    console.log("[debug] targetDay:", targetDay, "arr:", arr);

    mybbAPI
      .call("storage.set", {
        key: STORAGE_KEY,
        value: JSON.stringify(arr),
        token: window.ForumAPITicket,
      })
      .then(function (r) {
        console.log("[debug] saved:", r);
        if (window.$ && $.jGrowl) {
          $.jGrowl("день " + targetDay + " записан: [" + arr.join(",") + "]");
        }
      });
  });
});
</script>[/html]

0

30

10

0


Вы здесь » gemini beta v0.1 » GEMINI MOMENT » хеллоуинские дейлики


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