Hallo.
Ich habe nur eine Frage.
Wie wurde SA:MP gemacht?
- Wie wird des Spiel so mit den Screen geladen?
- Wie werden die Autos erstellt (Not Pawn)?
Singleplayer, Multiplayer
-
-
Das wurde mit einer Programmiersprache gemacht , ich schätze mal mit AutoIt , C++.
Sonst , frag einfach Kye :D.
Jedoch ist dieses Programmieren durchaus schwieriger , weil du nicht nur in einem bestimmen Rahmen arbeiten musst.
Also dafür benötigst du schon einiges an Erfahrung , der jeweiligen Programmiersprache. -
Wie wurde des mitn Starten des Spiels und die "Modifiezierung" durch den Server geschafft ?
-
Was meinst du mit "Modifizierung" ?
Das kann ich dir jetzt nicht genau erklären.
Du musst halt die Programmiersprache beherrschen.
Dieses ist halt genau so wie Pawno , jedoch 10x schwerer , und du hast alle möglichkeiten , etwas zu programmieren. -
AutoIT ? , C++ trifft es eher , zu erst einmal sollte man die Zielsprache können die man bei der Entwicklung anstrebt danach sollte
man sich mit dem Klient & Server Prinzip befassen , das Grundprinzip ist ganz leicht , Datenpakete werden gesendet sprich eine Informationspaket wie
z.b. der Native wie in Sa-mp der Kompilierte Pawn Code dazu noch Zusatz Informationen wie Position des Spielers , diese Datenpakete werden an den Server weitergegeben dieser sendet
diese dann in einem gewissen Abstand an alle anderen Klienten -
Das würde mich auch ziemlich stark interessieren...wie man sich da überhaupt ans Werk macht. Da muss man ja denke ich Mal zuerst an die exe ran, also die originelle von GTA IV, ich denke dass es anders gar nicht geht. Der Multiplayer an sich, also der Client hat dann eine eigene.
Ich meine, bei San Andreas MP ist es ja so dass der Multiplayer ohne der Exe nicht geht. Ich weiß nicht, was die mit der machen, decompilen die oder benutzen ein disassembly Tool?
Ist für mich schon fraglich...aber wie man sehen kann, ist es möglich.
-
-
Wie z.B kann man GTA San Andreas starten, mit vielleicht extra Lade Screen und dann spawnen?
-
Das Menü lässt sich durch den Speicher locker abschalten
http://www.gtamodding.com/inde…Memory_Addresses_%28SA%29
Hier mal die Adressen zum Speicher , ich hoffe ihr kennt euch damit aus Speicher beschreiben & ihn auszulesen
Die Lade Sequenzen werden mit den Originalen Überschrieben soweit ich weiß, die Sa-mp Lade Sequenzen sind im samp.aaa Paket enthalten
das übrigens verschlüsselt ist mit TEA² wie DMA bereits in einem anderen Thema erwähnte -
Gibt es nicht i-wie ein Tutorial zum WriteProcessMemory?
-
Mitte 08 wurde doch ein Teil des Source-Codes geleaked, war sehr interessant da drin zu lesen. Es waren viele .c dateien, wenn es wen interessiert
-
Bringt aber nur denen was die C/C++ können & verstehen , außerdem gibt es auch noch den VC-MP Source Code im Netz zu finden wenn es jemanden Interessiert
-
Und für die geduldigen unter euch: Kye hat gesagt, dass er sobald er mit sa-mp aufhört den Source-Code frei gibt
-
Ich will den nicht haben xD & bis der auf hört ... wenn er überhaupt noch ein Leben hat
-
Kye wird so oder so nicht aufhören.
Er hat doch nur "SA:MP" im Kopf. Er sucht sich Ideen, um es schlechter zu machen.
Wenn er denn Source Code rausgeben würde... wär dann total die ganze Welt von San Andreas Multiplayer im A*sch. -
Wenn er den Source Code tatsächlich Freigeben würde hätten weitere Leute die Chance das ganze um Meilen zu verbessern außerdem würde er seine Kundschaft + Community verlieren & somit
seine Einnahmen aber nun B2T :x -
Hmm, aber der Four-MP Client sollte irgendwie, wie ich auf der Seite entdecken konnte, frei sein.
-
Ich habe diesem Topic gefolgt und wie kann man dann hier die Menu ID verändern?
Base Adresse: 0xBA6748
- +0x15D = [byte] Current Menu IDDann habe ich das:
Known Menu IDs (get ID at 0xBA68A5)
- 21 = Load game okWie kann ich des bei WriteProcessMemory benutzen ?
-
0xBA6748 = Basis Element
+0x15D = Unter Element sprich du musst die Adressen Kombinieren um die gewünschte Aktion durchzuführen
sprich (0xBA6748+0x15D) Pointer + Offset sollte das gewünschte erzielen oder einfach zurückgeben
-
Danke, ich kann nun die MenuID verändern. Aber ich muss was anderes ändern, um den ganzen Teil zu überspringen.
Hier0x00735FD0
CBulletInfo::Initialise((void))0x00736A40
CExplosion::Initialise((void))0x00737B40
CProjectileInfo::Initialise((void))0x00739B60
CShotInfo::Initialise((void))0x0073A300
CWeapon::InitialiseWeapons((void))0x005BF750
CWeaponInfo::Initialise((void))0x0053BC80
LoadGame(char; fileName))
Initializes all data structures and loads fileName (which is gta.dat).0x005B9030
LoadMapDefinitionFile(char; fileName))
Parses and loads dat-files, such as default.dat and gta.dat.0x00550F10
AllocatePools()) Allocates stuff which LimitAdjuster modifies, such as Peds and Buildings.Wie kann ich nun diese anwenden ?