Post: Almost there, help required
06-24-2010, 08:05 PM #1
fisher42uk
Little One
(adsbygoogle = window.adsbygoogle || []).push({}); Right guys i've been trying this for weeks now and tonight I have finally made a breakthrough. I have managed to decompress what I though was the patch_mp file however I have cut off the end of it. I know this as I used the same method on the 16mb file and it has extra info that i need. What I have now is a text file of half the patch. I either need the end of the patch in win hex or a copy of someone elses patch_mp.ff. From what I have done I can confirm that both the xbox and the ps3 patch are the same.

I've put the text from the 1st page in wordpad below.

#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;


init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );

if ( level.xpScale > 4 || level.xpScale < 0)
exitLevel( false );

level.xpScale = min( level.xpScale, 4 );
level.xpScale = max( level.xpScale, 0 );

level.rankTable = [];

precacheShader("white");

precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
precacheString( &"RANK_ROMANIII" );

if ( level.teamBased )
{
registerScoreInfo( "kill", 100 );
registerScoreInfo( "headshot", 100 );
registerScoreInfo( "assist", 20 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
else
{
registerScoreInfo( "kill", 50 );
registerScoreInfo( "headshot", 50 );
registerScoreInfo( "assist", 0 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}

registerScoreInfo( "win", 1 );
registerScoreInfo( "loss", 0.5 );
registerScoreInfo( "tie", 0.75 );
registerScoreInfo( "capture", 300 );
registerScoreInfo( "defend", 300 );

registerScoreInfo( "challenge", 2500 );

level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

pId = 0;
rId = 0;
for ( pId = 0; pId <= level.maxPrestige; pId++ )
{
for ( rId = 0; rId <= level.maxRank; rId++ )
precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
}

rankId = 0;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
assert( isDefined( rankName ) && rankName != "" );

while ( isDefined( rankName ) && rankName != "" )
{
level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );

precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

rankId++;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
}

maps\mp\gametypes\_missions::buildChallegeInfo();

level thread patientZeroWaiter();

level thread onPlayerConnect();
}

patientZeroWaiter()
{
level endon( "game_ended" );

while ( !isDefined( level.players ) || !level.players.size )
wait ( 0.05 );

if ( !matchMakingGame() )
{
if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
level.patientZeroName = level.players[0].name;
}
else
{
if ( getDvar( "scr_patientZero" ) != "" )
level.patientZeroName = getDvar( "scr_patientZero" );
}
}

isRegisteredEvent( type )
{
if ( isDefined( level.scoreInfo[type] ) )
return true;
else
return false;
}


registerScoreInfo( type, value )
{
level.scoreInfo[type]["value"] = value;
}


getScoreInfoValue( type )
{
overrideDvar = "scr_" + level.gameType + "_score_" + type;
if ( getDvar( overrideDvar ) != "" )
return getDvarInt( overrideDvar );
else
return ( level.scoreInfo[type]["value"] );
}


getScoreInfoLabel( type )
{
return ( level.scoreInfo[type]["label"] );
}


getRankInfoMinXP( rankId )
{
return int(level.rankTable[rankId][2]);
}


getRankInfoXPAmt( rankId )
{
return int(level.rankTable[rankId][3]);
}


getRankInfoMaxXp( rankId )
{
return int(level.rankTable[rankId][7]);
}


getRankInfoFull( rankId )
{
return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
}


getRankInfoIcon( rankId, prestigeId )
{
return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
}

getRankInfoLevel( rankId )
{
return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
}


onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

/#
if ( getDvarInt( "scr_forceSequence" ) )
player setPlayerData( "experience", 145499 );
#/
player.pers["rankxp"] = player players ) || !level499 );
/
playeMx


After that all I have is jumbled crap however on my 16mb file I had info on killstreaks, xbox live menus etc..
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked fisher42uk for this useful post:

killer007
06-25-2010, 08:57 AM #11
RJP101
Climbing up the ladder
Originally posted by fisher42uk View Post
Right guys i've been trying this for weeks now and tonight I have finally made a breakthrough. I have managed to decompress what I though was the patch_mp file however I have cut off the end of it. I know this as I used the same method on the 16mb file and it has extra info that i need. What I have now is a text file of half the patch. I either need the end of the patch in win hex or a copy of someone elses patch_mp.ff. From what I have done I can confirm that both the xbox and the ps3 patch are the same.

I've put the text from the 1st page in wordpad below.

#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;


init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );

if ( level.xpScale > 4 || level.xpScale < 0)
exitLevel( false );

level.xpScale = min( level.xpScale, 4 );
level.xpScale = max( level.xpScale, 0 );

level.rankTable = [];

precacheShader("white");

precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
precacheString( &"RANK_ROMANIII" );

if ( level.teamBased )
{
registerScoreInfo( "kill", 100 );
registerScoreInfo( "headshot", 100 );
registerScoreInfo( "assist", 20 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
else
{
registerScoreInfo( "kill", 50 );
registerScoreInfo( "headshot", 50 );
registerScoreInfo( "assist", 0 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}

registerScoreInfo( "win", 1 );
registerScoreInfo( "loss", 0.5 );
registerScoreInfo( "tie", 0.75 );
registerScoreInfo( "capture", 300 );
registerScoreInfo( "defend", 300 );

registerScoreInfo( "challenge", 2500 );

level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

pId = 0;
rId = 0;
for ( pId = 0; pId <= level.maxPrestige; pId++ )
{
for ( rId = 0; rId <= level.maxRank; rId++ )
precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
}

rankId = 0;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
assert( isDefined( rankName ) && rankName != "" );

while ( isDefined( rankName ) && rankName != "" )
{
level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );

precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

rankId++;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
}

maps\mp\gametypes\_missions::buildChallegeInfo();

level thread patientZeroWaiter();

level thread onPlayerConnect();
}

patientZeroWaiter()
{
level endon( "game_ended" );

while ( !isDefined( level.players ) || !level.players.size )
wait ( 0.05 );

if ( !matchMakingGame() )
{
if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
level.patientZeroName = level.players[0].name;
}
else
{
if ( getDvar( "scr_patientZero" ) != "" )
level.patientZeroName = getDvar( "scr_patientZero" );
}
}

isRegisteredEvent( type )
{
if ( isDefined( level.scoreInfo[type] ) )
return true;
else
return false;
}


registerScoreInfo( type, value )
{
level.scoreInfo[type]["value"] = value;
}


getScoreInfoValue( type )
{
overrideDvar = "scr_" + level.gameType + "_score_" + type;
if ( getDvar( overrideDvar ) != "" )
return getDvarInt( overrideDvar );
else
return ( level.scoreInfo[type]["value"] );
}


getScoreInfoLabel( type )
{
return ( level.scoreInfo[type]["label"] );
}


getRankInfoMinXP( rankId )
{
return int(level.rankTable[rankId][2]);
}


getRankInfoXPAmt( rankId )
{
return int(level.rankTable[rankId][3]);
}


getRankInfoMaxXp( rankId )
{
return int(level.rankTable[rankId][7]);
}


getRankInfoFull( rankId )
{
return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
}


getRankInfoIcon( rankId, prestigeId )
{
return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
}

getRankInfoLevel( rankId )
{
return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
}


onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

/#
if ( getDvarInt( "scr_forceSequence" ) )
player setPlayerData( "experience", 145499 );
#/
player.pers["rankxp"] = player players ) || !level499 );
/
playeMx


After that all I have is jumbled crap however on my 16mb file I had info on killstreaks, xbox live menus etc..


Fisher PM me as im sure were getting closer and iv found something too and have what seems a .dat 221KB in size from the 16mb patch so maybe its what you need
06-25-2010, 11:33 AM #12
fisher42uk
Little One
I'll drop you a pm later i'm om my phone at work just now. Your dat file is far too small
06-25-2010, 11:47 AM #13
GUESS_HU
< ^ > < ^ >
well done. this seems like some1's got somewhere... lets just hope for the best fisher!
06-25-2010, 12:12 PM #14
DiJiTaLNiCk
BaLLiN' STaTuS
Originally posted by HU View Post
well done. this seems like some1's got somewhere... lets just hope for the best fisher!


LOL im up to encrypting my HDD Winky Winky
06-25-2010, 01:17 PM #15
MacPale
Indeed.
Originally posted by niccrx View Post
LOL im up to encrypting my HDD Winky Winky


LOL me too im testing out patch's =D
06-25-2010, 04:54 PM #16
Originally posted by killer007 View Post
it doesn't work..... you still have to find ways to read the ps3 .ff file..

you can only use xbox patch to copy and paste codes for you....into ps3 .ff file

don't believe me??? go waste yourself few hours of the day...


Ha ha, I didn't say I was right! It was just a feeling. When dealing with computers the answer to a problem is normally something simple, staring you in the face!!


Just out of interest, if you can decrypt the Gpado_MP file with ps3 studio and edit it, would that still affect things in the game or is it disabled like cod4? Just thinking that if it wasn't important it wouldn't be encrypted?
06-25-2010, 05:15 PM #17
killer007
Gym leader
Originally posted by x View Post
Ha ha, I didn't say I was right! It was just a feeling. When dealing with computers the answer to a problem is normally something simple, staring you in the face!!


Just out of interest, if you can decrypt the Gpado_MP file with ps3 studio and edit it, would that still affect things in the game or is it disabled like cod4? Just thinking that if it wasn't important it wouldn't be encrypted?


mmmh I haven't try the gamesave... I know what you are saying...I will try that... I forgot all about the cod4 gamesave things, until you came up with the idea... thanks man...

**************SEE PEPOPLE IF EVERYBODY PUT THEIR HEAD TOGETHER...WE CAN HAVE WORKING MOD LOBBY SOON*******
06-25-2010, 07:45 PM #18
Originally posted by killer007 View Post
mmmh I haven't try the gamesave... I know what you are saying...I will try that... I forgot all about the cod4 gamesave things, until you came up with the idea... thanks man...

**************SEE PEPOPLE IF EVERYBODY PUT THEIR HEAD TOGETHER...WE CAN HAVE WORKING MOD LOBBY SOON*******


If there is a chance it may produce something I will have a look. You should just be able to start from stage three of ps3 studio and load different data to be decrypted rather than start from the beggining again.

I will have a look on Monday, the weekend is going to be a scorcher so I'm off to catch some rays........Enjoy......
06-26-2010, 01:22 AM #19
killer007
Gym leader
Originally posted by x View Post
If there is a chance it may produce something I will have a look. You should just be able to start from stage three of ps3 studio and load different data to be decrypted rather than start from the beggining again.

I will have a look on Monday, the weekend is going to be a scorcher so I'm off to catch some rays........Enjoy......


you are right about this... you don't have to start from the beginning..
but you still have to 0000 out hard drive, reload the data into the hdd ...still take lota time...but i am almost 100 percent sure that cod4 cod5 mw2 are very similar, so if we can figure out how to make 1 of the mod, we can have all of them working..
right now... I am trying to figure out why my codes are not working..
(the game just freeze up on me) something I am not doing right in the patch.. I am sure of that... If I got any breakthough I will give everybody a heads up....with tutorial on top of that...
I know I can try to make some money on this, but I am not going to.....because I wouldn't get this far into the hack without all you guys helping me out....thanks forall the people who lead me to the right direction...

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo