Program & Guide By PABLOESCOBAR
New version features:
* Enable multi-client (XHack will work only on the active KO client)
* Script Language built-in, compatible with vb script:
All AutoIT functions (check the help file on rar)
Before each AutoIT function, you should put "AutoIT.<function>"
Example:
Sub Main()
MsgBox AutoIT.WinExists("Knight OnLine Client")
End Sub
KO specific informations/functions:
-------------------------------------------------------
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
Command: SelectTarget()
Description: Select the nearest target (mob or enemy)
Example:
Sub Main()
XHack.SelectTarget
End Sub
Command: UseSkill(pPageID As Long, pSlotID As Long)
Description: Use the skill assigned on the Page / Slot
Example:
Sub Main()
XHack.SelectTarget
XHack.UseSkill 0,1 'Will use the skill on slot 1 of the current page, when the page = 0, the XHack doesnt change ur page
End Sub
Command: StopRAtack()
Description: Stop the R atack
Example:
Sub Main()
XHack.StopRAtack
End Sub
Command: StartRAtack()
Description: Start R atack, in other words, make ur char run to mob or shot arrows
Example:
Sub Main()
XHack.SelectTarget
XHack.StartRAtack
XHack.UseSkill 0,1 'Will use the skill on slot 1 of the current page, when the page = 0, the XHack doesnt change ur page
XHack.StopRAtack
End Sub
Command: GetRAtack() As Long
Description: If the function returns 0, ur char is not atacking, if function returns 1 the char is atacking
Example:
Sub Main()
If XHack.GetRAtack=0 Then
XHack.SelectTarget
XHack.StartRAtack
End If
End Sub
Command: InjectCode(pCode() As Byte)
Description: Inject Assembler code into KO process... only try this if u know what u r doing...
Example:
Sub Main()
Dim pCode(1 to 4) As Byte
pCode(1)=&H90 '0x90 = NOP
pCode(2)=&H90 '0x90 = NOP
pCode(3)=&H90 '0x90 = NOP
pCode(4)=&HC3 '0xC3 = RETN
XHack.InjectCode pCode
End Sub
Command: ShowXHack()
Description: Make the XHack appear (same behavior of "Insert" key)
Example:
Sub Main()
XHack.ShowXHack
End Sub
Command: HideXHack()
Description: Make the XHack disappear (same behavior of "Insert" key)
Example:
Sub Main()
XHack.HideXHack
End Sub
Command: GetCharTotalExp() As Long
Description: Return the total exp needed to next level
Example:
Sub Main()
Dim TotExp As Long
TotExp=XHack.GetCharTotalExp
End Sub
Command: GetCharExp() As Long
Description: Return the current exp
Example:
Sub Main()
Dim CurExp As Long
CurExp=XHack.GetCharExp
End Sub
Command: GetCharDeadState() As Long
Description: Return 1 if the char is dead, 0 if char is alive
Example:
Sub Main()
If XHack.GetCharDeadState=1 Then
MsgBox "Ooops, im dead"
End If
End Sub
Command: GetCharMerchantState() As Long
Description: Return 1 if the char is in merchant, 0 if char is not in merchant... usefull to merchant macros
Example:
Sub Main()
Dim PrevMerchant As Long
PrevMerchant=XHack.GetCharMerchantState
If PrevMerchant=1 Then
Do While XHack.GetMerchantState=1
DoEvents
Loop
MsgBox "Great! I sold all my items... Time to put new merchant!!"
End If
End Sub
Command: GetSelectedID() As Long
Description: Return the ID of the current selected object (mob, player or npc)... return 0 if nobody is selected
Example:
Sub Main()
If XHack.GetSelectedID<>0 Then
MsgBox "Time to atack..."
End If
End Sub
Command: SetCharSpeed(pSpeed As Long)
Description: Set your char speed (16256 = normal speed, 16320 = swift, 16384 = light feet). Greater value = greater speed, lower value = low speed
Example:
Sub Main()
XHack.SetCharSpeed 20000 'If light feet speed = 16384, imagine 20000 speed...hehehe
End Sub
Command: GetCharSpeed() As Long
Description: Return your current char speed
Example:
Sub Main()
Do While 1=1
If XHack.GetCharSpeed<16256 Then
XHack.SetCharSpeed 16320 'If im slowed by legcut or ice mage, then restore my speed
End If
Loop
End Sub
Command: Move2Location(X As Single, Y As Single)
Description: Move your char run to X / Y location...
Example:
Sub Main()
XHack.Move2Location 0,0 'Make ur char move to position 0,0...lol
End Sub
Command: GetCharY() As Single
Description: Return the current Y position of ur char
Example:
Sub Main()
If CLng(XHack.GetCharY)=0 then
MsgBox "What hell im doing here..."
End If
End Sub
Command: GetCharX() As Single
Description: Return the current X position of ur char
Example:
Sub Main()
If CLng(XHack.GetCharX)=0 And CLng(XHack.GetCharY)=0 then
MsgBox "!@#$%^&*... Im doomed, time to /town..."
End If
End Sub
Command: WaitExecution(pTimeMS As Long)
Description: Wait "N" miliseconds before execute the next instruction
Example:
Sub Main()
XHack.WaitExecution 1000 'Ill wait 1 second before execute the MsgBox
MsgBox "I love FG.net"
End Sub
Command: WarpGate(pDestination As Integer)
Description: Teleport ur char to other zone... pDestination = Zone ID
Example:
Sub Main()
XHack.WarpGate 214 'Goto moradon
End Sub
Command: Escape2Town()
Description: The same behavior of "/town" KO command
Example:
Sub Main()
If CLng(XHack.GetCharX)=0 And CLng(XHack.GetCharY)=0 then
MsgBox "!@#$%^&*... Im doomed, time to /town..."
XHack.Escape2Town
End If
End Sub
Command: GetCharTotalHP() As Long
Description: Get your total HP
Example:
Sub Main()
Dim TotalHP As Long
TotalHP=XHack.GetCharTotalHP
Do While 1=1
DoEvents
If XHack.GetCharTotalHP<TotalHP>TotalHP
MsgBox "Im Buffed"
End If
Loop
End Sub
Command: GetCharHP() As Long
Description: Get your current HP
Example:
Sub Main()
If (XHack.GetCharTotalHP - XHack.GetCharHP) <= 10 Then
MsgBox "You will die...only left 10 or less HP for u. Time to HP Pot? :P"
End If
End Sub
Command: GetCharNick() As String
Description: Get the nick of ur char
Example:
Sub Main()
MsgBox "Hi, my char name is " & XHack.GetCharNick & " and im cheater..."
End Sub
Command: GetCharTotalMP() As Long
Description: Get your total MP
Example:
Sub Main()
MsgBox "My total MP is " & XHack.GetCharTotalMP & "... im l33t"
End Sub
Command: GetCharMP() As Long
Description: Get your current MP
Example:
Sub Main()
If (XHack.GetCharTotalMP - XHack.GetCharMP) <= 100 Then
MsgBox "Time to use mana pot MORON!!!"
End If
End Sub
Command: SetCharXY(X As Single, Y As Single)
Description: Set your char position, dont set more than 20 points from your current X or Y, otherwise u will dc or teleported back to ur previous location
Example:
Sub Main()
If (XHack.GetCharTotalMP - XHack.GetCharMP) <= 100 Then
MsgBox "Time to use mana pot MORON!!!"
End If
End Sub
Command: TerminateKO()
Description: Close KO process
Example:
Sub Main()
If XHack.GetCharDeadState = 1 Then
TerminateKO 'You r dead, then close KO before some priest rezz u with 4 stones
End If
End Sub
Command: SendKOPackets(pPacket() As Byte)
Description: Send packets to KO server...
Example:
Sub Main()
Dim pPacket(1 to 2)
pPacket(1)=&H48
pPacket(2)=&H0
XHack.SendKOPackets pPacket 'packet 0x4800 will make you /town... now use ur imagination :)
End Sub
http://rapidshare.com/files/21127733/XHack.rar