Tap Tap Infinity

Tap Tap Infinity

31 avaliações
AHK scripts for Tap Tap Infinity
Por bpbrother
This guide shows some scripts for AutoHotKey (automation program) to do some of the work for you while you're busy with something else.
   
Premiar
Adic. a Favoritos
Nos Favoritos
Desfavoritar
Before we get started...
Thought I'd share the scripts I made for this game. There are multiple for various purposes.
  • I expect you to know what AHK is, if you don't, google Autohotkey. It's a free program you need to download and install.
  • Scripts made for 720x480 resolution (switch to windowed mode). Running the script will automatically set this resolution for you. Do not use script on any other, they won't work correctly or at all.
  • These scripts are 'demanding'. Meaning, you can't do anything else as it blocks your mouse. AHK does allow different methods for input and there are ways to prevent it (it works on Clicker Heroes, for example, but not on Tap Tap Infinity) but none seem to work, because somehow this game has to always be active and the mouse within the application for any AHK script to work. So it's advised to use these when you're about to AFK.
  • I've defined keys for pausing and stopping a script, these are always to be found at the very bottom, you can freely adjust them to Hotkeys you prefer.
Happy autoclicking!
Token Farmer (Idle DPS version)
My favorite: Token farmer that auto-goes infinite after x minutes, purchases heroes as they unlock, then keeps upgrading the useful ones until it resets after around 60 minutes (default value you can change by altering the variable 'runtime').

Effectiveness depends on progress, it's recommended to adjust the variables if you experience it runs too fast/long or slow/short. If you're very early in the game, your idle DPS may not be high enough to instagib everything up to Level 100. In this case best to refrain from using this one and switch to the Gift Box Farmer above.

This one requires some Guardian powers, at least have Guardian Apoc's Wormhole on 5 (requires 102 infinity tokens total) as it wants to buy Chompy right at the beginning and does not include auto-clicking for damage to hit level 5 by itself. It also checks if progress mode is disabled and re-enables it. A great script for idle players as it doesn't tap.
  • A good amount in Guardian Cocomana's Conquest is helpful.
  • Not required, but recommended to set game setting 'round hero buying to 25 levels'
  • Collects gift boxes (after initial hero leveling).
  • F5 launches Boss Rush (there's no auto-bossrushing).
runtime = 60 ; minutes this script shall run per go-infinite speed = 0 ; enter your speed level here sl_cocomama = 0 ; say 1 if you have it and 0 if you do not wormhole = 5 ; enter your wormhole level here ; -------- only edit below if you know what you're doing -------- WinGetTitle, wintitle, ahk_class UnityWndClass WinWait, %wintitle%, IfWinNotActive, %wintitle%, , WinActivate, %wintitle%, WinWaitActive, %wintitle%, wait_timer = 0 speed_wait_timer := 24000 - (2400 * (speed + sl_cocomama)) time_to_reset := ceil(runtime*4) ResizeWin(736,519) Send {I} Sleep, 2700 Send {I} Sleep, 500 MouseClick, left, 430, 345 ; going infinite Sleep, 2000 PixelGetColor, buy_max_color, 11, 123, RGB while (buy_max_color = 0x5AC623) { Send {X} Sleep, 200 PixelGetColor, buy_max_color, 11, 123, RGB Sleep, 50 } if (wormhole > 100) { switch_buy(4) hero_fast_level(35,360) switch_buy(2) } else { switch_buy(3) PixelGetColor, islistactiveornot, 41, 112, RGB if (islistactiveornot = 0xE5AA0B) { Send {G} } hero_slow_level(5, 4, 90, 160) ; Chompy hero_slow_level(10, 3, 145, 160) ; Toad hero_slow_level(15, 4, 200, 160) ; Tommo hero_slow_level(20, 4, 255, 160) ; Sparks hero_slow_level(25, 4, 35, 210) ; Tinybolt hero_slow_level(30, 3, 90, 210) ; Evie hero_slow_level(35, 3, 145, 210) ; Beefcake hero_slow_level(40, 4, 200, 210) ; Bones hero_slow_level(45, 4, 255, 210) ; Leomitus hero_slow_level(50, 3, 35, 260) ; Aimz hero_slow_level(55, 4, 90, 260) ; Lala hero_slow_level(60, 4, 145, 260) ; Bless hero_slow_level(65, 3, 200, 260) ; Slith hero_slow_level(70, 4, 255, 260) ; Moosh hero_slow_level(75, 4, 35, 310) ; Serra hero_slow_level(80, 4, 90, 310) ; Lurch hero_slow_level(85, 3, 145, 310) ; Melt hero_slow_level(90, 3, 200, 310) ; Zombo hero_slow_level(95, 4, 255, 310) ; Batkiz hero_slow_level(100, 3, 35, 360) ; Aidith switch_buy(3) } MouseClick, left, 35, 160 ; Tapps - global DPS x8 Sleep, 100 Send {A} loop { MouseClick, left, 35, 360 ; Aidith checkforgift(445) MouseClick, left, 88, 310 ; Lurch checkforgift(415) MouseClick, left, 90, 260 ; Lala checkforgift(385) MouseClick, left, 255, 260 ; Moosh MouseClick, left, 35, 160 ; Tapps Sleep, 2000 if (wait_timer > time_to_reset) { Reload ; go infinite } else { wait_timer += 1 } PixelGetColor, checking_p_status, 715, 113 if (checking_p_status != "0xBBEEF9") { Send {P} ; activating progress mode } Send {6} } checkforgift(height) { PixelSearch, FoundGiftX, FoundGiftY, 400, %height%, 580, %height%, 0x7841AA, 0, Fast RGB if !(ErrorLevel) { MouseClick, left, %FoundGiftX%, %FoundGiftY% Sleep 490 MouseClick, left, 410, 273 ; redeem gift Sleep 3510 } else { Sleep, 4000 } } hero_slow_level(hero_level, level_times, hero_mousepos_x, hero_mousepos_y) { wait_time := speed_wait_timer / level_times if (wormhole > hero_level) { loop, %level_times% { MouseClick, left, %hero_mousepos_x%, %hero_mousepos_y% Sleep, 50 } } else { loop, %level_times% { MouseClick, left, %hero_mousepos_x%, %hero_mousepos_y% Sleep, %wait_time% } } Send {A} Sleep, 200 } hero_fast_level(heroposx, heroposy) { MouseClick, left, %heroposx%, %heroposy% heroposy -= 50 ;35,310 loop, 4 { loop, 5 { MouseClick, left, %heroposx%, %heroposy% heroposx += 55 } Send {A} heroposx -= 275 heroposy -= 50 } } switch_buy(amount) { loop, %amount% { Send {X} Sleep, 100 } } bossrush_tap(count) { loop, %count% { Send {Click down 385, 310} Sleep, 10 Send {Click up 385, 310} Send {Enter} Send {Click right down 385, 310} Sleep, 10 Send {Click right up 385, 310} } } bossrush_check(current, target) { while (current < target) { bossrush_tap(40) MouseClick, left, 35, 360 ; Aidith Sleep, 50 MouseClick, left, 88, 310 ; Lurch Sleep, 50 MouseClick, left, 90, 260 ; Lala Sleep, 50 MouseClick, left, 255, 260 ; Moosh Sleep, 50 current := A_TickCount } } ResizeWin(Width,Height) { WinGetPos,X,Y,W,H,%wintitle% if (W != %Width% && H != %Height%) { WinMove,%wintitle%,,%X%,%Y%,%Width%,%Height% } } F5:: bossrush_start := A_TickCount bossrush_target := bossrush_start + 75000 Send {0} Send {8} Send {7} Send {9} bossrush_current := A_TickCount bossrush_check(bossrush_current, bossrush_target) Send {5} Send {4} bossrush_target := bossrush_start + 86000 bossrush_check(bossrush_current, bossrush_target) Send {1} Send {2} Send {3} bossrush_target := bossrush_start + 146000 bossrush_check(bossrush_current, bossrush_target) return F3::Pause F4::ExitApp
Gift Box Farmer (Click DPS version)
This was the first one I made. It was mainly created to pick up gift boxes for me when I'm AFK. It also taps for constant damage while it's not checking. This script is nice if you want to (or you like to either way) skill Click DPS via Guardian Apoc's Fury or if you're new to the game (especially, since at starting Click DPS is superior). It procs spells 1 to 6 whenever they're up for extra DPS/Gold/XP.

WinGetTitle, wintitle, ahk_class UnityWndClass WinWait, %wintitle%, IfWinNotActive, %wintitle%, , WinActivate, %wintitle%, WinWaitActive, %wintitle%, ResizeWin(736,519) loop { Send {2} Send {3} Send {4} Send {5} Send {1} Send {6} loop, 100 { loop, 150 ; clicks for 13 seconds { MouseClick, right, 490, 350 MouseClick, left, 490, 350 Send {Enter} Sleep 20 } checkforgift() } } ResizeWin(Width,Height) { WinGetPos,X,Y,W,H,%wintitle% WinMove,%wintitle%,,%X%,%Y%,%Width%,%Height% } checkforgift() { PixelSearch, FoundGiftX, FoundGiftY, 405, 408, 580, 418, 0x7841AA, 0, Fast RGB if !(ErrorLevel) { MouseClick, left, %FoundGiftX%, %FoundGiftY% Sleep 590 MouseClick, left, 368, 273 ; redeem gift Sleep 1710 } else { } } F3::Pause F4::ExitApp
Chest Hunter (Idle DPS version)
Patch 1.7.2 hurt this one much, as reloading the level takes over an entire second now. Not worth using anymore imo, I'll leave it here in case the forced delay gets lifted again.

The most recent one reloads the level till it finds a treasure chest and waits for its death. The use is very specific, sometimes it's better to go infinite instead of waiting for coin to buy the next big DPS upgrade but if you want to squeeze a little extra out of your run, this can get you some good money in short time, or if you want to bridge the sink in your DPS while waiting for money to upgrade heroes. Especially effective if you're on the idle DPS build (Guardian Cocomana -> Banking and Conquest) and have spent some points on Guardian Inti's Gilded Chests and Midas Touch. Fact is, the more points you have in these skills, the better the effect will be.

WinGetTitle, wintitle, ahk_class UnityWndClass WinWait, %wintitle%, IfWinNotActive, %wintitle%, , WinActivate, %wintitle%, WinWaitActive, %wintitle%, loop { PixelGetColor, color, 527, 479, RGB if (color = tc_color) { while (color = 0xFBB30B) { Sleep, 250 PixelGetColor, color, 527, 479, RGB } } else { MouseClick, left, 490, 50 ; reload level } Sleep, 1750 } F3::Pause F4::ExitApp
FAQs
How do I use these scripts?
Copy the code in a text document and save as an .AHK file with a name of your choice, run the game, then double-click your AHK file and watch the magic.

These scripts won't let me use my mouse as it hops around like mad, what is going on?
Input method to blame, i've tried others but only direct input seems to work for Tap Tap infinity. If you need to work on your computer, do not use the scripts for the time being, or pause the scripts when you need your PC for a brief moment.

Are you a programer?
No, frankly I suck at it. Most people seeing the scripts can do better but they work for me and that is what counts. If you're like me but too lazy to get into AHK, these scripts are for you. I've played around and came up with the stuff I have to make my TTI gaming easier.

Can't you make one script that does everything?
I've tried that, didn't work out. Lack of skills.

Is that all?
Yes, Ive gotten all achievements so (for now) I'm done playing TTI and won't update the scripts. Feel free however to modify them as you please.
28 comentários
Vouive 24 ago. 2022 às 4:25 
bossrush_check(current, target) {
while (current < target) {
bossrush_tap(70)
MouseClick, left, 160, 600 ; Lurch
Sleep 50
current := A_TickCount
}
}

F5::
bossrush_start := A_TickCount
bossrush_target := bossrush_start + 69375 ; this corresponds to the max lvl skills, so 1min15. Just divide depending on your skill lvl.
Send {0}
Send {8}
Send {7}
Send {9}
bossrush_current := A_TickCount
bossrush_check(bossrush_current, bossrush_target)

Send {5}
Send {4}
Send {1}
Send {2}
Send {3}
bossrush_target := bossrush_start + 147500 ; this corresponds to the max lvl skills, so 1min15. Just divide depending on your skill lvl.
bossrush_check(bossrush_current, bossrush_target)
return

F3::Pause
F4::ExitApp "
Vouive 24 ago. 2022 às 4:25 
PixelGetColor(height) {
PixelSearch, PixelColorX, PixelColorY, 1880, %height%, 1922, %height%, 0x387b16, 0, Fast RGB
if !(ErrorLevel) {
;Sleep 15000
Go_Infinite() ; when a level is failed and auto progression is deactivated, it resets and go infinite
;Send {P}
;Sleep 50
} else {
Sleep, 200
}
}

hero_slow_level(hero_level, level_times, hero_mousepos_x, hero_mousepos_y) {
wait_time := speed_wait_timer / level_times
if (wormhole > hero_level) {
loop, %level_times% {
MouseClick, left, %hero_mousepos_x%, %hero_mousepos_y%
Sleep, 100
}
} else {
loop, %level_times% {
MouseClick, left, %hero_mousepos_x%, %hero_mousepos_y%
Sleep, %wait_time%
}
}
Send {A}
Sleep, 200
}

Go_Infinite() {
Send {I}
Sleep, 2700
Send {I}
Sleep, 500
MouseClick, left, 1080, 715 ; going infinite
Sleep, 2000
Reload
}


bossrush_tap(count) {
loop, %count% {
MouseClick, left, 1250, 680
Sleep, 30
}
}
Vouive 24 ago. 2022 às 4:25 
MouseClick, left, 60, 300 ; Tapps
checkforgift(820)
checkforgift(940)
checkforgift(1020)
PixelGetColor(190)
PixelGetColor(195)
PixelGetColor(200)
PixelGetColor(205)
PixelGetColor(210)
PixelGetColor(215)
PixelGetColor(225)
Sleep, 2000

if (wait_timer > time_to_reset) {
Go_Infinite()
} else {
wait_timer += 1
}

Send {6}
}

; range : 1000,800 to 1400,1040
checkforgift(height) {
PixelSearch, FoundGiftX, FoundGiftY, 1000, %height%, 1400, %height%, 0x7841AA, 0, Fast RGB
if !(ErrorLevel) {
MouseClick, left, %FoundGiftX%, %FoundGiftY%
Sleep 500
MouseClick, left, 1210, 600 ; redeem gift
Sleep 4000
} else {
Sleep, 600
}
}
Vouive 24 ago. 2022 às 4:24 
hero_slow_level(80, 4, 160, 600) ; Lurch
hero_slow_level(85, 4, 260, 600) ; Melt
hero_slow_level(90, 4, 360, 600) ; Zombo
hero_slow_level(95, 4, 460, 600) ; Batkiz
hero_slow_level(100, 4, 60, 700) ; Aidith
MouseClick, left, 60, 300 ; Tapps
Sleep, 100
Send {A}

loop {
MouseClick, left, 160, 600 ; Lurch
checkforgift(800)
checkforgift(840)
checkforgift(880)
checkforgift(920)
checkforgift(960)
checkforgift(1000)
checkforgift(1040)
MouseClick, left, 460, 500 ; Moosh
checkforgift(810)
checkforgift(850)
checkforgift(890)
checkforgift(930)
checkforgift(970)
checkforgift(1010)
MouseClick, left, 160, 500 ; Lala
checkforgift(820)
checkforgift(860)
checkforgift(900)
checkforgift(940)
checkforgift(980)
checkforgift(1020)
MouseClick, left, 160, 600 ; Lurch
checkforgift(830)
checkforgift(870)
checkforgift(910)
checkforgift(950)
checkforgift(990)
checkforgift(1030)
Vouive 24 ago. 2022 às 4:24 
WinGetTitle, wintitle, ahk_class UnityWndClass
WinWait, %wintitle%,
IfWinNotActive, %wintitle%, , WinActivate, %wintitle%,
WinWaitActive, %wintitle%,

wait_timer = 0
speed_wait_timer := 24000 - (2400 * (speed + sl_cocomama))
time_to_reset := ceil(runtime*4)


hero_slow_level(5, 4, 160, 300) ; Chompy
hero_slow_level(10, 4, 260, 300) ; Toad
hero_slow_level(15, 4, 360, 300) ; Tommo
hero_slow_level(20, 4, 460, 300) ; Sparks
hero_slow_level(25, 4, 60, 400) ; Tinybolt
hero_slow_level(30, 4, 160, 400) ; Evie
hero_slow_level(35, 4, 260, 400) ; Beefcake
hero_slow_level(40, 4, 360, 400) ; Bones
hero_slow_level(45, 4, 460, 400) ; Leomitus
hero_slow_level(50, 4, 60, 500) ; Aimz
hero_slow_level(55, 4, 160, 500) ; Lala
hero_slow_level(60, 4, 260, 500) ; Bless
hero_slow_level(65, 4, 360, 500) ; Slith
hero_slow_level(70, 4, 460, 500) ; Moosh
hero_slow_level(75, 4, 60, 600) ; Serra
Vouive 24 ago. 2022 às 4:23 
For those wanting, I simplified and optimized the code (for the Gift auto pickup, for example, or for the auto going infinite when the progression is blocked). I have a (3840*2160) screen, you may have to change some numbers if yours is different.
If you want to find the position or RGB code of a pixel, you can use "https://pixspy.com/" free tool.

" runtime = 60 ; minutes this script shall run per go-infinite 1~=1min30
speed = 5 ; enter your speed level here
sl_cocomama = 1 ; say 1 if you have it and 0 if you do not
wormhole = 700 ; enter your wormhole level here

; You have to start in (1920,1080) windowed resolution, in grid mode (not list), and with "buy max" selected
; -------- only edit below if you know what you're doing --------
Haigen 17 jun. 2021 às 8:51 
You can see the current resolution in the settings tab, so if it doesnt fit adjust it until it fits. Should be doable for everyone unless you have parkinson.
3ICE 17 jun. 2021 às 8:50 
All jokes aside, I commented out this "ResizeWin(736,519)" line (as my title bar is much narrower than default and my window borders are also configured to be as thin as possible and just created a full screen custom resolution with graphics control panel. Works well.
3ICE 17 jun. 2021 às 8:47 
How did you know I possess pixel perfect accuracy? I still practice my resizing skills in mspaint.
Haigen 17 jun. 2021 às 8:18 
3ICE you can manually resize the game's window by clicking on its edge to fit the 720x480 resolution.