There you go.. this is for GTA IV on xbox 360 (rage engine version is the same as RDR, so pretty much the same code)
(also for title ID 0x545407F2)
unsigned int CreateHash(char* Native)
{
unsigned int hash, i;
for (hash = i = 0; i < strlen(Native); ++i)
{
if (Native[i] >=...
Oh Nice. I made a project for IV too on PS3 some years ago.
I could port it to Xbox if Someone wants it.
It lets u hook a native by native name, and invoke natives by native name.
edit: what i mean is you can just use the hashtable the game creates.
it looks like this on PS3
unsigned int...
Weird, calling STAT_SET_FLOAT directly doesnt work anymore indeed.. i changed it, works fine now i'll update the original post to 1.8.1, just download that, and you'll be ok
No. Single player stats start with SP0 etc. This is multiplayer. The screenshot is me reading it when driving quad on my 2nd MP character.
Ill try setting it when i get home.
works fine here. i tried a few. (in using the second char for testing so mp1 not mp0)
i drove around a bit on a quad bike (see it updates realtime)
U probably using the stat names wrong (MMPLY in stead of MP0 or MP1 to read or write it).
STAT_SET_INT won't let you set more than 2147483647 (MAX_INT), if you go over, it goes negative.
The playing time is in ms so 25 days playing time results in 25 * 24 * 60 * 60 *1000 = 2160000000 which is bigger than MAX_INT, thats why it goes negative.
I can't fix that with using a unsigned...
Well, seems like i used a signed integer somewhere where i shouldve used an unsigned uint64 it seems. Ill have a look tomorrow.
(Btw i dont see why it should be more than like 3 days)
(Setting it to 26 days means saying you spent 26x24 hours = 624 hours playing GTA Online :p not needed afaik)