Nos partenaires et nous-mêmes utilisons différentes technologies, telles que les cookies, pour personnaliser les contenus et les publicités, proposer des fonctionnalités sur les réseaux sociaux et analyser le trafic. Merci de cliquer sur le bouton ci-dessous pour donner votre accord. Vous pouvez changer d’avis et modifier vos choix à tout moment. Informations RGPD
#WinActivateForce Numpad6:: WinGet, pidn, PID, A pid := pidn WinGet, hwnds, ID, A Handle := hwnds Lure := 9999 Base := getProcessBaseAddress() WaterAddress := GetAddressWater(Base,0x0096550C) LavaAddress := GetAddressLava(Base,0x0096550C) ChocoAddress := GetAddressChoco(Base,0x0096550C) LureCount := 0 Loop %Lure% { LureCount := LureCount +1 ControlSend, , {x down}, ahk_pid %pid% Sleep, 1 ControlSend, , {x up}, ahk_pid %pid% Sleep, 1 ControlSend, , {f down}, ahk_pid %pid% Sleep, 1 ControlSend, , {f up}, ahk_pid %pid% Catch := 0 PoleCheck := 40 Loop { If (Catch = 1) { break } else { If (PoleCheckN = PoleCheck) { ControlSend, , {f down}, ahk_pid %pid% Sleep, 86 ControlSend, , {f up}, ahk_pid %pid% LureCount := 0 } else { } CaughtWater := ReadMemory(WaterAddress) CaughtLava := ReadMemory(LavaAddress) CaughtChoco := ReadMemory(ChocoAddress) If (CaughtWater = 1 or CaughtLava = 1 or CaughtChoco = 1) { ControlSend, , {f down}, ahk_pid %pid% Sleep, 86 ControlSend, , {f up}, ahk_pid %pid% Random, Wait, 2000, 3500 Sleep, %Wait% Catch := 1 } else { PoleCheckN := PoleCheckN +1 Sleep, 1000 } } } } ExitApp Numpad7:: ExitApp GetAddressWater(Base, Address) { pointerBase := base + Address y1 := ReadMemory(pointerBase) y2 := ReadMemory(y1 + 0x144) y3 := ReadMemory(y2 + 0xe4) Return WaterAddress := (y3 + 0x70) } GetAddressLava(Base, Address) { pointerBase := base + Address y1 := ReadMemory(pointerBase) y2 := ReadMemory(y1 + 0x144) y3 := ReadMemory(y2 + 0xe4) Return LavaAddress := (y3 + 0x514) } GetAddressChoco(Base, Address) { pointerBase := base + Address y1 := ReadMemory(pointerBase) y2 := ReadMemory(y1 + 0x144) y3 := ReadMemory(y2 + 0xe4) Return ChocoAddress := (y3 + 0x2c0) } getProcessBaseAddress() { Global Handle return DllCall( A_PtrSize = 4 ? "GetWindowLong" : "GetWindowLongPtr" , "Ptr", Handle , "Int", -6 , "Int64") ; Use Int64 to prevent negative overflow when AHK is 32 bit and target process is 64bit ; If DLL call fails, returned value will = 0 } ReadMemory(MADDRESS) { Global pid VarSetCapacity(MVALUE,4,0) ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt") ;DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0) DllCall("ReadProcessMemory", "UInt", ProcessHandle, "Ptr", MADDRESS, "Ptr", &MVALUE, "Uint",4) Loop 4 result += *(&MVALUE + A_Index-1) << 8*(A_Index-1) return, result }