Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Ragnarok Online > RO Exploits, Hacks, Bots & Guides
You last visited: Today at 23:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Ro Cheat Engine Guides (iRO Renewal)

Discussion on Ro Cheat Engine Guides (iRO Renewal) within the RO Exploits, Hacks, Bots & Guides forum part of the Ragnarok Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
Ro Cheat Engine Guides (iRO Renewal)

This an open source section for all CE related guides.
The language being use is autoit.
These are memory edits and require no GRF edits.

Attention: All guides will need to use NomadMemory.au3. Download it below,extract it and place it in the includes folder that can be found in the Autoit install location.



Attention: New guides to look forward to below.

-Auto-Target- Add targets to a list and chose threat levels so the most important is killed first.
-Auto-Follow- Add targets to a list and chose threat levels so the most important is followed.
-Player/Monster-Target-Skill-Spammer- Spam target skills on monsters or players.
-First-Aid-Recall- Changes first aid to recall skill.
-Auto-Stand - Will stand if a skill forces the player to sit.
-Guild-Leader-On-Screen-Detection- Informs the user that a guild leader is on screen.
-WASD-Movement- Enables the use of WASD to move.
-Disable-Transformation-Scrolls- Will see players as normal even if they use a transformation scroll.
-MMOASSIST.ini- Patcher for all guides.
-MMOKore- This will be used as a shell application that will bring all guides together as one application.
-MMOKoreScripter.ini- The MMOKore scripting language to configure MMOKore Automation.
-NPC/Rodex-Support- Buy,Sell,Mail using the MMOKore scripting language.
-PVP-Advanced-Ai- Use advanced MMOKoreScripter API's to program reactions based on current situation/events taking place.

Suggestions are welcome but as you can see there is still a lot to be done.


Guide Number 1: Auto-Potion (Multi Client Support / GFistCoolDown Detection)

First, compile the code bellow to an exe file using the AutoIt editor.

After running the exe for the first time, an MMOASSIST.ini file will be created.
Use the most current ini configuration found below here.

Once the ini is created and updated, you can freely use the same exe to attach to more clients if needed.

After selecting the client to run Auto-Potion on, click the tab AutoPotion.
Then set up the setting you want to use.

Attention:There is a sleep timer that can be set in the ini file. This controls the amount of time in between potions. The default is set to 100 milliseconds.

Attention:If potions run out, it will keep trying to use them and it is almost impossible to use any other keys while the potion button is being pressed 100 times a second. It is advised to keep the delay at the default which is 100 milliseconds and that is 10 times a second. It is best to go back into the settings and turn off the potions that ran out.

Attention: Closing the Auto-Potions window is when it saves the settings.

Attention: The MaxHP is set when you turn Auto-Potion on to avoid using potions if HP suddenly increases.

Finally, once everything is configured and saved. Click the check box to turn on or off. Use the check boxes in Auto-Potion settings to turn them off individually if needed. All ways close the Auto-Potion settings to save the settings.

Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.2
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here
#include <NomadMemory.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <WindowsConstants.au3>

 #include <GuiListView.au3>
 #include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>
#RequireAdmin

 ;; program OPT
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)

 ;; software config/ini
Global $NAME = "MMOASSIST"
Global $SOFTWARE_TITLE = "MMOASSIST", $SOFTWARE_VERSION = ""
Global $SOFTWARE_CONFIG2 = "MMOASSIST.ini"
Global $CFG_ADD_ROOT_KEY = "LastWorkingAddressLocations"
Global $CFG_AutoPotion_ROOT_KEY = "AutoPotionSettings"

 ;; Program start or stop flag
Global $STOP = True

;;Build the ini configuration file
if IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "MaxHP", 0) = 0 then
    IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1CheckBox", 4)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Slider", 1)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Key", "--")
    IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2CheckBox", 4)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Slider", 1)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Key", "--")
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPCheckBox", 4)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPSlider", 1)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPKey", "--")
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "MaxHP", 10000000)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "MaxSP", 10000000)
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "SleepInMilliSecondsAfterPotionIsUsed", 10)
    IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxHPAddress", 13909648)
	IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxSPAddress", 13909656)
MsgBox($MB_SYSTEMMODAL, "MMOASSIST.ini", "MMOASSIST.ini created.", 10)
endif

 ;; Get the default browser for tutorial
$default_browser_path = RegRead('HKCR\' & RegRead('HKCR\.html', '') & '\shell\open\command', '')
If StringLeft($default_browser_path, 1) = '"' Then
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A"+|".*\z', '')
Else
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A\s+|\s.*\z', '')
EndIf

Global $KEYCODE3 = "--|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{a}|{b}|{c}|{d}|{e}|{f}|{g}|{h}|{i}|{j}|{k}|{l}|{m}|{n}|{o}|{p}|{q}|{r}|{s}|{t}|{u}|{v}|{w}|{x}|{y}|{z}"

Global $MaxHP = 1000000
Global $MaxSP = 1000000

;Gui Flag prevents more than one autopotion gui opening at a time
Global $AutoPotionGuiFlag = 0

;********************************************************************************
;* Main Form Variables                                                          *
;********************************************************************************

 ;; Declare Menu Bar Variables
$MMOASSIST = GUICreate($SOFTWARE_TITLE, 251, 200, 0, 0)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseClicked")
TraySetIcon("MMOASSIST.ico")
GUISetIcon("MMOASSIST.ico")

 ;; Help menu
$MenuItem3 = GUICtrlCreateMenu("Help")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem13 = GUICtrlCreateMenuItem("Online Tutorial", $MenuItem3)
GUICtrlSetOnEvent(-1, "onlinetutorial")

 ;; Help menu
$MenuItem4 = GUICtrlCreateMenu("AutoPotion")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem13 = GUICtrlCreateMenuItem("Open AP GUI", $MenuItem4)
GUICtrlSetOnEvent(-1, "autopotionstart")

;; MMOASSIST Status Group Variables
$MMOASSISTStatus = GUICtrlCreateGroup("MMOASSIST", 0, 0, 250, 51, -1, $WS_EX_TRANSPARENT)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($MMOASSISTStatus), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlCreateGroup("MMOASSIST", -99, -99, 1, 1)
GUICtrlSetTip(-1, "MMOASSIST")
$LABEL_MMOASSIST_STATUS = GUICtrlCreateLabel("MMOASSIST: Stopped", 5, 14, 155, 15)
GUICtrlSetColor(-1, 0xC0C0C0)
$LABEL_GENERAL_STATUS = GUICtrlCreateLabel("Action: Nothing", 5, 31, 200, 15)
GUICtrlSetColor(-1, 0xC0C0C0)

;Toggle Options
$ToggleOpts = GUICtrlCreateGroup("Toggle Options", 0, 51, 250, 90)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($ToggleOpts), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
$CHK_Toggle = GUICtrlCreateCheckbox("Toggle Auto Potion", 5, 65, 230, 70)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHK_Toggle), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 15743782)
GUICtrlSetBkColor(-1, 0x000000)

Func SelectProcessId()
  Global $listview
  $listGUI = GUICreate("AutoIt list item GUI", 400, 200, 100, 200, -1)
  GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close_Main")
  $listview = GUICtrlCreateListView("Processes", 10, 10, 200, 150)
  _GUICtrlListView_SetColumnWidth($listview, 0, 150)
  Global $PList = ProcessList ( "Ragexe.exe" )
  local $PListCount = UBound($PList, $UBOUND_ROWS)
  ;check if a client is running
if $PList[0][0] = 0 Then

   MsgBox($MB_SYSTEMMODAL, "No Client", "Please run the game first.", 10)

   exit

   else
 For $i = 1 To $PList[0][0]
		local $Pid = $PList[$i][1]
		GUICtrlCreateListViewItem($Pid, $listview)
    Next
  $BtnSelect = GUICtrlCreateButton("Select", 100, 165, 80, 30)
  GUICtrlSetOnEvent(-1, "SelectItem")
  GUISetState()
endif
endfunc

Func SelectItem()
  $sItem = GUICtrlRead(GUICtrlRead($listview))
  Global $sItem = 0
 $sItem = StringTrimRight($sItem, 1) ; Will remove the pipe "|" from the end of the string
 _GetHwndFromPID($sItem)
 Global $PROCESS_INFORMATION = _MemoryOpen($sItem)


   GUIDelete()
EndFunc

Func _GetHwndFromPID($PID)
    global $hWnd = 0
    $stPID = DllStructCreate("int")
    Do
        $winlist2 = WinList()
        For $i = 1 To $winlist2[0][0]
            If $winlist2[$i][0] <> "" Then
                DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
                If DllStructGetData($stPID, 1) = $PID Then
                    $hWnd = $winlist2[$i][1]
                    ExitLoop
                EndIf
            EndIf
        Next
        Sleep(100)
    Until $hWnd <> 0
    Return $hWnd
EndFunc ;==>_GetHwndFromPID
;First function call opens a list of clients to chose from.
SelectProcessId()





;; starts program main loop
While (1) ;==>Main Loop

   Main()
WEnd ;==>Main Loop

;; Main function controls flow of program
Func Main()

If $STOP = False Then
 ;; Allways do nothing and pause for one second unless no delay is turned on
Else

   if GUICtrlRead($CHK_Toggle) = 1 Then

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Started" Then

		;run one time when box is checked
		$MaxHP = _MemoryRead(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxHPAddress", 13909648), $PROCESS_INFORMATION)
		$MaxSP = _MemoryRead(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxSPAddress", 13909656), $PROCESS_INFORMATION)
		IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "MaxHP", $MaxHP)
		IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "MaxSP", $MaxSP)
	    GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Started")
	    GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: AutoPotion On")
	 EndIf

	  CheckHP()
	  CheckSP()
	  sleep(IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "SleepInMilliSecondsAfterPotionIsUsed", 10))

   else

	  ;run one time when box is checked
	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Stopped" Then
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Stopped")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Nothing")
	  EndIf

   ;run while box is un-checked
    sleep(10)
 endif

EndIf
EndFunc		;==>EndofMainLoop

Func WindowCloseClicked()
   Exit
EndFunc		;==>WindowCloseClicked

Func onlinetutorial()
   ShellExecute($default_browser_path, "https://www.elitepvpers.com/forum/ro-exploits-hacks-bots-guides/4343596-ro-cheat-engine-guides-renewal.html")
EndFunc		;==>OnlineTutorial

func CheckHP()
  Local $CurrentHP = _MemoryRead(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxHPAddress", 13909648)-4, $PROCESS_INFORMATION)
  Local $UseHPPotionCheck = $CurrentHP/$MAXHP * 100

   if $UseHPPotionCheck < IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Slider", 1) and IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2CheckBox", 4) = 1 Then
	  ControlSend($hWnd, "", "", IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Key", "--"))
   elseif $UseHPPotionCheck < IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Slider", 1) and IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1CheckBox", 4) = 1 Then
	  ControlSend($hWnd, "", "", IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Key", "--"))
   endif

endfunc

func CheckSP()


  Local $CurrentSP = _MemoryRead(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "MaxSPAddress", 13909648)-4, $PROCESS_INFORMATION)

if $CurrentSP = 0 Then

   ;do nothing sp potions on cool down
    Else

	  Local $UseSPPotionCheck = $CurrentSP/$MAXSP * 100

   if $UseSPPotionCheck < IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPSlider", 1) and IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPCheckBox", 4) = 1 Then
		 ControlSend($hWnd, "", "", IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPKey", "--"))
   endif

Endif

endfunc

func autopotionstart()

if $AutoPotionGuiFlag = 0 then
    Global $FORM_LIFESUPPORT = GUICreate("Life Support", 445, 140, -1, -1, -1, -1, $MMOASSIST)
	GUISetOnEvent($GUI_EVENT_CLOSE, "WindowLifeSupportCloseClicked")
	GUISwitch($FORM_LIFESUPPORT)
	GUISetBkColor(0x000000)

	Global $GROUP_AUTOPOT = GUICtrlCreateGroup("Automatic Pot", 0, 0, 445, 135)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0x000000)
	GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
	DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($GROUP_AUTOPOT), "wstr", 0, "wstr", 0)
	GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")

	;Auto-Pot HP1
	Global $CHECK_AUTOPOT_FLAG_HP1 = GUICtrlCreateCheckbox("Auto-Pot HP", 5, 15, 90, 20)
	DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHECK_AUTOPOT_FLAG_HP1), "wstr", 0, "wstr", 0)
	GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
	GUICtrlSetBkColor(-1, 0x000000)

	If IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1CheckBox", "4") = 1 Then
		GUICtrlSetState(-1, $GUI_CHECKED)
	Else
		GUICtrlSetState(-1, $GUI_UNCHECKED)
	 EndIf

	Global $SLIDE_AUTOPOT_HP1 = GUICtrlCreateSlider(5, 40, 100, 20)
	GUICtrlSetData(-1,IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Slider", "100"))
    GUICtrlSetBkColor(-1, 0x000000)
	GUICtrlSetLimit(-1, 100, 0)
	GUICtrlCreateLabel("0           50        100% HP", 10, 65, 120, 20)
    GUICtrlSetColor(-1, 0xC0C0C0)
    GUICtrlCreateLabel("Key:", 5, 90, 50, 20)
    GUICtrlSetColor(-1, 0xC0C0C0)

	Global $AUTOPOT_HP1_KEY = GUICtrlCreateCombo(IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Key", "--"), 30, 90, 45, 20)
	GUICtrlSetData(-1, $KEYCODE3 , IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Key", "--"))

	;Auto-Pot HP2
	Global $CHECK_AUTOPOT_FLAG_HP2 = GUICtrlCreateCheckbox("Auto-HP 2", 140, 15, 90, 20) ;+145
	DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHECK_AUTOPOT_FLAG_HP2), "wstr", 0, "wstr", 0)
	GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
	GUICtrlSetColor(-1, 0x00FF00)
	GUICtrlSetBkColor(-1, 0x000000)

	If IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2CheckBox", "0") = 1 Then
		GUICtrlSetState(-1, $GUI_CHECKED)
	Else
		GUICtrlSetState(-1, $GUI_UNCHECKED)
	 EndIf

	Global $SLIDE_AUTOPOT_HP2 = GUICtrlCreateSlider(140, 40, 100, 20)
	GUICtrlSetData(-1, IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Slider", "0"))
	GUICtrlSetBkColor(-1, 0x000000)
	GUICtrlSetLimit(-1, 100, 0)
	GUICtrlCreateLabel("0           50        100% HP", 145, 65, 120, 20)
    GUICtrlSetColor(-1, 0xC0C0C0)

	GUICtrlCreateLabel("Key:", 140, 90, 50, 20)
    GUICtrlSetColor(-1, 0xC0C0C0)

	Global $AUTOPOT_HP2_KEY = GUICtrlCreateCombo(IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Key", "--"), 165, 90, 45, 20)
	GUICtrlSetData(-1, $KEYCODE3, IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Key", "0"))

	;Auto-Pot SP
	Global $CHECK_AUTOPOT_FLAG_SP = GUICtrlCreateCheckbox("Auto-Pot MP", 275, 15, 90, 20)
	DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHECK_AUTOPOT_FLAG_SP), "wstr", 0, "wstr", 0)
	GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
	GUICtrlSetColor(-1, 0x0000FF)
	GUICtrlSetBkColor(-1, 0x000000)

    If IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPCheckBox", "4") = 1 Then
       GUICtrlSetState(-1, $GUI_CHECKED)
	Else
		GUICtrlSetState(-1, $GUI_UNCHECKED)
   EndIf

	Global $SLIDE_AUTOPOT_SP = GUICtrlCreateSlider(275, 40, 100, 20)
	GUICtrlSetData(-1, IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPSlider", "50"))
	GUICtrlSetBkColor(-1, 0x000000)
	GUICtrlSetLimit(-1, 100, 0)
	GUICtrlCreateLabel("0           50        100% MP", 280, 65, 120, 20)
		GUICtrlSetColor(-1, 0xC0C0C0)

	GUICtrlCreateLabel("Key:", 275, 90, 50, 20)
		GUICtrlSetColor(-1, 0xC0C0C0)

	Global $AUTOPOT_SP_KEY = GUICtrlCreateCombo( IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPKey", "--"), 300, 90, 45, 20)
	GUICtrlSetData(-1, $KEYCODE3, IniRead($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPKey", "--"))

    $AutoPotionGuiFlag = 1
	GUISetState(@SW_SHOW, $FORM_LIFESUPPORT)

   else

 endif

endfunc

 Func WindowLifeSupportCloseClicked()

    IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1CheckBox", GUICtrlRead($CHECK_AUTOPOT_FLAG_HP1))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Slider", GUICtrlRead($SLIDE_AUTOPOT_HP1))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP1Key", GUICtrlRead($AUTOPOT_HP1_KEY))

    IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2CheckBox", GUICtrlRead($CHECK_AUTOPOT_FLAG_HP2))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Slider", GUICtrlRead($SLIDE_AUTOPOT_HP2))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionHP2Key", GUICtrlRead($AUTOPOT_HP2_KEY))

	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPCheckBox", GUICtrlRead($CHECK_AUTOPOT_FLAG_SP))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPSlider", GUICtrlRead($SLIDE_AUTOPOT_SP))
	IniWrite($SOFTWARE_CONFIG2, $CFG_AutoPotion_ROOT_KEY, "AutoPotionSPKey", GUICtrlRead($AUTOPOT_SP_KEY))

    $AutoPotionGuiFlag = 0
	GUIDelete($FORM_LIFESUPPORT)

EndFunc
Example MMOASSIST.ini(IRO RestartOdin):
Updated on 11/24/2017

[AutoPotionSettings]
AutoPotionHP1CheckBox=4
AutoPotionHP1Slider=67
AutoPotionHP1Key={F1}
AutoPotionHP2CheckBox=4
AutoPotionHP2Slider=21
AutoPotionHP2Key={F2}
AutoPotionSPCheckBox=4
AutoPotionSPSlider=33
AutoPotionSPKey={F4}
MaxHP=10000
MaxSP=500
SleepInMilliSecondsAfterPotionIsUsed=100
[LastWorkingAddressLocations]
MaxHPAddress=13909648
MaxSPAddress=13909656

Example MMOASSIST.ini(SG/MY Thor):
Updated on 11/24/2017

[AutoPotionSettings]
AutoPotionHP1CheckBox=4
AutoPotionHP1Slider=67
AutoPotionHP1Key={F1}
AutoPotionHP2CheckBox=4
AutoPotionHP2Slider=21
AutoPotionHP2Key={F2}
AutoPotionSPCheckBox=4
AutoPotionSPSlider=33
AutoPotionSPKey={F4}
MaxHP=10000
MaxSP=500
SleepInMilliSecondsAfterPotionIsUsed=100
[LastWorkingAddressLocations]
MaxHPAddress=11639072
MaxSPAddress=11639080


///////////////////////////////////////////////////////////////////////////////////////


Guide Number 2: Extra Zoom (Multi Client Support / MMOASSIST.ini Patcher)

Download and install Autoit and use the code below to create an exe file with the ScitTE editor that is packaged with Autoit .

First time running the code will create the MMOASSIST.ini file.

Select the client that needs the zoom edit and then patch the MMOASSIST.ini if it is the first time running the code.

This will find the correct addresses needed for extra zoom but only within the range that is indicated in the MMOASSIST.ini configuration file. If the patcher fails, try to widen the range of the search or check here for an updated range.

After the MMOASSIST.ini is updated, the toggle box will turn zoom on and off for the client that was chosen.

These edits do revert back to normal once the client is closed and the program can be closed after the zoom edit has been applied.

Autoit Code is Here!

Code:
#include <NomadMemory.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>
#RequireAdmin

 ;; program OPT
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
 ;; software config/ini
Global $NAME = "MMOASSIST"
Global $SOFTWARE_TITLE = "MMOASSIST", $SOFTWARE_VERSION = ""
Global $SOFTWARE_CONFIG2 = "MMOASSIST.ini"
Global $CFG_ADD_ROOT_KEY = "LastWorkingAddressLocations"

;; Program start or stop flag
Global $STOP = True

;;Build the ini configuration file
if IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "PatcherMinRange", 0) = 0 then
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "PatcherMinRange", 12284272)
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "PatcherMaxRange", 12324272)
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressOne", "run patcher")
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressTwo", "run patcher")
MsgBox($MB_SYSTEMMODAL, "MMOASSIST.ini", "MMOASSIST.ini created. Please run the Patcher to update.", 10)
endif

;; Get the default browser for tutorial
$default_browser_path = RegRead('HKCR\' & RegRead('HKCR\.html', '') & '\shell\open\command', '')
If StringLeft($default_browser_path, 1) = '"' Then
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A"+|".*\z', '')
Else
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A\s+|\s.*\z', '')
EndIf

;********************************************************************************
;* Main Form Variables                                                          *
;********************************************************************************

;;Declare Menu Bar Variables
$MMOASSIST = GUICreate($SOFTWARE_TITLE, 251, 200, 0, 0)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseClicked")
TraySetIcon("MMOASSIST.ico")
GUISetIcon("MMOASSIST.ico")

;;Help menu
$MenuItem3 = GUICtrlCreateMenu("Help")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem13 = GUICtrlCreateMenuItem("Online Tutorial", $MenuItem3)
GUICtrlSetOnEvent(-1, "onlinetutorial")

;;patcher menu
$MenuItem4 = GUICtrlCreateMenu("Patch MMOASSIST.ini File")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem14 = GUICtrlCreateMenuItem("Start Patcher", $MenuItem4)
GUICtrlSetOnEvent(-1, "startpatcher")

;; MMOASSIST Status Group Variables
$MMOASSISTStatus = GUICtrlCreateGroup("MMOASSIST", 0, 0, 250, 51, -1, $WS_EX_TRANSPARENT)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($MMOASSISTStatus), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlCreateGroup("MMOASSIST", -99, -99, 1, 1)
GUICtrlSetTip(-1, "MMOASSIST")
$LABEL_MMOASSIST_STATUS = GUICtrlCreateLabel("MMOASSIST: Stopped", 5, 14, 155, 15)
GUICtrlSetColor(-1, 0xC0C0C0)
$LABEL_GENERAL_STATUS = GUICtrlCreateLabel("Action: Nothing", 5, 31, 200, 15)
GUICtrlSetColor(-1, 0xC0C0C0)

;;Toggle Options
$ToggleOpts = GUICtrlCreateGroup("Toggle Options", 0, 51, 250, 90)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($ToggleOpts), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
$CHK_Toggle = GUICtrlCreateCheckbox("Toggle Extra Zoom", 5, 65, 230, 70)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHK_Toggle), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 15743782)
GUICtrlSetBkColor(-1, 0x000000)

Func SelectProcessId()
  Global $listview
  $listGUI = GUICreate("Select Cient", 400, 200, 100, 200, -1)
  GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close_Main")
  $listview = GUICtrlCreateListView("Processes", 10, 10, 200, 150)
  _GUICtrlListView_SetColumnWidth($listview, 0, 150)
  Global $PList = ProcessList ( "Ragexe.exe" )
  local $PListCount = UBound($PList, $UBOUND_ROWS)

 For $i = 1 To $PList[0][0]
		local $Pid = $PList[$i][1]
		GUICtrlCreateListViewItem($Pid, $listview)
    Next
   $BtnSelect = GUICtrlCreateButton("Select", 100, 165, 80, 30)
   GUICtrlSetOnEvent(-1, "SelectItem")
   GUISetState()


endfunc

Func SelectItem()
  $sItem = GUICtrlRead(GUICtrlRead($listview))
  Global $sItem = 0
  $sItem = StringTrimRight($sItem, 1) ; Will remove the pipe "|" from the end of the string
  _GetHwndFromPID($sItem)
  Global $PROCESS_INFORMATION = _MemoryOpen($sItem)
  GUIDelete()
EndFunc

Func _GetHwndFromPID($PID)
    global $hWnd = 0
    $stPID = DllStructCreate("int")
    Do
	  $winlist2 = WinList()
        For $i = 1 To $winlist2[0][0]
            If $winlist2[$i][0] <> "" Then
                DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
                If DllStructGetData($stPID, 1) = $PID Then
                    $hWnd = $winlist2[$i][1]
                    ExitLoop
                EndIf
            EndIf
        Next
        Sleep(100)
    Until $hWnd <> 0
    Return $hWnd
EndFunc ;==>_GetHwndFromPID

;; select a client to attach to
SelectProcessId()
;; starts program main loop
While (1) ;==>Main Loop
   Main()
WEnd ;==>Main Loop

;; Main function controls flow of program
Func Main()

If $STOP = False Then
   ;; Allways do nothing
   Else
   ;; Only runs if toggle box is checked or unchecked
   if GUICtrlRead($CHK_Toggle) = 1 Then

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Started" Then
		 extrazoomon()
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Started")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Extra Zoom On")
	  EndIf

   else

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Stopped" Then
		 extrazoomoff()
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Stopped")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Nothing")
	  EndIf

   endif

sleep(1000)

EndIf
EndFunc		;==>EndofMainLoop

Func WindowCloseClicked()
   Exit
EndFunc		;==>WindowCloseClicked

Func onlinetutorial()
   ShellExecute($default_browser_path, "https://www.elitepvpers.com/forum/ro-exploits-hacks-bots-guides/4343596-ro-cheat-engine-guides-renewal.html")
EndFunc		;==>OnlineTutorial

Func extrazoomon()

   ;;extra zoom on
   _MemoryWrite(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressOne", "run patcher"), $PROCESS_INFORMATION, 0x43000000)
   _MemoryWrite(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressTwo", "run patcher"), $PROCESS_INFORMATION, 0x44860000)

endfunc

Func extrazoomoff()

    ;;extra zoom off
   _MemoryWrite(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressOne", "run patcher"), $PROCESS_INFORMATION, 0x43660000)
   _MemoryWrite(IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "ExtraZoomAddressTwo", "run patcher"), $PROCESS_INFORMATION, 0x43c80000)

endfunc


Func startpatcher()
 ;;zoom address byte string
 Global $zoomaddress[100] = [0x00,0x00,0x66,0x43, 0x00, 0x00, 0xC8, 0x43]
 Global $zoomaddressarraysize =8
 Global $PatcherMinRange = IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "PatcherMinRange", "search range not set")
 Global $PatcherMaxRange = IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, "PatcherMaxRange", "search range not set")
 Global $zoomaddressoffset = 0
 Global $zoominikey1 = "ExtraZoomAddressOne"
 Global $zoominikey2 = "ExtraZoomAddressTwo"
 runpatcher($zoomaddress,$zoomaddressarraysize,$PatcherMinRange,$zoomaddressoffset,$zoominikey1)

endfunc

func runpatcher($regexe,$arraysize,$location,$offset,$inikey)
   GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Patching. Please wait.")
   ;;search for the zoom byte string using $PatcherMinRange and $PatcherMaxRange from the ini file
   $i = 0
   $matchfound = 0
   $startaddress = $PatcherMinRange

   Do

	$value = _MemoryRead($startaddress, $PROCESS_INFORMATION, "byte")

	  if hex($value) = hex($regexe[$i]) then

	  $checkaddress = $startaddress

	  do

		$i = $i+1
	    $ismatch = 1
	    $checkaddress = $checkaddress + 0x1
        $check = _MemoryRead($checkaddress, $PROCESS_INFORMATION, "byte")

	   if hex($check) = hex($regexe[$i]) then

	     else

		 $ismatch = 0
		 $i = 0

	   endif

	   if $i = $zoomaddressarraysize - 1 then
        $startaddress = $checkaddress

		 if $zoomaddressoffset > 0 Then
			$check = _MemoryRead($checkaddress-$offset, $PROCESS_INFORMATION)
			$value = $check
			$matchfound = 1

			else

		    $value = $check
		    $matchfound = 1

		 endif

	   endif

      until $ismatch = 0 or $matchfound = 1 or $startaddress > $PatcherMaxRange

   if $matchfound = 1 then
    ;;Found correct addresses and save to ini file
    IniWrite($SOFTWARE_CONFIG2,$CFG_ADD_ROOT_KEY, $zoominikey1, $startaddress-7)
    IniWrite($SOFTWARE_CONFIG2,$CFG_ADD_ROOT_KEY, $zoominikey2, $startaddress-3)
    MsgBox($MB_SYSTEMMODAL, "Patcher Finished", "The ini file has been updated with the correct addresses.", 10)
    GUICtrlSetData($LABEL_GENERAL_STATUS, "Nothing")
   endif

      Else

   endif

     $startaddress = $startaddress + 0x1

  until $matchfound = 1 or $startaddress > $PatcherMaxRange

 if $startaddress > $PatcherMaxRange Then
  ;;Failed to patch msg box
  MsgBox($MB_SYSTEMMODAL, "Patcher Finished", "Failed to patch. Try to adjust in file search range ", 10)
  GUICtrlSetData($LABEL_GENERAL_STATUS, "Nothing")
  endif

EndFunc
Example MMOASSIST.ini(Odin):

[LastWorkingAddressLocations]
PatcherMinRange=12284272
PatcherMaxRange=12324272
ExtraZoomAddressOne=12304272
ExtraZoomAddressTwo=12304276

///////////////////////////////////////////////////////////////////////////////////////

Guide Number 3: Toggle No Delay(Every sprite)

Download and install Cheat Engine.
Download and install autoit.

Run your renewal client and log in.

Attach Cheat Engine to the renewal exe.


In CE, click on Memory View.(located middle left)


In Memory Viewer, click Search.(located very top left)
In the drop down menu, select find assembly code.


In the input assembly code to find box, enter mov [esi+34],edi.(mov [esi+34],edi)
In the From box, enter 00400000 and enter FFFFFFFF in the To box.


Click Scan.

A list of locations will show in the Assembly scan box.
Click on the top address first and work your way down the list until you find the correct location.
Look for the assembly code that has +58 above the +34 and +38.(once this is found you are in the correct memory location)


Click on the line that has +34 and change +34 to +58.


Click on the line that has +38 and change +38 to +58.


Now, you can check in game to see it working.


If you need to change it back to normal, you would change the +58 back to +34 and +38.

P.S. Autoit code is here!

Code:
#include <NomadMemory.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <WindowsConstants.au3>
#RequireAdmin

 ;; program OPT
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
 ;; software config/ini
Global $NAME = "MMOASSIST"
Global $SOFTWARE_TITLE = "MMOASSIST", $SOFTWARE_VERSION = ""
Global $SOFTWARE_CONFIG2 = "MMOASSIST.ini"
Global $CFG_ADD_ROOT_KEY = "LastWorkingAddressLocations"
 ;; Attch to process by window name(will attach to wrong window if another window has Ragnarok in the window title)
Global $APP_TITLE = "Ragnarok"
Global $PROCESS_ID = WinGetProcess($APP_TITLE), $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID)
 ;; Program start or stop flag
Global $STOP = True

 ;; Get the default browser for tutorial
$default_browser_path = RegRead('HKCR\' & RegRead('HKCR\.html', '') & '\shell\open\command', '')
If StringLeft($default_browser_path, 1) = '"' Then
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A"+|".*\z', '')
Else
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A\s+|\s.*\z', '')
EndIf

;********************************************************************************
;* Main Form Variables                                                          *
;********************************************************************************

 ;; Declare Menu Bar Variables
$MMOASSIST = GUICreate($SOFTWARE_TITLE, 251, 200, 0, 0)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseClicked")
TraySetIcon("MMOASSIST.ico")
GUISetIcon("MMOASSIST.ico")

 ;; Help menu
$MenuItem3 = GUICtrlCreateMenu("Help")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem13 = GUICtrlCreateMenuItem("Online Tutorial", $MenuItem3)
GUICtrlSetOnEvent(-1, "onlinetutorial")

;; MMOASSIST Status Group Variables
$MMOASSISTStatus = GUICtrlCreateGroup("MMOASSIST", 0, 0, 250, 51, -1, $WS_EX_TRANSPARENT)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($MMOASSISTStatus), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlCreateGroup("MMOASSIST", -99, -99, 1, 1)
GUICtrlSetTip(-1, "MMOASSIST")
$LABEL_MMOASSIST_STATUS = GUICtrlCreateLabel("MMOASSIST: Stopped", 5, 14, 155, 15)
GUICtrlSetColor(-1, 0xC0C0C0)
$LABEL_GENERAL_STATUS = GUICtrlCreateLabel("Action: Nothing", 5, 31, 200, 15)
GUICtrlSetColor(-1, 0xC0C0C0)

;Toggle Options
$ToggleOpts = GUICtrlCreateGroup("Toggle Options", 0, 51, 250, 90)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($ToggleOpts), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
$CHK_Toggle = GUICtrlCreateCheckbox("Toggle No Delay", 5, 65, 230, 70)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHK_Toggle), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 15743782)
GUICtrlSetBkColor(-1, 0x000000)

;; Ini Addresses
$name1 = "NoDelayAddressOne"
Global $NoDelayAddressOne = IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, 0)
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, $NoDelayAddressOne)

$name1 = "NoDelayAddressTwo"
Global $NoDelayAddressTwo = IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, 0)
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, $NoDelayAddressTwo)

;; turns on no delay
func nodelayon()
   _MemoryWrite($NoDelayAddressOne, $PROCESS_INFORMATION, 0x58, "byte")
   _MemoryWrite($NoDelayAddressTwo, $PROCESS_INFORMATION, 0x58, "byte")
endfunc

 ;; turns off no delay
func nodelayoff()
   _MemoryWrite($NoDelayAddressOne, $PROCESS_INFORMATION, 0x34, "byte")
   _MemoryWrite($NoDelayAddressTwo, $PROCESS_INFORMATION, 0x38, "byte")
endfunc

;; starts program main loop
While (1) ;==>Main Loop
   Main()
WEnd ;==>Main Loop

;; Main function controls flow of program
Func Main()

If $STOP = False Then
 ;; Allways do nothing and pause for one second unless no delay is turned on
Else

   if GUICtrlRead($CHK_Toggle) = 1 Then

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Started" Then
		 nodelayon()
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Started")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: No Delay On")
	  EndIf

   else

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Stopped" Then
		 nodelayoff()
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Stopped")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Nothing")
	  EndIf

   endif

sleep(1000)

EndIf
EndFunc		;==>EndofMainLoop

Func WindowCloseClicked()
   Exit
EndFunc		;==>WindowCloseClicked

Func onlinetutorial()
   ShellExecute($default_browser_path, "https://www.elitepvpers.com/forum/ro-exploits-hacks-bots-guides/4343596-ro-cheat-engine-guides-renewal.html")
EndFunc		;==>OnlineTutorial
MMOASSIST.ini configuration:

Needed Tools:
Calculator in programming mode

Step one:
NoDelayAddressOne=

In Cheat Engine, right click the line that normally is +34 and select go to address.
Copy that address and paste it into you calculator.
Add +2 to it.
Then copy and paste the decimal version into the MMOASSIST.ini
NoDelayAddressOne=6971242

Step two:
NoDelayAddressTwo=

In Cheat Engine, right click the line that normally is +38 and select go to address.
Copy that address and paste it into you calculator.
Add +2 to it.
Then copy and paste the decimal version into the MMOASSIST.ini
NoDelayAddressTwo=6971245

Example MMOASSIST.ini(Odin):
Updated on 12/02/2017

[LastWorkingAddressLocations]
NoDelayAddressOne=6974442
NoDelayAddressTwo=6974445

///////////////////////////////////////////////////////////////////////////////////////

Guide Number 4: Aoe Skill Spam(only ground skills not target skills)

Download and install Cheat Engine.
Download and install autoit.
If, you have not downloaded them already.

Run your renewal client and log in.

Attach Cheat Engine to the renewal exe.


In CE, click on Memory View.(located middle left)


In Memory Viewer, click Search.(located very top left)
In the drop down menu, select find assembly code.


In the input assembly code to find box, enter

test edx,edx
cmove ecx,edi
cmp ecx,01

In the From box, enter 00400000 and enter FFFFFFFF in the To box.


Click Scan.

One location will show in the Assembly scan box.
Click on the address in the Assembly scan box and it will take you to the address location in memory view.


Look for the last assembly code line that has cmp ecx,01.(once this is found you are in the correct memory location)

In Cheat Engine, right click the line that is cmp ecx,01 and select go to address. Copy that address and paste it into you calculator.
Add +2 to it.
Then copy and paste the decimal version into the MMOASSIST.ini
SkillSpamAddress=7115745


Now, you can check in game to see it working.

The code below will switch the memory from 1 to 0(5 times per second).

Autoit code:

Code:
#include <NomadMemory.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <WindowsConstants.au3>
#RequireAdmin

 ;; program OPT
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
 ;; software config/ini
Global $NAME = "MMOASSIST"
Global $SOFTWARE_TITLE = "MMOASSIST", $SOFTWARE_VERSION = ""
Global $SOFTWARE_CONFIG2 = "MMOASSIST.ini"
Global $CFG_ADD_ROOT_KEY = "LastWorkingAddressLocations"
 ;; Attch to process by window name(will attach to wrong window if another window has Ragnarok in the window title)
Global $APP_TITLE = "Ragnarok"
Global $PROCESS_ID = WinGetProcess($APP_TITLE), $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID)
 ;; Program start or stop flag
Global $STOP = True

 ;; No delay on or off flag. True = off and False = On
Global $NoDelayOnOffFlag = True

 ;; Get the default browser for tutorial
$default_browser_path = RegRead('HKCR\' & RegRead('HKCR\.html', '') & '\shell\open\command', '')
If StringLeft($default_browser_path, 1) = '"' Then
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A"+|".*\z', '')
Else
   $default_browser_path = StringRegExpReplace($default_browser_path, '\A\s+|\s.*\z', '')
EndIf

;********************************************************************************
;* Main Form Variables                                                          *
;********************************************************************************

 ;; Declare Menu Bar Variables
$MMOASSIST = GUICreate($SOFTWARE_TITLE, 251, 200, 0, 0)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseClicked")
TraySetIcon("MMOASSIST.ico")
GUISetIcon("MMOASSIST.ico")

 ;; Help menu
$MenuItem3 = GUICtrlCreateMenu("Help")
GUISetFont(8, 800, 0, "MS Sans Serif")
GUISetBkColor(0x000000)
Global $MenuItem13 = GUICtrlCreateMenuItem("Online Tutorial", $MenuItem3)
GUICtrlSetOnEvent(-1, "onlinetutorial")

;; MMOASSIST Status Group Variables
$MMOASSISTStatus = GUICtrlCreateGroup("MMOASSIST", 0, 0, 250, 51, -1, $WS_EX_TRANSPARENT)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($MMOASSISTStatus), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlCreateGroup("MMOASSIST", -99, -99, 1, 1)
GUICtrlSetTip(-1, "MMOASSIST")
$LABEL_MMOASSIST_STATUS = GUICtrlCreateLabel("MMOASSIST: Stopped", 5, 14, 155, 15)
GUICtrlSetColor(-1, 0xC0C0C0)
$LABEL_GENERAL_STATUS = GUICtrlCreateLabel("Action: Nothing", 5, 31, 200, 15)
GUICtrlSetColor(-1, 0xC0C0C0)

;Toggle Options
$ToggleOpts = GUICtrlCreateGroup("Toggle Options", 0, 51, 250, 90)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($ToggleOpts), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 0x00FF00)
$CHK_Toggle = GUICtrlCreateCheckbox("Toggle No Delay", 5, 65, 230, 70)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHK_Toggle), "wstr", 0, "wstr", 0)
GUICtrlSetColor(-1, 15743782)
GUICtrlSetBkColor(-1, 0x000000)

;; Ini Addresses
$name1 = "SkillSpamAddress"
Global $SkillSpamAddress = IniRead($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, 0)
IniWrite($SOFTWARE_CONFIG2, $CFG_ADD_ROOT_KEY, $name1, $SkillSpamAddress)

;; turns on aoe spam
func aoespamon()
   _MemoryWrite($SkillSpamAddress, $PROCESS_INFORMATION, 0x00, "byte")
   sleep(50)
   _MemoryWrite($SkillSpamAddress, $PROCESS_INFORMATION, 0x01, "byte")
   sleep(50)
endfunc

;; starts program main loop
While (1) ;==>Main Loop
   Main()
WEnd ;==>Main Loop

;; Main function controls flow of program
Func Main()

If $STOP = False Then
 ;; Allways do nothing and pause for 100 milliseconds unless skill spam on.
Else

   if GUICtrlRead($CHK_Toggle) = 1 Then

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Started" Then
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Started")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Skill Spam On")
	  EndIf
   aoespamon()
   else

	  If GUICtrlRead($LABEL_MMOASSIST_STATUS) <> "MMOASSIST: Stopped" Then
		 GUICtrlSetData($LABEL_MMOASSIST_STATUS, "MMOASSIST: Stopped")
		 GUICtrlSetData($LABEL_GENERAL_STATUS, "Action: Nothing")
	  EndIf

   endif
sleep(100)
EndIf
EndFunc		;==>EndofMainLoop

Func WindowCloseClicked()
   Exit
EndFunc		;==>WindowCloseClicked

Func onlinetutorial()
   ShellExecute($default_browser_path, "https://www.elitepvpers.com/forum/ro-exploits-hacks-bots-guides/4343596-ro-cheat-engine-guides-renewal.html")
EndFunc		;==>OnlineTutorial
Example MMOASSIST.ini(Odin):
Updated on 12/02/2017

[LastWorkingAddressLocations]
SkillSpamAddress=7118826

Note: These edits are for educational purpose only. Using them in game could result in a ban based on the servers rules.
mmoassist is offline  
Old 09/07/2017, 19:23   #2
 
elite*gold: 0
Join Date: Oct 2013
Posts: 1
Received Thanks: 0
Dosnt work on some client memory adress is not the same
Greymon21 is offline  
Old 09/10/2017, 14:14   #3
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
These guides are for IRO renewal clients only.
mmoassist is offline  
Old 09/10/2017, 14:26   #4



 
Aimless Angel's Avatar
 
elite*gold: 1725
Join Date: Dec 2005
Posts: 39,170
Received Thanks: 16,158
Thread title edited.
Aimless Angel is offline  
Old 12/01/2017, 13:35   #5
 
elite*gold: 0
Join Date: Dec 2017
Posts: 1
Received Thanks: 0


Line 3950 (File ""):

Error: "if" statement must have a "Then" keyword.

any idea how i can fix this for the autopot script?
Xelliehorse is offline  
Old 12/01/2017, 21:07   #6
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
The problem is that this forum is messing up my code when I copy and past it here.

Anywhere in the code that has "@error" is where it is messed up.

SO here is how we will fix this. All code will be updated to use the NomadMemory.au3 file

This file needs to be place into the Autoit includes folder.
The includes folder is found in the location where Autoit was installed to.
Extract the file into the includes folder.




Edit: Fixed a few bugs with Auto-Potion.
Would hang if no client was found(Fixed)
SP Potions would spam during GFistCoolDown(Fixed)
Addresses updated 12/02/2017
mmoassist is offline  
Old 12/06/2017, 05:10   #7
 
elite*gold: 0
Join Date: Dec 2017
Posts: 2
Received Thanks: 0
is this usable with the new roextreme sg/my?
Kinggpinn is offline  
Old 12/06/2017, 05:16   #8
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
Only IRO Renewal Clients.

Update:12/21/2017

Nobody told me the Auto-Potions was broken. I forgot to add the check box into the if statement. It was trying to use potions even if the check box's were off.

Well I updated the code.Auto-Potion should work as intended now but I will look for more improvements to add.
mmoassist is offline  
Old 01/21/2018, 04:25   #9
 
nozomi.gusta's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 122
Received Thanks: 18
very nice
nozomi.gusta is offline  
Old 01/21/2018, 11:20   #10
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
Thank you!

Make sure you take a look at MMOKORE Basic. It should be posted within the next 24 hours.
mmoassist is offline  
Old 01/22/2018, 09:28   #11
 
elite*gold: 0
Join Date: Dec 2017
Posts: 1
Received Thanks: 0
will this bypass harmony shield or gephard shield? i mean i want to use no delay sprite on a server that i am playing right now... or could somebody help me with a tool already made it for cheat?
bondeefire is offline  
Old 01/29/2018, 15:23   #12
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
I don't know if you understand what you are asking for.

Some people spend days, weeks and months breaking a game shield and you are just asking for it.

Maybe you should start somewhere else and ask how it could be done.
Research that and when you hit a brick wall ask more about things you do not understand.

If people see that you are making your own progress and sharing, they are more willing to help with something that requires high skill and much time to overcome.

That is the best I can do to help.
mmoassist is offline  
Thanks
1 User
Old 03/05/2018, 15:06   #13
 
nozomi.gusta's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 122
Received Thanks: 18
i dont have a background in assembly but im willing to learn. i tried it with private servers but failed in Nodelay.

How did you come up with enter mov [esi+34],edi ? how to know if in what code in assembly to change the value +34 to +58.
nozomi.gusta is offline  
Old 03/13/2018, 01:57   #14
 
elite*gold: 0
Join Date: Mar 2017
Posts: 24
Received Thanks: 5
The way you track the function down is cast a skill that uses animation pause in mid cast. Search for undefined value. For the next scan, you don't cast anything and have an idle animation. Search for value changed. Then cast a skill again and pause process in mid cast and do value changed. Keep going back and forth between pausing process while idle and casting animation until you get some address that is changing as you cast and don't cast. By setting break points you can back track the functions until you find the function that sets the animation when a skill is cast. By changing the + whatever it is for you version it is basically just setting the ending animation as soon as you cast a skill instead of setting the correct animation for the skill you are casting or movement animation.

Edit: the reason it maybe be different for your version is that a different complainer was used. This will change the offset of +34 to whatever the complainer sets the offset to during compile time.
mmoassist is offline  
Thanks
1 User
Old 03/16/2018, 00:25   #15
 
elite*gold: 0
Join Date: Mar 2018
Posts: 1
Received Thanks: 0
Hello, I do not speak English very well and I do not have much in the forum.
I would like to know if anyone has a no delay mine does not work :c
Program: LinkZ

ERROR ID: 10
Memory integrity test failed!
Code:0

HELLPP!!! :c
Dereck2001 is offline  
Reply


Similar Threads Similar Threads
Selling> iRO Chaos Renewal MVP Cards and High End Gears
05/07/2015 - Ragnarok Online - 1 Replies
Hello Friends, I am selling iRO Chaos MVP cards. I have Golden Thiefbug Card, Tao Gunka Card, Kiel Card. I have some more. I am also selling high end gears. I am selling legitimate and non-duped mvp cards. Verified by Paypal. To discuss price contact me on skype : James1990Jaded Thank you!!
[Selling] iRO Chaos Renewal Accounts
09/03/2014 - Trading - 0 Replies
iRO Chaos Renewal Accounts Welcome Ragnarok online iRO Renewal Chaos You may have seen my previous post this is a update to make it look better anyways !!
iRO Spieler gesucht/looking for iRO players
11/20/2012 - Ragnarok Online - 2 Replies
Hallo Leute, ich komme hierher mit einem besonderen Anliegen. Also, ich würde gerne die iRO Spieler darum bitten mir ein paar Screenshots zu machen. Undzwar geht es mir um Screenshots von ALLEN NPCs in Malangdo. Brauche drigend Screenshots von den NPC Konversationen und auch von den Kordinaten. Ich danke schonmal im vorraus falls sich jemand bereiterklärt mir hiermit zu helfen. Hello guys, I am here to ask you for a special favor. I would like to ask the iRO players to take a couple...
T> iRO Classic chars for iRO Valk
10/29/2012 - Ragnarok Online - 0 Replies
Hi, I currently have a lvl 86 rogue, and lvl 86 knight (different accounts) along with 50+ mil zeny on iRO classic. I am looking for a decent leveled account on iRO Valk.
T> iRO Classic chars for iRO Valk
10/29/2012 - Trading - 0 Replies
Hi, I currently have a lvl 86 rogue, and lvl 86 knight (different accounts) along with 50+ mil zeny on iRO classic. I am looking for a decent leveled account on iRO Valk.



All times are GMT +2. The time now is 23:51.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.