Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Silkroad Bot


Rekomendowane odpowiedzi

Opublikowano

Witam ;p daję wam kod do użytku:

Działa na zasadzie autoselect potworka oraz wysyanie Keypress, czyli mozecie bocic w zminimalizowanym silku.

Opt("TrayMenuMode", 1)
#Include <GuiListView.au3>
Dim $listview[3] = ['Belt','Slot','Delay'], $child_buf_ok = -1, $child_atk_ok = -1,$swsroCharname = 0xA9DB98, $ecsroCharname = 0xA9DBB8, $mysroCharname = 0xA00340, $run = False, $epointer = 0xA9EE64, $spointer = 0xA9EE44, $zerkoffset = 0x7E6
Dim $m=0, $e=0, $s=0
$GUI = GUICreate('Private Server Bot', 341, 370, @DesktopWidth/2-370/2, @DesktopHeight/2-341/2, 0x100A0000)
GUICtrlCreateGroup("Character", 5, 5, 325, 45)
$char = GUICtrlCreateCombo("", 10, 20, 230, -1, 3)
GUICtrlSetFont(-1, 10)
$refresh = GUICtrlCreateButton("Refresh", 250, 19, 70, 26)

GUICtrlCreateGroup("Buffs", 5, 50, 160, 250)
$buf = GUICtrlCreateListView("Belt|Slot|Delay", 10, 65, 150, 200)
_GUICtrlListView_SetColumnWidth($buf, 2, -2)
For $i=0 To 2
   _GUICtrlListView_SetColumn($buf, $i, $listview[$i], -1, 2)
Next
$buf_add = GUICtrlCreateButton("Add", 10, 270, 70)
$buf_del = GUICtrlCreateButton("Delete", 90, 270, 70)
GUICtrlCreateGroup("Attack Skills", 170, 50, 160, 250)
$atk = GUICtrlCreateListView("Belt|Slot", 175, 65, 150, 200)
For $i=0 To 1
   _GUICtrlListView_SetColumnWidth($atk, $i, 73)
   _GUICtrlListView_SetColumn($atk, $i, $listview[$i], -1, 2)
Next
$atk_add = GUICtrlCreateButton("Add", 175, 270, 70)
$atk_del = GUICtrlCreateButton("Delete", 255, 270, 70)

$zerk = GUICtrlCreateCheckbox("Use Zerk", 10, 307)

$start = GUICtrlCreateButton("Start Bot", 75, 305, 120)
$stop = GUICtrlCreateButton("Stop Bot", 205, 305, 120)

CharList()
ini()

While 1
   Switch GUIGetMsg()
       Case -3
           Exit
       Case -4
           Tray()
       Case $buf_add
           $child = GUICreate("Add Buff", 100, 150, -1, -1, 0x10000000, 0x88)
           GUICtrlCreateLabel("Belt:", 5, 13)
           $child_belt = GUICtrlCreateCombo("", 45, 10, 40, -1, 3)
           GUICtrlSetData(-1, "F1|F2|F3|F4", "F1")
           GUICtrlCreateLabel("Slot:", 5, 43)
           $child_slot = GUICtrlCreateCombo("", 45, 40, 40, -1, 3)
           GUICtrlSetData(-1, "0|1|2|3|4|5|6|7|8|9", 1)
           GUICtrlCreateLabel("Delay:", 5, 73)
           $child_delay = GUICtrlCreateInput(100, 45, 70, 40)
           $child_buf_ok = GUICtrlCreateButton("OK", 5, 100, 85, 20, 1)
       Case $child_buf_ok
           GUICtrlCreateListViewItem(GUICtrlRead($child_belt)&"|"&GUICtrlRead($child_slot)&"|"&GUICtrlRead($child_delay), $buf)
           GUIDelete($child)
       Case $buf_del
           _GUICtrlListView_DeleteItemsSelected($buf)
       Case $atk_add
           $child = GUICreate("Add Attack Skill", 100, 120, -1, -1, 0x10000000, 0x88)
           GUICtrlCreateLabel("Belt:", 5, 13)
           $child_belt = GUICtrlCreateCombo("", 45, 10, 40, -1, 3)
           GUICtrlSetData(-1, "F1|F2|F3|F4", "F1")
           GUICtrlCreateLabel("Slot:", 5, 43)
           $child_slot = GUICtrlCreateCombo("", 45, 40, 40, -1, 3)
           GUICtrlSetData(-1, "0|1|2|3|4|5|6|7|8|9", 1)
           $child_atk_ok = GUICtrlCreateButton("OK", 5, 70, 85, 20, 1)
       Case $child_atk_ok
           GUICtrlCreateListViewItem(GUICtrlRead($child_belt)&"|"&GUICtrlRead($child_slot), $atk)
           GUIDelete($child)
       Case $atk_del
           _GUICtrlListView_DeleteItemsSelected($atk)
       Case $refresh
           CharList()
           ini()
       Case $start
           FileDelete(GUICtrlRead($char)&".ini")
           For $i=0 To _GUICtrlListView_GetItemCount($atk)-1
               IniWrite(GUICtrlRead($char)&".ini", "atk_skill", $i+1, _GUICtrlListView_GetItemTextString($atk, $i))
           Next
           For $i=0 To _GUICtrlListView_GetItemCount($buf)-1
               IniWrite(GUICtrlRead($char)&".ini", "buf_skill", $i+1, _GUICtrlListView_GetItemTextString($buf, $i))
           Next
           If GUICtrlRead($zerk)=1 Then
               IniWrite(GUICtrlRead($char)&".ini", "zerk", "on", "1")
           Else
               IniWrite(GUICtrlRead($char)&".ini", "zerk", "on", "0")
           EndIf
           $run = True
       Case $stop
           $run = False
       Case $char
           ini()
       Case Else
           InputCheck()
           If $run Then bot(GUICtrlRead($char))
   EndSwitch
   InputCheck()
   Switch TrayGetMsg()
       Case - 13
           Tray()
   EndSwitch
   InputCheck()
WEnd

Func bot($charname)
   $buff_skill = IniReadSection($charname&".ini", "buf_skill")
   If IsArray($buff_skill) And $buff_skill[0][0]<>0 Then
       For $i=1 To $buff_skill[0][0]
           If $run = True Then
               $string = StringSplit($buff_skill[$i][1], "|")
               Buff($charname, $string[1], $string[2], $string[3])
               InputCheck()
           EndIf
           Sleep(10)
       Next
   EndIf
   $attack_skill = IniReadSection($charname&".ini", "atk_skill")
   If IsArray($attack_skill) And $attack_skill[0][0]<>0 Then
       For $i=1 To $attack_skill[0][0]
           If $run = True Then
               $string = StringSplit($attack_skill[$i][1], "|")
               Skill($charname, $string[1], $string[2])
               InputCheck()
               Zerk()
           EndIf
           Sleep(10)
       Next
   EndIf
EndFunc

Func Skill($charname, $bar, $slot, $delay = 0.5)
   If Not IsDeclared($charname&"skill" & $bar & $slot) Then
       For $i=1 to 5
           SendSro(GetHandle($charname), $bar)
       Next
       SendSro(GetHandle($charname), $slot)
       Assign($charname&"skill" & $bar & $slot, TimerInit(), 2)
   ElseIf TimerDiff(Eval($charname&"skill" & $bar & $slot)) > $delay * 1000 Then
       For $i=1 to 5
           SendSro(GetHandle($charname), $bar)
       Next
       SendSro(GetHandle($charname), $slot)
       Assign($charname&"skill" & $bar & $slot, TimerInit(), 2)
   EndIf
EndFunc

Func Buff($charname, $bar, $slot, $delay = 300)
   If Not IsDeclared($charname&"buff" & $bar & $slot) Then
       SleepWithCheck(2000)
       For $i=1 to 5
           SendSro(GetHandle($charname), $bar)
       Next
       SendSro(GetHandle($charname), $slot)
       SleepWithCheck(2000)
       Assign($charname&"buff" & $bar & $slot, TimerInit(), 2)
   ElseIf TimerDiff(Eval($charname&"buff" & $bar & $slot)) > $delay * 1000 Then
       Assign($charname&"buff", TimerInit(), 2)
       SleepWithCheck(2000)
       For $i=1 to 5
           SendSro(GetHandle($charname), $bar)
       Next
       SendSro(GetHandle($charname), $slot)
       SleepWithCheck(2000)
       Assign($charname&"buff" & $bar & $slot, TimerInit(), 2)
   EndIf
EndFunc

Func CharList()
   $list = WinList("[CLASS:CLIENT]")
   For $i=1 To $list[0][0]
       Local $mid = memopen(WinGetProcess($list[$i][1]))
       Local $name = memread($mid, $swsroCharname, 'char[12]')
       If $name<>'' Then GUICtrlSetData($char, $name, $name)
       Local $name = memread($mid, $ecsroCharname, 'char[12]')
       If $name<>'' Then GUICtrlSetData($char, $name, $name)
       Local $name = memread($mid, $mysroCharname, 'char[12]')
       If $name<>'' And $name<>'?ŻQĆá<' And $name<>'h??=' And $name<>'Í;??ö?Ud˛' Then GUICtrlSetData($char, $name, $name)
       memclose($mid)
   Next
EndFunc

Func GetHandle($charname)
   Local $list = WinList("[CLASS:CLIENT]")
   For $i=1 To $list[0][0]
       Local $mid = memopen(WinGetProcess($list[$i][1]))
       Local $name = memread($mid, $mysroCharname, 'char[12]')
       If $name = $charname Then
           memclose($mid)
           Global $m=1
           Global $e=0
           Global $s=0
           Return $list[$i][1]
       EndIf
       Local $name = memread($mid, $swsroCharname, 'char[12]')
       If $name = $charname Then
           Global $m=0
           Global $e=0
           Global $s=1
           memclose($mid)
           Return $list[$i][1]
       EndIf
       Local $name = memread($mid, $ecsroCharname, 'char[12]')
       If $name = $charname Then
           Global $m=0
           Global $e=1
           Global $s=0
           memclose($mid)
           Return $list[$i][1]
       EndIf
       memclose($mid)
       Sleep(10)
   Next
EndFunc

Func SendSro($handle, $key)
   Switch $key
       Case "F1"
           $k = 0x70
       Case "F2"
           $k = 0x71
       Case "F3"
           $k = 0x72
       Case "F4"
           $k = 0x73
       Case Else
           $k = 0x30+$key
   EndSwitch
   DllCall("User32.dll", "int", "PostMessageA", "hwnd", $handle, "int", 0x100, "int", $k, "int", 0)
   DllCall("User32.dll", "int", "PostMessageA", "hwnd", $handle, "int", 0x101, "int", $k, "int", 0)
EndFunc

Func ini()
   _GUICtrlListView_DeleteAllItems($atk)
   _GUICtrlListView_DeleteAllItems($buf)
   If FileExists(GUICtrlRead($char)&".ini") Then
       $section = IniReadSection(GUICtrlRead($char)&".ini", "atk_skill")
       if IsArray($section) Then
           For $i=1 To $section[0][0]
               GUICtrlCreateListViewItem($section[$i][1], $atk)
           Next
       EndIf
       $section = IniReadSection(GUICtrlRead($char)&".ini", "buf_skill")
       If IsArray($section) Then
           For $i=1 To $section[0][0]
               GUICtrlCreateListViewItem($section[$i][1], $buf)
           Next
       EndIf
       If IniRead(GUICtrlRead($char)&".ini", "zerk", "on", "0") = "1" Then GUICtrlSetState($zerk, 1)
   EndIf
EndFunc

Func memopen($pid)
   Local $mid = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', 1, 'int', $pid)
   Return $mid[0]
EndFunc

Func memread($mid, $adress, $type = 'dword')
   Local $struct = DllStructCreate($type)
   DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
   Return DllStructGetData($struct, 1)
EndFunc

Func memreaddynamic($mid, $pointer, $offset, $type = "dword")
   $newadress = memread($mid, $pointer) + $offset
   Return memread($mid, $newadress, $type)
EndFunc

Func memwrite($mid, $adress, $byte)
   Local $struct = DllStructCreate('byte')
   DllStructSetData($struct, 1, $byte)
   DllCall('kernel32.dll', 'int', 'WriteProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', 0)
EndFunc

Func memclose($mid)
   DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $mid)
EndFunc

Func Tray()
   If BitAND(WinGetState($GUI), 2) Then
       WinSetState($GUI, "", @SW_HIDE)
   Else
       WinSetState($GUI, "", @SW_SHOW)
   EndIf
EndFunc

Func IsPressed($sHexKey, $vDLL = 'user32.dll')
   Local $a_R = DllCall($vDLL, "int", "GetAsyncKeyState", "int", $sHexKey)
   If Not @error And BitAND($a_R[0], 0x8000) = 0x8000 Then Return 1
   Return 0
EndFunc   ;==>_IsPressed

Func InputCheck()
   If $e=1 Then
       $CharBase = $epointer
   ElseIf $s=1 Then
       $CharBase = $spointer
   EndIf
   If WinActive(GetHandle(GUICtrlRead($char))) Then
       If IsPressed(0x74) Then
           If $run Then
               $run = False
           Else
               $run = True
           EndIf
           Do
               Sleep(1)
           Until Not IsPressed(0x74)
       EndIf
       If IsPressed(0x75) Then
           $mid = memopen(WinGetProcess(GetHandle(GUICtrlRead($char))))
           If memread($mid, $CharBase+8, 'byte') = 1 Then
               memwrite($mid, $CharBase+8, 0)
           Else
               memwrite($mid, $CharBase+8, 1)
           EndIf
           memclose($mid)
           Do
               Sleep(1)
           Until Not IsPressed(0x75)
       EndIf
       If IsPressed(0x76) Then
           $mid = memopen(WinGetProcess(GetHandle(GUICtrlRead($char))))
           If memread($mid, $CharBase+9, 'byte') = 1 Then
               memwrite($mid, $CharBase+9, 0)
           Else
               memwrite($mid, $CharBase+9, 1)
           EndIf
           memclose($mid)
           Do
               Sleep(1)
           Until Not IsPressed(0x76)
       EndIf
       If IsPressed(0x77) Then WinSetState(GetHandle(GUICtrlRead($char)), "", @SW_MINIMIZE)
   EndIf
EndFunc

Func Zerk()
   If GUICtrlRead($zerk)=1 Then
       If $e=1 Then
           $CharBase = $epointer
       ElseIf $s=1 Then
           $CharBase = $spointer
       EndIf
       Local $handle = GetHandle(GUICtrlRead($char))
       Local $mid = memopen(WinGetProcess($handle))
       Local $zerkpoints = memreaddynamic($mid, $CharBase, $zerkoffset, 'byte')
       If $zerkpoints = 5 Then
           DllCall("User32.dll", "int", "PostMessageA", "hwnd", $handle, "int", 0x100, "int", 0x09, "int", 0)
           DllCall("User32.dll", "int", "PostMessageA", "hwnd", $handle, "int", 0x101, "int", 0x09, "int", 0)
       EndIf
       memclose($mid)
   EndIf
EndFunc

Func SleepWithCheck($time)
   Assign('sleep', TimerInit(), 2)
   Do
       InputCheck()

       Switch GUIGetMsg()
           Case -3
               Exit
           Case -4
               Tray()
           Case $stop
               $run = False
       EndSwitch
       Sleep(10)
   Until TimerDiff(Eval('sleep')) > $time
EndFunc

stop1.png
Opublikowano

Gratulacje, że się nie poddałeś, ale zgarnąłeś projekt bota dla nerv234 :)

roomy.png

Wczoraj do ciebie nie należy. Jutro niepewne... Tylko dziś jest twoje.

Opublikowano

Nic nie zgarnąłem ;p szukałem to jakiś rok temu zajeło mi to jakis tydzien a patrząc na skladnie tego skryptu wątpie że on by dał rade to napsiać nie znając funkcji i napisalem ze jak znajde dam mu kod i zamieszcze tu ;p

stop1.png
Opublikowano

Tak tak, a ja bym powiedział, że to lolkopa private server loader i nie próbuj mi wmawiać coś innego.

 

Jak chcesz już dawać kod to podaj źródło skąd wziąłeś.

1334497071-U17330.png

Opublikowano

ehh to jest Private Server Bot autorstwa Lolkop'a on już go wydał jakiś czas temu posługiwałem się nim próbowałem go przerabiać, ale nic owocnego z tego nie wyszło. Na pierwszy rzut oka kto używał tego bota i grał w silka wie, że to jest od Lolkop'a a po za tym już w dziale Prywatne Serwery Silkroad już taki jest -.- Chyba temat był nazwany Alternatywa Sibibot'a przez Duszek1991 czy jakoś tak :D

 

ale za stawienie plus :P

Opublikowano

Będę upierdliwy i pokażę dowód, że gdziekolwiek napisałeś że ty go zrobiłeś:

 

Klik

 

O to TWÓJ post, pozwolę sobie zacytować:

 

Pisałem bota do silkroad ale dziła na prywatach, działał także na globalu ale to z rok temu.

Mam gdzies na kompie pełnego bota do silka w autoit jak znajde kod zamieszcze.

z tego co pamiętam robiłem go tylko na memory send memory get robiłem go dla e****pvp***.de znajdę to wkleje, dziala na zminimalizowanmym:

Ustwiasz liste hotow jak bedzie mial moba w rage, mozesz ustawic auto pick up ale zbiera wszystko, za duzo roboty z filtrem było ;p berka włacza na bossa itp. ale tylko na prywaty, po przerobieniu pewnie tez zadziala na globcu.

 

Co do mojego silkroad tool to zwykly patcher + range , no dc etc. ;p ale praktycznie podobnie sie pisze :)

Poszukam dziś i wkleje do gotowców.

 

Tak tak jestem w tym momencie wnerwiający i umiem się doczepić dupy.

 

Ja nadal twierdze, że go sobie przywłaszczasz -.-

 

haha uważaj na słowa :D

Opublikowano

Wie ktoś jak przerobić ten kod gotowca. Na inna grę do Rohan Online.

 

#NoTrayIcon
HotKeySet("{PAUSE}", "pp")
HotKeySet("{ESC}", "Terminate")
Global $p = 0, $czas1 = 100, $czas2 = 860000, $czas3 = 1680000, $czas4 = 180000
While 1
       Sleep(1000)
       If $p Then
               ToolTip("Skrypt uruchomiony", 0, 0)
       Else
               ToolTip("Skrypt Zatrzymany", 0, 0)
       EndIf
WEnd
Func pp()
       $p = Not $p
       If $p Then
               AdlibRegister("klik1", $czas1)
               AdlibRegister("klik2", $czas2)
               AdlibRegister("klik3", $czas3)
               AdlibRegister("klik4", $czas4)
       Else
               AdlibUnRegister("klik1")
               AdlibUnRegister("klik2")
               AdlibUnRegister("klik3")
               AdlibUnRegister("klik4")
       EndIf
EndFunc
Func jeden()
       MouseClick ( "left" , 683, 740 , "" , 0  )
       MouseClick ( "left" , 714, 740 , "" , 0  )
       MouseClick ( "left" , 753, 736 , "" , 0  )
       MouseClick ( "left" , 786, 740 , "" , 0  )
       MouseClick ( "left" , 818, 740 , "" , 0  )
EndFunc
Func dwa()
       MouseClick ( "left" , 995, 740 , "" , 0  )
       MouseClick ( "left" , 959, 740 , "" , 0  )
EndFunc
Func trzy()
       MouseClick ( "left" , 926, 740 , "" , 0  )
EndFunc
Func cztery()
       MouseClick ( "left" , 890, 740 , "" , 0  )
EndFunc
Func Terminate()
       Exit
EndFunc

program by tk371

 

Chodzi mi o to żeby na zmilizowanym klikał.

02758850976702993171.png

1300408940gf.gif

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...