Register for your free account! | Forgot your password?

You last visited: Today at 05:01

  • 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 07/31/2013, 19:21   #46
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Quote:
Originally Posted by xCPx View Post
Naja is echt hübsch gemacht von dir iMer, aber ich muss ehrlich sagen, ich bleib lieber bei meiner C library.
finde es in C irgendwie übersichtlicher ( auch wenn es darin keine Klassen gibt)

Aber jedem das seine
Kommt halt drauf an, was du damit machen willst.
Wenn du oo damit arbeitest, dann ist das ++ hinter dem c schon eine große Hilfe..
Mi4uric3 is offline  
Old 07/31/2013, 23:47   #47
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 2
thats amazing for c++ coders!
Q3J5cHQ= is offline  
Old 07/31/2013, 23:58   #48

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
Man kann jetzt die 2 000 000 000 Gold o.ä. Problem beheben wenn man da was zaubert...
oder wär' das jetzt zuuuu aufwendig?
IgorGlock is offline  
Old 08/01/2013, 00:01   #49

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
Quote:
Originally Posted by IgorGlock View Post
Man kann jetzt die 2 000 000 000 Gold o.ä. Problem beheben wenn man da was zaubert...
oder wär' das jetzt zuuuu aufwendig?
Musst denke ich mal noch die Packete im Client dann vergrößern..
Mal ganz davon abgesehen, dass es extrem viel Arbeit ist
iMer is offline  
Old 08/01/2013, 00:04   #50
 
elite*gold: 0
Join Date: Aug 2013
Posts: 15
Received Thanks: 2
Can u write, how.. for example, detour any function?
redoname is offline  
Old 08/01/2013, 00:08   #51
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 2
i think you cant edit current function am i right?
Q3J5cHQ= is offline  
Old 08/01/2013, 00:25   #52

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
Quote:
Originally Posted by redoname View Post
Can u write, how.. for example, detour any function?
You can either extend the Hook template class, use the hook template function or just use mologie detours without my wrappers

function is "void do_stuff(int, char*)"
original function is at 0x123

1. Hook template class:
Code:
#include "libm2/lib/hook.hpp"
using namespace libm2;
 
class MyHook: public Hook<void(*)(int,char*),0x123, MyHook>{
public:
    static void hook(int, char*)
    // [...]
};
2. simpleHook function:
Code:
#include "libm2/lib/hook.hpp"
using namespace libm2;
MologieDetours::Detour<void(*)(int,char*)>* detour = NULL;
void hook(int, char*){
    // [...]
}
detour=simpleHook<void(*)(int, char*)>(0x123,hook);
3. without my wrappers:
Code:
#include "libm2/utils/detours.h"
MologieDetours::Detour<void(*)(int,char*)>* detour = NULL;
void hook(int, char*){
    // [...]
}
detour= new MologieDetours::Detour<void(*)(int,char*)>((void(*)(int,char*))0x123, hook);
iMer
iMer is offline  
Thanks
1 User
Old 08/01/2013, 11:55   #53

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
Quote:
Originally Posted by iMer View Post
Musst denke ich mal noch die Packete im Client dann vergrößern..
Mal ganz davon abgesehen, dass es extrem viel Arbeit ist
Packete im Client vergrößern wär' diesselbe Suppe wie in der Game.
In der Datenbank den Speicherplatz vergrößern wär's aber 1 Minute Arbeit ^^
IgorGlock is offline  
Old 08/01/2013, 12:28   #54
 
☆NaYoN☆'s Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 308
Received Thanks: 136
Nice Nice und nochmals Nice Danke
☆NaYoN☆ is offline  
Old 08/01/2013, 12:39   #55
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Kannst du mal vllt. nen beispiel machen, wie ich jetzt daraus ne lib mache um sagen wir das level auf 2000 zu stellen?
'oShet is offline  
Old 08/01/2013, 13:05   #56

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
oShet... glaub' das ist Dasselbe wie bei meinen 2mlrd. Wunsch.
Da muss Zahlformat* verändert werden. Also voll aufwendig.
*Datentyp ist gemeint
IgorGlock is offline  
Thanks
1 User
Old 08/01/2013, 13:54   #57

 
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
Quote:
Originally Posted by IgorGlock View Post
oShet... glaub' das ist Dasselbe wie bei meinen 2mlrd. Wunsch.
Da muss Zahlformat verändert werden. Also voll aufwendig.
Naja, eigetlich ist es nicht das Zahlenformat sondern der Datentyp.

oSheet, stell dir das so vor:
Du hast in einem großen Saal eine bestimmte Anzahl von Stühlen und erwartest viele Gäste.
Nun bekommst du das Problem, dass plötzlich mehr Leute kommen als geplant.
Zwar gibt es in einer Nachbarhalle noch ein paar Stühle, jedoch sind diese alle auch fest eingeplant.
Das Problem ist jetzt, dass in deine Halle nunmal nicht mehr rein passen. Nimmst du von der anderen Halle, kommt da alles durcheinander.

Grob ähnlich ist es eben bei diesem Problem mit dem ändern der Datentypen. Würdest du den Typ vergrößern, müsstest du das an ALLEN anderen Stellen an denen dieser Wert verwendet werden könnte auch. Der Aufwand wäre gigantisch. Und einfach an die Stelle zwei Bytes einfügen damit man Platz hat geht auch nicht, da sich dann alle Adressen verschieben würden.
Computerfreek is offline  
Thanks
1 User
Old 08/01/2013, 14:00   #58
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Und wie würd ich dann damit ne lib machen, womit der max status z.b. str auf 130 ist?
'oShet is offline  
Old 08/01/2013, 14:13   #59
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Quote:
Originally Posted by 'oShet View Post
Und wie würd ich dann damit ne lib machen, womit der max status z.b. str auf 130 ist?
In der Game alle Stellen finden, die den Status lesen (sinnvoll bei den Packets anzufangen, die am Server empfangen werden.) und diese entweder per DIF ändern oder halt eine Lib dafür schreiben, was aber meiner Meinung nach für ein solches Ziel etwas oversized ist, da sich der Datentyp nicht ändert sondern immernoch im Byte-Bereich ist (0 - 255).
Mi4uric3 is offline  
Old 08/01/2013, 14:55   #60

 
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
Quote:
Originally Posted by Mi4uric3 View Post
In der Game alle Stellen finden, die den Status lesen (sinnvoll bei den Packets anzufangen, die am Server empfangen werden.) und diese entweder per DIF ändern oder halt eine Lib dafür schreiben, was aber meiner Meinung nach für ein solches Ziel etwas oversized ist, da sich der Datentyp nicht ändert sondern immernoch im Byte-Bereich ist (0 - 255).
Sicher, dass er das nicht tut? Ich würde sagen er ändert von singed auf unsigned, also vorzeichenbehaftet auf vorzeichenunbehaftet.

Hatte xCPx nicht mal ein Video gemacht, wo er gezeigt hat dass auch mehr geht (beim Level)?
Computerfreek is offline  
Reply

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




All times are GMT +1. The time now is 05:02.


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.