LibM2 - A LibGame SDK

07/31/2013 19:21 Mi4uric3#46
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..
07/31/2013 23:47 Q3J5cHQ=#47
thats amazing for c++ coders!
07/31/2013 23:58 IgorGlock#48
Man kann jetzt die 2 000 000 000 Gold o.ä. Problem beheben wenn man da was zaubert...
oder wär' das jetzt zuuuu aufwendig?
08/01/2013 00:01 iMer#49
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 :p
08/01/2013 00:04 redoname#50
Can u write, how.. for example, detour any function?
08/01/2013 00:08 Q3J5cHQ=#51
i think you cant edit current function am i right?
08/01/2013 00:25 iMer#52
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
08/01/2013 11:55 IgorGlock#53
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 :p
Packete im Client vergrößern wär' diesselbe Suppe wie in der Game. :o
In der Datenbank den Speicherplatz vergrößern wär's aber 1 Minute Arbeit ^^
08/01/2013 12:28 ☆NaYoN☆#54
Nice Nice und nochmals Nice Danke
08/01/2013 12:39 'oShet#55
Kannst du mal vllt. nen beispiel machen, wie ich jetzt daraus ne lib mache um sagen wir das level auf 2000 zu stellen?
08/01/2013 13:05 IgorGlock#56
oShet... glaub' das ist Dasselbe wie bei meinen 2mlrd. Wunsch.
Da muss Zahlformat* verändert werden. Also voll aufwendig.
*Datentyp ist gemeint
08/01/2013 13:54 Computerfreek#57
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.
08/01/2013 14:00 'oShet#58
Und wie würd ich dann damit ne lib machen, womit der max status z.b. str auf 130 ist?
08/01/2013 14:13 Mi4uric3#59
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).
08/01/2013 14:55 Computerfreek#60
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)?