Wie mache ich dass wenn ich in der Nähe des Zolls bin dass sich der Zoll dann öffnet bwz. das dann der Keybinder einen Befehl ausführt. (In dem Falle /zoll)
Falls dann einer etwas hat müsste er mir nur sagen wohin ich die Koordinaten einfügen muss
-
-
das wird mit ahk nicht möglich sein, da es ja ein Programm ist was jetzt nichts direkt mit dem Spiel zutunhat/verbunden ist.
Kann man soweit ich weiß nur im Script ändern, also mit PAWNO und dann if(IsPlayerInRangeOfPoint...
-
Eigentlich nicht, da ich schonmal ein AHK Keybinder hatte der dies getan hatte. Also daher ist es möglich.
-
Du kannst die Koordinaten aus dem RAM auslesen
edit:Zitat0xB6F5F0 - Player pointer (CPed)
ZitatCPed +0x14 = Pointer to XYZ position structure (and rotation)
(CPed+0x14) +0x0 to +0x2C = [dword] Is the rotation matrix
(CPed+0x14) +0x30 = [dword] XPos
(CPed+0x14) +0x34 = [dword] YPos
(CPed+0x14) +0x38 = [dword] ZPos -
ahh nice, wieder was dazugelernt
-
Also wo müsste ich die Koordinaten hinschreiben?
(53.180480521532445, -1527.351199817518, 4.87745094)
E: Muss ich das in [dword] reinschreiben also dann so? [53.180480521532445, -1527.351199817518, 4.87745094]
-
Einen Timer setzen, der jede Sekunde deine Posi ausm RAM ausliest. Das dann richtig berechnen und mit if die Variablen, den dem Fall deine Koordinaten vergleichen.
(CPed+0x14) +0x30 = [dword] XPos
(CPed+0x14) +0x34 = [dword] YPos
(CPed+0x14) +0x38 = [dword] ZPos -
Aus der Memory lesen und vergleichen
-
Also wo müsste ich die Koordinaten hinschreiben?
(53.180480521532445, -1527.351199817518, 4.87745094)
E: Muss ich das in [dword] reinschreiben also dann so? [53.180480521532445, -1527.351199817518, 4.87745094]
-
dword ist nur der Typ mit dem du es ausliest bzw mit dem es in der Memory steht
-
-
Was ich ja wissen will wo ich dir hier reinschreiben muss
CPed +0x14 = Pointer to XYZ position structure (and rotation)
(CPed+0x14) +0x0 to +0x2C = [dword] Is the rotation matrix
(CPed+0x14) +0x30 = [dword] XPos
(CPed+0x14) +0x34 = [dword] YPos
(CPed+0x14) +0x38 = [dword] ZPos -
Code
Alles anzeigenReadMemory(MADDRESS,PROGRAM) { winget, pid, PID, %PROGRAM% VarSetCapacity(MVALUE,4,0) ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt") DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0) Loop 4 result += *(&MVALUE + A_Index-1) << 8*(A_Index-1) return, result }
-
Erstmal musst du auf die .dll, in der die Ganzen Sachen gespeichert sind aufrufen. (Pointer setzen)
Nun zum Beispiel mit carpos1:=ReadMemory(0x00B6F5F0,"GTA:SA:MP") das Ganze auslesen. Die Koordinaten richtig anzeigen und anschließend mit einem Rasdius vergleichen.
Sprich wenn ich im Bereich X bin, dann sendet er /zoll.
Ist ein bisschen blöd zu erklären...
Das ist jedoch nichts für Anfänger, und so kommst du mir vor (nicht Böse gemeint)
-
Grundsätzlich bin ich kein AHK Anfänger, jedoch habe ich genau davon keine Ahnung
-
Mir PNs schreiben bringt genauso viel wie hier im Thread fragen
Mit ReadMemory liest du die Koordinaten aus und dann vergleichst du diese mit den von dir vorgegeben Koordinaten
-
breadfish.de
Hat das Thema geschlossen.