Register for your free account! | Forgot your password?

You last visited: Today at 10:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



LibM2 - A LibGame SDK

Discussion on LibM2 - A LibGame SDK within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
LibM2 - A LibGame SDK

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)

<- *klick*

Falls ihr irgendwelche Bugs entdeckt, Probleme habt oder neue Features oder Klassen benötigt


Video Tutorials
Setting up a development environment for the LibM2 SDK:


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
iMer is offline  
Thanks
110 Users
Old 07/30/2013, 20:42   #2
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
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?
.PolluX is offline  
Old 07/30/2013, 20:43   #3
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,019
Received Thanks: 1,471
Sehr nützlich Danke dir langsam wird wieder gescheites Zeug Released.
Stαgє6 is offline  
Old 07/30/2013, 20:43   #4
 
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
Gute arbeit kenne es ja schon
ƬheGame is offline  
Old 07/30/2013, 20:44   #5

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
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?
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.
iMer is offline  
Thanks
1 User
Old 07/30/2013, 20:46   #6
 
Crvena's Avatar
 
elite*gold: 0
Join Date: Dec 2011
Posts: 50
Received Thanks: 99
Very nice thanks imer
Crvena is offline  
Old 07/30/2013, 20:59   #7

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
Ich liebe dich !
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!
IgorGlock is offline  
Old 07/30/2013, 21:00   #8
 
Padmak's Avatar
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
Fette Sache, natürlich mal wieder obergeil
Das erste nützliche Release seit laaanger Zeit

Padmak
Padmak is offline  
Thanks
10 Users
Old 07/30/2013, 21:34   #9


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
C++11 wird übrigens auch von Visual Studio 2012 unterstützt, für diejenigen, die es interessiert :-)

Ansonsten, danke iMer - Super gemacht
#SoNiice is offline  
Old 07/30/2013, 21:55   #10
 
-TÜRK-'s Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 328
Received Thanks: 434
nice idea & good job ..
-TÜRK- is offline  
Old 07/30/2013, 22:00   #11
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
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
.PolluX is offline  
Thanks
1 User
Old 07/30/2013, 22:01   #12

 
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
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.
Computerfreek is offline  
Old 07/30/2013, 22:02   #13
 
Padmak's Avatar
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
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
Padmak is offline  
Thanks
2 Users
Old 07/30/2013, 22:21   #14
 
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
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.
ƬheGame is offline  
Old 07/30/2013, 22:31   #15

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
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! >:
iMer is offline  
Thanks
1 User
Reply

Tags
c++, code, lib, libgame, sdk




All times are GMT +1. The time now is 10:50.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.