LibM2 - A LibGame SDK

07/30/2013 20:36 iMer#1
EN:
Einen wunderschönen Guten Tag,

Das Ändern und Anpassen der Game bzw. Db Cache Binaries ist heutzutage gang und gebe.
Benutzt werden dafür meist immer noch sog. "difs". Diese sind Dateien in denen Änderungen einer Datei gespeichert werden. Sie werden von IDA produziert und können anhand von diversen Tools oder per Hand in die Datei gepatcht werden.
Allerdings nimmt in der letzten Zeit die Benutzung von libs, die vor den Binaries geladen werden aus einem guten Grund immer mehr zu.
Zuallererst braucht man keine ASM Kenntnisse um Libs zu schreiben, sondern man kann mit einer Hochsprache (z.B. C,C++) arbeiten, welche um einiges einfacher und strukturierter ist.
Dann muss man keine Bedenken haben, wie viel Platz etwas braucht - es gibt im Prinzip keine Limitationen mehr.

Allerdings ist es schwer in das ganze reinzukommen - es gibt zwar einige Source Codes hier auf Elitepvpers, allerdings sind diese (großteils) in C.
Und C ist nicht nur unpraktisch zu verwenden im Gegensatz zu C++, es fehlen auch OOP Features welche in Metin stark genutzt werden.

Ich habe dann etwas nachgedacht und bin zu dem Schluss gekommen "Ich möchte etwas, das so nah wie möglich am Original und so einfach wie möglich wie in der Benutzung ist."
Und nunja.. was soll ich sagen - das hier ist entstanden.

Features:
  • C++
  • Originale Classes
  • Einfach Erweiterbar
  • Fertiges Interface zum:
  • - Hinzufügen von Befehlen
  • - Hinzufügen von Quest Funktionen
  • - Laden von difs
  • - Anpassung der Größe von Klassen in der Game
  • - Mehr nützliche Klassen und Funktionen
  • ..und mehr

Vorraussetzungen:
  • Boost version >= 1.41 und < 1.48
  • C++11 kompatibler compiler (z.B. GCC 4.8)

[Only registered and activated users can see links. Click Here To Register...]<- *klick*

Falls ihr irgendwelche Bugs entdeckt, Probleme habt oder neue Features oder Klassen benötigt [Only registered and activated users can see links. Click Here To Register...]


Video Tutorials
Setting up a development environment for the LibM2 SDK: [Only registered and activated users can see links. Click Here To Register...]


Es wird in der Zukunft noch mehr Dokumentation hinzugefügt - aktuell gibt es nur ein Beispiel im "examples" Ordner an dem ihr euch orientieren könnt.


iMer
07/30/2013 20:42 .PolluX#2
ist das so zu verstehen, dass die komplette (also nicht die komplette sonder nn ur das was du gemacht hast) game als lib files gecoded ist und ready tu use? :o
07/30/2013 20:43 Stαgє6#3
Sehr nützlich Danke dir langsam wird wieder gescheites Zeug Released.
07/30/2013 20:43 ƬheGame#4
Gute arbeit kenne es ja schon :D
07/30/2013 20:44 iMer#5
Quote:
Originally Posted by [SA]PolluX View Post
ist das so zu verstehen, dass die komplette (also nicht die komplette sonder nn ur das was du gemacht hast) game als lib files gecoded ist und ready tu use? :o
Nein, die Klassen kann man alle "wie im Original" benutzen.
Also wenn du ne Variable ch hast:
PHP Code:
CHARACTERch;
std::string name ch->GetName(); 
Solche Sachen.
07/30/2013 20:46 Crvena#6
Very nice thanks imer :)
07/30/2013 20:59 IgorGlock#7
Ich liebe dich :D !
Juckte mir immer schon in den Pfoten, doch nie kam ich dazu. Es schluckt viel Zeit.
Freue mich über weitere Updates die kommen werden wie ich dich kenn'.

Quote:
NOW GO DIE IN A FIRE!
07/30/2013 21:00 Padmak#8
Fette Sache, natürlich mal wieder obergeil ;)
Das erste nützliche Release seit laaanger Zeit :D

Padmak
07/30/2013 21:34 #SoNiice#9
C++11 wird übrigens auch von Visual Studio 2012 unterstützt, für diejenigen, die es interessiert :-)

Ansonsten, danke iMer - Super gemacht ;)
07/30/2013 21:55 -TÜRK-#10
nice idea & good job ..
07/30/2013 22:00 .PolluX#11
Quote:
Originally Posted by iMer View Post
Nein, die Klassen kann man alle "wie im Original" benutzen.
Also wenn du ne Variable ch hast:
PHP Code:
CHARACTERch;
std::string name ch->GetName(); 
Solche Sachen.
sagt mir leider alles überhaupt nix, wäre gut wenn mir das mal jemand "for noobs" erklären könnte xDD
07/30/2013 22:01 Computerfreek#12
Endlich jemand, der mir die Arbeit abnimmt. Wollte ich schon lange mal machen, nur fehlte immer die Zeit und die Lust dazu.
Nun kann man endlich mal vernünftig eine "libGame" basteln. Danke!

@Vorposter:
Wenn du kein C++ kannst und nicht grade vor hast eine eigene "libGame" zu programmieren dann wird dir dieses Release nichts nützen.
07/30/2013 22:02 Padmak#13
Es ist soweit ich es gesehen habe nichts anderes als ein SDK, mit dem du ohne großen Aufwand und eigene Änderungen die Game um Libs erweitern kannst
Du brauchst also nicht aufwändig die Adresse von CHARACTER::GetName zu suchen sondern kannst es einfach so benutzen wie iMer geschrieben hat
Für Programmierer nützlich :P

Padmak
07/30/2013 22:21 ƬheGame#14
Quote:
Originally Posted by [SA]PolluX View Post
sagt mir leider alles überhaupt nix, wäre gut wenn mir das mal jemand "for noobs" erklären könnte xDD
Wenn du ziemlich gut C++ kannst dann ist das etwas für dich, sonst eher nicht.
07/30/2013 22:31 iMer#15
Quote:
Originally Posted by Padmak View Post
Es ist soweit ich es gesehen habe nichts anderes als ein SDK
SDK passt viel besser - wieso ist mir das nicht eingefallen! >: