|
You last visited: Today at 02:26
Advertisement
fix
Discussion on fix within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
10/13/2010, 19:41
|
#16
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
|
ich kann das spiel aber nicht startetn brauche ja die exe ^^
wer is so lieb und schick sie mir ? wer icq oder skype hat ? pn me bitte bekomtm thx aufjeden fall
|
|
|
10/13/2010, 19:42
|
#17
|
elite*gold: 577
Join Date: Oct 2009
Posts: 665
Received Thanks: 3,503
|
Quote:
Originally Posted by ℓσℓ
Dankeschön aber für mich wäre es lieber es selbst zu fixxen.
|
Code:
void PythonNetworkStream::Initialize()
{
STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);
uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);
DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
TPacketSafeBoxItemSet packet;
if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
return 0;
metin2_vc_client::packet_item itemData;
itemData.itemVnum = packet.m_itemVnum;
itemData.itemCount = packet.m_itemCount;
memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);
// NOOOOO, assembly
void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(uint32_t, const void*))0x467500;
const void* safeboxSingleton = *(void **)0x61C370;
asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);
(reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
return 1;
}
Der alte Code hätte auch funktioniert ...
Kleine Dokumentation:
packet_item ist der Name der struct im Metin2 Client (laut .map)
CPythonNetworkStream ist der Name der MainStream-Klasse im Client (Char- und World-Server)
CNetworkStream ist der Name der allgemeinen Socket-Klasse im Client (diese enthält auch den Encryption/Decryption Code).
Kind Regards Tim
|
|
|
10/13/2010, 19:42
|
#18
|
elite*gold: 255
Join Date: Jan 2010
Posts: 2,067
Received Thanks: 756
|
nice!
Funktioniert es mit dem Modifiziertem 2010er Client der hier pub is ( von xIvan4ikx)?
mfg
Zander
|
|
|
10/13/2010, 19:42
|
#19
|
elite*gold: 17
Join Date: Jan 2009
Posts: 2,538
Received Thanks: 2,405
|
ja nur es geht wirklich habe es damit gepackt und ich kann es danach mit keinem anderen entpacker mehr entpacken und auch wen das cmd fenster aufgeht steht auch das es von Tim66613 ist
|
|
|
10/13/2010, 19:44
|
#20
|
elite*gold: 0
Join Date: Sep 2009
Posts: 593
Received Thanks: 155
|
Quote:
Originally Posted by tim66613
Code:
void PythonNetworkStream::Initialize()
{
STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);
uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);
DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
TPacketSafeBoxItemSet packet;
if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
return 0;
metin2_vc_client::packet_item itemData;
itemData.itemVnum = packet.m_itemVnum;
itemData.itemCount = packet.m_itemCount;
memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);
// NOOOOO, assembly
void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(DWORD, const void*))0x467500;
const void* safeboxSingleton = *(void **)0x61C370;
asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);
(reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
return 1;
}
Der alte Code hätte auch funktioniert ...
Kind Regards Tim
|
Könntest du vllt. noch einen Tipp geben bei dem Itemshop-Lager aber das Itemshop-Lager selbst nonpub lassen?
|
|
|
10/13/2010, 19:46
|
#21
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
|
hmm will woll keiner helfen
|
|
|
10/13/2010, 19:47
|
#22
|
elite*gold: 191
Join Date: Jul 2010
Posts: 497
Received Thanks: 3,475
|
WTF!
Für was haben wir dan ne Lagertruhe esrstellt -,-
Aber naja. thx<3
fg Afro
|
|
|
10/13/2010, 19:51
|
#23
|
elite*gold: 20
Join Date: Jun 2009
Posts: 1,090
Received Thanks: 756
|
Danke tim kann dieses ganze
Verkaufen von exen/programmen/ etc die einem garnicht selbst gehören nicht leiden
|
|
|
10/13/2010, 19:52
|
#24
|
elite*gold: 15
Join Date: Sep 2010
Posts: 580
Received Thanks: 175
|
danke :P gute Arbeit^^
|
|
|
10/13/2010, 19:52
|
#25
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
|
hmm also keiner will helfen thx
|
|
|
10/13/2010, 19:53
|
#26
|
elite*gold: 0
Join Date: Dec 2009
Posts: 2,326
Received Thanks: 807
|
Quote:
Originally Posted by stage66
hmm also keiner will helfen thx
|
Wenn dus noch 10 mal
wiederholst gibts auch
kein besseres Ergebnis
|
|
|
10/13/2010, 19:53
|
#27
|
elite*gold: 180
Join Date: Dec 2008
Posts: 1,480
Received Thanks: 714
|
Quote:
Originally Posted by Hermes2012
Danke tim kann dieses ganze
Verkaufen von exen/programmen/ etc die einem garnicht selbst gehören nicht leiden
|
Ich denke hier geht´s weniger ums "mögen", sondern eher um den Fakt das es eine art von Diebstahl ist.
Er hat das ganze ding unter Copyright - Wenn du sein Auto stehlen würdest könnte dich exakt die selbe Strafe treffen. Pixel hin oder her.
Greetings !
|
|
|
10/13/2010, 19:53
|
#28
|
elite*gold: 0
Join Date: Jun 2009
Posts: 486
Received Thanks: 241
|
Quote:
Originally Posted by tim66613
Code:
void PythonNetworkStream::Initialize()
{
STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);
uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);
DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
TPacketSafeBoxItemSet packet;
if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
return 0;
metin2_vc_client::packet_item itemData;
itemData.itemVnum = packet.m_itemVnum;
itemData.itemCount = packet.m_itemCount;
memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);
// NOOOOO, assembly
void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(uint32_t, const void*))0x467500;
const void* safeboxSingleton = *(void **)0x61C370;
asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);
(reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
return 1;
}
Der alte Code hätte auch funktioniert ...
Kleine Dokumentation:
packet_item ist der Name der struct im Metin2 Client (laut .map)
CPythonNetworkStream ist der Name der MainStream-Klasse im Client (Char- und World-Server)
CNetworkStream ist der Name der allgemeinen Socket-Klasse im Client (diese enthält auch den Encryption/Decryption Code).
Kind Regards Tim
|
@ Tim66613
woher haste den Code Auszug würde mich intressieren ^^.
MfG -Eazy-
|
|
|
10/13/2010, 19:53
|
#29
|
elite*gold: 0
Join Date: Oct 2010
Posts: 139
Received Thanks: 164
|
Ich finds auch mies das andere die arbeit von tim releasen und nicht einmal tim fragen...
bei mia klappts zwar nicht der öffnet fenster nicht glaube weiß auch worans liegt aber naja ^^
|
|
|
10/13/2010, 19:55
|
#30
|
elite*gold: 1
Join Date: Jan 2010
Posts: 2,571
Received Thanks: 1,141
|
Ich kann mich nur bei Tim entschuldigen das ich es versucht habe zu vk aber dann diverse angebote Abgelehnt habe "Einzelnde Personen können selbst befragt werden".
Es tut mir Leid Tim.
Mit freundlichen Grüßen und ein Big Sry
Megaload
|
|
|
|
|
Similar Threads
|
2010 Client
10/04/2010 - Metin2 Private Server - 0 Replies
Hallo ich möchte einen Client
sowie Neonblue 4.5 aber nur das es 2010 ist und man auch Pc.eix etc. entpacken kann also keine verschlüsselung hat pls gibt mir mal einen ^^
Und das bei den Bonis dann auch alles genau so steht wie DE halt :D
|
2010 Client
09/25/2010 - Metin2 Private Server - 1 Replies
Hi Com.
Ich wollte mal fragen ob jemand den 2010er Client hat da vieles Entbuggt ist e.t.c finde keinen guten immer i-welche bugs ^^ Thx im vorraus
|
2010 client???
09/22/2010 - Metin2 Private Server - 6 Replies
hey leute da ich neu bin hab ich ma ne frage
was ist besser einem 2010 client
und wo bekommt man den her kan ma einer pls einen download link oder so rein stehlen von einem guten client
|
2010 CLient ?????
09/20/2010 - Metin2 Private Server - 4 Replies
Hey
wollt mal fragen ob wer weiß wo es den 2010 Client gibt wo man im Statusfenster alles sieht und die Damageanzeige funktioniert???
weil Finalmt2 hatt so einen z.b.
Freu mich schon auf Antworten
|
All times are GMT +2. The time now is 02:26.
|
|