- Joined
- Dec 9, 2009
- Messages
- 373
- Reaction score
- 42
Try to match the xor key between spec.h (server) and cheatguard.cpp (client) if it fixes ur problem
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!i have problem with zteam.dll, main kill applications (firefox,google chorm,mumaker,yahoo...etc)
someone help me fix. my soucre download fromYou must be registered to see links
I export the file from the update zclient.dll 13 page 186, the following error anyone help me fix the
Hi,
After compiling the zclient, I can login the game, see the server but after input the username & password, the screen just kind of loading with no end, no jump to the character select screen. Anyone know the issue of this?
Here is my zclient.dll, link:You must be registered to see links
#include "stdafx.h"
#include "CheatGuard.h"
#include "Import.h"
#include "TMemory.h"
#include "User.h"
#include "Protocol.h"
#include "TrayMode.h"
// ----------------------------------------------------------------------------------------------
/*
char recvbuf[100];
char buf[100];
*/
CheatGuard gCheatGuard;
// ----------------------------------------------------------------------------------------------
void CheatGuard::Load()
{
// ----
ZeroMemory(this->XOR, sizeof(XOR));
this->ChangeXORFilter();
// ----
}
// ----------------------------------------------------------------------------------------------
void CheatGuard::ChangeXORFilter()
{
// ----
this->XOR[0] = 0xf2;
this->XOR[1] = 0xa5;
this->XOR[2] = 0xb4;
this->XOR[3] = 0x85;
this->XOR[4] = 0xf5;
this->XOR[5] = 0xa7;
this->XOR[6] = 0xd9;
this->XOR[7] = 0x38;
this->XOR[8] = 0x92;
this->XOR[9] = 0x01;
this->XOR[10] = 0xee;
this->XOR[11] = 0x11;
this->XOR[12] = 0xd1;
this->XOR[13] = 0x96;
this->XOR[14] = 0xfe;
this->XOR[15] = 0xfa;
this->XOR[16] = 0xa5;
this->XOR[17] = 0xda;
this->XOR[18] = 0x2f;
this->XOR[19] = 0xd1;
this->XOR[20] = 0x44;
this->XOR[21] = 0xf6;
this->XOR[22] = 0x4c;
this->XOR[23] = 0x20;
this->XOR[24] = 0x91;
this->XOR[25] = 0x74;
this->XOR[26] = 0xdc;
this->XOR[27] = 0x1d;
this->XOR[28] = 0x37;
this->XOR[29] = 0xbe;
this->XOR[30] = 0xaf;
this->XOR[31] = 0x6b;
// ----
for( int i = 0; i < 32; i++ )
{
SetByte((PVOID)((oXORFilterStart + 4 * i) + 3), this->XOR[i]);
}
// ----
}
// ----------------------------------------------------------------------------------------------
bool CheatGuard::IsCorrectFrame()
{
if( pFrameValue1 > MAX_FRAME_VALUE
|| pFrameValue2 > MAX_FRAME_VALUE
|| pFrameValue3 > MAX_FRAME_VALUE
|| pFrameValue4 > MAX_FRAME_VALUE )
{
return false;
}
// ----
return true;
}
// ----------------------------------------------------------------------------------------------
int CheatGuard::GetLargerFrame()
{
if( pFrameValue1 > MAX_FRAME_VALUE )
{
return pFrameValue1;
}
else if( pFrameValue2 > MAX_FRAME_VALUE )
{
return pFrameValue2;
}
else if( pFrameValue3 > MAX_FRAME_VALUE )
{
return pFrameValue3;
}
else if( pFrameValue4 > MAX_FRAME_VALUE )
{
return pFrameValue4;
}
// ----
return 0;
}
// ----------------------------------------------------------------------------------------------
void CheatGuard::Check(CHEATGUARD_REQ_CHECK * pRequest)
{
// ----
gObjUser.Refresh();
// ----
CHEATGUARD_ANS_CHECK pResult;
pResult.Head.set((LPBYTE)&pResult, 0x76, sizeof(pResult));
ZeroMemory(pResult.Data, sizeof(pResult.Data));
// ----
for( int i = 0; i < MAX_CHECK_VARS; i++ )
{
pResult.Data[i].Status = true;
}
// ----
if( gObjUser.lpPlayer->Level != pRequest->Level )
{
pResult.Data[emLevel].Status = false;
pResult.Data[emLevel].Value = gObjUser.lpPlayer->Level;
}
// ----
if( gObjUser.lpPlayer->LevelPoint != pRequest->LevelPoint )
{
pResult.Data[emLevelPoint].Status = false;
pResult.Data[emLevelPoint].Value = gObjUser.lpPlayer->LevelPoint;
}
// ----
if( gObjUser.lpPlayer->Strength > pRequest->Strength + MAX_STAT_LIMIT
|| pRequest->Strength > gObjUser.lpPlayer->Strength + MAX_STAT_LIMIT )
{
pResult.Data[emStrength].Status = false;
pResult.Data[emStrength].Value = gObjUser.lpPlayer->Strength;
}
// ----
if( gObjUser.lpPlayer->Dexterity > pRequest->Dexterity + MAX_STAT_LIMIT
|| pRequest->Dexterity > gObjUser.lpPlayer->Dexterity + MAX_STAT_LIMIT )
{
pResult.Data[emDexterity].Status = false;
pResult.Data[emDexterity].Value = gObjUser.lpPlayer->Dexterity;
}
// ----
if( gObjUser.lpPlayer->Vitality > pRequest->Vitality + MAX_STAT_LIMIT
|| pRequest->Vitality > gObjUser.lpPlayer->Vitality + MAX_STAT_LIMIT )
{
pResult.Data[emVitality].Status = false;
pResult.Data[emVitality].Value = gObjUser.lpPlayer->Vitality;
}
// ----
if( gObjUser.lpPlayer->Energy > pRequest->Energy + MAX_STAT_LIMIT
|| pRequest->Energy > gObjUser.lpPlayer->Energy + MAX_STAT_LIMIT )
{
pResult.Data[emEnergy].Status = false;
pResult.Data[emEnergy].Value = gObjUser.lpPlayer->Energy;
}
// ----
if( gObjUser.lpPlayer->Leadership > pRequest->Leadership + MAX_STAT_LIMIT
|| pRequest->Leadership > gObjUser.lpPlayer->Leadership + MAX_STAT_LIMIT )
{
pResult.Data[emLeadership].Status = false;
pResult.Data[emLeadership].Value = gObjUser.lpPlayer->Leadership;
}
// ----
if( (gObjUser.lpPlayer->AttackSpeed > pRequest->AttackSpeed + MAX_SPEED_LIMIT
|| pRequest->AttackSpeed > gObjUser.lpPlayer->AttackSpeed + MAX_SPEED_LIMIT)
&& (gObjUser.lpPlayer->AttackSpeed > pRequest->MagicSpeed + MAX_SPEED_LIMIT
|| pRequest->MagicSpeed > gObjUser.lpPlayer->AttackSpeed + MAX_SPEED_LIMIT) )
{
pResult.Data[emAttackSpeed].Status = false;
pResult.Data[emAttackSpeed].Value = gObjUser.lpPlayer->AttackSpeed;
pResult.Data[emMagicSpeed].Value = gObjUser.lpPlayer->MagicSpeed;
}
// ----
if( !IsCorrectFrame() && !gTrayMode.InTray )
{
pResult.Data[emFrameValue].Status = false;
pResult.Data[emFrameValue].Value = this->GetLargerFrame();
}
// ----
for( int i = 0; i < MAX_CHECK_VARS; i++ )
{
if( !pResult.Data[i].Status )
{
gProtocol.DataSend((LPBYTE)&pResult, pResult.Head.size);
return;
}
}
// ----
}
// ----------------------------------------------------------------------------------------------
/*
void ConnectToServer(void)
{
int ConnectDone;
ConnectDone = ServerConnect();
}
int ServerConnect ()
{
WORD wVersionRequested;
WSADATA wsaData;
SOCKADDR_IN target; //Socket address information
SOCKET s;
int err;
int bytesSent;
int TryToConnect;
char* ptTime;
char tTime[12];
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
//printf("WSAStartup error %ld", WSAGetLastError() );
WSACleanup();
return false;
}
//------------------------------------------------------
//---- Build address structure to bind to socket.--------
target.sin_family = AF_INET; // address family Internet
target.sin_port = htons (55696); //Port to connect on
target.sin_addr.s_addr = inet_addr ("192.168.1.100"); //Target IP
//--------------------------------------------------------
// ---- create SOCKET--------------------------------------
s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); //Create socket
if (s == INVALID_SOCKET)
{
//printf("socket error %ld" , WSAGetLastError() );
WSACleanup();
return false; //Couldn't create the socket
}
//---------------------------------------------------------
//---- try CONNECT -----------------------------------------
for(TryToConnect=0;TryToConnect<=10;TryToConnect++)
{
if (connect(s, (SOCKADDR *)&target, sizeof(target)) == SOCKET_ERROR)
{
//printf("connect error %ld", WSAGetLastError() );
//printf("attempt to connect #%d to Anti-Hack Server \n",TryToConnect+1);
Sleep(500);
if (TryToConnect == 10)
{
WSACleanup();
return false; //Couldn't connect
}
}
else
break;
}
//-----------------------------------------------------------
//---- SEND bytes -------------------------------------------
wsprintf(buf+1, "protectSend");
bytesSent = send( s, buf, 100, 0 );
closesocket( s );
WSACleanup();
return (0);
}
*/
Custom/ShopPointEx.txt
//=====================================================================
// Description: Shop extra points
// Revision: 04.21.2015
//==============================================================================
//--------------------------------------------------------------------------------------------------------------------------------------
// Time On Add Interval
//--------------------------------------------------------------------------------------------------------------------------------------
0
3600 10 3600
end
//--------------------------------------------------------------------------------------------------------------------------------------
// Event Slot C P G
//--------------------------------------------------------------------------------------------------------------------------------------
1
1 1 1 1
end
//--------------------------------------------------------------------------------------------------------------------------------------
// Monster ID Map C P G
//--------------------------------------------------------------------------------------------------------------------------------------
2
37 4 10 10 10
40 4 10 10 10
end
Ai casuta plina de mesaje si nu iti pot trimite pmCode:Custom/ShopPointEx.txt //===================================================================== // Description: Shop extra points // Revision: 04.21.2015 //============================================================================== //-------------------------------------------------------------------------------------------------------------------------------------- // Time On Add Interval //-------------------------------------------------------------------------------------------------------------------------------------- 0 3600 10 3600 end //-------------------------------------------------------------------------------------------------------------------------------------- // Event Slot C P G //-------------------------------------------------------------------------------------------------------------------------------------- 1 1 1 1 1 end //-------------------------------------------------------------------------------------------------------------------------------------- // Monster ID Map C P G //-------------------------------------------------------------------------------------------------------------------------------------- 2 37 4 10 10 10 40 4 10 10 10 end
Just exclude g_ShopPointEx.Load(); from all #ifdef
Working like a charm, still don't know the event id's but i'll come with an update asap...
this one is not working..
"ItemDropEx.txt"
I set the item drop to 10k.
nothing drops even 1 item.
Where did you get the update №13? On site developer last update №12.If someone will need. Compiled version from our Portuguese friends.
Maybe this is the same files as from this topic, maybe no, i don't know)
=======================================================================
You must be registered to see linksandYou must be registered to see links
Changelog (updates 1-9)
You must be registered to see linksandYou must be registered to see linksandYou must be registered to see links
=======================================================================
You must be registered to see links
You must be registered to see links
=======================================================================
You must be registered to see linksandYou must be registered to see links
Changelog
=======================================================================
You must be registered to see linksandYou must be registered to see links
Changelog
=======================================================================
You must be registered to see linksandYou must be registered to see links
Changelog
=======================================================================
You must be registered to see linksandYou must be registered to see links
Changelog
=======================================================================
You must be registered to see links
=======================================================================
Thats all =)
its works for me did you put the map? for all maps -1
source for update9 ?here is the source link
You must be registered to see links