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

[Prosba] Bot Do Nostale


Rekomendowane odpowiedzi

Opublikowano

a moze nie notatnik tylko Notepad:D rodem juz ci napisal ze po swojemu to pisze sie na gg...

 

ControlSend("[CLASS:Notepad]", "", "Edit1", ("{SPACE}"))

i zapomnialem dodaj jeden nawias:P

ControlSend("[CLASS:NosTale]", "", "", ("{SPACE}"))

moze tak

 

 

do nazwy okna sluzy Autoit v3 Windows info polecam:P

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

  • 2 tygodnie później...
Opublikowano

Tak ogólnie, jeśli nadal szukasz błędu, to po ControlSend, dałeś dwa nawiasy. Usuń jeden.

Moi drodzy, bo najważniejsze w kochaniu zwłok jest to, że nie marudzą.

Opublikowano

gdzieś się pląta po forum source do tego bota , na juz nawet nie wiem czy posiadam je w oryginalnej wersji

 

znalazłem w backupach Autoita source chyba pierwowzór do bota, jak znajde wiecej wystawie paczke cała by mozna było coś z tego wybrać

 

jak najbardziej polecam do przeróbek

 

klawiszologia łatwa do zmiany i opisana

F11 - ustawiamy myszke na pasku hp w miejscu przy którym jak ubędzie zycia bot zacznie odpoczywac wciskamy F11

 

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include<NomadMemory.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>

Opt("GUIOnEventMode", 1) 
Global $appAtivo = 0
$hGUI = GUICreate("BotNosTale", 150, 150)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Sair")
$btnCuidar = GUICtrlCreateButton("Pauza", 10, 50, 80, 30)
GUICtrlSetOnEvent(-1, "_Cuidar")
$btnStop = GUICtrlCreateButton("Start", 10, 10, 80, 30)
$hlabel = GUICtrlCreateLabel("", 10, 100, 200, 20)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")

Func _Sair()
Exit
EndFunc   ;==>_Sair

Func _Cuidar() 
$appAtivo = 1
GUICtrlSetData($hlabel, "Zatrzymanie")
While $appAtivo
	Sleep(10)
WEnd
GUICtrlSetData($hlabel, "")
EndFunc   ;==>_Cuidar

Func _appAtivo()
$appAtivo = 0
EndFunc   ;==>_appAtivo

Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
Switch BitAND($wParam, 0xFFFF) ;LoWord = IDFrom
	Case $btnStop
		Switch BitShift($wParam, 16) ;HiWord = Code
			Case $BN_CLICKED
				$appAtivo = 0
		EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc   ;==>MY_WM_COMMAND



Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

$client = "NosTale"
$PID = WinGetProcess($client)
$hprocess = _MemoryOpen($PID)
$hWnd = WinGetHandle($client)


WinWait($hWnd, "")
If Not WinActive($hWnd, "") Then WinActivate($hWnd, "")
WinWaitActive($hWnd, "")
WinWait($hWnd, "")
If Not WinActive($hWnd, "") Then WinActivate($hWnd, "")
WinWaitActive($hWnd, "")
TrayTip("NosTale", "Bot nieaktywny", 5, 1)

$size = WinGetClientSize($hWnd)
MsgBox(0, "Aktualny rozmiar okna gry : ( width , height ):", $size[0] & " " & $size[1], 1)

WinActivate($hWnd, "")
WinMove($hWnd, "", 0, 0)
TrayTip("NosTale", "Ustawiam pozycje okna gry.", 1, 1)

HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("{END}", "Terminate")

;HotKeySet("{HOME}", "Start")
;HotKeySet("{INS}", "Stop")

HotKeySet("{F11}", "_getDefault")

$x = 0
$y = 0
$color = 0
$newColor = 0
$status = "off"
$Paused = False
$loot = "R"; klawisz loot
$nachwvdl = 2
$czasWalki = 900000 ; czas walki
$czasOdp = 4000 ; czas odpoczynku
$Atk1 = "1"
$Atk2 = "2"
$Atk3 = "3"
$timer1 = TimerInit()

If @error Then
MsgBox(4096, "Error", "Brak gry NosTale")
Else
$durchl = 0

While 1
	If $status = "on" Then
		If _getCurrentColor($x, $y) == $color Then
			Attack() ; instrukcja wykonywana jeśli spełniony zostanie warunek
			EndIf
		ElseIf $status = "on" Then
			If _getCurrentColor($x, $y) <> $color Then
				Odpoczynek() ; instrukcja wykonywana jeśli spełniony zostanie drugi warunek, a pierwszy nie
				EndIf
			Else
				;instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków
				EndIf
WEnd
EndIf

Func Attack()
	KeySend($loot)
	Sleep(111)
	KeySend($Atk1)
	Sleep(222)
	KeySend(" ")
	Sleep(222)
	KeySend($loot)
	Sleep(222)
	KeySend(" ")
	Sleep(111)
	KeySend($loot)
	Sleep(111)
	KeySend($Atk2)
	Sleep(222)
	KeySend(" ")
	Sleep(222)
	KeySend($loot)
	Sleep(222)
	KeySend(" ")
	Sleep(111)
	KeySend($loot)
	Sleep(111)
	KeySend($Atk3)
	Sleep(222)
	KeySend(" ")
	Sleep(222)
	KeySend(" ")
	Sleep(222)
	KeySend($loot)
	Sleep(222)
	KeySend(" ")
	Sleep(222)
EndFunc   ;==>Attack

Func isSleepTime()
	If (TimerDiff($timer1) > $czasWalki) Then
		Return True
	Else
		Return False
	EndIf
EndFunc   ;==>isSleepTime

Func Odpoczynek()
	Sleep(555)
	KeySend($loot)
	Sleep(6666)
	KeySend($loot)
	Sleep(444)
	KeySend("T")
	Sleep($czasOdp)
	KeySend("T")
	Sleep(333)
	KeySend("qqqq")
	Sleep(2222)
	KeySend("wwww")
	Sleep(2222)
	$timer1 = TimerInit()
EndFunc   ;==>Odpoczynek

Func TogglePause()
	$Paused = Not $Paused
	While $Paused
		Sleep(100)
	WEnd
EndFunc   ;==>TogglePause

Func Terminate()
	Exit 0
EndFunc   ;==>Terminate

Func Loot()
	Sleep(111)
	KeySend($loot)
EndFunc   ;==>Loot


Func _getDefault()
	$coord = MouseGetPos()
	$x = $coord[0]
	$y = $coord[1]
	$color = Hex(PixelGetColor($coord[0], $coord[1]), 6)
	$status = "on"
EndFunc   ;==>_getDefault


Func _getCurrentColor($xDef, $yDef)
	$newColor = Hex(PixelGetColor($xDef, $yDef), 6)
	Return ($newColor)
EndFunc   ;==>_getCurrentColor

; send single keyboard event to non active window
; event = pressed, down, up
; kdown = key down delay
; note: supports only lower case keys + NUMx, Fx, some special keys and @

Func KeySend($inkey, $evt = "pressed", $kdown = 5)
	$user32 = DllOpen("user32.dll")
	If $user32 = -1 Then
		ConsoleWrite("KeySend: cannot open user32.dll")
		Exit
	EndIf

	; handling for special keys
	Switch StringUpper($inkey)
		Case "@"
			;			$skey = 0x40
			;			$lparam = 0x00100001
			;			DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", 0x71, "long", $lparam)
			;			DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_CHAR, "int", $skey, "long", $lparam)
			Sleep(20)
			;			DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", 0x71, "long", BitOR($lparam, 0xC0000000))
		Case "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"
			$skey = 0x6f + Int(StringMid($inkey, 2))
			ContinueCase
		Case "NUM0", "NUM1", "NUM2", "NUM3", "NUM4", "NUM5", "NUM6", "NUM7", "NUM8", "NUM9"
			If StringUpper(StringLeft($inkey, 3)) = "NUM" Then
				$skey = 0x60 + Int(StringMid($inkey, 4))
			EndIf
			ContinueCase
		Case "RETURN", "SPACE", "TAB", "BACK", "END", "HOME", "SNAPSHOT", "INSERT", "DELETE", "LEFT", "RIGHT", "UP", "DOWN"
			Switch StringUpper($inkey)
				Case "RETURN"
					$skey = 0x0D
				Case "SPACE"
					$skey = 0x20
				Case "TAB"
					$skey = 0x09
				Case "BACK"
					$skey = 0x08
				Case "END"
					$skey = 0x23
				Case "HOME"
					$skey = 0x24
				Case "SNAPSHOT"
					$skey = 0x2c
				Case "INSERT"
					$skey = 0x2d
				Case "DELETE"
					$skey = 0x2e
				Case "LEFT"
					$skey = 0x25
				Case "RIGHT"
					$skey = 0x27
				Case "UP"
					$skey = 0x26
				Case "DOWN"
					$skey = 0x28
			EndSwitch
			$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
			$lParam = BitShift($ret[0], -16)
			$lParam = BitOR($lParam, 1)
			DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lParam)
			Sleep($kdown)
			DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lParam, 0xC0000000))
		Case Else ; default lower case key handling
			$key = DllCall($user32, "int", "VkKeyScan", "int", Asc(StringLower($inkey)))
			$skey = $key[0]
			$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
			$lParam = BitShift($ret[0], -16)
			$lParam = BitOR($lParam, 1)
			Select
				Case $evt = "pressed"
					DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lParam)
					Sleep($kdown)
					DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lParam, 0xC0000000))
				Case $evt = "down"
					DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lParam)
				Case $evt = "up"
					DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lParam, 0xC0000000))
			EndSelect
	EndSwitch

	DllClose($user32)
EndFunc   ;==>KeySend

 

 

p.s. jeśli jakaś funkcja nie działa albo wykazuje nieprawidłowe działanie poszukaj odpowiedzialnego include może go nie ma albo mam własny standartowy przerobiony na własne potrzeby ( źródeł przeróbek nie udostępniam )

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

TAK KURWA! W KONCUUU!!! napisalem to... znaczy sie stuningowalem bota Robema xD

 

 

HotKeySet("{Home}", "TogglePause")
HotKeySet("{END}", "Koniec")

$gra = "NosTale"
Global $Paused
$Atak1 = " "
$SlepK = "50"

While 1
       Atak()
WEnd

Func TogglePause()
       $Paused = Not $Paused
       While $Paused
               Sleep(100)
       WEnd
EndFunc 

Func Koniec()
       Exit
EndFunc 

Func Atak()
       ControlSend($gra, '', '', $Atak1)
       Sleep($SlepK)
EndFunc

 

 

Wszystko dziala, ale po jakims czasie to jebie mi klawiature, tak jak by ciągle włączało i wyłączało CAPSLOCK (10000000 razy na sek), i ciągle trzymalo ctrl ;/

Opublikowano

to samo mam , blokuje co pewien czas :/

bedzie czas poprawie co najwyżej dorobie nową funkcje dla obsługi pamięci

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

mam to samo w moim bocie, ale jak klikam ctrl+shift to sie naprawia na jakis czas, wkurzajace to jest;/

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...