(DOWNLOAD LINK:
Register to unlock hidden link)
(Download is FULL Source and compiled versions. Debug and Release)
I have tried to force RFOnline into window mode using the win32 api but
it doesnt work since RFOnline is pure DirectX.
If any developers out there knows directx's api by heart and knows how to force a directx full screen app into window mode please tell me.
Then I could actually pull that window into my GUI Application and we could start AUTOMATING some stuff other then just buffs
**UPDATED
--v1.01
--Added so that the buff bot will auto set focus to RF Online
window. Also added how to handle SELF HOLY BUFFS
---------------------------------------------------------------------------
Hey guys, I made a cool program to auto buff yourself on a time event.
Simply open up VB.NET 2003 or higher, create a NEW solution (CONSOLE APPLICATION) , ADD the REFERENCE "System.Windows.Forms" to the project and copy paste the code below:
(I will go into detail in settings in my next post)
Imports System.Threading
Imports System.Windows.Forms
Module Module1
Private bolRunning As Boolean = True
Private lngBuffCount As Long = 4
Private lngTotalCycles As Long = 0
Declare Function ShowWindow Lib "user32" (ByVal hWnd As System.IntPtr, ByVal nCmdShow As Integer) As Boolean
Public Enum ShowWindowConstants
SW_HIDE = 0
SW_SHOWNORMAL = 1
SW_NORMAL = 1
SW_SHOWMINIMIZED = 2
SW_SHOWMAXIMIZED = 3
SW_MAXIMIZE = 3
SW_SHOWNOACTIVATE = 4
SW_SHOW = 5
SW_MINIMIZE = 6
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA = 8
SW_RESTORE = 9
SW_SHOWDEFAULT = 10
SW_FORCEMINIMIZE = 11
SW_MAX = 11
End Enum
Sub Main()
Console.Write("Undying's Simple RFOnline Buffer v1.0" & vbCrLf)
Console.Write("--------------------------------------" & vbCrLf)
'Bind to process
Dim objProcess As Process()
objProcess = Process.GetProcessesByName("RF_Online.bin")
If objProcess(0).Responding Then
ShowWindow(objProcess(0).MainWindowHandle, ShowWindowConstants.SW_NORMAL)
Thread.CurrentThread.Sleep(5000)
Do While bolRunning
SendKeys.SendWait("{F4}") 'Buff 1
Thread.CurrentThread.Sleep(5000)
SendKeys.SendWait("{F5}") 'Buff 2
Thread.CurrentThread.Sleep(5000)
SendKeys.SendWait("{F6}") 'Buff 3
Thread.CurrentThread.Sleep(30000)
SendKeys.SendWait("{F9}") 'Buff 4 'Holy Select Skill
Thread.CurrentThread.Sleep(300)
SendKeys.SendWait("{F9}") 'Buff 4 'Holy Cast On ThySelf
lngTotalCycles = lngTotalCycles + 1
Console.Write("STATS: Buffs Ran: " & lngTotalCycles & " times. 3 buffs applied each cycle." & vbCrLf)
Thread.CurrentThread.Sleep(180000) 'Sleep 3 minutes, let the buffs wear off and repeat
Loop
End If
End Sub
End Module
Extra Info
SendKeys.SendWait("{F4}") 'Buff 1
'Console.Write("Buff 1 RAN" & vbCrLf)
Thread.CurrentThread.Sleep(5000)
SendKeys.SendWait("{F5}") 'Buff 2
'Console.Write("Buff 2 RAN" & vbCrLf)
Thread.CurrentThread.Sleep(5000)
SendKeys.SendWait("{F6}") 'Buff 3
'Console.Write("Buff 3 RAN" & vbCrLf)
Is where you set up your buffs. (make sure you have enough FP to use all of the buffs).
Also make sure your self buffs are set on the hotbar for the specific F key as well.
NOTE:
Currently after you run your application, it will inform you to ALT+TAB back to RFOnline. This way SendKeys can do its job.
I am working on a solution where RFOnline will not need window focus, but not enough time in my schedule atm. Maybe someone can take what I did here and improve
Also make sure your character is NOT in town, you do not gain skill points if buffing in town.
If requested I can post a compiled version for the ppl without vs.net 2k3