Der AutoHotKey SAMP Trainer that injects ASM Code von luxdav beinhaltet alle nötigen Memory write und read Funktionen.
Es ist auch ein Cheat Engine Table mit eingefügt, sodass du hier die Werte auch abfragen kannst, bzw. ohne AHK ändern kannst.
MfG
Der AutoHotKey SAMP Trainer that injects ASM Code von luxdav beinhaltet alle nötigen Memory write und read Funktionen.
Es ist auch ein Cheat Engine Table mit eingefügt, sodass du hier die Werte auch abfragen kannst, bzw. ohne AHK ändern kannst.
MfG
Wenn du dich mit einer Sprache wie AutoHotKey auseinandersetzen willst, musst du zwangsläufig Englisch können.
Da ich noch nie einen Angelbot oder sonstiges in der Richtung mit PixelGetColor oder so gemacht habe, ist die Aufgabe nicht sehr leicht.
Die Funktion:
Numpad0::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
addchatmessage("Farbe: " color "X: " MouseX "Y:" MouseY)
return
Gibt dir die Farbe in den Chat und die Position der Pixel mit aus.
Einfach den Chat öffnen, mit der Maus in jede der Ecken vom Pfeil gehen und dann in eine IF-Abfrage packen.
Die Positionen kannst du ja aus der chatlog.txt in deinem GTA Ordner, in den Dokumenten rauskopieren.
MfG
Alles anzeigenPixelSearch, 926, 332,955, 284 ,955, 284, color, 3, Fast
if (color == 0x00ffc0){
SendInput {Left down}
Sleep, 2
SendInput {Left up}
Sleep, 1
}
if (color == 0xbd60cb){
SendInput {Down down}
Sleep, 2
SendInput {Down up}
Sleep, 1
}
if (color == 0xcbca60){
SendInput {Up down}
Sleep, 2
SendInput {Up up}
Sleep, 1
}
Sollte also so klappen?
Mit ziemlicher Sicherheit nicht.
Guck dir noch mal die Funktion genauer an: https://autohotkey.com/docs/commands/PixelSearch.htm
Die ersten zwei Parameter übergeben dir die X und Y Position des Pixels mit der angegebenen Farb-ID.
Die Farb-ID musst du in einer (Hexa)Dezimalzahl angeben und kommt da hin wo du die Variable color hast.
Die IF-Abfragen ergeben dementsprechend auch keinen Sinn, da du für die Variable color Werte abfragst, die nirgends definiert werden.
Einfach auf der Seite die ich geschickt habe, unten das Beispiel angucken.
Edit:
Wenn ich mir dein Script oben mal so anschaue ist das definitiv logischer aufgebaut.
Mit der Funktion PixelGetColor kannst du nämlich die Farbwerte auslesen. Also warum dann mit einer anderen Funktion arbeiten? ![]()
In dem folgenden Artikel von AutoHotKey ist auch ein sehr gutes Beispiel enthalten, damit kannst du dir dann einfach die Farbwerte ausgeben lassen.
https://autohotkey.com/docs/commands/PixelGetColor.htm
MfG
Also wäre das richtig bloß nur mit 2 == ?
Die IF-Abfrage wird mit zwei Gleichheitszeichen gemacht.
MfG
Die registrierten Spieler im Forum sind mit einer Anzahl von 24 relativ überschaubar.
Welche möglichen Vorteile man durch die Arbeit im Overwatch-Team hat, wäre auch erwähnenswert.
Wer sind die Teammitglieder?
Welche Ziele habt ihr mit dem Server, um euch von dem Rest "abzuheben"?
Lohnt es sich überhaupt zu Bewerben?
Einfach mit etwas mehr werben.
MfG
@CL4Y, ich habe schon Verstanden worauf du hinaus wolltest...Es funktioniert aber leider nicht, es ist einfach nichts auffindbar!
ist vielleicht ne dumme Frage, aber könnte es möglich sein, dass dein Dokumenten Ordner schreibgeschützt ist?
Sollte so aussehen:
MfG
Nicht böse gemeint, aber ich glaube die wenigsten werden dir hier einen Keybinder machen, bei dem man selbst nur Credits bekommt.
Entweder du lässt dir einen erstellen, oder machst selbst einen ![]()
Würde vielleicht am Anfang erst einmal die Hallo Welt - Tutorials abarbeiten, bevor du direkt ein Overlay machst.
MfG
Info:
Mein Snippet war eigentlich gedacht in einem anderen Timer gestartet zu werden.
Sollte so aussehen:
DrogenE:
Getchatline(0, Chatline)
if(instr(Chatline, "Du hast 2500 Samen eingepflanzt. In 15 Minuten kannst du sie ernten."))
{
SetTimer, Timer, 60000
}
return
Timer:
TimerVar++
if(15 - TimerVar == -1)
{
SetTimer, Timer, Off
return
}
AddChatMessage(0xFFFFFF,"{FF0000}Drogen erntbereit in:{00FF00} " 15-%TimerVar% " Minuten")
return
Alles anzeigen
Danke erstmal
Aber wo ließt er in deinem Code den Chat aus?
Also diese Nachricht:
"Du hast 2500 Samen eingepflanzt. In 15 Minuten kannst du sie ernten."
Ich will nämlich, dass der Timer erst dann los geht, wenn diese Nachricht auftaucht.
Ist ja auch nur ein Snippet ![]()
Musst den Timer für mein Snippet noch richtig in deinem Script einfügen.
MfG
Hab sowas noch nie gemacht.Kannst du wie oben schon erwähnt, den Code verbessern?
Wäre Nice von dir.
Ich würde mir dann deinen Code angucken und wohl draus lernen
Naja, hier wird Learning by Doing groß geschrieben.
Kannst ja auch z.B. einen weiteren Timer starten, der dann eine Nachricht rausschickt. (SetTimer, Counter1, 60000)
Oder die etwas professionellere Art, in dem du wieder den oben genannten Timer verwendest, bei jedem Durchlauf eine Variable immer +1 zuweist, den Wert von der Variable mit minus 15 verrechnen.
Snippet (ungetestet):
Hallo,
schreibe morgen eine Klasur in HTML und wollte eine präzise Formulierung für folgenden Pfad haben:
"bilder/wetter/icons/sonne.png"
Natürlich ist es total einfach, aber mein Lehrer beharrt immer auf einer 100% richtigen Antwort.
Da ist glaube ich mein Satz falsch:
Das Bild „sonne.png“ liegt in dem Unterordner von Bilder (Wetter), welches in dem Unterordner von Wetter liegt (Icons)
Oder es kommt mir einfach nur falsch vor.
Danke schon mal im Vorraus ![]()
MfG
Hallo,
im RGN Autohotkey Bereich gibt es eine Stats-API, ob die funktioniert und auch die gewünschten Werte ausliest, kann ich dir leider nicht sagen.
Aber die Texte und alles Overlay spezifisches, kannst du mit der Overlay-API von agrippa erstellen.
MfG
Hallo!
Ich würde mich gerne mehr mit PHP & CSS auseinandersetzen und wollte mal von euch wissen, wie Ihr euch euer Wissen angeeignet habt.
Sollte so grob in Richtung Control-Panel-Design gehen.
MfG
Moin!
Habe mir heute folgendes Gerät zugelegt:
https://www.alternate.de/ASUS/…book/html/product/1236856?
Habe folgende Problematik:
Ich bin mir nicht ganz sicher, was die Temperatur betrifft, ob sie für einen Laptop eher niedrig oder hoch ist.
Fakt ist nun mal, dass der Laptop eine sehr gute Leistung hat und diese somit auch viel Temperatur produzieren kann.
Jedoch finde ich ~50C°, wenn ich nur in Steam ein Spiel herunterlade, doch schon etwas viel.
Normal? Nicht normal?
MfG
Kann mir das jemand in AHK übersetzen?
Alles anzeigen
und
kannst du oben über
setzen und das Zweite
kannst du Entfernen
Jo hab ich genau so jetzt gemacht:
http://pastebin.com/u9SPKwrG
(Program.cs)
(Form1.cs)
AAber es funktioniert leider immer noch nicht.
Also es kommen keine extra Fehlermeldungen und es passiert einfach nichts wenn man F1 drückt.
Alles anzeigenSoo. nun kommt er xD
In die Program.cs über Main kommt:
Dann in den Main private fügst du folgendes ein:
CodeProgram._hookID = KeyMonitor.Start(); Application.Run(new Form1());//Anpassen KeyMonitor.UnhookWindowsHookEx(Program._hookID);
KeyMonitor.cs:
C#Alles anzeigenusing System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows.Forms; namespace SampAntiCheat { internal class KeyMonitor { private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); private const int WH_KEYBOARD_LL = 13; private const int WM_KEYDOWN = 256; private static KeyMonitor.LowLevelKeyboardProc _proc = new KeyMonitor.LowLevelKeyboardProc(KeyMonitor.HookCallback); private static IntPtr _hookID = IntPtr.Zero; public static IntPtr Start() { KeyMonitor._hookID = KeyMonitor.SetHook(KeyMonitor._proc); return KeyMonitor._hookID; } private static IntPtr SetHook(KeyMonitor.LowLevelKeyboardProc proc) { IntPtr result; using (Process currentProcess = Process.GetCurrentProcess()) { using (ProcessModule mainModule = currentProcess.MainModule) { result = KeyMonitor.SetWindowsHookEx(13, proc, KeyMonitor.GetModuleHandle(mainModule.ModuleName), 0u); } } return result; } private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)256) { int num = Marshal.ReadInt32(lParam); string text = ((Keys)num).ToString(); if (text.Equals("F1")) { //Was soll Passieren, wenn du F1 drückst? MessageBox.Show("Du hast F1 gedrückt."); } } return KeyMonitor.CallNextHookEx(KeyMonitor._hookID, nCode, wParam, lParam); } [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetWindowsHookEx(int idHook, KeyMonitor.LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool UnhookWindowsHookEx(IntPtr hhk); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr GetModuleHandle(string lpModuleName); } }
Ich werde leider nicht ganz schlau aus dem 2. Code:
Program._hookID = KeyMonitor.Start(); Application.Run(new Form1());//Anpassen KeyMonitor.UnhookWindowsHookEx(Program._hookID);
Wo soll ich den genau hinpacken?