|
Thema |
Forum |
Letzter Beitrag |
Beiträge |
Zugriffe |
 |
[TUT] CSS Extern Radar + bunnyhop
( 1 2 3 4 5)
Erstellt am: Do 28. Apr 2011, 08:35
SilverFire
Vorschau
Go To Post
Hab ich versucht, funktioniert auch nicht, gehe gerade so alle möglichen Kombinationen durch, wie ich das *-1 verwenden muss, damit es richtig angezeigt wird :/
|
Tutorials |
So 9. Nov 2014, 01:45
von Dr_Pepper
|
94 |
20140 |
 |
[TUT] CSS Extern Radar + bunnyhop
( 1 2 3 4 5)
Erstellt am: Do 28. Apr 2011, 08:35
SilverFire
Vorschau
Go To Post
Das Problem ist, dass die y-Koordinate anscheinend stimmt. Wenn ich tmpx *-1 nehme, verschiebt sich alles logischerweise nach links. Wenn ich tmpy *-1 nehme, hat das keine Auswirkung auf die x-Koordinate, da y*sin(yaw in grad) ein ziemlich kleiner Wert ist. Hab leider gerade keine Ahnung was ich ändern muss, damit's funktioniert.
|
Tutorials |
So 9. Nov 2014, 01:45
von Dr_Pepper
|
94 |
20140 |
 |
[TUT] CSS Extern Radar + bunnyhop
( 1 2 3 4 5)
Erstellt am: Do 28. Apr 2011, 08:35
SilverFire
Vorschau
Go To Post
Hey, Erstmal danke für das Tut. Hab ein kleines Problem mit dem Koordinaten anpassen zu den Yaw's des Localen Spielers. Mein Code: CPP Code: for(int i = 0; i < 4; i++) { //LocalPlayer ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(localid*0x140)+0x60), &players[localid].x, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(localid*0x140)+0x64), &players[localid].y, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(localid*0x140)+0x68), &players[localid].z, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(localid*0x140)+0x70), &players[localid].yaw, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(localid*0x140)+0x5C), &players[localid].hp, 4, 0); mapplayers[localid].x = ((players[localid].x-players[localid].x)/12)+CenterX; //960 mapplayers[localid].y = (players[localid].y-players[localid].y)/12*-1+105; //105 //Player i ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(i*0x140)+0x60), &players[i].x, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(i*0x140)+0x64), &players[i].y, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(i*0x140)+0x68), &players[i].z, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(i*0x140)+0x70), &players[i].yaw, 4, 0); ReadProcessMemory(gProcess.hProcess, (LPCVOID)(RadarBase+(i*0x140)+0x5C), &players[i].hp, 4, 0); if(!(i == localid) && players[i].hp <= 100 && players[i].hp > 0) { int tmpx, tmpy; tmpx = ((players[localid].x-players[i].x)/12)+CenterX; tmpy = (players[localid].y-players[i].y)/12*-1+105; tmpx -= mapplayers[localid].x; tmpy -= mapplayers[localid].y; mapplayers[i].x = tmpx * (float) cos((long double) RadToDeg(players[localid].yaw)) - tmpy * sin((long double) RadToDeg(players[localid].yaw)) + CenterX; mapplayers[i].y = tmpx * (float) sin((long double) RadToDeg(players[localid].yaw)) + tmpy * cos((long double) RadToDeg(players[localid].yaw)) + 105; if(mapplayers[i].x > CenterX-100 && mapplayers[i].x < CenterX+100 && mapplayers[i].y > 5 && mapplayers[i].y < 200) { this->DrawRect(pDevice, mapplayers[i].x, mapplayers[i].y, 2, 2, Blue); } } }
Das Radar wird bei CenterX = ScreenWidth/2 - 100 und y = 5 gedrawt. Ist ein 200x200 großes Radar Im Radar sind die Positionen dann aber anders: Um Links zu sehen, musst du dich registrierenVielen Dank schonmal für die Hilfe
|
Tutorials |
So 9. Nov 2014, 01:45
von Dr_Pepper
|
94 |
20140 |
 |
Auch beim Taschenrechner gibt es Probleme!
Erstellt am: Mo 23. Jul 2012, 03:00
flashst3p
Vorschau
|
VB, C/C++, Delphi, etc |
Mi 25. Jul 2012, 11:02
von KN4CK3R
|
2 |
819 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
Hey, Hab mich mal an ein externes ESP gesetzt und auch im SDK die WorldToScreen und ScreenTansform Funktion gefunden. Alles soweit gut, nur hab ich keine Ahnung wie ich an die WorldToScreenMatrix kommen soll. Ich wass, dass das Interface VEngineClient013 WorldToScreenMatrix enthält, aber dass hilft mir auch nicht weiter... Hab schon ein bisschen nach geguckt, aber bisher nichts nützliches gefunden(ein Externer Weg ist anscheinend über die Engine VTable, da weiß ich aber nicht, wie ich die finde). mfg, brinkz.
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
@SilverFire: Wie hast du die Sig denn gefunden? btw geht die bei mir nicht. @sMp Auch wenn die Offsets funktionieren würden, möcht ich doch verstehen, wie man drauf kommt. Denke mal, dass ist die gleiche Methode wie diese hier: http://www.gamedeception.net/threads/21141-External-ScreenTransform-(WorldToScreenMatrix) was Badster gepostet hat.
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
@SilcerFire: Such ich denn falsch? Wenn ich in C++ mit nem ExternalFindPattern Suche: DWORD address = ExternalFindPattern(hl2P, (PBYTE)"\x83\xB9\x00\x00\x00\x00\x00\x7E\x17\x8B\x81\x00\x00\x00\x00\x8B\x89\x00\x00\x00\x00\x69\xC0\x00\x00\x00\x00\x8D\x44\x08\xBC\xC3", "xx?????xxxx????xx????xx????xxxxx"); Komme ich auf kein richtiges Ergebniss und in Olly bin ich mir nicht sicher, aber ist doch nur im engine Module STRG+B und dann das Pattern einfügen? Schon mal danke @sMp jo auch danke dafür, aber hab eben meine kleinen Probleme, dass zu finden
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
@KN4CK3R: Daran liegts leider nicht, Olly findet schließlich auch nichts: http://i.imgur.com/EiDTr.jpg
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
Jo jetzt failt bei mir das w2s, folgende Funktionen benutze ich: CPP Code: bool WorldToScreen(float from[3], float *to, float m_vMatrix[16], int res[2]) { int width = res[0]; int height = res[1]; if(ScreenTransform(from, to, m_vMatrix) == false) { float x = width / 2; float y = height / 2; x += 0.5 * to[0] * height + 0.5; y -= 0.5 * to[1] * width + 0.5; to[0] = x; to[1] = y; return true; } return false; } bool ScreenTransform(float p[3], float *to, float worldToScreen[16]) { float w; to[0] = worldToScreen[0] * p[0] + worldToScreen[1] * p[1] + worldToScreen[2] * p[2] + worldToScreen[3]; to[1] = worldToScreen[4] * p[0] + worldToScreen[5] * p[1] + worldToScreen[6] * p[2] + worldToScreen[7]; w = worldToScreen[12] * p[0] + worldToScreen[13] * p[1] + worldToScreen[14] * p[2] + worldToScreen[15]; to[3] = 0.0f; if(w < 0.001f) return false; float invw = 1.0f / w; to[0] *= invw; to[1] *= invw; return true; }
Dann lese ich halt die Spielerdaten aus und auch die Matrix: CPP Code: ReadProcessMemory(cP.hProcess, (LPCVOID)(cP.dwEngine+0x53A394), &ViewMatrix, 4, 0); ReadProcessMemory(cP.hProcess, (LPCVOID)(CRender+0x154), &w2sx, sizeof(vmatrix), 0); //vmatrix = typdef float vmatrix[16]
Spielerdaten werden alle richtig ausgelesen, daran kann es nicht liegen. Wenn ich dann die Posi des Spielers in die WorldToScreen Funktion einsetze, als ca so: CPP Code: if(WorldToScreen(rPlayers[i].AbsOrigin, ScreenCord, x, resolution))
klappt es nicht, WorldToScreen returned immer false. Resolution ist dabei die Auflösung die ich vorher durch GetWindowRect von CSS auslese, diese ist auch richtig :/.
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
WorldToScreenMatrix
Erstellt am: Di 26. Jun 2012, 20:57
brinkz
Vorschau
Go To Post
'Tschuldigung, habs nun aber gefixt, also kann der Thread geclosed werden.
|
VB, C/C++, Delphi, etc |
So 22. Jul 2012, 22:27
von brinkz
|
15 |
2412 |
 |
external bunnyhop?
Erstellt am: Mo 25. Jun 2012, 15:50
keschi200
Vorschau
Go To Post
Das NetVar dazu heißt m_fFlags, falls du in Olly mal schauen möchtest.
|
Tutorials |
Mo 25. Jun 2012, 19:09
von brinkz
|
11 |
1013 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Musst halt nen Pointer zu der Adresse finden. Kannste durch Pointer Scan/Find out what writes this Address in CE rausfinden. Edit: Zu Spät
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Doppelklick auf p->27754E80 und schau was drin steht
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Zitat von keschi200 Zitat von Mantarochen Ist kein Pointer. Pointer zur Trigger adresse sieht so aus: client.dll+0xXXXXXX aber ich weis leider nicht was ich mit "client.dll+703A0C" anfangen soll. falls du das meinst? Auslesen, und dann mit Offset addieren, und wieder auslesen.
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Was soll das &H234D0260 sein? Für client.dll musste ne getModuleBase Funktion benutzen, da die Adresse nicht statisch ist. Also: variable1 = readlong(hl2, getModuleBase(hl2, "client.dl")+&H703A0C) variable2 = readlong(hl2, variable1+&H1470) Das wars schon.
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Zitat von keschi200 Zitat von brinkz Was soll das &H234D0260 sein? Für client.dll musste ne getModuleBase Funktion benutzen, da die Adresse nicht statisch ist. Also: variable1 = readlong(hl2, getModuleBase(hl2, "client.dl")+&H703A0C) variable2 = readlong(hl2, variable1+&H1470) Das wars schon. also erstmal danke für die antwort. aber leider geht es nicht. woran könnte das luegen? ich hab mir die variable auch ausgeben lassen wahren ich auf jemanden geziehlt habe aber sie bleibt immer auf null. Poste mal deinen Code.
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
external triggerbot hilfe!
( 1 2)
Erstellt am: So 24. Jun 2012, 13:03
keschi200
Vorschau
Go To Post
Das letzte player = ReadInteger("hl2", pointertwo) brauchste nicht, aber ansonsten kenn ich mich zu wenig in VB aus, als dass ich dir jetzt sagen könnte, was falsch ist.
|
Tutorials |
Mo 25. Jun 2012, 18:14
von sMp
|
33 |
2286 |
 |
Playerstruct Pointer Problem
Erstellt am: Mo 11. Jun 2012, 22:25
Arctosa
Vorschau
Go To Post
Denke mal du suchst das Radar Struct? Ich mach's immer so: 1.Nach HP/Name oder whatever suchen. 2.Per Browse Memory Region schauen, ob es auch das Struct ist(also die anderen Spieler unmittelbar in der Nähe sind) 3.Pointer Scan auf die Adresse. Da kommt dann meistens so etwas raus wie: client.dll + 0x??????->Anfang des Radar Structs + Offset->Adresse zum Health Damit hat man dann das Radar Struct und auch schon das Offset zum Health, also zB. für Health 0x5C
|
VB, C/C++, Delphi, etc |
So 24. Jun 2012, 14:48
von Mantarochen
|
2 |
1417 |