German-Roleplay Bestatterkeybinder Problem!

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von keydrow.

    German-Roleplay Bestatterkeybinder Problem!

    Hi leute,
    bei GRP heist es als bestatter wer zuerst kommt malt zuerst. Man muss als Erster /accept corps eingeben um einen Auftrag anzunehem ich habe versucht es so zu lösen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim auftrag() As String = System.IO.File.ReadAllLines("C:\Users\Marvin\Documents\GTA San Andreas User Files\SAMP\chatlog.txt")
    3. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    4. End Sub
    5. Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    6. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!" Then
    7. My.Computer.Keyboard.SendKeys("{T}")
    8. My.Computer.Keyboard.SendKeys("/accept corpse")
    9. My.Computer.Keyboard.SendKeys("{ENTER}")
    10. My.Computer.Audio.Play(My.Resources.schliefe, AudioPlayMode.Background)
    11. End If
    12. End Sub
    13. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    14. My.Computer.Audio.Play(My.Resources.schliefe, AudioPlayMode.Background)
    15. End Sub
    16. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    17. My.Computer.Audio.Stop()
    18. End Sub
    19. End Class

    (Den Sound bau ich für einen kumpel ein)
    Das Problem ist er versucht garnichtmal /accept corps zu tippen. Der Timer ist Enablet nur waru nichts passiert weis ich nicht. Hatt irgendjemand schoneinmal soetwas gemacht eine Lösung dafür oder einen Anderen Weg?
    So sieht die chatlog.txt Datei aus
    [20:17:30] SERVER: Willkommen Marvin_Zuckerberg
    [20:17:41] Werbung: Hure sucht Freier! BIn auch nicht teuer :p, Kontakt: Riccardo.Madison Tel: 213691
    [20:17:42] Du hast dein Auto für $750 reparieren lassen! Es steht nun am letzten Parkpunkt für dich bereit.
    [20:17:48] Sie können den Radio mit {00CC00}/vehradio{FF0000} einschalten
    [20:17:49] Fahrzeug abgeschlossen!
    [20:17:52] Motor wird gestartet...
    [20:18:29] Finn_Morsch sagt (Handy): Wv kostet das?
    [20:19:04] Werbung: Ich kenne da jemanden der geschütze Fische kauft. SMS und ich le
    [20:19:04] ite euch weiter, Kontakt: XtremeX Tel: 6100
    [20:19:28] Motor abgeschaltet!
    [20:19:32] (( Bernardo_Provenzano: Bei Fragen oder Problemen /help [Suchwort] oder Benutzt die /sup [Frage] Funktion ))
    [20:19:32] Du hast dein Auto abgeschlossen!
    [20:19:32] (( Bernardo_Provenzano: Beachtet dazu /help 32 und /help 35. Der /a Chat ist nur für Notfälle wie z.B [Cheatermeldungen] ))
    [20:19:51] Sie können den Radio mit {00CC00}/vehradio{FF0000} einschalten
    [20:19:52] SERVER: Unknown command.
    [20:19:59] SERVER: Unknown command.
    [20:20:03] Du musst dir dieses Fahrzeug erst mit /reservecar reservieren.
    [20:20:03] Du hast keinen Schlüssel!
    [20:20:04] Werbung: flieg in 3min vom Matspoint SF los.(pro person 2k und es sind no
    [20:20:04] ch 2 plätze frei!!, Kontakt: Jon_Conner Tel: 244347
    [20:20:05] NR Srdjan.Lakic: » Event Information «
    [20:20:09] NR Srdjan.Lakic: Wir haben nun einen Gewinner. Brooklyn_Bounce hat das Ziel
    [20:20:11] Du bist in Dienst gegangen und empfängst zukünftige Aufträge in deiner Nähe!
    [20:20:13] NR Srdjan.Lakic: als erster erreicht und gewinnt somit $3.000.000 !
    [20:20:15] Fahrzeug abgeschlossen!
    [20:20:18] Motor wird gestartet...
    [20:20:18] NR Srdjan.Lakic: Herzlichen Glückwunsch dazu. Auch ein Danke an die Rettungsleitstelle und
    [20:20:26] NR Srdjan.Lakic: Mechaniker. Ihr hab uns toll unterstützt. Ihnen einen schönen Abend
    [20:20:36] NR Srdjan.Lakic: » Ende der Event Information «
    [20:20:38] Esskla_McDonalds ist in Temple gestorben, gib /accept corpse ein, um den Auftrag anzunehmen!
    [20:20:38] Bestatter Sean_oNeil hat den Auftrag mit der Leiche von Esskla_McDonalds angenommen!
    [20:20:42] Harald_Naz ist in Marina gestorben, gib /accept corpse ein, um den Auftrag anzunehmen!
    [20:20:43] Bestatter steve_smash hat den Auftrag mit der Leiche von Harald_Naz angenommen!
    [20:20:43] Chico_Toof ist in Marina gestorben, gib /accept corpse ein, um den Auftrag anzunehmen!
    [20:20:51] German246 ist in Market gestorben, gib /accept corpse ein, um den Auftrag anzunehmen!
    [20:20:52] Tobi_Hofmann ist in Market gestorben, gib /accept corpse ein, um den Auftrag anzunehmen!
    [20:21:03] Werbung: Suche Gang/Mafia/Fraktion!, Kontakt: Best Tel: 8357
    (Nu ein ausschnitt!!)

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Bei GTA (SAMP) weis ich das es geht da ich es schon über GetAsyncKeyState(NUMPAD1)(sry wen was falsch is grad ma so um die Uhrzeit ausem Kopf raus) geht es dan wird was geschrieben. Daran soll mein vorhaben nicht scheitern sonst noch irgendeine idee?
    GetAsyncKeyState() -> Gibt Dir die zuletzt gedrückte taste
    Keyboard.SendKeys() <- Senden eine taste/bzw Wort/Satz

    Viele spiele greifen dreckt auf Tastatur & Maus zu so das man durch SendKeys dies nicht beeinflussen kann ...
    Ok das mit dem t ohne {} is ne geile idee werde ich Gleich einmal ausprobieren. Aber wie soll das über ein Filesystemwatcher gehen soetwas habe ich noch nie gemacht?
    Ich weis halt nicht gnau was ich suchen soll b.z. wie es überwacht werden soll.
    Und an dem {T} liegt es auchnicht er liest anscheinend nicht den chatlog.txt aus nur warum?
    Und

    VB.NET-Quellcode

    1. auftrag_fielwatcher = New IO.FileSystemWatcher("C:\Users\Marvin\Documents\GTA San Andreas User Files\SAMP\chatlog.txt")
    2. auftrag_fielwatcher.Filter = "*.txt"
    3. auftrag_fielwatcher = IO.NotifyFilters.Size()

    Wie mach ich es das Wenn die datei Gößer als vorher ist gibt er /accept corps ei und spielt einen Sound ab. Und was mir so aufält ist nach /User kommt mein Name Marvin kann man den duzrch etwas algemeines Ersetzen? So das es bei Jedem auf den Pfad zugreift?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „keydrow“ ()

    Das Problem ist ich finde dort nichts was mir hilft. Ich möchte es ja so machen wenn im changelog.txt in den letzten 2 zeilen /accept corps vorkam (es muss nich am anfang stehen es muss nur vorkommen) dann soll er /accept corps in den chat schreiben!.
    Jop das funktioniert z.B.

    VB.NET-Quellcode

    1. If GetAsyncKeyState(Keys.NumPad1) Then
    2. My.Computer.Keyboard.SendKeys("t")
    3. My.Computer.Keyboard.SendKeys("/reservecar")
    4. My.Computer.Keyboard.SendKeys("{ENTER}")
    5. End If

    funktioniert supper nur nicht in DEM zusammenhang

    VB.NET-Quellcode

    1. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!" Then
    2. My.Computer.Keyboard.SendKeys("t")
    3. My.Computer.Keyboard.SendKeys("/accept corpse")
    4. My.Computer.Keyboard.SendKeys("{ENTER}")
    5. End If

    Ich vermute er führt es nicht aus da

    VB.NET-Quellcode

    1. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!"

    nicht erfüllt wird nur ich weis nicht warum.
    Ja ber warum geht es dann in diesem zusammenhang?????
    HIER FUNKTIONIERT SendKeys()!!

    VB.NET-Quellcode

    1. If GetAsyncKeyState(Keys.NumPad1) Then
    2. My.Computer.Keyboard.SendKeys("t")
    3. My.Computer.Keyboard.SendKeys("/reservecar")
    4. My.Computer.Keyboard.SendKeys("{ENTER}")
    5. End If

    Dort funktioniert SendKeys() ohe Probleme es funktioniert nur nicht wenn man versucht eine datei auszulesen un darauf hin.
    HIER FUNKTIONIERT SendKeys() NICHT!!

    VB.NET-Quellcode

    1. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!" Then
    2. My.Computer.Keyboard.SendKeys("t")
    3. My.Computer.Keyboard.SendKeys("/accept corpse")
    4. My.Computer.Keyboard.SendKeys("{ENTER}")
    5. End If
    Mach ich hier ist mein Komplettes mommentanes Script

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim auftrag() As String = System.IO.File.ReadAllLines("C:\Users\Marvin\Documents\GTA San Andreas User Files\SAMP\chatlog.txt")
    3. Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Integer) As Short
    4. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    5. End Sub
    6. Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    7. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!" Then
    8. My.Computer.Keyboard.SendKeys("t")
    9. My.Computer.Keyboard.SendKeys("/accept corpse")
    10. My.Computer.Keyboard.SendKeys("{ENTER}")
    11. My.Computer.Audio.Play(My.Resources.schliefe, AudioPlayMode.Background)
    12. End If
    13. If GetAsyncKeyState(Keys.NumPad1) Then
    14. My.Computer.Keyboard.SendKeys("t")
    15. My.Computer.Keyboard.SendKeys("/reservecar")
    16. My.Computer.Keyboard.SendKeys("{ENTER}")
    17. End If
    18. If GetAsyncKeyState(Keys.NumPad2) Then
    19. My.Computer.Keyboard.SendKeys("t")
    20. My.Computer.Keyboard.SendKeys("/zoll")
    21. My.Computer.Keyboard.SendKeys("{ENTER}")
    22. End If
    23. If GetAsyncKeyState(Keys.NumPad3) Then
    24. My.Computer.Keyboard.SendKeys("t")
    25. My.Computer.Keyboard.SendKeys("/vehradio")
    26. My.Computer.Keyboard.SendKeys("{ENTER}")
    27. End If
    28. If GetAsyncKeyState(Keys.NumPad4) Then
    29. My.Computer.Keyboard.SendKeys("t")
    30. My.Computer.Keyboard.SendKeys("/lock")
    31. My.Computer.Keyboard.SendKeys("{ENTER}")
    32. End If
    33. If GetAsyncKeyState(Keys.NumPad5) Then
    34. My.Computer.Keyboard.SendKeys("t")
    35. My.Computer.Keyboard.SendKeys("/engine")
    36. My.Computer.Keyboard.SendKeys("{ENTER}")
    37. End If
    38. If GetAsyncKeyState(Keys.NumPad3) Then
    39. My.Computer.Keyboard.SendKeys("t")
    40. My.Computer.Keyboard.SendKeys("/lights")
    41. My.Computer.Keyboard.SendKeys("{ENTER}")
    42. End If
    43. If GetAsyncKeyState(Keys.NumPad7) Then
    44. My.Computer.Keyboard.SendKeys("t")
    45. My.Computer.Keyboard.SendKeys("/exit")
    46. My.Computer.Keyboard.SendKeys("{ENTER}")
    47. End If
    48. If GetAsyncKeyState(Keys.NumPad8) Then
    49. My.Computer.Keyboard.SendKeys("t")
    50. My.Computer.Keyboard.SendKeys("/takecorps ")
    51. End If
    52. If GetAsyncKeyState(Keys.NumPad9) Then
    53. My.Computer.Keyboard.SendKeys("t")
    54. My.Computer.Keyboard.SendKeys("/carlock")
    55. My.Computer.Keyboard.SendKeys("{ENTER}")
    56. End If
    57. End Sub
    58. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    59. My.Computer.Audio.Play(My.Resources.schliefe, AudioPlayMode.Background)
    60. End Sub
    61. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    62. My.Computer.Audio.Stop()
    63. End Sub
    64. End Class

    Es ist natürlich im Timer Event doch selbst da funktiert es nich Der Timer ist auch Enabelt da ALLES auser

    VB.NET-Quellcode

    1. If auftrag(auftrag.Length - 2) = "gib /accept corpse ein, um den Auftrag anzunehmen!" Then
    2. My.Computer.Keyboard.SendKeys("t")
    3. My.Computer.Keyboard.SendKeys("/accept corpse")
    4. My.Computer.Keyboard.SendKeys("{ENTER}")
    5. My.Computer.Audio.Play(My.Resources.schliefe, AudioPlayMode.Background)
    6. End If

    Funktioniert!!
    Breakpoint:
    Eine Ausnahme (erste Chance) des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten.
    Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in GRPBestatterKeybinder.exe aufgetreten.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „keydrow“ ()