Page 11 of 15 FirstFirst ... 910111213 ... LastLast
Results 151 to 165 of 222
  1. #151
    DesolateI's Avatar
    Join Date
    Oct 2018
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    1
    Will you ever introduce an ESP, mainly for PVP?

  2. #152
    fatdoobie's Avatar
    Join Date
    Jul 2018
    Gender
    male
    Posts
    159
    Reputation
    10
    Thanks
    511
    Quote Originally Posted by OnlyMine View Post
    Yes.... thats right. Only difference was that on 60Hz bot was les sticky, even
    when i had the brown background in dream city

    Heres something else, if it helps

    Side note...
    Bot is a beast when the background color is Brown for som reason...
    so when you have the mountens in dream city behind mobs hethbar
    the bot is so sticky that its like a memory built aimbot. It follows the
    target smothly and everywhere...even when they jump.

    But when you come to the Well entrance then everything fals apart...
    bot hooks to the gras and the pillars on the entrance

    And when you are shooting out from the entrance towards the mountens
    and mobs have the brown color behind them then the bot is perfect again :\
    Yeah, dreaming city is kind of a unique place as there is an extreme amount of contrast there. Probably the worst PvE environment for the aimbot I've come across. My profile for DC is higher tolerance on the large red bar (about 65), and lower tolerance on the smaller bars (~45).

    That being said, the bot is pretty beastly in the blind well for me, the dark background is amazing for it.

    I did some tests myself changing all sorts of display settings - nVidia settings (eg vibrance, colour balance, etc), my monitor settings (contrast, brightness, gamma, etc), as well as even my video card display drivers. Results were the same - output pixels were exactly the same according to imagesearch. Only thing that made a difference was Destiny video settings and the monitor resolution.

    It might be a placebo you're experiencing or something, or possibly some unique thing I'm not able to reproduce. Either way it sounds like the bot is working, you'll just need to fine tune it a bit.

    Quote Originally Posted by DesolateI View Post
    Will you ever introduce an ESP, mainly for PVP?
    I could make an extremely basic one but its not going to be a wallhack or anything. Would just draw a rectangle beneath red bars lol.

    It is possible to do memory hacks with AHK but I don't have any plans to look into that myself.

  3. The Following User Says Thank You to fatdoobie For This Useful Post:

    MasterNo70519 (10-14-2018)

  4. #153
    tripedup's Avatar
    Join Date
    Sep 2018
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by fatdoobie View Post
    Sorry i didnt mean remove it completely, just to simplify things I would make it automatic.

    What I’m wondering is if the auto-adjust bar sizes are wrong for anyone, and if they had to change them.
    I use the auto adjust which is a nice feature. The only thing i have to adjust is Aim X, for 2560 X 1080 1.1 was pulling 97 as the Aim X, 1.2 is pulling 92 on auto adjust. 89 seems to be the sweet spot for Aim X on my res, but i think alot of it has to do with how far away from my target i am. I am getting used to playing with the free Y which helps. I actually couple this script with a no recoil script and it seems to complement it well.

  5. #154
    whomedude's Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    82
    Reputation
    10
    Thanks
    4
    My Mood
    Amused
    for some reason my GUI is loading weird?

    Last edited by whomedude; 10-14-2018 at 07:59 AM.
     
    Quote Originally Posted by lazyboyzzxxx View Post
    vouch or this guy +1
    Quote Originally Posted by koolguyy View Post
    I vouch! did it without mm and it went smoothly (other than my paypal being dumb) +1 man. Thank you very much.

  6. #155
    fatdoobie's Avatar
    Join Date
    Jul 2018
    Gender
    male
    Posts
    159
    Reputation
    10
    Thanks
    511
    Quote Originally Posted by tripedup View Post
    I use the auto adjust which is a nice feature. The only thing i have to adjust is Aim X, for 2560 X 1080 1.1 was pulling 97 as the Aim X, 1.2 is pulling 92 on auto adjust. 89 seems to be the sweet spot for Aim X on my res, but i think alot of it has to do with how far away from my target i am. I am getting used to playing with the free Y which helps. I actually couple this script with a no recoil script and it seems to complement it well.
    Thanks for the feedback, and yes you’re right about distance.

    Mind sharing the anti recoil? I’m looking at options now to include that.

    Quote Originally Posted by whomedude View Post
    for some reason my GUI is loading weird?

    Ha, what res is that bro? The red bar shit will be gone next release. I think possibly you have some kind of display scaling going on though, its making the GUI far bigger than it should be.

    Next release also doesnt use images for any text so that should help.

  7. #156
    OnlyMine's Avatar
    Join Date
    Sep 2018
    Gender
    male
    Posts
    22
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by fatdoobie View Post
    Yeah, dreaming city is kind of a unique place as there is an extreme amount of contrast there. Probably the worst PvE environment for the aimbot I've come across. My profile for DC is higher tolerance on the large red bar (about 65), and lower tolerance on the smaller bars (~45).

    That being said, the bot is pretty beastly in the blind well for me, the dark background is amazing for it.

    I did some tests myself changing all sorts of display settings - nVidia settings (eg vibrance, colour balance, etc), my monitor settings (contrast, brightness, gamma, etc), as well as even my video card display drivers. Results were the same - output pixels were exactly the same according to imagesearch. Only thing that made a difference was Destiny video settings and the monitor resolution.

    It might be a placebo you're experiencing or something, or possibly some unique thing I'm not able to reproduce. Either way it sounds like the bot is working, you'll just need to fine tune it a bit.
    I dont know how or what i did, but it works better
    now. Still tweeking it left and right. And all that tweeking
    gave me an idea. Make ini profile for each planet, so when
    you are in pvp just load up the profile 4 the planet your on
    while your flying in.

  8. #157
    killerclan's Avatar
    Join Date
    Oct 2017
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    1
    where can i get the latest version of this?

  9. #158
    fatdoobie's Avatar
    Join Date
    Jul 2018
    Gender
    male
    Posts
    159
    Reputation
    10
    Thanks
    511
    Version 2.0 FINAL

    edit: bugfixes:
    - fixed a bug where saving your main profile would enable scan area drawing
    - anti-recoil worked differently depending on activate key settings, that is no longer the case
    - "none" mode didn't work, instead functioned like "both" mode

    Changes:
    - Lots. Check the readme, there is a lot of new stuff.
    - Reworked imagesearch: no longer set your bar sizes manually, it's all auto-adjusted and dynamic.
    - Should be able to track enemies to much lower HP, however ONLY if you are *already* tracking them.
    - Anti-recoil, simple script based on Digi7al's anti recoil.
    - Anti-shake (already existed, but now theres an edit box to control the area of effect)
    - Main profiles in addition to imagesearch profiles (they are separate).

    I'll make a new thread with the zip if this all goes smoothly, just need a few people to test and make sure it works.


    As always, you'll need AHK_L installed if you want to run this, until the zip is approved.

    FOLDER STRUCTURE: IMPORTANT!

    NEW FOLDER
    NEW FOLDER\res\
    NEW FOLDER\res\bmp\
    NEW FOLDER\res\mainprofile\
    NEW FOLDER\res\imgprofile\


    Copy+paste the names directly if you need to! Note: "NEW FOLDER" can be anything, obviously.

    1. Source.ahk (inside base "New folder")

    Code:
    #NoEnv
    #Persistent
    #SingleInstance, Force
    #KeyHistory, 0
    #InstallKeybdHook
    #InstallMouseHook
    #UseHook
    #HotKeyInterval 1 
    #MaxHotkeysPerInterval 127
    SetBatchLines,-1
    SetKeyDelay,-1, 8
    SetControlDelay, -1
    SetMouseDelay, 0
    SetWinDelay,0
    ListLines, Off
    Coordmode, mouse, screen
    SetWorkingDir, %A_Scriptdir%\res
    
    ; INI Files / GUI setup
    INI_Init("settings.ini")
    GoSub, trimImg
    GoSub, trimMain
    GoSub, LoadGUI
    GoSub, ShowGUI
    GoSub, UpdateMainGuiText
    
    ; STATIC Globals. All auto-adjust is based off 1920x1080.
    g_W := A_Screenwidth
    g_H := A_Screenheight
    g_rw1 := Floor(g_W * 140 / 1920) ; max red W
    g_rh1 := Floor(g_H * 6 / 1080) ; min red H
    g_rw2 := Floor(g_W * 80 / 1920) ; mid red W
    g_rh2 := Floor(g_H * 8 / 1080) ; mid red H
    g_rw3 := Floor(g_W * 35 / 1920) ; min red W
    g_rh3 := Floor(g_H * 9 / 1080) ; max red H
    do_recoil := 0
    GoSub, g_scan
    GoSub, img_statics
    
    ; HOTKEY setup
    Gui Hotkeys:Default
    loop, %hotkeys_keys% {
    	if (hotkeys_%A_Index% != "" && hotkeys_%A_Index% != "Not set") {
    		Hotkey, % hotkeys_%A_Index%, func_hotkeys%A_Index%
    	} else {
    		GuiControl, +cRed, hotkeys_%A_Index%
    		GuiControl,, hotkeys_%A_Index%, Not set
    	}
    }
    
    ; First launch
    if (etc_showonce = 1) {
    	etc_showonce := 0
    	INI_Save("settings.ini","etc")
    	Msgbox, 0, Welcome!, First launch detected! Running auto-adjust.`n`nYou can run auto-adjust any time by pressing Ctrl+Alt+F12
    	GoSub, AutoAdjust
    	Msgbox, 4, Set Hotkeys?, Would you like to set your toggle keys?`n`nYou can change them any time by pressing the 'hotkeys' button on the menu bar.
    	IfMsgBox, Yes
    		GoSub, ToggleHotkeyGui
    }
    
    ; -------------------- End auto-execute --------------------
    
    ^!F12::
    AutoAdjust:
    Msgbox, 0, Auto-Adjusting!, Running auto adjust!
    main_shake := Floor(g_W * 15 / 1920)
    main_aimX := Floor(g_W * 67 / 1920)
    main_aimY := Floor(g_H * 43 / 1080)
    img_WhiteH := Floor(g_H * 5 / 1080)
    img_WhiteW := 1
    img_GreyH := Floor(g_H * 5 / 1080)
    img_GreyW := 1
    trg_tX1 := Floor(g_W * 20 / 1920) 
    trg_tX2 := Floor(g_W * 20 / 1920)
    trg_tY1 := Floor(g_H * 10 / 1080)
    trg_tY2 := Floor(g_H * 30 / 1080)
    loop, %sections% {
    	sec := % s%A_Index%
    	INI_Save("settings.ini",sec)
    	INI_Load("settings.ini",sec)
    }
    file := "imgprofile\" . img_profile . ".ini"
    INI_Save(file,"img")
    file := "mainprofile\" . main_profile . ".ini"
    INI_Save(file,"main")
    return
    
    ; Hotkey funcs
    
    func_hotkeys1: ; master on / off
    Keywait, %hotkeys_1%, U
    lockOn := ""
    lock2 := ""
    b := 1
    Gui Main:Default
    Gui, submit, nohide
    GoSub, UpdateMainGuiText
    if (main_mute = 0) {
    	loop, 2 {
    		Soundbeep, 900, 100
    	}
    }
    loop, {	
    	if ((GetKeyState("LButton","P")) && (main_anti = 1)) {
    		GoSub, mouseXY
    	}
    	if ((GetKeyState("RButton", "P")) && (main_aimR = 1)) 
    	|| ((GetKeyState("LButton", "P")) && (main_aimL = 1)) 
    	|| ((GetKeyState(main_customkey, "P")) && (main_aimC = 1))
    	{
    		if (lockOn = "") {
    			GoSub, findTarget
    		} else {
    			GoSub, lockTarget
    		}
    		continue
    	}
    	if (do_recoil = 1) {
    		if !(GetKeyState("LButton","P")) {
    			do_recoil := 0	
    		}		
    	}
    	if (ai = 1) {
    		gosub, g_scan
    	}
    	if (GetKeyState(hotkeys_1, "P")) {
    		Keywait, %hotkeys_1%, U
    		break
    	}
    	Sleep, 1
    }
    b := 0
    Gosub, UpdateMainGuiText
    if (main_mute = 0) {
    	Soundbeep, 900, 100
    }
    return
    
    func_hotkeys2: ; Y MODE, 0 = free, 1 = lock
    Keywait, %hotkeys_2%, Up
    main_yMode := !main_yMode
    IniWrite,%main_yMode%,settings.ini,main,yMode
    file := "mainprofile\" . main_profile . ".ini"
    Iniwrite,%main_yMode%,%file%,main,yMode
    Gosub, UpdateMainGuiText
    if (main_mute = 0) {
    	if (main_yMode = 1) {
    		loop, 2
    			Soundbeep, 700, 100
    	} else {
    		Soundbeep, 700, 100
    	}
    }
    return
    
    func_hotkeys3: ; 2nd Check, 1 = PVP, 2 = PVE, 3 = Both, 4 = None
    Keywait, %hotkeys_3%, Up
    if (main_PVMode < 4) {
    	main_PVMode ++
    	if (main_mute = 0) {
    		bf := 600 - (main_PVMode * 33)
    		Soundbeep, %bf%, 100
    	}
    } else {
    	main_PVMode := 1	
    	if (main_mute = 0) {
    		Soundbeep, 600, 100
    	}
    }
    Iniwrite,%main_PVMode%,settings.ini,main,PVMode
    file := "mainprofile\" . main_profile . ".ini"
    Iniwrite,%main_PVMode%,%file%,main,PVMode
    GoSub, UpdateMainGuiText
    return
    
    func_hotkeys4: ; Triggerbot on / off
    Keywait, %hotkeys_4%, Up
    main_trgMode := !main_trgMode
    iniwrite,%main_trgMode%,settings.ini,main,trgMode
    file := "mainprofile\" . main_profile . ".ini"
    Iniwrite,%main_trgMode%,%file%,main,trgMode
    GoSub, UpdateMainGuiText
    if (main_mute = 0) {
    	if (main_trgMode = 1) {
    		loop, 2 {
    			Soundbeep, 420, 100
    		}
    	} else {
    		Soundbeep, 420, 100
    	}
    }
    return
    
    func_hotkeys5: ; Anti-recoil on / off
    Keywait, %hotkeys_5%, Up
    main_anti := !main_anti
    iniwrite,%main_anti%,settings.ini,main,anti
    file := "mainprofile\" . main_profile . ".ini"
    Iniwrite,%main_anti%,%file%,main,anti
    GoSub, UpdateMainGuiText
    if (main_mute = 0) {
    	if (main_anti = 1) {
    		loop, 2 {
    			Soundbeep, 370, 100
    		}
    	} else {
    		Soundbeep, 370, 100
    	}
    }
    return
    
    ; ******************************************************************
    ; Main bot functions:
    
    g_scan: ; set normal scan area
    ai := 0
    X1 := 0 + (g_W * (main_scanX / 10))
    Y1 := 0 + (g_H * (main_scanY / 10))
    X2 := g_W - (g_W * (main_scanX / 10))
    Y2 := g_H - (g_H * (main_scanY / 10))
    return
    
    img_statics: ; only needs to be called on save/load
    t := 0 + img_timeout * 1000
    g_minv := Floor(g_W * (img_abs / 100) * 150 / 1920)
    return
    
    ai_scan: ; set "ai" scan area (tunnel vision)
    ai := 1
    X1 := aX - (g_W * 150 / 1920)
    X2 := aX + g_rw1 + (g_W * 100 / 1920)
    Y1 := aY - (g_H * 90 / 1080)
    Y2 := aY + g_rh2 + (g_H * 90 / 1080)
    return
    
    ai_timeout: ; force unlock
    lockOn := ""
    return
    
    findTarget: ; first scan for red bars
    loop, 3 {
    	i := A_Index
    	v1 := "img_Red" . i . "t",v1:=%v1%
    	v2 := "g_rw" . i,v2:=%v2%
    	v3 := "g_rh" . i,v3:=%v3%
    	imagesearch, aX, aY, %X1%, %Y1%, %X2%, %Y2%, *%v1% *w%v2% *h%v3% bmp\1.bmp
    	if (ErrorLevel = 0 && main_PVMode != 4) {
    		GoSub, scan2
    		if (ErrorLevel = 0) {
    			lockOn := i
    			retry := 0
    			GoSub, ai_scan
    			GoSub, mouse1	
    			return
    		}
    	} else if (ErrorLevel = 0 && main_PVMode = 4) {
    		lockOn := i
    		GoSub, mouse1
    		return
    	}
    }
    return
    
    lockTarget: ; lock on scan
    imagesearch, aX, aY, %X1%, %Y1%, %X2%, %Y2%, *%v1% *w%v2% *h%v3% bmp\1.bmp
    if (ErrorLevel = 0 && main_PVMode != 4) {
    	GoSub, scan2
    	if (ErrorLevel = 0) {
    		SetTimer, ai_timeout, -%t%
    		GoSub, ai_scan
    		GoSub, mouse1
    		retry := 0
    		return
    	}
    } else if (ErrorLevel = 0 && main_PVMode = 4) {
    	lockOn := i
    	GoSub, mouse1
    	return
    }
    if (lockOn = "1") {
    	if (v2 > g_minv) {
    		v2 := Abs(v2 * (100 - (img_reduc / 2)) / 100) ; less aggressive width reduc for shielded bars
    	}
    	if (v2 <= g_rw2) { ; force unshielded search if we reach low hp
    		v3 := g_rh2
    	}
    } else {
    	if (v2 > g_minv) {
    		v2 := Abs(v2 * (100 - img_reduc) / 100) 
    	}
    }
    if (retry < img_loops) {
    	retry ++
    	if (lockOn = "1" && retry > Floor(img_loops / 2)) { ; less aggressive retry for shielded bars
    		retry := 0
    		lockOn := ""
    	}
    } else {
    	retry := 0
    	lockOn := ""
    }
    return
    
    scan2:
    if (main_PVMode = 1) { ; pvp mode
    	GoSub, scanB1
    	return
    } else if (main_PVMode = 2) { ; pve mode
    	GoSub, scanB2
    	return
    }
    loop, 2 { ; both mode
    	i2 := A_Index
    	if (lock2 = "" || lock2 = i2) {
    		Gosub, ScanB%i2%			
    		if (newX != "" && newY != "") {
    			lock2 := i2
    			return
    		}
    	}
    }
    lock2 := ""
    return
    
    scanB1: ; white search in level-text area
    newX1 := aX - Ceil(g_W * 37 / 1920) - 5
    newX2 := aX - Ceil(g_W * 8 / 1920) + 5
    newY1 := aY - Ceil(g_H * 19 / 1080) - 4
    newY2 := aY + Ceil(g_H * 10 / 1080) + 4
    imagesearch, newX, newY, %newX1%, %newY1%, %newX2%, %newY2%, *%img_WhiteT% *w%img_WhiteW% *h%img_WhiteH% bmp\2.bmp
    return
    
    scanB2: ; grey search in name area (eg "legionary")
    newX1 := aX - Ceil(g_W * 3 / 1920)
    newX2 := aX + Ceil(g_W * 60 / 1920)
    newY1 := aY - Ceil(g_H * 20 / 1080) - 5
    newY2 := aY - Ceil(g_H * 3 / 1080)
    imagesearch, newX, newY, %newX1%, %newY1%, %newX2%, %newY2%, *%img_GreyT% *w%img_GreyW% *h%img_GreyH% bmp\3.bmp
    return
    
    mouse1: ; actual aim function
    AimX := aX - (g_W / 2 ) + main_aimX ; set search result locations to fixed offsets relative to centre of screen
    AimY := aY - (g_H / 2 ) + main_aimY
    if (main_trgMode = 1 && doingClick != 1) {
    	if (AimX > -trg_tX1 && AimX < trg_tX2 && AimY > -trg_tY1 && AimY < trg_tY2) { ; triggerbot zone check
    		doingClick := 1
    		SetTimer, mouse2, -25 ; 0.025 second delay on trigger call
    	}
    }
    if (AimX > main_shake) { ; if target is outside shake zone to the left...
    	DirX := main_sen / 10
    } else if (AimX > 0) { ; inside shake zone...
    	DirX := main_sen / 15
    } else if (AimX < -main_shake) { ; outside to the right...
    	DirX := (-main_sen) / 10
    } else if (AimX < 0) { ; inside
    	DirX := (-main_sen) / 15
    }
    if (AimY > 0) { ; target Y is below
    	DirY := main_sen / 12
    } else if (AimY < 0) { ; above
    	DirY := (-main_sen) / 12
    }
    MoveX := Ceil(( AimX * DirX ** ( 1 ))) * DirX ; relative speed based on distance. DirX/Y is called twice to retain +/- direction.
    MoveY := Ceil(( AimY * DirY ** ( 1 ))) * DirY * main_yMode
    DllCall("mouse_event", uint, 1, int, MoveX, int, MoveY, uint, 0, int, 0) ; mouse move
    return
    
    mouse2:
    DllCall("mouse_event", uint, 2, int, x, int, y, uint, 0, int, 0) ; L button down
    if (main_anti = 1) {
    	GoSub, mouseXY
    }
    Random, r, 1, 1.2 ; 1 to 1.2 randomizer (never below hold time)
    d := trg_tFreq * r
    SetTimer, mouse3, -%d%
    return
    
    mouse3:
    DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) ; L button up
    doingClick := 0
    return
    
    mouseXY: ; anti-recoil. Credits: Digi7aL.
    if (do_recoil = 0) {
    	do_recoil := 1
    	SetTimer, dorecoil, -25
    }
    return
    
    dorecoil:
    DllCall("mouse_event", uint, 1, int, main_antiX, int, main_antiY, uint, 0, int, 0)
    return
    
    
    
    ; **********************************************************************************************
    ; The rest of the script is just GUI and INI functions.
    
    
    ; ------ INI FUNCTIONS ------
    ; CREDITS: engunneer, edited by myself somewhat. 
    
    ; globals: sections, sNumber, section_keys, section_kNumber, section_key
    
    ; By default, these values should be:
    ; sections = 4
    ; s1 = main, etc
    ; main_keys = 14, etc
    ; main_k1 = sen, etc
    ; main_sen = 6, etc
    
    INI_Init(inifile) {
    	local key
    	sections := 0
    	loop, read, %inifile%
    	{
    		if (regexmatch(A_Loopreadline,"\[(\w+)]")) { ; line is a section name
    			sections+= 1
    			s%sections%:=regexreplace(A_loopreadline,"(\[)(\w+)(])","$2")
    			sec := s%sections%
    			%sec%_keys := 0
    			
    		} else if (regexmatch(A_LoopReadLine,"(\w+)=(.*)")) { ; line is a key=value pair
    			%sec%_keys+= 1
    			key:=%sec%_keys
    			%sec%_k%key%:=regexreplace(A_LoopReadLine,"(\w+)=(.*)","$1")
    			var:=sec "_" %sec%_k%key%
    			iniread,%var%,%inifile%,%sec%,% %sec%_k%key%	
    		}
    	}
    }
    
    INI_Load(inifile,sec) { ; requires file location and section name
    	Gui %sec%:default
    	loop,% %sec%_keys
    	{
    		var := sec "_" %sec%_k%A_index%
    		iniread,temp,%inifile%,%sec%,% %sec%_k%A_index%
    		if (temp != "ERROR") {
    			%var% := temp
    			GuiControl,, %var%, % %var%
    		} else {
    			msgbox, Error loading settings value "%var%". Please select a new file:
    			GoSub, imgprofileLoad
    			break
    		}
    	}		
    }
    
    INI_Save(inifile,sec) { ; requires file location and section name
    	loop,% %sec%_keys
    	{
    		var:= sec "_" %sec%_k%A_index%,var2:=%var%
    		iniwrite,%var2%,%inifile%,%sec%,% %sec%_k%A_index%
    	}
    }
    return
    
    
    ; ------ GUI ELEMENT FUNCTIONS ------
    
    SetHotKey:
    ID := A_Guicontrol
    SetCustomKey(temp,temperror)
    if (temperror = 0) {
    	loop, 4 {
    		v := hotkeys_%A_Index%
    		if (temp == v) {
    			msgbox, 16, Already in use, %v% is already in use. Please unbind it first.
    			return
    		}
    	}	
    	Gui Hotkeys:Default
    	if (hotkeys_%ID% != "" && hotkeys_%ID% != "Not set") {
    		Hotkey, % hotkeys_%ID%, off
    	}
    	hotkeys_%ID% := temp
    	INI_Save("settings.ini","hotkeys")
    	GuiControl, +cLime, hotkeys_%ID%
    	GuiControl,, hotkeys_%ID%, % hotkeys_%ID%
    	Hotkey, % hotkeys_%ID%, func_hotkeys%ID%, on
    }
    GoSub, UpdateMainGuiText
    return
    
    SetAimKey:
    SetCustomKey(temp,temperror)
    if (temperror = 0) {
    	main_customkey := temp
    	INI_Save("settings.ini","main")
    	Gui Main:Default
    	GuiControl,, main_customkey, %main_customkey%
    }
    return
    
    SetCustomKey(ByRef temp, ByRef temperror) {
    	global b
    	temperror := 0
    	if (b = 1) {
    		temperror := 1
    		msgbox, Please turn off the bot before changing custom key.
    		return
    	}
    	Mousegetpos, xpos, ypos
    	xpos += -50
    	prompt :=
    	(
    	"Please type the name of the key you wish to bind.`n
        A-Z, 0-9, F1-F99, Numpad0-Numpad9
        For other keys, type the literal key name (eg. CapsLock, PgDn, LCtrl, RAlt, etc)
        Mouse: MButton (middle), XButton1 (back), XButton2 (foward)`n"
    	)
    	InputBox, temp, Custom key, %prompt%, , 545, 225, %xpos%, %ypos%, , , 
    	if (ErrorLevel || temp = "") {
    		temperror := 1
    		return
    	}
    	Static ManualList := "CapsLock,Shift,LCtrl,RCtrl,LAlt,RAlt,Tab,Space,MButton,XButton1,XBUtton2,PgUp,PgDn,Ins,Home,Del,End,``,Enter,Up,Down,Left,Right,"
    	if temp not in %ManualList%
    	{
    		if !(StrLen(temp) = 1 && RegExMatch(temp,"[[:alnum:]]+",match))
    		&& !(StrLen(temp) < 4 && RegExMatch(temp,"i)F[[:digit:]]+",match))
    		&& !(StrLen(temp) = 7 && RegExMatch(temp,"i)Numpad[[:digit:]]",match)) 
    		{
    			temperror := 1
    			MsgBox, 16, Error!, "%temp%" may not be a valid key name.`nIt must be a single key name only.`nYou can attempt to enter the key name manually in the 'res\settings.ini' file if you want.
    			return
    		}
    	}
    	StringUpper, temp, temp, T
    }
    
    SaveMain:
    Gui Main:Default
    Gui submit, nohide
    INI_Save("settings.ini","main")
    GuiControl,, MainSaveText, Saved!
    SetTimer, RevertText, -1000
    if (drawing = 1) {
    	GoSub, UpdateOSD
    }
    return
    
    SaveImg:
    Gui Img:Default
    Gui submit, nohide
    INI_Save("settings.ini","img")
    file := "imgprofile\" . img_profile . ".ini"
    INI_Save(file,"img")
    GoSub, UpdateImg
    GuiControl,, ImgSaveText, Saved!
    SetTimer, RevertText, -1000
    GoSub, img_statics
    return
    
    SaveTrg:
    Gui Trg:Default
    Gui submit, nohide
    INI_Save("settings.ini","trg")
    GuiControl,, TrgSaveText, Saved!
    SetTimer, RevertText, -1000
    return
    
    imgprofileLoad:
    Thread, NoTimers
    FileSelectFile, SelectedFile, 3, imgprofile\, Open a file, Settings files (*.ini)
    Thread, NoTimers, false
    SplitPath, SelectedFile, name, dir, ext, name_no_ext, drive
    if (SelectedFile = "" || ext != "ini") {
    	return
    }
    img_profile := name_no_ext
    file := "imgprofile\" . img_profile . ".ini"
    INI_Load(file,"img")
    INI_Save("settings.ini","img")
    Gui Img:Default
    GoSub, UpdateImg
    GoSub, img_statics
    return
    
    imgprofileSaveAs:
    Thread, NoTimers
    FileSelectFile, SelectedFile, S, imgprofile\new.ini, Save as:, Settings files (*.ini)
    Thread, NoTimers, false
    if (SelectedFile = "") {
    	return
    }
    SplitPath, SelectedFile, name, dir, ext, name_no_ext, drive
    if (ext != "ini") {
       name=%name_no_ext%.ini
    }
    if (FileExist("imgprofile\"name)) {
    	Msgbox, 4, Are you sure?, Overwrite existing file?
    	IfMsgBox, No
    		return
    }
    img_profile := name_no_ext
    Gui Img:default
    Gui submit, nohide
    INI_Save("settings.ini","img")
    file := "imgprofile\" . img_profile . ".ini"
    INI_Save(file,"img")
    INI_Load(file,"img")
    GoSub, UpdateImg
    GoSub, img_statics
    return
    
    mainprofileLoad:
    Thread, NoTimers
    FileSelectFile, SelectedFile, 3, mainprofile\, Open a file, Settings files (*.ini)
    Thread, NoTimers, false
    SplitPath, SelectedFile, name, dir, ext, name_no_ext, drive
    if (SelectedFile = "" || ext != "ini") {
    	return
    }
    main_profile := name_no_ext
    file := "mainprofile\" . main_profile . ".ini"
    INI_Load(file,"main")
    INI_Save("settings.ini","main")
    Gui Main:Default
    GoSub, trimMain
    GuiControl,, mainprofileText, Profile: %mainString%
    Gosub, UpdateMainGuiText
    if (drawing = 1) {
    	GoSub, UpdateOSD
    }
    return
    
    mainprofileSaveAs:
    Thread, NoTimers
    FileSelectFile, SelectedFile, S, mainprofile\new.ini, Save as:, Settings files (*.ini)
    Thread, NoTimers, false
    if (SelectedFile = "") {
    	return
    }
    SplitPath, SelectedFile, name, dir, ext, name_no_ext, drive
    if (ext != "ini") {
       name=%name_no_ext%.ini
    }
    if (FileExist("mainprofile\"name)) {
    	Msgbox, 4, Are you sure?, Overwrite existing file?
    	IfMsgBox, No
    		return
    }
    main_profile := name_no_ext
    Gui Main:default
    Gui submit, nohide
    GoSub, trimMain
    GuiControl,, mainprofileText, Profile: %mainString%
    INI_Save("settings.ini","main")
    file := "mainprofile\" . main_profile . ".ini"
    INI_Save(file,"main")
    INI_Load(file,"main")
    Gosub, UpdateMainGuiText
    if (drawing = 1) {
    	GoSub, UpdateOSD
    }
    return
    
    tolShift:
    Gui Img:Default
    loop, 3
    {
    	var:= "img_Red" . A_index . "t",var2:=%var%
    	var2 += A_Guicontrol
    	GuiControl,, %var%, %var2%
    	img_Red%A_index%t := var2
    }
    return
    
    MainGuiToggle:
    Gui Main:Default
    if (miniMode != 1) {
    	miniMode := 1
    	Gui, Show, w270 h337 NoActivate, %WinTitle%
    	GuiControl,, MiniButton, ... (main)
    } else {
    	miniMode := 0
    	Gui, Show, w270 h133 NoActivate, %WinTitle%
    	GuiControl,, MiniButton, Main settings
    }
    return
    
    toggleIMG:
    if (!showingImgBox) {
    	GoSub, showImg
    } else {
    	GoSub, hideImg
    }
    return
    
    toggleOSD:
    if (drawing != 1) {
    	drawing := 1
    	GoSub, UpdateOSD
    } else { 
    	drawing := 0
    	Gui OSD:Default
    	Gui, Cancel
    }
    return
    
    toggleTrgGui:
    if (showingTrgBox != 1) {
    	GoSub, showTrg
    } else {
    	GoSub, hideTrg
    }
    return
    
    ToggleHotkeyGui:
    Gui Hotkeys:Default
    if (showingHotkeys != 1) {
    	showingHotkeys := 1
    	Mousegetpos, xpos, ypos
    	xpos += 10
    	ypos += 10
    	Gui, show, w225 h165 x%xpos% y%ypos%, Hotkeys:
    } else {
    	showingHotkeys := 0
    	Gui, cancel
    }
    return
    
    ImgGuiEscape:
    ImgGuiClose:
    GoSub, hideImg
    return
    
    TrgGuiEscape:
    TrgGuiClose:
    GoSub, hideTrg
    return
    
    HotkeysGuiEscape:
    HotkeysGuiClose:
    GoSub, ToggleHotkeyGui
    return
    
    Tray:
    Gui Main:Default
    WinHide
    return
    
    Restore:
    Gui Main:Default
    gui, Main: +lastfound
    WinShow
    WinRestore
    return
    
    MainGuiEscape:
    MainGuiClose:
    Exit:
    ExitApp
    return
    
    GuiMove:
    Gui Main:Default
    PostMessage, 0xA1, 2,,, A
    return
    
    MuteSub:
    main_mute := !main_mute
    Iniwrite, %main_mute%, settings.ini, main, mute
    return
    
    ; ------ OTHER GUI FUNCTIONS ------
    
    UpdateImg:
    Gui Img:Default
    GuiControl,, WhitePic, *w%img_WhiteW% *h%img_WhiteH% bmp\2.bmp
    GuiControl,, GreyPic, *w%img_GreyW% *h%img_GreyH% bmp\3.bmp
    return
    
    UpdateOSD:
    OSDx := 0 + (g_W * (main_scanX / 10))
    OSDy := 0 + (g_H * (main_scanY / 10))
    OSDw := g_W - (g_W * (main_scanX / 5))
    OSDh := g_H - (g_H * (main_scanY / 5))
    Gui OSD:Default
    Gui, Show, x%OSDx% y%OSDy% w%OSDw% h%OSDh% NoActivate
    Gui, +lastfound
    ID := WinExist()
    WinSet, ExStyle, +0x80020, ahk_id %ID%
    return
    
    showImg:
    showingImgBox := 1
    Gui Main:Default
    Gui,+LastFound
    GuiControl,, imgButton, ... (img)
    WinGetPos,newWinx,newWiny,newWinw,newWinh
    imgX := newWinx
    imgY := newWiny + newWinh
    Gui Img:Default
    Gui, Show, w250 h302 x%imgX% y%imgY%, %WinTitle%
    Sleep, 25
    GoSub, UpdateImg
    return
    
    hideImg:
    Gui Img:Default
    Gui, cancel
    showingImgBox := 0
    Gui Main:Default
    GoSub, trimImg
    GuiControl,, imgButton, img: %imgString%
    return
    
    trimImg:
    imgString := img_profile
    len := StrLen(img_profile)
    if (len > 6) {
    	trim := len - 5
    	StringTrimRight, imgString, imgString, %trim%
    	imgString := imgString . ".."
    }
    return
    
    trimMain:
    mainString := main_profile
    len := StrLen(mainString)
    if (len > 13) {
    	trim := len - 12
    	StringTrimRight, mainString, mainString, %trim%
    	mainString := mainString . ".."
    }
    return
    
    showTrg:
    showingTrgBox := 1
    Gui Main:Default
    Gui, +LastFound,
    GuiControl,, trgButton, ... (trg)
    WinGetPos,newWinX,newWiny,newWinw,newWinh
    trgGuiX := newWinx + newWinw
    trgGuiY := newWiny
    Gui Trg:Default
    Gui, Show, w248 h317 x%trgGuiX% y%trgGuiY%, %winTitle%
    return
    
    hideTrg:
    Gui Trg:Default
    Gui, cancel
    showingTrgBox := 0
    Gui Main:Default
    GuiControl,, trgButton, Triggerbot
    return
    
    RevertText:
    Gui Main:Default
    GuiControl,, MainSaveText, Save
    Gui Img:Default
    GuiControl,, ImgSaveText, Apply changes
    Gui Trg:Default
    GuiControl,, TrgSaveText, Save
    return
    
    UpdateMainGuiText:
    Gui Main:Default
    if (b = 1) { 
    	GuiControl, +cLime, OnOff
    	GuiControl,, OnOff, [%hotkeys_1%] Bot: ON
    } else {
    	GuiControl, +cRed, OnOff
    	GuiControl,, OnOff, [%hotkeys_1%] Bot: OFF	
    }
    if (main_yMode = 1) {
    	GuiControl, +cGreen, Ylock
    	GuiControl,, Ylock, [%hotkeys_2%] Y Mode: LOCK
    } else if (main_yMode = 0) {
    	GuiControl, +cMaroon, Ylock
    	GuiControl,, Ylock, [%hotkeys_2%] Y Mode: FREE
    }
    if (main_PVMode = 1) {
    	GuiControl, +cGreen, PVText
    	GuiControl,, PVText, [%hotkeys_3%] 2nd Check: PVP
    } else if (main_PVMode = 2) {
    	GuiControl, +cTeal, PVText
    	GuiControl,, PVText, [%hotkeys_3%] 2nd Check: PvE
    } else if (main_PVMode = 3) {
    	GuiControl, +cOlive, PVText
    	GuiControl,, PVText, [%hotkeys_3%] 2nd Check: Both
    } else if (main_PVMode = 4) {
    	GuiControl, +cMaroon, PVText
    	GuiControl,, PVText, [%hotkeys_3%] 2nd Check: None	
    }
    if (main_trgMode = 1) {
    	GuiControl, +cGreen, TrigText
    	GuiControl,, TrigText, [%hotkeys_4%] Triggerbot: ON
    } else {
    	GuiControl, +cMaroon, TrigText
    	GuiControl,, TrigText, [%hotkeys_4%] Triggerbot: OFF
    }
    if (main_anti = 1) {
    	GuiControl, +cGreen, AntiText
    	GuiControl,, AntiText, [%hotkeys_5%] Anti-Recoil: ON
    } else {
    	GuiControl, +cMaroon, AntiText
    	GuiControl,, AntiText, [%hotkeys_5%] Anti-Recoil: OFF
    }	
    return
    
    ;  Setup all GUIs on load:
    
    LoadGUI:
    ; main gui
    Gui Main:Default
    Gui, -Caption +Border -DPIscale
    Gui, Color, 000000
    Gui, Add, Picture, x0 y25 hwndhpic +0xE
    bgPic := "bmp\gui.bmp"
    hbmp := DllCall("LoadImage", "uint", 0, "str", bgPic, "uint", 0x0, "int", 0, "int", 0, "uint", 0x10|0x2000)
    SendMessage, 0x172, 0x0, hbmp,, ahk_id %hpic%
    Gui, Font, s10 cBlack
    Gui, Add, Text, x4 y4 w134 h21 gGuiMove cWhite, FAT AA 2.0
    Gui, Font, s8
    Gui, Add, Button, w60 h17 x138 y4 gToggleHotkeyGui, hotkeys
    Gui, Add, Button, w30 h17 x202 y4 gTray, tray
    Gui, Add, Button, w30 h17 x236 y4 gExit, exit
    Gui, Font, s9 cWhite
    Gui, Add, Button, w69 h28 x10 y35 gMainGuiToggle vMiniButton, Main settings
    Gosub, trimImg
    Gui, Add, Button, w69 h28 x10 y66 gtoggleIMG vimgButton, img: %imgString%
    Gui, Add, Button, w69 h28 x10 y97 gtoggleTrgGui vtrgButton, Triggerbot
    Gui, Font, s11
    Gui, Add, Text, w130 x85 y33 vOnOff cRed
    Gui, Add, Text, w130 x85 y52 vYlock
    Gui, Add, Text, w150 x85 y71 vPVText
    Gui, Add, Text, w170 x85 y90 vTrigText
    Gui, Add, Text, w170 x85 y109 vAntiText
    Gui, Font, s9
    Gui, Add, Checkbox, x218 y36 gMuteSub vMute Checked%main_mute%, Mute
    Gui, Font, s10 cWhite
    Gui, Add, Text, x37 y148, Speed:
    Gui, Add, Text, x13 y173, Anti-Shake:
    Gui, Add, Text, x44 y198, Aim X:
    Gui, Add, Text, x44 y223, Aim Y:
    Gui, Add, Text, x160 y148, Scan X:
    Gui, Add, Text, x160 y173, Scan Y:
    Gui, Add, Text, x152 y198, Recoil X:
    Gui, Add, Text, x152 y223, Recoil Y:
    Gui, Font, S11 cBlack
    Gui, Add, Edit, w35 h20 x90 y145 vmain_sen, %main_sen%
    Gui, Add, Edit, w35 h20 x90 y170 vmain_shake, %main_shake%
    Gui, Add, Edit, w35 h20 x90 y195 vmain_aimX, %main_aimX%
    Gui, Add, Edit, w35 h20 x90 y220 vmain_aimY, %main_aimY%
    Gui, Add, Edit, w35 h20 x215 y145 vmain_scanX, %main_scanX%
    Gui, Add, Edit, w35 h20 x215 y170 vmain_scanY, %main_scanY%
    Gui, Add, Edit, w35 h20 x215 y195 vmain_antiX, %main_antiX%
    Gui, Add, Edit, w35 h20 x215 y220 vmain_antiY, %main_antiY%
    Gui, Font, s9 cWhite
    Gui, Add, Text, x10 y250, Activate:
    Gui, Add, Checkbox, x56 y250 vmain_aimL checked%main_aimL%, L Click
    Gui, Add, Checkbox, x115 y250 vmain_aimR checked%main_aimR%, R Click
    Gui, Add, Checkbox, w20 h20 x178 y247 vmain_aimC checked%main_aimC% -wrap, %A_space%
    Gui, Font, s9
    Gui, Add, Button, w56 h20 x198 y247 gSetAimKey vmain_customKey, %main_customkey%
    Gui, Add, Checkbox, x30 y277 gtoggleOSD, Draw Scan Area
    Gui, Add, Text, x145 y277 cLime w115 vmainprofileText, Profile: %mainString%
    Gui, Add, Button, w65 h19 x20 y300 gmainprofileSaveAs, Save As...
    Gui, Add, Button, w50 h19 x90 y300 gmainprofileLoad, Load
    Gui, Add, Button, w105 h19 x145 y300 gSaveMain vMainSaveText Default, Save
    Gui, +Lastfound
    Menu, Tray, NoStandard
    Menu, Tray, Add, Exit, Exit
    Menu, Tray, Add, Restore, Restore
    Menu, Tray, Default, Restore
    Menu, Tray, Click, 2
    ; imagesearch gui
    Gui Img:Default
    Gui, -DPIScale
    Gui, Color, 000000
    Gui, Add, Picture, x0 y0 hwndhpic2 +0xE
    ImgbgPic := "bmp\imgGui.bmp"
    hbmp := DllCall("LoadImage", "uint", 0, "str", ImgbgPic, "uint", 0x0, "int", 0, "int", 0, "uint", 0x10|0x2000)
    SendMessage, 0x172, 0x0, hbmp,, ahk_id %hpic2%
    Gui, Font, s9
    Gui, Add, Text, w70 h20 x67 y10 cWhite vimg_profile, %img_profile%
    Gui, Add, Button, h20 w140 x7 y31 gSaveImg vImgSaveText Default, Apply changes
    Gui, Add, Button, h18 w70 x165 y9 gimgprofileLoad, Load
    Gui, Add, Button, h18 w70 x165 y33 gimgprofileSaveAs, Save As...
    Gui, Font, s9 cWhite
    Gui, Add, Text, x55 y70, Retry Limit:
    Gui, Add, Text, x51 y92, Aggression:
    Gui, Add, Text, x44 y114, Minimum HP:
    Gui, Add, Text, x34 y136, Memory length:
    Gui, Add, Text, x145 y70, attempts
    Gui, Add, Text, x145 y92, `%
    Gui, Add, Text, x145 y114, `%
    Gui, Add, Text, x145 y136, seconds
    Gui, Font, cBlack
    Gui, Add, Edit, x113 y68 h17 w25 vimg_loops, %img_loops%
    Gui, Add, Edit, x113 y90 h17 w25 vimg_reduc, %img_reduc%
    Gui, Add, Edit, x113 y112 h17 w25 vimg_abs, %img_abs% 
    Gui, Add, Edit, x113 y134 h17 w25 vimg_timeout, %img_timeout%
    Gui, Font, s11
    Gui, Add, Text, x25 y177 cRed, Color Tolerance:
    Gui, Font, s9
    Gui, Add, Button, h16 w24 x69 y200 gtolShift, -5
    Gui, Add, Button, h16 w24 x99 y200 gtolShift, +5
    Gui, Add, Text, x178 y168 cRed, High HP
    Gui, Add, Text, x178 y193 cRed, Mid HP
    Gui, Add, Text, x178 y218 cRed, Low HP
    Gui, Font, s10 cBlack
    Gui, Add, Edit, x138 y165 w30 h18 vimg_Red1t, %img_Red1t% 
    Gui, Add, Edit, x138 y190 w30 h18 vimg_Red2t, %img_Red2t%
    Gui, Add, Edit, x138 y215 w30 h18 vimg_Red3t, %img_Red3t%
    Gui, Font, cWhite
    Gui, Add, Text, w96 h18 x26 y240, White (PvP):
    Gui, Add, Text, w92 h18 x155 y240, Grey (PvE):
    Gui, Font, s9
    Gui, Add, Text, x20 y259, Tolerance:
    Gui, Add, Text, x15 y279, W:
    Gui, Add, Text, x60 y279, H:
    Gui, Add, Text, x140 y259, Tolerance:
    Gui, Add, Text, x135 y279, W:
    Gui, Add, Text, x180 y279, H:
    Gui, Font, s9 cBlack
    Gui, Add, Picture, x105 y245 w2 h2 vwhitepic, bmp\2.bmp
    Gui, Add, Edit, w20 h16 x76 y260 vimg_WhiteT, %img_WhiteT%
    Gui, Add, Edit, w20 h16 x32 y278 vimg_WhiteW, %img_WhiteW%
    Gui, Add, Edit, w20 h16 x76 y278 vimg_whiteH, %img_WhiteH%
    Gui, Font, s10 cSilver
    Gui, Font, s9 cBlack
    Gui, Add, Picture, x228 y245 w2 h2 vgreypic, bmp\3.bmp
    Gui, Add, Edit, w25 h16 x197 y260 vimg_GreyT, %img_GreyT%
    Gui, Add, Edit, w25 h16 x151 y278 vimg_GreyW, %img_GreyW%
    Gui, Add, Edit, w25 h16 x197 y278 vimg_GreyH, %img_GreyH%
    ; Trigger gui
    Gui Trg:Default
    Gui, -DPIScale
    Gui, Color, 000000
    Gui, Add, Picture, x0 y0 hwndhpic3 +0xE
    TrgbgPic := "bmp\trgGui.bmp"
    hbmp := DllCall("LoadImage", "uint", 0, "str", TrgbgPic, "uint", 0x0, "int", 0, "int", 0, "uint", 0x10|0x2000)
    SendMessage, 0x172, 0x0, hbmp,, ahk_id %hpic3%
    Gui, Add, Button, Default gSaveTrg vTrgSaveText w100 h20 x75 y45, Save
    Gui, Font, cWhite s10
    Gui, Add, Text, x36 y84, Hold time / fire rate: 
    Gui, Add, Text, h22 x190 y85, ms 
    Gui, Font, cBlack 
    Gui, Add, Edit, w30 h20 x155 y82 vtrg_tFreq, %trg_tFreq%
    Gui, Font, cRed
    Gui, Add, Text, x72 y110, Trigger fire zone:
    Gui, font, s9 cWhite
    Gui, Add, Text, x29 y140, X1 (left): 
    Gui, Add, Text, x138 y140, X2 (right): 
    Gui, Add, Text, x29 y170, Y1 (up):
    Gui, Add, Text, x130 y170, Y2 (down): 
    Gui, font, cBlack
    Gui, Add, Edit, w22 h18 x79 y138 vtrg_tX1, %trg_tX1%
    Gui, Add, Edit, w22 h18 x196 y138 vtrg_tX2, %trg_tX2%
    Gui, Add, Edit, w22 h18 x79 y167 vtrg_tY1, %trg_tY1%
    Gui, Add, Edit, w22 h18 x196 y167 vtrg_tY2, %trg_tY2%
    ; hotkey gui
    Gui Hotkeys:Default
    Gui, -DPIScale
    Gui, Color, 000000
    Gui, Font, cWhite s10
    Gui, Add, Text, x10 y10, Set your toggle keys:
    Gui, Add, Text, x10 y50, Main On / Off:
    Gui, Add, Text, x10 y70, Y Mode:
    Gui, Add, Text, x10 y90, 2nd Check:
    Gui, Add, Text, x10 y110, Triggerbot:
    Gui, Add, Text, x10 y130, Anti-Recoil:
    Gui, Font, cLime s10
    Gui, Add, Text, w65 x110 y50 vhotkeys_1, %hotkeys_1%
    Gui, Add, Text, w65 x110 y70 vhotkeys_2, %hotkeys_2%
    Gui, Add, Text, w65 x110 y90 vhotkeys_3, %hotkeys_3%
    Gui, Add, Text, w65 x110 y110 vhotkeys_4, %hotkeys_4%
    Gui, Add, Text, w65 x110 y130 vhotkeys_5, %hotkeys_5%
    Gui, font, cBlack s9 
    Gui, Add, Button, h18 w30 x180 y50 gSetHotKey, 1
    Gui, Add, Button, h18 w30 x180 y70 gSetHotKey, 2
    Gui, Add, Button, h18 w30 x180 y90 gSetHotKey, 3
    Gui, Add, Button, h18 w30 x180 y110 gSetHotKey, 4
    Gui, Add, Button, h18 w30 x180 y130 gSetHotKey, 5
    ; OSD (draw scan area)
    Gui OSD:Default 
    Gui, +AlwaysOnTop -Caption +ToolWindow +Border -DPIScale
    Gui, Color, EEAA99
    Gui, +Lastfound
    WinSet, TransColor, EEAA99
    return
    
    ShowGUI:
    Random, r, 5, 10
    Loop %r% {
    	Random, Var,97,122
    	WinTitle.=Chr(Var)
    }
    mousegetpos, xpos, ypos
    xpos += -50
    ypos += -50
    Gui Main:default
    Gui, Show, w270 h133 x%xpos% y%ypos%, %WinTitle%
    return
    
    ; end
    2. In res\ save this as "settings.ini"

    Code:
    [main]
    profile=default
    sen=8
    shake=15
    scanX=3.7
    scanY=3.6
    aimX=67
    aimY=43
    anti=0
    antiX=-5
    antiY=35
    trgMode=0
    PVMode=1
    yMode=1
    aimL=1
    aimR=1
    aimC=0
    customkey=Not set
    mute=1
    [img]
    profile=default
    loops=5
    reduc=8
    timeout=2
    abs=5
    Red1t=60
    Red2t=55
    Red3t=50
    WhiteW=1
    WhiteH=5
    WhiteT=0
    GreyW=1
    GreyH=5
    GreyT=30
    [trg]
    tX1=20
    tX2=20
    tY1=10
    tY2=30
    tFreq=125
    [hotkeys]
    1=F3
    2=F4
    3=F5
    4=Not set
    5=Not set
    [etc]
    showonce=1
    3. Inside res\bmp\ save these images:

    - "1.bmp", "2.bmp" and "3.bmp" files from my 1.2 or 1.1 release (easiest way is just download that release, theyre 1x1 px images)

    - Open these images in paint and save as exact names: MUST BE .BMP

    "gui.bmp"


    "imgGui.bmp"


    "trgGui.bmp"


    4. Readme:

    Code:
    credits: 3andrew (forsaken fix), CPLnet/illsbury (base aim assist). Snippets credited in source.
    
    - Sensitivity: Destiny - between 4 and 6, ADS sens 0.7. Mouse DPI - 1000 to 3000 (depending on res). Bot works fine up to 5000 DPI though.
    - Brightness: 4
    - Windowed Fullscreen
    - Field of View: 105
    - D2 must be running on primary monitor.
    
    On first launch, the script will set recommended settings for your resolution. You can reset to these defaults by pressing Ctrl+Alt+F12.
    
    [ Toggle keys ]
    
    - Bot on/off. Controls all other features.
    - Y Mode (Free / Lock): 'Free' means you can move the mouse up and down freely, 'Lock' means the bot will aim for Y axis.
    - 2nd check: Improves reliability at the cost of speed.
    - Triggerbot: Shoots at targets inside trigger zone when an 'activate' key is being held.
    - Anti-recoil. Simple script, credits to Digi7al. More info below.
    
    [ Main settings ]
    
    - SPEED [Min 3, Max 12]: How fast the script moves the mouse
    - SCANX and SCANY [Min 2, Max 4.5]: Scan area for red bars. Turn on "draw scan area" to see it on screen.
    - AIMX and AIMY: This is the distance from the top-left corner of the enemy's red bar to where you want to aim, in pixels.
    - ANTI-SHAKE: Area of anti-shake zone, in pixels. In this zone the mouse speed is reduced by 50%.
    - ANTI-RECOIL: Should be self-explanatory, for X you will probably want negative (left), for Y you will want positive (down).
      The anti-recoil is only for single-shot weapons. Also note that the triggerbot will also send anti-recoil, keep that in mind.
    - ACTIVATE KEYS: When held, the bot will execute your enabled features.
      
    [ ImageSearch (img) settings ]
    
    Press the "img: default" button to open imagesearch menu.
    
    When you lose a locked-on target, the script will enter a retry phase:
    - RETRY LIMIT: Amount of searches until we give up. One search takes approx 25ms (0.025 seconds).
    - AGGRESSION: With each retry, how much smaller should we make the red bar width? This is relative, eg: 100%, 90%, 81%, 73%, 65%...
    - MIN HP: What is the absolute minimum HP the bot will keep tracking until?
    - MEMORY LENGTH: After this amount of time, we give up the search no matter what (even if activate key is not pressed).
      The memory timer is reset as soon as we find the target again, as is the retry counter.
    
    - COLOR TOLERANCE: how many color shades difference we will allow in our search result. 0 = perfect match only, 35-70 = sweet spot, 255 = max
      You may need different settings depending on the environment, which is why there are profiles for this menu.
      Recommended values: 55-70 for non-red/orange environments, 40-50 for red/orange environments. Rough estimates only.
    
    - 2nd Check (white / grey bars) can be edited at the bottom. They are auto-adjusted, but you may need to fine tune for best results.
    
    [ Triggerbot options ]
    
    The triggerbot is fairly basic, but works well for some guns, eg snipers. Press the triggerbot button to open the menu.
    
    - Hold time / fire rate: how long to hold down the mouse for. As soon as it is released, the script can click again straight away.
      NOTE: If using anti-recoil AND triggerbot, the fire rate must match your gun perfectly!
    - Trigger fire zone: explained with picture in trigger menu. All values are in pixels.
    Last edited by fatdoobie; 10-15-2018 at 10:27 AM. Reason: final + bugfixes

  10. The Following 5 Users Say Thank You to fatdoobie For This Useful Post:

    JackAim (10-14-2018),Morrogoth (10-14-2018),MrBananaman89 (10-14-2018),OldTimeGmer (10-14-2018),VampireGamerX (10-14-2018)

  11. #159
    monolithes's Avatar
    Join Date
    May 2017
    Gender
    male
    Location
    France
    Posts
    16
    Reputation
    10
    Thanks
    3
    My Mood
    Lurking
    i have a lot of fps drop, how can i fix it?

  12. #160
    fatdoobie's Avatar
    Join Date
    Jul 2018
    Gender
    male
    Posts
    159
    Reputation
    10
    Thanks
    511
    Quote Originally Posted by monolithes View Post
    i have a lot of fps drop, how can i fix it?
    set graphics to all "low" or "off", and reduce video render quality in destiny to maybe 75-80%

  13. The Following User Says Thank You to fatdoobie For This Useful Post:

    monolithes (10-14-2018)

  14. #161
    monolithes's Avatar
    Join Date
    May 2017
    Gender
    male
    Location
    France
    Posts
    16
    Reputation
    10
    Thanks
    3
    My Mood
    Lurking
    Quote Originally Posted by fatdoobie View Post
    set graphics to all "low" or "off", and reduce video render quality in destiny to maybe 75-80%
    lel my bad vsync was activated

  15. The Following User Says Thank You to monolithes For This Useful Post:

    fatdoobie (10-14-2018)

  16. #162
    VampireGamerX's Avatar
    Join Date
    Sep 2018
    Gender
    male
    Posts
    53
    Reputation
    10
    Thanks
    3
    @fatdoobie

    So I follow your instructions for v2.0 and how do I know if the resolution has been reset back to default and when I reset it does it auto adjust to my resolution?

  17. #163
    monolithes's Avatar
    Join Date
    May 2017
    Gender
    male
    Location
    France
    Posts
    16
    Reputation
    10
    Thanks
    3
    My Mood
    Lurking
    in pvp at mid hp it stop to follow the guy

  18. #164
    fatdoobie's Avatar
    Join Date
    Jul 2018
    Gender
    male
    Posts
    159
    Reputation
    10
    Thanks
    511
    Quote Originally Posted by VampireGamerX View Post
    @fatdoobie

    So I follow your instructions for v2.0 and how do I know if the resolution has been reset back to default and when I reset it does it auto adjust to my resolution?
    It will grab your primary monitor resolution when you open the script. Nothing changes until you reload it.

    Everything else will have an edit box for you to control.

    Quote Originally Posted by monolithes View Post
    in pvp at mid hp it stop to follow the guy
    made a small change, copy+paste the source again and tell me if you think its better or no difference.

    edit: was also a bug preventing anti-recoil from doing anything. fixed now.
    Last edited by fatdoobie; 10-14-2018 at 12:30 PM.

  19. The Following 3 Users Say Thank You to fatdoobie For This Useful Post:

    JackAim (10-14-2018),OldTimeGmer (10-14-2018),VampireGamerX (10-14-2018)

  20. #165
    OldTimeGmer's Avatar
    Join Date
    Sep 2018
    Gender
    male
    Posts
    11
    Reputation
    10
    Thanks
    2
    My Mood
    Mellow

    Thumbs up testing 2.0

    Nice work on 2.0 testing the PVE side of things first to get it just right auto ajust works fine on 1080p just for info, triggerbot seems to need some fine tunning(it seems to fire on some targets NP but others takes it time) and i was going to say Antirecoil doesnt seem to be working but i see you already have updated the source code so will give it a try.
    set bot up to track down to 5% health works fine but i will need to reduce it further to see if it can get that last bit of health on some enemys,Y mode is fine and all the ajustable parts for fine tuning is great, very nice work indeed.
    Last edited by OldTimeGmer; 10-14-2018 at 01:09 PM.

  21. The Following User Says Thank You to OldTimeGmer For This Useful Post:

    Masbka (10-14-2018)

Page 11 of 15 FirstFirst ... 910111213 ... LastLast

Similar Threads

  1. [Detected] Aim Assist With Trigger (Always on)
    By grey489177 in forum Destiny 2 Hacks
    Replies: 37
    Last Post: 01-02-2020, 10:18 AM
  2. [Detected] Destiny 2 Aim Assist With Triggerbot
    By grey489177 in forum Destiny 2 Hacks
    Replies: 104
    Last Post: 07-17-2019, 06:04 AM
  3. looking for private aim assist with fov only
    By Tech_Tomas in forum Counter-Strike 2 Private Server Hacks
    Replies: 3
    Last Post: 01-05-2019, 08:52 PM
  4. [Help] Is it possible to have the Aim Assist while playing with Mouse Keyboard?
    By danoninho666 in forum Fortnite Discussion & Help
    Replies: 0
    Last Post: 03-09-2018, 01:15 PM
  5. [Solved] Aim Assist (help me with this/ open to use)
    By cornholeo in forum Counter-Strike 2 Help
    Replies: 1
    Last Post: 06-11-2015, 12:29 AM