JS-скрипт Проблема с UI.AddCheckbox OTC V3

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2020
Сообщения
7
Реакции
1
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
Expand Collapse Copy
UI.AddCheckbox("Rainbow line");
var screen_width = Math.round(Global.GetScreenSize()[0]);
if(UI.GetValue("Rainbow line")) {
function onDrawEvent()
{
    var colors = HSVtoRGB(Global.Realtime() * UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed"), 1, 1);
    Render.GradientRect(0, 0, screen_width/2, 2, 1, [colors.g, colors.b, colors.r, 255], [colors.r, colors.g, colors.b, 255]);
    Render.GradientRect(screen_width/2, 0, screen_width/2, 2, 1, [colors.r, colors.g, colors.b, 255], [colors.b, colors.r, colors.g, 255]);
}
Global.RegisterCallback("Draw", "onDrawEvent");
UI.AddSliderFloat("Rainbow Line Speed", 0.01, 1.0);
UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed", 0.1);
}
 
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
Expand Collapse Copy
UI.AddCheckbox("Rainbow line");
var screen_width = Math.round(Global.GetScreenSize()[0]);
if(UI.GetValue("Rainbow line")) {
function onDrawEvent()
{
    var colors = HSVtoRGB(Global.Realtime() * UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed"), 1, 1);
    Render.GradientRect(0, 0, screen_width/2, 2, 1, [colors.g, colors.b, colors.r, 255], [colors.r, colors.g, colors.b, 255]);
    Render.GradientRect(screen_width/2, 0, screen_width/2, 2, 1, [colors.r, colors.g, colors.b, 255], [colors.b, colors.r, colors.g, 255]);
}
Global.RegisterCallback("Draw", "onDrawEvent");
UI.AddSliderFloat("Rainbow Line Speed", 0.01, 1.0);
UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed", 0.1);
}
if(UI.GetValue("Script Items", "Rainbow line")) {
 
ты не правильно используешь проверку, твой скрипт должен быть таким что бы работало
Код:
Expand Collapse Copy
UI.AddCheckbox("Rainbow line");
UI.AddSliderFloat("Rainbow Line Speed", 0.1, 1.0);

function onDrawEvent()
{
    var screen_width = Math.round(Global.GetScreenSize()[0]);
    if(UI.GetValue("Rainbow line")) {
        var colors = HSVtoRGB(Global.Realtime() * UI.GetValue( "Rainbow Line Speed"), 1, 1);
        Render.GradientRect(0, 0, screen_width/2, 2, 1, [colors.g, colors.b, colors.r, 255], [colors.r, colors.g, colors.b, 255]);
        Render.GradientRect(screen_width/2, 0, screen_width/2, 2, 1, [colors.r, colors.g, colors.b, 255], [colors.b, colors.r, colors.g, 255]);
    }
}
Global.RegisterCallback("Draw", "onDrawEvent");
 
ты не правильно используешь проверку, твой скрипт должен быть таким что бы работало
Код:
Expand Collapse Copy
UI.AddCheckbox("Rainbow line");
UI.AddSliderFloat("Rainbow Line Speed", 0.1, 1.0);

function onDrawEvent()
{
    var screen_width = Math.round(Global.GetScreenSize()[0]);
    if(UI.GetValue("Rainbow line")) {
        var colors = HSVtoRGB(Global.Realtime() * UI.GetValue( "Rainbow Line Speed"), 1, 1);
        Render.GradientRect(0, 0, screen_width/2, 2, 1, [colors.g, colors.b, colors.r, 255], [colors.r, colors.g, colors.b, 255]);
        Render.GradientRect(screen_width/2, 0, screen_width/2, 2, 1, [colors.r, colors.g, colors.b, 255], [colors.b, colors.r, colors.g, 255]);
    }
}
Global.RegisterCallback("Draw", "onDrawEvent");
Понял, спасибо большое.
 
var screen_width = Math.round(Global.GetScreenSize()[0]);
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
 
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
1. я лишь правильно отформатировал его js, я знаю что разрешение экрана всегда без цифр после запятой
2 если у него нет ошибок при запуске, то у него имеется hsv2rgb
 
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
Я хз что это,
спастил в свой скрипт
.
Нет не имеется, я просто не вставил его в тему, подумал что это не нужно.
Дело в этом, иф должно быть в самой функции.
Спасибо
спастил в свой скрипт
 
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
Expand Collapse Copy
UI.AddCheckbox("Rainbow line");
var screen_width = Math.round(Global.GetScreenSize()[0]);
if(UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Rainbow line")) {
function onDrawEvent()
{
    var colors = HSVtoRGB(Global.Realtime() * UI.GetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed"), 1, 1);
    Render.GradientRect(0, 0, screen_width/2, 2, 1, [colors.g, colors.b, colors.r, 255], [colors.r, colors.g, colors.b, 255]);
    Render.GradientRect(screen_width/2, 0, screen_width/2, 2, 1, [colors.r, colors.g, colors.b, 255], [colors.b, colors.r, colors.g, 255]);
}
Global.RegisterCallback("Draw", "onDrawEvent");
UI.AddSliderFloat("Rainbow Line Speed", 0.01, 1.0);
UI.SetValue("MISC", "JAVASCRIPT", "Script Items", "Rainbow Line Speed", 0.1);
}
Попробуй это.
 
Назад
Сверху Снизу