Онлайн тест на трезвость

Тема в разделе "Компьютеры", создана пользователем Lexxus, 2 мар 2011.

  1. Lexxus

    Lexxus Немного великий Администратор VIP

    О! Могу сделать онлайн-тест на алкогольное опьянение :crazy:
  2. lamen

    lamen Грустный lamen со своим жалким догматизмом. Команда форума Администратор

  3. Lexxus

    Lexxus Немного великий Администратор VIP

  4. electronka

    electronka Флудер! VIP

    Не получается, а я ведь трезвая абсолютно :crazy:
    Все, уже перед глазами рябит %)

    Lexxus, может быть, чуток увеличить расстояние между стенками?
  5. Lexxus

    Lexxus Немного великий Администратор VIP

    А у меня один раз получилось <_<

    Ща регулируемое сделаю.
  6. Lexxus

    Lexxus Немного великий Администратор VIP

    Сделал три уровня сложности <_<
  7. electronka

    electronka Флудер! VIP

    Ееее, прошла!
    Даешь всем модераторам перед модерированием такую проверку!! :crazy:
  8. Lexxus

    Lexxus Немного великий Администратор VIP

    Её обойти как нефиг делать <_<
    Можно, конечно, кое-какую защиту от читерства наворотить, но эта задача уже далеко не на три минуты.
  9. Itheme

    Itheme Флудер!

    Lexxus, tab + Enter решает <_<
  10. Lexxus

    Lexxus Немного великий Администратор VIP

    Ну, это-то поправить как раз легче всего. Есть куча дырок, которые заделать гораздо сложнее B)
  11. Itheme

    Itheme Флудер!

    Lexxus, ОК! Тогда закрываю лабиринт окошком и вуаля... может pawn какой-то тянуть лучше?
  12. Lexxus

    Lexxus Немного великий Администратор VIP

    Можно так. А можно отслеживать mouseMove. Это закроет большинство дырок, но не все. Ведь, например, указатель мышки можно двигать при помощи клавы - значит, нужно еще отслеживать нажатия клавиш. И вот только тогда читеру придётся попотеть.
  13. Itheme

    Itheme Флудер!

    Lexxus, еще нужно чуть усложнить сам лабиринт - чтоб мне было сложнее писать программу для автоматического прохождения...
  14. Lexxus

    Lexxus Немного великий Администратор VIP

    Если вдруг выдастся часик-другой совершенно свободного времени, обязательно займусь <_<
  15. GFH

    GFH Нет!

    Да на клаве его пройти легче лёгкого.
    Да и даже этого не нужно:
    [​IMG]
  16. xxSeagullxx

    xxSeagullxx Новичок

    Проблема частично решается добавлением Чекпоинтов. Ибо пока куча способов читерить=) До уязвимости в драг&дропе я не дошёл, но скриптик кидающий указатель в зону финиша пишется в 2 строки(AutoHotkey)

    P.S. Кстати и ручками на трудном прошёл=) весь тачпад изъелозил=)

    P.S.S. Кстати чекпоинты тоже не спасут. ибо можно написать перемещалку указателя по заданному пути=)
  17. Lexxus

    Lexxus Немного великий Администратор VIP

    Вот гады, всё-таки заставили меня до двух часов ночи сидеть. Ну, ломайте :crazy:
  18. Itheme

    Itheme Флудер!

    Lexxus, я написал программку на руби для прохождения мышкой, а эта зараза мне говорит "а теперь попробуй не жульничая". Попробовал честно пройти - то же самое пишет! WTF?
  19. Itheme

    Itheme Флудер!

    Just in case
    Код:
    require 'Win32API'
    
    MIDDLEC = 300
    MAXXRUN = 400
    DELTA = 4
    
    def user32(name, param_types, return_value)
    Win32API.new 'user32' , name, param_types, return_value
    end
    
    def gdi32(name, param_types, return_value)
    Win32API.new 'gdi32' , name, param_types, return_value
    end
    
    class Cheater
    @x
    @y
    def initialize
    @setCursorPos = user32("SetCursorPos", ['I','I'], 'V')
    @getCursorPos = user32("GetCursorPos", ['P'], 'V')
    @getDC = user32("GetDC", ['I'], 'I')
    @releaseDC = user32("ReleaseDC", ['I', 'I'], 'I')
    @get_pixel = gdi32("GetPixel", ['I', 'I', 'I' ], 'L')
    @hdc = @getDC.Call(0)
    end
    
    def iterate(delta)
    sty = @y
    while @get_pixel.Call(@hdc, @x, @y + delta) > MIDDLEC do
    @y+=delta
    mousethen
    end
    return false if sty == @y
    return @get_pixel.Call(@hdc, @x, @y) > MIDDLEC
    end
    
    def mousethen
    @setCursorPos.Call(@x, @y)
    sleep 0.01
    end
    
    def hasRightSpace
    @get_pixel.Call(@hdc, @x + DELTA, @y) > MIDDLEC
    end
    
    def run
    lpPoint = " " * 8
    @getCursorPos.Call(lpPoint)
    @x, @y = lpPoint.unpack("LL")
    endx = @x + MAXXRUN
    while @x < endx do
    if hasRightSpace then
    @x+=DELTA
    else
    break if not iterate(-DELTA) and not iterate(DELTA)
    end
    mousethen
    end
    end
    
    def done
    @releaseDC.Call(0, @hdc)
    end
    end
    
    sleep 5 # time to activate browser and press start button
    
    cheater = Cheater.new
    cheater.run
    cheater.done
    DELTA можно и по-больше ставить...
  20. Lexxus

    Lexxus Немного великий Администратор VIP

    Есть некоторый шанс пройти её честно и получить обвинение в жульничестве. Но у меня так не получается.

    Ты прям честно проходил, двигая указатель мышкой?

Поделиться этой страницей