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

[pytanie] Tibia - prosty auto heal.


Rekomendowane odpowiedzi

Opublikowano

Witam.

Gram na pewnym OTS, który bazuje na cliencie Tibi 7.6.
Od jakiegoś czasu (fakt, niedługiego) interesuję się Visual Basiciem, dlatego właśnie w tym programie chciałbym zrobić pewien prosty program.
Zależy mi na tym, by program bazował na tkzw. pakietach Tibi. Chodzi mi o to, by ''bot'' odczytywał wartość ( http://iv.pl/images/69680994826298044172.png ) czerwonego paska - życia i gdy wartość tego paska jest mniejsza niż wpisana przeze mnie liczba w textboxie1 to niech bot leczy się czarem wpisanym w textboxie2.
Wyglądało by to mniej więcej tak:
http://iv.pl/images/72477850086567836162.png
Chcę by to bazowało na pakietach tzn. żeby robiło się to automatycznie, a nie przez wpisywanie.

Problem w tym, że nie wiem w jaki sposób mogę odczytać takie pakiety xD
Potrzebuję wszelkich wskazówek na ten temat, dzięki.

 

 

 

Mam pakiety, umiem odczytać, nie umiem wysyłać xD

 

 

  • 3 tygodnie później...
Opublikowano

deklaracja na samej górze:

Public Declare Auto Function SendMessage Lib "USER32.DLL" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean

łapanie okna tibii:

    Public Function Hwnd(ByVal AppTitle As String) As Long
        Form1.ComboBox1.Items.Clear()
        Dim DzikiWaz As Process() = Process.GetProcessesByName(AppTitle)
        If DzikiWaz.Length = 0 Then
            'No tibiaclients open, return 0
            Return 0
            Exit Function
        End If
        Return DzikiWaz(0).MainWindowHandle ' 0 is the first tibia-client. 1 is the second one, and so on..
    End Function   

Funkcja odpowiedzialna za wysyłanie tekstu do gry:

Public Function SendText(ByVal text As String)
        Dim ToSend As String
        For i = 1 To Len(text)
            ToSend = Mid(text, i, 1)
            SendMessage(HWND("Tibia"), &H102, Asc(ToSend), &H2F0001)
        Next i
SendMessage(HWND("Tibia"), &H100, &HD, &H2F0001) ' naciska enter
SendMessage(HWND("Tibia"), &H101, &HD, &H2F0001) ' puszcza enter
    End Function

Przykładowe użycie:

SendText("exura")   lub  SendText(textbox2.text)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...