JS [ Weave ] Drag (Перемещение с помощью курсора)

  • 258
  • 140
Обычное, простейшее перемещение без кеша и другого
Для перемещения используйте ту кнопку, где у вас бинд на +use (Обычно это английская e)

Единственная проблема - работает только на сервере, в меню - нет

csgo_oD8nCfL15c.gif



drag.js:
var screen = render.get_screen_size()
ui.add_slider("Position X", "x", 5, screen[0])
ui.add_slider("Position Y", "y", 5, screen[1])

const in_bounds = function(vec, x, y, x2, y2) {
    return (vec[0] > x) && (vec[1] > y) && (vec[0] < x2) && (vec[1] < y2)
}

register_callback("render", function() {
    var buttons = user_cmd.get_buttons()
    var x = vars.get_uint("js.x")
    var y = vars.get_uint("js.y")

    render.filled_rect([x, y], [100, 100], [55, 55, 55, 155], 3)
    render.text([x + 40, y + 40], [255, 255, 255, 255], 7, 2, "Hello world")

    if(buttons & (1 << 5)) {
        var pos = ui.get_cursor_position()
        if(in_bounds(pos, x, y, x + 320, y + 320)) {
            if(ui.get_menu_alpha() < 1) return;
            if(entity.get_player_info(entity.get_local_player()) == undefined) return;

            vars.set_uint("js.x", pos[0] - 50)
            vars.set_uint("js.y", pos[1] - 50)
        }
    }
})
 
Последнее редактирование:
  • 258
  • 140
Оказывается блять, есть ui.is_mouse_down() поэтому баттонс не нужны. Позже без баттонс скину
 
  • 11
  • 2
Контакты для связи отсутствуют.
Если честно - говно.
Во первых оно цепляется только за середину.
Во вторых оно сорвется если выйти за границу.
 
  • Acrados
  • Дурашка, ты что делаешь?)
  • 208
  • 39
Контакты для связи отсутствуют.
Если честно - говно.
Во первых оно цепляется только за середину.
Во вторых оно сорвется если выйти за границу.
На, вроде норм
Иногда багается так что нужно брать с левого верхнего угла
js:
//by Mased

var screen = render.get_screen_size()
ui.add_slider("Position X", "x", 5, screen[0])
ui.add_slider("Position Y", "y", 5, screen[1])

const in_bounds = function(vec, x, y, x2, y2) {
    return vec[0] > x && vec[1] > y && vec[0] < x2 && vec[1] < y2
}
var ForceHold = false;
register_callback("render", function() {
    var x = vars.get_uint("js.x")
    var y = vars.get_uint("js.y")
    var FiledSize = [100, 100];
    var AddOffsetSize = 10;
    render.filled_rect([x, y], FiledSize, [55, 55, 55, 155], 3)
    render.text([x + 40, y + 40], [255, 255, 255, 255], 7, 2, "Hello world")
    var pos = ui.get_cursor_position()
   
    if((in_bounds(pos, x-AddOffsetSize, y-AddOffsetSize, x + FiledSize[0]+AddOffsetSize, y + FiledSize[1]+AddOffsetSize) && ui.is_mouse_down()) || (ForceHold && ui.is_mouse_down())) {
        ForceHold = true;
        if(ui.get_menu_alpha() < 1) return;
        if(entity.get_player_info(entity.get_local_player()) == undefined) return;
        vars.set_uint("js.x", pos[0] - FiledSize[0]/2)
        vars.set_uint("js.y", pos[1] - FiledSize[1]/2)
    } else{ForceHold = false;}

})
 
Последнее редактирование:
Сверху Снизу