Присоединение числа к таймеру (Timer Exploit)

» опубликован
» Способ реализации: Jass
» Тип: Алгоритм
Данные функции позволяют запускать таймер, присоединяя к нему число и брать это число в функции-обработчике.
Сразу скажу, что этому эксплоиту уже много-много лет, но я не заметил интенсивного его использования. Зачем тратить время, если есть данный хак ?
function TimerStartEx takes timer whichTimer, real period, boolean isPeriodic, code handlerFunc, integer userData returns nothing
    call TimerStart(whichTimer, I2R(userData), false, null) // timer exploit, xgm 2007
    call PauseTimer(whichTimer)
    call TimerStart(whichTimer, period, isPeriodic, handlerFunc ) // start timer
endfunction

function TimerGetUserData takes timer whichTimer returns integer
    return R2I(TimerGetRemaining(whichTimer )+0.5) // get user data from timer
endfunction


Просмотров: 4 004

NCrashed #1 - 5 лет назад 0
Хм, можешь объяснить как это внутри это число не затирается? Неужели это использование утечки памяти в своих целях?)
ScorpioT1000 #2 - 5 лет назад (отредактировано ) 0
Это не утечка, xgm.guru/forum/showpost.php?p=874725&postcount=6
Наверное, если таймер запаузить, то там не сбрасывается какое-то состояние, типа "время уже задано". И когда пускаем его заного, он думает, что время уже было задано и не задает его заново, при этом сам внутренний настоящий таймер работает как надо.
quq_CCCP #3 - 5 лет назад -10
ScorpioT1000, увы сейчас этот эксплоит работает если таймер не в переодике, в других случаях мне так и не удалось сохранить этой системой ни одно число кроме 0....
ScorpioT1000 #5 - 5 лет назад -2
quq_CCCP, зачем тебе передавать число в периодике? периодический таймер обычно один для всего, он просто гуляет по массиву и "толкает" рычаги
pusha1999 #6 - 4 года назад (отредактировано ) -2
function TimerGetUserData takes timer whichTimer returns integer
зачем реал в интежер переводить? почему просто реал не вернуть? а если не целое число надо прибавить?
nvc123 #7 - 4 года назад 1
pusha1999, потому что на паузу требуется время и если реал то вернёт не то что записывал