Silkroad G15 Applet V0.27

Anwendungen, Tools, Userlibs und anderes nützliches.
XXcD
Beiträge: 7
Registriert: 26.05.2008 23:04

Beitrag von XXcD »

hallo,
kann mir vielleicht einer weiterhelfen?
Ich versuche gerade die Info aus Silkroad auszulesen,
soweit funtzt auch alles nur wenn ich das Playerlevel auslesen will kommt da nen komischer Wert raus: 60994160

Das ist der Code vielleicht kann mir einer sagen woran das liegt:

Code: Alles auswählen

procedure TForm15.Button4Click(Sender: TObject);
var
haWindow : THandle; 
caThread : Cardinal; 
caOpen : Cardinal; 
caPuffer : Cardinal; 
iPoints : Integer; 
iBase : Integer; 
begin
haWindow := FindWindow(nil, 'SRO_Client'); 

GetWindowThreadProcessId(haWindow, @caThread); 
caOpen := OpenProcess(PROCESS_ALL_ACCESS, False, caThread); 

ReadProcessMemory( caOpen, Pointer($CEDB54) , @iBase, Sizeof(iBase), caPuffer ); 
ReadProcessMemory( caOpen, Pointer(iBase + $820) , @iPoints, 4, caPuffer ); 
closehandle(caOpen); 
   Edit4.Text := inttostr(iPoints);
end;
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

da sieht nicht wirklich nach Purebasic aus...

Tippe da auf VBasic... Falsches Forum ?

aber das

Code: Alles auswählen

ReadProcessMemory( caOpen, Pointer(iBase + $820) , @iPoints, 4, caPuffer );
könntest du mal mit

Code: Alles auswählen

ReadProcessMemory( caOpen, Pointer(iBase + $820) , @iPoints, 1, caPuffer );
austauschen. Ich denke mal du willst da zuviele Daten lesen.
Also ich habe 1 als Wert an der Stelle wo du die 4 hast. Ist ja nur ein Wert der kleiner als 256 (Oder ist silkroad schon über Level 256 ;) ? ) ist.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Bisonte hat geschrieben:da sieht nicht wirklich nach Purebasic aus...

Tippe da auf VBasic... Falsches Forum ?
Delphi.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

NAja das mit Form und sowas kenn ich nur von VB.

Aber mit Delphi hab ich ja auch noch nie nich was gemacht ;)

wieder was dazu gelernt...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
XXcD
Beiträge: 7
Registriert: 26.05.2008 23:04

Beitrag von XXcD »

Jo das ist Delphi.
Mit der 1 das funktioniert nicht, da kommt komischerweise immernoch nen wert raus der weit über dem eigentlichen Level ist.
So ne Zahl wie: 63058574

Ich verstehe auch nicht warum alles andere funktioniert und das mit dem Level nicht.
Kann es sein, dass mein Offset doch irgendwie falsch ist?

Kann mir vielleicht jemand nen Code geben, wie ich die Koordianten auslesen kann? Das verstehe ich noch nicht so ganz.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Koordinaten sind ein ganz heisses Eisen....

So wie ich das verstanden habe ist da der Basis Offset, dann die X,Y,Z Koordinaten die wiederum durch eine mathematische Formel laufen.

Ansonsten kann ich mir diese merkwürdigen ausleseergebnisse nicht erklären.

Aber das mit dem Level auslesen klappt so bei mir.(PID=ProcessID)

ID=OpenProcess_(#PROCESS_ALL_ACCESS,0,PID)
ReadProcessMemory_(ID,CharBase + curLVL_Offset ,@Lvl,1,0)

Alle anderen werte lese ich mit 2 aus (bis auf XP die mit 4)

Was bedeutet denn in Delphi die Zeile

caOpen : Cardinal;

Vielleicht ist dort dann der Hund begraben ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
XXcD
Beiträge: 7
Registriert: 26.05.2008 23:04

Beitrag von XXcD »

caOpen : Cardinal; ist der Prozess der geöffnet wird und aus dem dann die Werte ausgelesen werden.

Und habe glaube ein Problem, heute morgen gab es ein Update und die BaseAddress stimmt nicht mehr.
Ob die gesamten Offsets nicht stimmen, weiß ich nicht.
Woher könnte ich denn die aktuellen Offsets bekommen?
Oder hat die vielleicht einer, hier im Forum?
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Die frage nach den Offsets ist berechtigt.... Pumuky hat sie hier immer reingetan ....

Ich hab sie uebernommen... und es ging... nun schon wieder ein update ? da kommt man ja aus den updates gar nich raus.... ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Pumuky
Beiträge: 6
Registriert: 27.03.2008 03:42

Beitrag von Pumuky »

im try to do some aplett in c++ but im not a developer :( im only a very interested player.

I taking some code of 0x33 forum this source read all sro imformation and print this information in screen, and take some source of logitech SDK examples, now im working in a mix of this 2 sources, then i need to make a g15 window and progress bars.

I dont have much time and dont have idea of sources but im study and work hard, if some day i finish this aplet i put here for all pll with source i think the source of this litle programs is not a secret and all can be use for yourself, im only want this aplet for play SRO and pherhaps i can help some noob than me to make his aplets.

Im try to do this apl in c++ becuz i dont know any code and c++ is free, pureboard is shareware and i just start of 0 dont have some code for help me to start. sorry for all pll here (this a purebasic forum) but in purebasic i dont have much examples of aplets of g15 for noobs

Sorry i need to talk in poor english, i cant speak in German.

THX to Bisonte you are the reazon that i buy my G15 im very hapy with this and if you not continued with your work i search new forms for make another aplet.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Warum programmiert ihr das ganze nicht so, das die Daten von aussen
gelesen werden, dann brauchste da auch nicht so viel updaten.
Zuletzt geändert von edel am 29.05.2008 04:14, insgesamt 1-mal geändert.
Antworten