Player Editing Tutorial

Hmm, if they're getting away with it then you probably can't stop them (unless they're banned from the server or something).

Fe ? added 23 Minutes and 12 Seconds later...

Need a bit of help here (Anarchy, especially). Can you come up with a formula to convert the codes into a DOB? I've done some messing around with pointers and basically the latest version of the editor (if it ever gets released) would be much much quicker (no new features planned yet though). You simply load your player in the game, and then click the load button in the editor and everything comes up. No more ten-second waiting times or anything. The problem is though, because I'm reading directly from memory, I am only getting the codes and not the actual DOB itself. Unless we can convert the codes to a date, I'll have to remove that bit of functionality from the editor.

So I basically need someone to come up with a formula to convert the codes into a date. (Anarchy, I'd really appreciate it if you could be of some great help here, seeing that you did make the excel file to begin with.)
 
Just added the latest version. I'm not too sure if it will work as I'm using pointers which could be a little tricky. I've tested on a few players, but not thoroughly. To use this version, load your game then load your player profile. Then click the Load button in the editor. You must load your player's profile before loading in the editor (it hasn't crashed yet when I've done otherwise, but it might just).

!!! Note !!!: I don't know how to convert the codes into a DOB, so if you want to edit someone make sure and change the date at the top, his DOB will change to whatever is there. Let me know when something goes wrong.
 

Attachments

  • ICC 2008 Stuff.zip
    66.8 KB · Views: 121
The problem with changing codes into dob is that with the first number, as the 3rd number increases, the possible first numbers increase, if you get what I mean. So you would have to make provisions for when the code is between certain numbers.

EDIT: This is sooooo much easier to use, thank you heaps :D It appears to work perfectly, I tested it on my whole team and they all came up in no time at all. Converting the birthdate will be the hard part. You could work it based on how many days a particular birth date is away from something. But that may be hard to work out in an editor.
 
Last edited:
The problem with changing codes into dob is that with the first number, as the 3rd number increases, the possible first numbers increase, if you get what I mean. So you would have to make provisions for when the code is between certain numbers.

EDIT: This is sooooo much easier to use, thank you heaps. It appears to work perfectly, I tested it on my whole team and they all came up in no time at all. Converting the birthdate will be the hard part. You could work it based on how many days a particular birth date is away from something. But that may be hard to work out in an editor.

Good to know! :thup Basically it's supposed to directly read the memory locations instead of scanning the entire memory first. This is why it is so much faster.
 
Here's the error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at WindowsFormsApplication1.ICCTrainer2008.ICCTrainer2008_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ICC 2008 Editor
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Xplosiv/International%20Cricket%20Captain%202008/Editor/ICC%202008%20Editor%20%5BNew%5D.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 
I've got the formula :) Just wait I'll post it in a bit

Edit:

Let x y z and a equal the four numbers.

When 192<z<207 (inclusive, so when z is equal to or inbetween those numbers), and a=64, the number of days away from 5/6/1922 is equal to:
((z-191) times 2y) plus x/128

When 208<z<223 (inclusive), and a=64, the number of days away from 8/11/1944 is equal to:
((z-207) times 4y) plus x/64

When 224<z<239 (inclusive), and a=64, the number of days away from 17/9/1989 is equal to:
((z-223) times 8y) plus x/32

When 240<z<255 (inclusive), and a=64 the number of days away from 5/6/2079 is equal to:
((z-239) times 16y) plus x/16

I'm pretty sure that's correct. There are more possible dates, but that goes up to 2258 which I think will be enough. You just need to be able to work out the birthdate based on days away from those dates. I dunno if that's possible though...
 
Last edited:
@ aus5892: Did you load the game before the editor? Could you tell me the exact steps you took to get this error?

@ Chewie: [waiting...] Take your time though, I probably won't be able to update anything for a couple hours.
 
@ aus5892: Did you load the game before the editor? Could you tell me the exact steps you took to get this error?

@ Chewie: [waiting...] Take your time though, I probably won't be able to update anything for a couple hours.
Just extracted it and opened it. That's it. I have played the game before, yeah, does that matter? It wasn't open when I opened the editor.
 
That's your problem, the game needs to be open when you open the editor, otherwise the editor cannot find the cricket.exe file and reports an error.
 
Just extracted it and opened it. That's it. I have played the game before, yeah, does that matter? It wasn't open when I opened the editor.

Slight misunderstanding, i actually meant to ask if the game was loaded before the editor. The game must be loaded before you start the editor. Try it again and let me know if it works (it should work).
 
Fe, my formula is in my edited post above. Can you check to see if it works?

I only tried two values and it appeared to work
 
ok i'll have a look

Fe ? added 2 Minutes and 2 Seconds later...

I see you've included up to 5/6/1922. Which might pose another problem. Now I need to convert from 5/6/1922 to codes? Could you do that for me as well please? The formula I'm using right now only works from 14/4/1964.
 
Well you don't have to include the top most range because no one fits into there. For the second one:

For dates from 08-11-1944 to 16-09-1989
Code 1 = (numDays % 4) * 64
Code 2 = (numDays / 4) % 256
Code 3 = numDays / 1024 + 208

where numDays is the difference in days between the DOB and the lowest date (i.e. 08-11-1944).

% returns the remainder after division. (5 % 2 = 1).
/ returns the whole number (what's it called?) after division (5 / 2 = 2).

So 08/11/1944 = 0 0 208 64
 
ok great, thanks alot.

Fe ? added 9 Minutes and 42 Seconds later...

Doesn't seem to be working here. Dunno if I entered the formula incorrectly. Work out the number of days for me using 128 44 221 64. It's supposed to correspond to 15/10/1981. The number of days I got is 2466. Let me know what you get.
 
I got 1058. I think you used the wrong formula? What steps did you take?
 

Users who are viewing this thread

Top