• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

JS-скрипт Js на снег для в3 (crack)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
2 Окт 2019
Сообщения
75
Реакции
11
На офисе не работает (хз по чему, кто сможет фиксите)
Выглядит стремновато слегка, но под скумбрию пойдёт, тестите!

Размер снежинок и кол-во можно изменять.

unknown.png

JavaScript:
Expand Collapse Copy
var flakes_count = 500;
var flakes = [];
var screenSize = Global.GetScreenSize();
var isOutside = null;
var lastEntity = null;

function randomFlakes()
{
    var i = 0;
    while(i++ < flakes_count)
    {
        flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
    }
}

function onScriptInit()
{
    randomFlakes();
    Global.RegisterCallback("Draw", "onDrawEvent");
    UI.AddSliderInt("Snow amount", 100, 1000);
    UI.AddSliderFloat("Flake size", 5.0, 10.0);
    UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount", flakes_count);
}

function onDrawEvent()
{
    var localPlayer = Entity.GetLocalPlayer();

    if(!localPlayer)
        return;

    var entityHead = null;

    if(Entity.IsAlive(localPlayer))
    {
        entityHead = Entity.GetHitboxPosition(localPlayer, 0);

        if(lastEntity != localPlayer)
            isOutside = null;

        lastEntity = localPlayer;
    }
    else {
        var spectactingPlayer = Entity.GetProp(localPlayer, "CBasePlayer", "m_hObserverTarget");

        if(spectactingPlayer !== "m_hObserverTarget")
        {
            entityHead = Entity.GetHitboxPosition(spectactingPlayer, 0);

            if(lastEntity != spectactingPlayer)
                isOutside = null;

            lastEntity = spectactingPlayer;
        }
        else
            return;
    }

    var traceResult = Trace.Line(lastEntity, entityHead, [entityHead[0], entityHead[1], entityHead[2] + 1000]);

    var snowAmount = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount");

    if(flakes_count != snowAmount)
    {
        while(snowAmount != flakes.length)
        {
            if(snowAmount < flakes.length)
                flakes.pop();
            else
                flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
        }

        flakes_count = snowAmount;
    }
  
    if(isOutside == null)
    {
        isOutside = traceResult[1] == 1.0;
  
        if(!isOutside)
        {
            for(var i = 0; i < flakes.length; i ++)
                flakes[i].y = screenSize[1] + 50;
        }
    }

    if(isOutside != (traceResult[1] == 1.0))
    {
        isOutside = traceResult[1] == 1.0;

        if(isOutside)
        {
            flakes = [];
            randomFlakes();
        }
    }

    var flakeSize = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Flake size");
    var realTime = Global.Realtime();

    for(var i = 0; i < flakes.length; i ++)
    {
        if(flakes[i].down_Time)
        {
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
      
            if(flakes[i].down_Time > realTime)
                continue;

            if(!isOutside)
                continue;

            flakes[i].down_Time = 0;
            flakes[i].x = Math.random() * screenSize[0];
            flakes[i].x_Move = 0.0;
            flakes[i].x_Move_Direction = true;
            flakes[i].y = 0;
            flakes[i].alpha = Math.random();
        }

        flakes[i].y += 0.5 + Math.random() * 0.5;

        if(!isOutside)
            flakes[i].y ++;

        flakes[i].x_Move += 0.0025 * (flakes[i].x_Move_Direction === true ? 1 : -1);

        if(flakes[i].x_Move >= 0.07 || flakes[i].x_Move <= 0.0)
            flakes[i].x_Move_Direction = !flakes[i].x_Move_Direction;
        else
            flakes[i].x += flakes[i].x_Move;

        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);

        if(flakes[i].y >= screenSize[1] - 5)
            flakes[i].down_Time = realTime + 0.5;
    }
}

onScriptInit();
 

Вложения

  • snow.rar
    snow.rar
    1.2 KB · Просмотры: 169
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На офисе не работает (хз по чему, кто сможет фиксите)
Выглядит стремновато слегка, но под скумбрию пойдёт, тестите!


JavaScript:
Expand Collapse Copy
var flakes_count = 500;
var flakes = [];
var screenSize = Global.GetScreenSize();
var isOutside = null;
var lastEntity = null;

function randomFlakes()
{
    var i = 0;
    while(i++ < flakes_count)
    {
        flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
    }
}

function onScriptInit()
{
    randomFlakes();
    Global.RegisterCallback("Draw", "onDrawEvent");
    UI.AddSliderInt("Snow amount", 100, 1000);
    UI.AddSliderFloat("Flake size", 5.0, 10.0);
    UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount", flakes_count);
}

function onDrawEvent()
{
    var localPlayer = Entity.GetLocalPlayer();

    if(!localPlayer)
        return;

    var entityHead = null;

    if(Entity.IsAlive(localPlayer))
    {
        entityHead = Entity.GetHitboxPosition(localPlayer, 0);

        if(lastEntity != localPlayer)
            isOutside = null;

        lastEntity = localPlayer;
    }
    else {
        var spectactingPlayer = Entity.GetProp(localPlayer, "CBasePlayer", "m_hObserverTarget");

        if(spectactingPlayer !== "m_hObserverTarget")
        {
            entityHead = Entity.GetHitboxPosition(spectactingPlayer, 0);

            if(lastEntity != spectactingPlayer)
                isOutside = null;

            lastEntity = spectactingPlayer;
        }
        else
            return;
    }

    var traceResult = Trace.Line(lastEntity, entityHead, [entityHead[0], entityHead[1], entityHead[2] + 1000]);

    var snowAmount = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount");

    if(flakes_count != snowAmount)
    {
        while(snowAmount != flakes.length)
        {
            if(snowAmount < flakes.length)
                flakes.pop();
            else
                flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
        }

        flakes_count = snowAmount;
    }
       
    if(isOutside == null)
    {
        isOutside = traceResult[1] == 1.0;
       
        if(!isOutside)
        {
            for(var i = 0; i < flakes.length; i ++)
                flakes[i].y = screenSize[1] + 50;
        }
    }

    if(isOutside != (traceResult[1] == 1.0))
    {
        isOutside = traceResult[1] == 1.0;

        if(isOutside)
        {
            flakes = [];
            randomFlakes();
        }
    }

    var flakeSize = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Flake size");
    var realTime = Global.Realtime();

    for(var i = 0; i < flakes.length; i ++)
    {
        if(flakes[i].down_Time)
        {
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
           
            if(flakes[i].down_Time > realTime)  
                continue;

            if(!isOutside)
                continue;

            flakes[i].down_Time = 0;
            flakes[i].x = Math.random() * screenSize[0];
            flakes[i].x_Move = 0.0;
            flakes[i].x_Move_Direction = true;
            flakes[i].y = 0;
            flakes[i].alpha = Math.random();
        }

        flakes[i].y += 0.5 + Math.random() * 0.5;

        if(!isOutside)
            flakes[i].y ++;

        flakes[i].x_Move += 0.0025 * (flakes[i].x_Move_Direction === true ? 1 : -1);

        if(flakes[i].x_Move >= 0.07 || flakes[i].x_Move <= 0.0)
            flakes[i].x_Move_Direction = !flakes[i].x_Move_Direction;
        else
            flakes[i].x += flakes[i].x_Move;

        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);

        if(flakes[i].y >= screenSize[1] - 5)
            flakes[i].down_Time = realTime + 0.5;
    }
}

onScriptInit();
дождь надо
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На офисе не работает (хз по чему, кто сможет фиксите)
Выглядит стремновато слегка, но под скумбрию пойдёт, тестите!


JavaScript:
Expand Collapse Copy
var flakes_count = 500;
var flakes = [];
var screenSize = Global.GetScreenSize();
var isOutside = null;
var lastEntity = null;

function randomFlakes()
{
    var i = 0;
    while(i++ < flakes_count)
    {
        flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
    }
}

function onScriptInit()
{
    randomFlakes();
    Global.RegisterCallback("Draw", "onDrawEvent");
    UI.AddSliderInt("Snow amount", 100, 1000);
    UI.AddSliderFloat("Flake size", 5.0, 10.0);
    UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount", flakes_count);
}

function onDrawEvent()
{
    var localPlayer = Entity.GetLocalPlayer();

    if(!localPlayer)
        return;

    var entityHead = null;

    if(Entity.IsAlive(localPlayer))
    {
        entityHead = Entity.GetHitboxPosition(localPlayer, 0);

        if(lastEntity != localPlayer)
            isOutside = null;

        lastEntity = localPlayer;
    }
    else {
        var spectactingPlayer = Entity.GetProp(localPlayer, "CBasePlayer", "m_hObserverTarget");

        if(spectactingPlayer !== "m_hObserverTarget")
        {
            entityHead = Entity.GetHitboxPosition(spectactingPlayer, 0);

            if(lastEntity != spectactingPlayer)
                isOutside = null;

            lastEntity = spectactingPlayer;
        }
        else
            return;
    }

    var traceResult = Trace.Line(lastEntity, entityHead, [entityHead[0], entityHead[1], entityHead[2] + 1000]);

    var snowAmount = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount");

    if(flakes_count != snowAmount)
    {
        while(snowAmount != flakes.length)
        {
            if(snowAmount < flakes.length)
                flakes.pop();
            else
                flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
        }

        flakes_count = snowAmount;
    }
       
    if(isOutside == null)
    {
        isOutside = traceResult[1] == 1.0;
       
        if(!isOutside)
        {
            for(var i = 0; i < flakes.length; i ++)
                flakes[i].y = screenSize[1] + 50;
        }
    }

    if(isOutside != (traceResult[1] == 1.0))
    {
        isOutside = traceResult[1] == 1.0;

        if(isOutside)
        {
            flakes = [];
            randomFlakes();
        }
    }

    var flakeSize = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Flake size");
    var realTime = Global.Realtime();

    for(var i = 0; i < flakes.length; i ++)
    {
        if(flakes[i].down_Time)
        {
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
           
            if(flakes[i].down_Time > realTime)  
                continue;

            if(!isOutside)
                continue;

            flakes[i].down_Time = 0;
            flakes[i].x = Math.random() * screenSize[0];
            flakes[i].x_Move = 0.0;
            flakes[i].x_Move_Direction = true;
            flakes[i].y = 0;
            flakes[i].alpha = Math.random();
        }

        flakes[i].y += 0.5 + Math.random() * 0.5;

        if(!isOutside)
            flakes[i].y ++;

        flakes[i].x_Move += 0.0025 * (flakes[i].x_Move_Direction === true ? 1 : -1);

        if(flakes[i].x_Move >= 0.07 || flakes[i].x_Move <= 0.0)
            flakes[i].x_Move_Direction = !flakes[i].x_Move_Direction;
        else
            flakes[i].x += flakes[i].x_Move;

        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);

        if(flakes[i].y >= screenSize[1] - 5)
            flakes[i].down_Time = realTime + 0.5;
    }
}

onScriptInit();
good
 
Спасибо папаша за эту js белого цвета 20 века
 
ля кринжева
 
дождь нужен :FeelsBadMan:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На офисе не работает (хз по чему, кто сможет фиксите)
Выглядит стремновато слегка, но под скумбрию пойдёт, тестите!

Размер снежинок и кол-во можно изменять.


JavaScript:
Expand Collapse Copy
var flakes_count = 500;
var flakes = [];
var screenSize = Global.GetScreenSize();
var isOutside = null;
var lastEntity = null;

function randomFlakes()
{
    var i = 0;
    while(i++ < flakes_count)
    {
        flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
    }
}

function onScriptInit()
{
    randomFlakes();
    Global.RegisterCallback("Draw", "onDrawEvent");
    UI.AddSliderInt("Snow amount", 100, 1000);
    UI.AddSliderFloat("Flake size", 5.0, 10.0);
    UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount", flakes_count);
}

function onDrawEvent()
{
    var localPlayer = Entity.GetLocalPlayer();

    if(!localPlayer)
        return;

    var entityHead = null;

    if(Entity.IsAlive(localPlayer))
    {
        entityHead = Entity.GetHitboxPosition(localPlayer, 0);

        if(lastEntity != localPlayer)
            isOutside = null;

        lastEntity = localPlayer;
    }
    else {
        var spectactingPlayer = Entity.GetProp(localPlayer, "CBasePlayer", "m_hObserverTarget");

        if(spectactingPlayer !== "m_hObserverTarget")
        {
            entityHead = Entity.GetHitboxPosition(spectactingPlayer, 0);

            if(lastEntity != spectactingPlayer)
                isOutside = null;

            lastEntity = spectactingPlayer;
        }
        else
            return;
    }

    var traceResult = Trace.Line(lastEntity, entityHead, [entityHead[0], entityHead[1], entityHead[2] + 1000]);

    var snowAmount = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount");

    if(flakes_count != snowAmount)
    {
        while(snowAmount != flakes.length)
        {
            if(snowAmount < flakes.length)
                flakes.pop();
            else
                flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
        }

        flakes_count = snowAmount;
    }
 
    if(isOutside == null)
    {
        isOutside = traceResult[1] == 1.0;
 
        if(!isOutside)
        {
            for(var i = 0; i < flakes.length; i ++)
                flakes[i].y = screenSize[1] + 50;
        }
    }

    if(isOutside != (traceResult[1] == 1.0))
    {
        isOutside = traceResult[1] == 1.0;

        if(isOutside)
        {
            flakes = [];
            randomFlakes();
        }
    }

    var flakeSize = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Flake size");
    var realTime = Global.Realtime();

    for(var i = 0; i < flakes.length; i ++)
    {
        if(flakes[i].down_Time)
        {
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
     
            if(flakes[i].down_Time > realTime)
                continue;

            if(!isOutside)
                continue;

            flakes[i].down_Time = 0;
            flakes[i].x = Math.random() * screenSize[0];
            flakes[i].x_Move = 0.0;
            flakes[i].x_Move_Direction = true;
            flakes[i].y = 0;
            flakes[i].alpha = Math.random();
        }

        flakes[i].y += 0.5 + Math.random() * 0.5;

        if(!isOutside)
            flakes[i].y ++;

        flakes[i].x_Move += 0.0025 * (flakes[i].x_Move_Direction === true ? 1 : -1);

        if(flakes[i].x_Move >= 0.07 || flakes[i].x_Move <= 0.0)
            flakes[i].x_Move_Direction = !flakes[i].x_Move_Direction;
        else
            flakes[i].x += flakes[i].x_Move;

        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);

        if(flakes[i].y >= screenSize[1] - 5)
            flakes[i].down_Time = realTime + 0.5;
    }
}

onScriptInit();
А че сначало на брок загрузил
 
Выглядит будто не на карте идёт снег, а прям перед глазами
 
На офисе не работает (хз по чему, кто сможет фиксите)
Выглядит стремновато слегка, но под скумбрию пойдёт, тестите!

Размер снежинок и кол-во можно изменять.


JavaScript:
Expand Collapse Copy
var flakes_count = 500;
var flakes = [];
var screenSize = Global.GetScreenSize();
var isOutside = null;
var lastEntity = null;

function randomFlakes()
{
    var i = 0;
    while(i++ < flakes_count)
    {
        flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
    }
}

function onScriptInit()
{
    randomFlakes();
    Global.RegisterCallback("Draw", "onDrawEvent");
    UI.AddSliderInt("Snow amount", 100, 1000);
    UI.AddSliderFloat("Flake size", 5.0, 10.0);
    UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount", flakes_count);
}

function onDrawEvent()
{
    var localPlayer = Entity.GetLocalPlayer();

    if(!localPlayer)
        return;

    var entityHead = null;

    if(Entity.IsAlive(localPlayer))
    {
        entityHead = Entity.GetHitboxPosition(localPlayer, 0);

        if(lastEntity != localPlayer)
            isOutside = null;

        lastEntity = localPlayer;
    }
    else {
        var spectactingPlayer = Entity.GetProp(localPlayer, "CBasePlayer", "m_hObserverTarget");

        if(spectactingPlayer !== "m_hObserverTarget")
        {
            entityHead = Entity.GetHitboxPosition(spectactingPlayer, 0);

            if(lastEntity != spectactingPlayer)
                isOutside = null;

            lastEntity = spectactingPlayer;
        }
        else
            return;
    }

    var traceResult = Trace.Line(lastEntity, entityHead, [entityHead[0], entityHead[1], entityHead[2] + 1000]);

    var snowAmount = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Snow amount");

    if(flakes_count != snowAmount)
    {
        while(snowAmount != flakes.length)
        {
            if(snowAmount < flakes.length)
                flakes.pop();
            else
                flakes.push({x : Math.random() * screenSize[0], y : Math.random() * screenSize[1], alpha: Math.random(), x_Move: 0.0, x_Move_Direction: true, down_Time: 0 });
        }

        flakes_count = snowAmount;
    }
 
    if(isOutside == null)
    {
        isOutside = traceResult[1] == 1.0;
 
        if(!isOutside)
        {
            for(var i = 0; i < flakes.length; i ++)
                flakes[i].y = screenSize[1] + 50;
        }
    }

    if(isOutside != (traceResult[1] == 1.0))
    {
        isOutside = traceResult[1] == 1.0;

        if(isOutside)
        {
            flakes = [];
            randomFlakes();
        }
    }

    var flakeSize = UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Flake size");
    var realTime = Global.Realtime();

    for(var i = 0; i < flakes.length; i ++)
    {
        if(flakes[i].down_Time)
        {
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
            Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
     
            if(flakes[i].down_Time > realTime)
                continue;

            if(!isOutside)
                continue;

            flakes[i].down_Time = 0;
            flakes[i].x = Math.random() * screenSize[0];
            flakes[i].x_Move = 0.0;
            flakes[i].x_Move_Direction = true;
            flakes[i].y = 0;
            flakes[i].alpha = Math.random();
        }

        flakes[i].y += 0.5 + Math.random() * 0.5;

        if(!isOutside)
            flakes[i].y ++;

        flakes[i].x_Move += 0.0025 * (flakes[i].x_Move_Direction === true ? 1 : -1);

        if(flakes[i].x_Move >= 0.07 || flakes[i].x_Move <= 0.0)
            flakes[i].x_Move_Direction = !flakes[i].x_Move_Direction;
        else
            flakes[i].x += flakes[i].x_Move;

        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y, flakes[i].x + flakeSize/2, flakes[i].y, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x, flakes[i].y - flakeSize/2, flakes[i].x, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x - flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x + flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);
        Render.Line(flakes[i].x + flakeSize/2, flakes[i].y - flakeSize/2, flakes[i].x - flakeSize/2, flakes[i].y + flakeSize/2, [255, 255, 255, flakes[i].alpha * 127]);

        if(flakes[i].y >= screenSize[1] - 5)
            flakes[i].down_Time = realTime + 0.5;
    }
}

onScriptInit();
Снег на экран что ли? :roflanEbalo:
 
А куда это выгружать?
 
ot это что ?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а можно на дождь, если чесно если можешь спасибо если нельзя то я пошёл нахуй
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу