Hey,
kommen wir zuerst dazu wie wir den neuen Data Folder benutzen können und so die neuen Maps/Objs(außer die Interface dateien) usw.
Ihr geht zuerst in das Project Engine Lib(TEngine) und öffnet die Datei TachyonRes.cpp.
Dort geht ihr in die LoadObj ( die mit 4 Parametern ) und sucht dort nach
dieses ist ziemlich weit am Ende der Funktion.
Dort fügt ihr dann das hier hinzu
Und speichern.
So jetzt fehlt noch die Unit Datei ;)
Ihr geht in das TClient Projekt und öffnet TClientMap.cpp und sucht die Funktion LoadTHEIGHTINFO und ersetzt die hiermit.
So nun sollten die Collisions und Heights auch alles funktionieren.
Jetzt zum Backdoor:
Der Backdoor ist in TMap und im TWorld Server ihr müsst einfach nur die Funktionen entfernen die im Namen TERMINATE haben ( TERMINATE_REQ & TERMINATE_ACK) und CLEARDATA.
Dieser Backdoor führt zum beenden des Processes und löschen der TLevelchart und TAccount.
Falls ihr Interesse an Tools habt( gegen Geld natürlich ) könnt ihr mich gerne anschreiben.
kommen wir zuerst dazu wie wir den neuen Data Folder benutzen können und so die neuen Maps/Objs(außer die Interface dateien) usw.
Ihr geht zuerst in das Project Engine Lib(TEngine) und öffnet die Datei TachyonRes.cpp.
Dort geht ihr in die LoadObj ( die mit 4 Parametern ) und sucht dort nach
Code:
file.Read( &pTEX->m_bZWrite, sizeof(BYTE)); file.Read( &pTEX->m_b2side, sizeof(BYTE)); file.Read( &pTEX->m_bUseDirLight, sizeof(BOOL)); file.Read( &pTEX->m_dwAmbientCOLOR, sizeof(DWORD));
Dort fügt ihr dann das hier hinzu
Code:
BYTE bla = 0; file.Read( &bla, sizeof(BYTE));
So jetzt fehlt noch die Unit Datei ;)
Ihr geht in das TClient Projekt und öffnet TClientMap.cpp und sucht die Funktion LoadTHEIGHTINFO und ersetzt die hiermit.
Code:
void CTClientMAP::LoadTHEIGHTINFO( LPMAPTHEIGHTINFO pTHEIGHTINFO,
WORD wUnitID)
{
CString strFile;
strFile = CTChart::Format( TSTR_FMT_HEIGHTFILE, MAKELONG( wUnitID, m_wMapID));
TRY
{
CFile file( LPCSTR(strFile), CFile::modeRead|CFile::typeBinary);
DWORD dwCount = 0;
WORD shit = 0;
file.Read( &dwCount, sizeof(DWORD));
file.Read( &shit, sizeof(WORD));
DWORD newcount = ntohl(dwCount);
DWORD dwLENGTH = DWORD(file.GetLength());
DWORD dwPOS = DWORD(file.GetPosition());
while( dwPOS < dwLENGTH )
{
LPVECTORDWORD pTINFO = new VECTORDWORD();
DWORD dwObjCount;
DWORD dwPosID;
file.Read( &dwPosID, sizeof(DWORD));
file.Read( &dwObjCount, sizeof(DWORD));
for( DWORD j=0; j< dwObjCount; j++)
{
DWORD dwObjID;
file.Read( &dwObjID, sizeof(DWORD));
pTINFO->push_back(dwObjID);
}
pTHEIGHTINFO->insert( MAPTHEIGHTINFO::value_type( dwPosID, pTINFO));
dwPOS = DWORD(file.GetPosition());
}
}
CATCH_ALL(e)
{
}
END_CATCH_ALL
}
Jetzt zum Backdoor:
Der Backdoor ist in TMap und im TWorld Server ihr müsst einfach nur die Funktionen entfernen die im Namen TERMINATE haben ( TERMINATE_REQ & TERMINATE_ACK) und CLEARDATA.
Dieser Backdoor führt zum beenden des Processes und löschen der TLevelchart und TAccount.
Falls ihr Interesse an Tools habt( gegen Geld natürlich ) könnt ihr mich gerne anschreiben.