Skocz do zawartości

lolasek16

Members
  • Zawartość

    29
  • Rejestracja

  • Ostatnio

  1. @edit Już nie ważne, jakoś to zmęczyłem :)
  2. A dało by się prosciej zrobić żeby szedł do punktu A poczekał 10 sekund (tylko żeby czekanie nie pauzowało całego skryptu) potem do punktu B itp. Wszystkie znaczniki były by innego koloru. Nie umiem jakos ugryźć tego. Jest jeszcze problem że w drogach z punktu do punktu postać może się zatrzymać i wtedy musiał by znowu zaznaczać ten punkt. Pomoże kto z tym? Przynajmniej cos zacząć to już dalej jakos pójdzie. Global $Mark1 = 0x44CE57 Global $Mark2 = 0x0F0FFF Global $Mark3 = 0xF50000
  3. W zadnym stopniu bezposrednio nie wplywa na clienta gry. Wszystkie jego funkcje działają na zasadzie if pixelgetcolor then Mouse move, Mouse click itp @edit Kompilacja z upx niestety nie pomaga ;/ Ma ktoś jeszcze jakieś pomysły? Szkoda że wcześniej nie sprawdziłem tego bo dużo czasu poświęciłem na ten skrypt. @edit2 Problem rozwiązany
  4. Witam, czy autoit w jakiś sposób wpływa na grę tibia? Czy battleye może jakoś wychwytywac ten proces? Jak włączać skrypt, który napisałem to po chwili wylogowuje mnie z gry i pokazuje się komunikat "Your client could not be verified by battleye". Miał ktoś taki problem?
  5. Można by trochę więcej wytłumaczyć?
  6. Nic to nie zmienia, dalej wyskakuje błąd. FF oczywiście mam.
  7. https://zapodaj.net/d7f06c12a60a9.jpg.html #include "FastFind.au3" #include <MsgBoxConstants.au3> #include <Array.au3> HotKeySet("{HOME}", "_START") HotKeySet("{END}", "_EXIT") Global $MARK_COLOR = 0xFF4646 ; Kolor Znacznika Global $MINIMAP_AREA = [[1199, 27], [1304, 135]] ; Obszar minimapy Global $CENTER = [1251, 81] ; Srodek Func _START() Local $Marks = findMarks() Local $invalid_quarters = Null ; Numer wykluczonej cwiartki, na poczatku nie chcemy nic wykluczac While 1 If IsInactive() Then $Marks = findMarks() $invalid_quarters = makeMove($Marks, $invalid_quarters) EndIf Sleep(100) WEnd EndFunc ; Zwraca posortowana liste znacznikow Func findMarks() Local $aMarks = [[0, 0, 0, 0]] FFSnapShot() For $x = $MINIMAP_AREA[0][0] To $MINIMAP_AREA[1][0] For $y = $MINIMAP_AREA[0][1] To $MINIMAP_AREA[1][1] If Hex(FFGetPixel($x,$y)) == $MARK_COLOR Then _ArrayAdd($aMarks, $x & "|" & $y & "|" & getQuarter($x, $y) & "|" & getDistance($x, $y)) EndIf Next Next If UBound($aMarks) <= 1 Then MsgBox($MB_ICONERROR, '', 'Brak punktów na mapie') Exit EndIf _ArraySort($aMarks, 0, 0, 0, 3) ; sortowanie po dystansie ; COL 0 - X ; COL 1 - Y ; COL 2 - Cwiartka ; COL 3 - Odleglosc do punktu ;_ArrayDisplay($aMarks) Return $aMarks EndFunc ; Wyznacza cwiartke ; Bedzie problem jezeli x == 0 lub y == 0 Func getQuarter($x, $y) $x = $x - $CENTER[0] $y = $y - $CENTER[1] If $x > 0 And $y < 0 Then Return 1 ElseIf $x < 0 And $y < 0 Then Return 2 ElseIf $x < 0 And $y > 0 Then Return 3 ElseIf $x > 0 And $y > 0 Then Return 4 EndIf EndFunc ; Dystans Func getDistance($x, $y) $x = Abs($x - $CENTER[0]) $y = Abs($y - $CENTER[1]) Return $x + $y EndFunc ; Wykonuje ruch i zwraca cwiartke ktora wykluczymy przy nastepnym ruchu Func makeMove($aMarks, $invalid_quarters) Local $gotoX = 0 Local $gotoY = 0 Local $quarter = 0 For $i=1 To UBound($aMarks)-1 $quarter = $aMarks[$i][2] If isInInvalidQuarter($quarter, $invalid_quarters) Then ContinueLoop EndIf $gotoX = $aMarks[$i][0] $gotoY = $aMarks[$i][1] ExitLoop Next If $gotoX > 0 And $gotoY > 0 Then MouseMove($gotoX, $gotoY, 0) Sleep(250) MouseClick("left") Return getInvalidQuarter($quarter) Else MsgBox($MB_ICONERROR, '', 'Nie udało się wykonać ruchu, wszystkie punkty są w wykluczonej cwiartce') Exit EndIf EndFunc ; Zwraca cwiartke ktora bedziemy ignorowac Func getInvalidQuarter($quarter) Switch ($quarter) Case 1 Return 3 Case 2 Return 4 Case 3 Return 1 Case 4 Return 2 Case Else MsgBox($MB_ICONERROR, '', "What's wrong dude?") EndSwitch EndFunc ; Zwraca True jezeli znacznik jest w wykluczonej cwiartce Func isInInvalidQuarter($quarter, $invalid_quarters) If IsArray($invalid_quarters) Then For $q In $invalid_quarters If $quarter == $q Then Return True Next Else Return $quarter == $invalid_quarters EndIf Return False EndFunc ; Zwraca True jezeli postac sie nie porusza Func IsInactive() Local $cheksum1 = PixelChecksum($MINIMAP_AREA[0][0], $MINIMAP_AREA[0][1], $MINIMAP_AREA[1][0], $MINIMAP_AREA[1][1]) Sleep(1500) Local $cheksum2 = PixelChecksum($MINIMAP_AREA[0][0], $MINIMAP_AREA[0][1], $MINIMAP_AREA[1][0], $MINIMAP_AREA[1][1]) Return $cheksum1 == $cheksum2 EndFunc Func _EXIT() Exit EndFunc While 1 Sleep(100) WEnd
  8. Wszystko tzn ustawiłem pozycję mapy, środek mapy, kolor znacznika i cały czas wyskakuje brak punktów na mapie
  9. Chciał bym wykorzystać ten kod, wszystko ustawiłem ale za każdym razem wyskakuje mi brak punktów na mapie. Mógł bym liczyć na pomoc?

×