Results 1 to 1 of 1
  1. #1
    NMD83
    NMD83 is offline
    Guest
    Join Date
    2014 Aug
    Posts
    1
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0

    Red face AHK Scripts for AruaRose/RoseOnline

    Been getting back into AruaRose and I notice SOOOO many people using AHK but on their forums they don't like to share info about it because people use it to cheat.

    Well I've been working on a few "master" scripts to help level the playing field and want to share what I've done so far and hopefully get some input.

    This is still WIP, I plan to improve and add features over time but these current scripts are working good enough for me to use for farming and leveling.

    Current Features:
    • Multi-Featured Cleric Control - See script for avail functions, will fully detail when complete.
    • Special Feature to cleric - Geb "mode"(Alt-G) for cleric script - ControlSend doesn't work properly on PvP maps, I've worked around it by activating the window before sending commands(works best with client windows not ontop of each other but should work regardless)
    • Main Client Gem/Gear Swap(using only for instance but plan to create sever versions for PvP swapping



    Planned Additions:
    • Friendly UI for key binding and instructions
    • Auto Heal Self and Auto Heal Party Member
    • Auto Farm(basically a recreation of PBP)
    • Secondary Client Gem/Gear Swap
    • Auto Crafting
    • Auto Add/Remove from Storage or Shop
    • Zulie Drop Spam(recreation of the "Zulie Tower)



    Planned Changes/Fixes:
    • Better Follow/Auto follow set up with Kiss/Follow skills
    • Gem/Gear Swap so it only tries to swap the number of slots you give



    PS> I'm happy to take specific requests(although, you all prob already know how to do this better than me, lol)

    Code:
    #SingleInstance, Force
    #Persistent
    #NoEnv
    
    CoordMode, Mouse, Screen
    
    ;I had all the sleeps at 1500 instead of 2000 and it worked good but once in a while it would miss one, so putting on 2000
    
    
    ; Ctrl-w sets up the cleric window
    ^w::SetUp()
    
    
    ; Ctrl-m tell cleric what the main window is
    
    
    ;~F1::PickUp()
    
    ~!LButton::Follow()
    !f::AutoFollow()
    ;f is stop autofollow
    
    XButton2::Heal()
    
    !XButton2::UseHP()
    !XButton1::UseMP()
    
    !p::GoSub, PartyBuffs
    
    !b::GoSub, NormalBuffs
    
    !`::SwapBF()
    
    !a::AutoMode()
    ^a::StopAM()
    
    !r::GoSub, AutoBF
    
    ~F7::AOE()
    
    !g::
    {
    	Geb := !Geb
    	Return
    }
    
    ; started on auto heal, but decided not gonna use so finish later
    ^h:: 
    {
    	MouseGetPos, hbPosX, hbPosY, hbWinID
    
    	PixelGetColor, hbColor, %hbPosX%, %hbPosY%
    }
    
    
    
    SetUp()
    {
    	global
    	Critical
    
    	BF := false
    	flip := false
    	PlayerSet := false
    	Geb := false
    
    	WinGet, active_id, PID, A
    	
    	SetSlotPos()
    
    
    	Return
    }
    
    
    ;This works well enough but gets "out of sync", it should keep 4 BF all the time but doesnt
    AutoBF:
    {
    	flip := false
    
    	if(BF)
    	{
    		flip := true
    		SwapBF()
    	}
    
    	GoSub, Bonfire
    	Sleep 14000
    
    	GoSub, Bonfire
    	Sleep 14000
    
    	GoSub, Bonfire
    	Sleep 14000
    	
    	GoSub, Bonfire
    	Sleep 2000
    
    	if(flip)
    	{
    		Sleep 2000
    		SwapBF()
    	}
    	
    	flip := false	
    
    	Return
    }
    
    NormalBuffs:
    {
    
    	Thread, NoTimers
    	
    	flip := false
    
    	if(BF)
    	{
    		flip := true
    		SwapBF()
    	}
    
    	SelectPlayer()
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {1}, ahk_pid %active_id%
    
    	ControlSend, , {F1}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F2}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F3}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F4}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F5}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F6}, ahk_pid %active_id%
    
    	ControlSend, , {2}, ahk_pid %active_id%
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	if(flip)
    	{
    		Sleep 2000
    		SwapBF()
    	}
    	
    	flip := false	
    	
    	Return
    }
    
    PartyBuffs:
    {
    	Thread, NoTimers
    
    	flip := false
    
    	if(BF)
    	{
    		flip := true
    		SwapBF()
    	}
    
    	SelectPlayer()
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {1}, ahk_pid %active_id%
    
    	ControlSend, , {F7}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F8}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F9}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F10}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F11}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {2}, ahk_pid %active_id%
    	
    	ControlSend, , {F3}, ahk_pid %active_id%
    	
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	if(flip)
    	{
    		Sleep 2000
    		SwapBF()
    	}
    	
    	flip := false	
    
    	Return
    }
    
    
    
    AutoMode()
    {
    	global
    
    	flip := false
    
    	if(BF)
    	{
    		flip := true
    		SwapBF()
    	}
    
    	GoSub, Bonfire
    	Sleep 2000
    	
    	GoSub, NormalBuffs
    	SetTimer, NormalBuffs, 840000
    	Sleep 2000
    	
    	GoSub, Bonfire
    	Sleep 2000
    
    	GoSub, PartyBuffs
    	SetTimer, PartyBuffs, 840000
    	Sleep 2000
    
    	GoSub, Bonfire
    
    	SetTimer, Bonfire, -14000
    
    	SetTimer, AutoBF, 83000
    
    	if(flip)
    	{
    		Sleep 2000
    		SwapBF()
    	}
    	
    	flip := false
    
    	Return
    }
    
    
    Bonfire:
    {
    
    	Thread, NoTimers
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {2}, ahk_pid %active_id%
    
    	ControlSend, , {F10}, ahk_pid %active_id%
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	Return
    }
    
    StopAM()
    {
    	global
    	Critical
    
    	SetTimer, NormalBuffs, Off
    	SetTimer, PartyBuffs, Off
    	SetTimer, AutoBF, Off
    
    	Return
    }
    
    ; press pickup on both clients - idea for repeat spam on hold F1
    PickUp()
    {
    	global
    	Critical
    	
    	ControlSend, , {F1}, ahk_pid %active_id%
    
    	Return
    }
    
    
    
    Heal()
    {
    	global
    	Critical
    		
    	if(BF)
    	{
    		flip := true
    		SwapBF()
    	}
    
    	SelectPlayer()
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {2}, ahk_pid %active_id%
    
    	ControlSend, , {F2}, ahk_pid %active_id%
    	Sleep 2000
    
    	ControlSend, , {F3}, ahk_pid %active_id%
    	Sleep 2000
    	
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	if(flip)
    	{
    		SwapBF()
    	}
    
    	
    	flip := false
    	Return
    }
    
    
    UseHP()
    {
    	global
    	Critical
    	
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {2}, ahk_pid %active_id%
    	ControlSend, , {F5}, ahk_pid %active_id%
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	Return
    }
    
    
    UseMP()
    {
    	global
    	Critical
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {2}, ahk_pid %active_id%
    	ControlSend, , {F6}, ahk_pid %active_id%
    
    	if(Geb)
    	{
    		WinActivate, ahk_pid %main_id%
    	}
    
    	Return
    }
    
    
    AOE()
    {
    	global
    
    	ControlSend, , {2}, ahk_pid %active_id%	
    	ControlSend, , {F7}, ahk_pid %active_id%
    
    	Return
    }
    
    
    Follow()
    {
    	global
    	Critical
    
    	SelectPlayer()
    	
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    
    		ControlSend, , {2}, ahk_pid %active_id%
    		ControlSend, , {F10}, ahk_pid %active_id%
    
    		WinActivate, ahk_pid %main_id%
    	}
    	else
    	{
    		ControlSend, , {2}, ahk_pid %active_id%
    		ControlSend, , {F11}, ahk_pid %active_id%
    	}
    	
    	Return
    }
    
    
    AutoFollow() ;Only needed on geb after discovering follow skill, lol
    {
    	global
    	
    	if(!BF)
    	{
    		SwapBF()	
    	}
    
    	SelectPlayer()
    
    	ControlSend, , {2}, ahk_pid %active_id%
    	ControlSend, , {F9}, ahk_pid %active_id%
    
    	Loop
    	{
    		if(GetKeyState("f"))
    		{
    			if(BF)
    			{
    				SwapBF()
    			}
    			break
    		}
    
    		Sleep 2000
    		ControlSend, , {2}, ahk_pid %active_id%
    		ControlSend, , {F11}, ahk_pid %active_id%
    	}
    
    	Return
    }
    
    
    SwapBF()
    {
    	global
    	Critical	
    
    	BF := !BF
    	
    	if(Geb)
    	{
    		WinActivate, ahk_pid %active_id%
    	}
    
    	ControlSend, , {i}, ahk_pid %active_id%
    
    	MouseGetPos, PosX, PosY	
    
    	Click %PosX1%, %PosY1%, 2
    	Click %PosX2%, %PosY2%, 2
    	Click %PosX3%, %PosY3%, 2
    	
    	ControlSend, , {i}, ahk_pid %active_id%
    
    	Click %PosX%, %PosY%, 0
    		
    	WinActivate, ahk_pid %main_id%
    
    	Critical, Off
    
    	Return
    }
    
    
    SelectPlayer()
    {
    	global
    	Critical
    
    	if(PlayerSet)
    	{
    	
    		if(Geb)
    		{
    			WinActivate, ahk_pid %active_id%
    		}
    
    		MouseGetPos, PosX, PosY	
    	
    		Click %PlayerX%, %PlayerY%
    	
    		Click %PosX%, %PosY%, 0
    
    		WinActivate, ahk_pid %main_id%
    	}
    
    	Critical, Off
    	
    	Return
    }
    
    
    SetPlayerPos()
    {
    	global
    	Critical
    	
    	MouseGetPos, PlayerX, PlayerY
    	PlayerSet := true
    
    	Return
    }
    
    
    SetSlotPos()
    {
    	global
    	Critical
    
    	SendInput i
    
    	Sleep 500
    
    Loop
    {
    	if(GetKeyState("0"))
    	{
    		SendInput i
    		break
    	}
    	else if(GetKeyState("m"))
    	{
    		WinGet, main_id, PID, A
    		continue
    	}
    	else if(GetKeyState("p"))
    	{
    		SetPlayerPos()
    		continue
    	}
    	else if(GetKeyState("1"))
    	{
    		MouseGetPos, PosX1, PosY1
    		continue
    	}
    	else if(GetKeyState("2"))
    	{
    		MouseGetPos, PosX2, PosY2
    		continue
    	}	
    	else if(GetKeyState("3"))
    	{
    		MouseGetPos, PosX3, PosY3	
    		continue
    	}
    	else if(GetKeyState("4"))
    	{
    		MouseGetPos, PosX4, PosY4	
    		continue
    	}
    	else if(GetKeyState("5"))
    	{
    		MouseGetPos, PosX5, PosY5	
    		continue
    	}
    	else if(GetKeyState("6"))
    	{
    		MouseGetPos, PosX6, PosY6	
    		continue
    	}
    	else if(GetKeyState("7"))
    	{
    		MouseGetPos, PosX7, PosY7	
    		continue
    	}
    	else if(GetKeyState("8"))
    	{
    		MouseGetPos, PosX8, PosY8	
    		continue
    	}
    	else if(GetKeyState("9"))
    	{
    		MouseGetPos, PosX9, PosY9	
    		continue
    	}
    }
    
    Return	
    
    }


Similar Threads

  1. [Tutorial] LuaJIT Decompiling LUA scripts
    By h4x0r in forum Game Researching Tutorials
    Replies: 10
    Last Post: 2020-06-27, 09:20 PM
  2. [Hack] [GMS v132.1] CE Scripts
    By keldeo in forum MapleStory
    Replies: 0
    Last Post: 2013-04-15, 01:47 AM
  3. Scripts for maple !!
    By lininha in forum MapleStory
    Replies: 0
    Last Post: 2012-11-06, 02:34 PM
  4. [Hack] PB scripts
    By termiks in forum Point Blank
    Replies: 4
    Last Post: 2011-07-31, 07:24 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •