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

Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2020
Сообщения
7
Реакции[?]
1
Поинты[?]
0
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
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);
}
 
Эксперт
Статус
Оффлайн
Регистрация
7 Сен 2019
Сообщения
2,107
Реакции[?]
984
Поинты[?]
88K
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
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")) {
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
818
Реакции[?]
378
Поинты[?]
0
ты не правильно используешь проверку, твой скрипт должен быть таким что бы работало
Код:
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");
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
818
Реакции[?]
378
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2020
Сообщения
7
Реакции[?]
1
Поинты[?]
0
ты не правильно используешь проверку, твой скрипт должен быть таким что бы работало
Код:
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");
Понял, спасибо большое.
 
Хех.......)#манипулятор #кукловод #манипуляция
Участник
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
560
Реакции[?]
224
Поинты[?]
3K
Хех.......)#манипулятор #кукловод #манипуляция
Участник
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
560
Реакции[?]
224
Поинты[?]
3K
Эксперт
Статус
Оффлайн
Регистрация
7 Сен 2019
Сообщения
2,107
Реакции[?]
984
Поинты[?]
88K
Эксперт
Статус
Оффлайн
Регистрация
24 Апр 2018
Сообщения
1,488
Реакции[?]
929
Поинты[?]
63K
var screen_width = Math.round(Global.GetScreenSize()[0]);
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
818
Реакции[?]
378
Поинты[?]
0
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
1. я лишь правильно отформатировал его js, я знаю что разрешение экрана всегда без цифр после запятой
2 если у него нет ошибок при запуске, то у него имеется hsv2rgb
 
Эксперт
Статус
Оффлайн
Регистрация
14 Ноя 2020
Сообщения
1,799
Реакции[?]
586
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2020
Сообщения
7
Реакции[?]
1
Поинты[?]
0
нифига чё придумал. в драве, так ещё и зачем то раундить. типо у чела 1919.5 размер экрана? пол пикселя?

и разве hsvtorgb в js по дефолту есть?
Я хз что это,
спастил в свой скрипт
.
Нет не имеется, я просто не вставил его в тему, подумал что это не нужно.
Дело в этом, иф должно быть в самой функции.
Спасибо
спастил в свой скрипт
 
Начинающий
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
101
Реакции[?]
8
Поинты[?]
0
Проблема такая, спастил в свой скрипт для OTC V3 RGB линию сверху, и сделал чек бокс для её включения, но при нажатии на него ничего не происходить и линия не появляется. Что-бы она появилась нужно оставить чек бокс с вкл. значением и перезапустить js'ку. Как это исправить?
JavaScript:
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);
}
Попробуй это.
 
Сверху Снизу