Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local key_presses = { }
- local handle_keys = false
- function eventNewPlayer(name)
- if (not key_presses[name]) then
- key_presses[name] = {
- [0] = { 0, "Left" },
- [1] = { 0, "Up" },
- [2] = { 0, "Right" }
- }
- end
- for _, v in next, { 0, 1, 2 } do
- system.bindKeyboard(name, v, true)
- end
- end
- table.foreach(tfm.get.room.playerList, eventNewPlayer)
- function eventNewGame()
- handle_keys = false
- ui.removeTextArea(23)
- end
- function eventLoop(elapsed)
- if (elapsed < 3500) then -- Anti-Macro keeps off while round time elapsed is less than 3.5 seconds
- return
- end
- handle_keys = true
- for player, v in next, key_presses do
- for key, presses in next, v do
- if (presses[1] > 20) then
- tfm.exec.freezePlayer(player)
- ui.addTextArea(23, string.format("<font size='10'><r>[Anti-Macro]</r> %s %s key presses detected (%s)", player, presses[1], presses[2]), nil, 2, 380, nil, nil, nil, nil, 0, true)
- end
- key_presses[player][key][1] = 0
- end
- end
- end
- function eventKeyboard(name, key)
- if (key_presses[name][key]) then
- key_presses[name][key][1] = handle_keys and (key_presses[name][key][1] + 1) or 0
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement