Making editors for cricket games

I'll sure be able to help you, but what I'm afraid of is that you might not know some of the techniques which I use which might be a bit complicated. Moreover, since you know absolutely nothing about programming, I would suggest you try out the first 1-2 programs listed in this thread.

I can't be making an editor alongside you, what I can do is teach you. A tutorial would be difficult to whip up, involves a hell lot of concepts. I firstly need to know what all do you know yet about memory editing and stuff.

Cheers. :)
 
well if you're going to teach me, instead of me feeding you information and the sort of thing I'd like, then it's not a project that I'll really be able to take on for about a month, as I'm currently quite busy. but then...sure
 
Its not going to take a month. Well that's exactly what I said, you have to ask me what you want to know and I'll tell you.

I'll give you the basic syntax for doing memory programming in vb.net, how to do it etc. But I need to know if you already know some basic concepts about memory editing, like what are addresses, values, etc.?
 
by it's not going to take a month, do you mean quicker or longer?

I think I know a little bit about addresses and values, but not a whole lot actually
 
If the addresses/pointers are static then none of the advanced and complicated methods will be required. As you have been able to edit it using ArtMoney, I suspect they are static. You would just need to learn basic programming in your choice of language and get acquainted with the memory reading/editing routines.
 
If the addresses/pointers are static then none of the advanced and complicated methods will be required. As you have been able to edit it using ArtMoney, I suspect they are static. You would just need to learn basic programming in your choice of language and get acquainted with the memory reading/editing routines.
Exactly, which is why I wanted to know how much he basically knows about static or dynamic addresses.

I don't have ICC 07 so I don't know whether they are static. If they are static then it would be a piece of cake, you would just need to put in values in the vb.net class I'll provide and you should be good to go.

To check if they're static, try checking on your system and then on someone else's or some other system too, if possible.
 
I've done that kshitiz - definitely static addresses/pointers. I do know a little actually, as I do a C++ course for a module at university, so none of this is entirely alien to me. but at the same time, it's not quite the knowledge required really

Cottager added 2 Minutes and 20 Seconds later...

oh actually, maybe not on rethink. no. I was being a bit foolish there. batting ability for example can be found on row 4, column 4 of a player's code, but I think the beginning of a player code's address might well move about. currently it's findable by inputting the player's ID (based around their birth date) and then editing from there
 
Yeah, it may move around, you need to test for that. I would be glad if you could give me a basic layout of what you want the editor to be, how you have edited till now and what kind of memory structure it is, then I can carry on...
 
ok. I guess the lay out would be that you'd open the editor, and it would ask you what you wanted to edit - money, coaching, physio or players. but if the first three just make things more complicated, then I'm not really fussed about them. ok so then if you clicked players, it would then come up with 4 boxes, where you can input the birth date of the player. as ID's are linked to birth dates, and birth dates aren't unique, this could well come up with more than one player. and if it did, you'd just have to change the birth date of one and see if it affects the player that you wanted it to. if not, change it back and try the next player, and continue to do this until it affected the player that you wanted it to, if you know what I mean. most of the time it does just come up with one player though. anyway, then you'd click on the player that you did want to edit, and it would come up with a number of options:

nationality - maybe drop down list with the list of all the possible nations?
batting ability - probably a slider between two specific values
bowling ability - same
player classification - probably drop down list with the possible classifications - opener, batter, all rounder etc
keeping ability - yes/no slider
bowling style - drop down box with the list of possibles
left hand/right hand - yes/no slider
batting preferences - there's four different things that are in preferences, each with five potential values. so maybe four sliders
injuries - whatever you want here really

I am able to edit things like championship stats, but maybe to start with nobody's really that fussed about editing that sort of thing.

currently the way I have edited it is using artmoney, with the game and save file open. I select icc in the process, then search for the 4 integer ID of the player, and then right click on the 4th integer, press memory edit and then all the required values are in there, although it's fairly complex inside there, and quite slow also

not sure what to say about memory structure. what are the possible answers to that?
 
They are definitely static pointers although they move when you advances in the game otherwise they remain motion less.
Cottager you just have to tell Kshitiz where the values for particular function lies (like batting ability etc) and he hopefully he will generalize the whole procedure.
 
If the address changes each time you run the game, dynamic memory allocation is being used. You'll have to find the address of the pointer which allocates the memory. Here's a tutorial that explains how to do it using ArtMoney.
 
Let's get started:
Artmoney 7.08 DMA Tutorial:
Step 01: Launch UT and use Artmoney to find the Address where health is stored. In my case it was at 0456CB1C. If you don't know how to do this then read the Tutorial above to find addresses where a paticular value is stored.
Step 02: Add the address to the right table by selecting it in the left table then click the red arrow and then set its description to Health.
Step 03: Right click on health and then select More > Save this address / pointer.
Step 04: Right click on the Health in the right table and the select More > Search > Search the pointer to begining of memory block and click Ok in the dialog that appears.
Step 05: Clear the right table then add all the addresses from the left table.
Step 06: Select all the addresses then Right click and Select More > The Commands with pointers > Set pointers to the saving address.
Step 07: Restart the game, don't restart ArtMoney.
Step 08: Read the health value from the game.
Step 09: Right click on the right table then select More > Set Filter, enter the health value that you read in the game and then click OK.
Step 10: Repeat steps 07 to 09 till the amount of pointers remains the same.
Step 11: To find the pointer address,Right click on the cell the select Edit then look for the value straight to pointer label. That's the address of the pointer similarily find all the pointers of the Health address.In my case I ended up with seven pointers.

ok, so I was trying to make this all relevant to icc, so here's what I did, and here's what I know.

I opened ICC and artmoney. I searched for ricky ponting's 4 integer code. he came up. I noted his address. just for posterity, I closed the game, then reloaded the same save and searched for it again, and this time the address was different. so whilst row 4 column 4 will always be batting ability, his address doesn't stay the same, so this is...not static?

anyway, so I tried to go through the steps above. I searched for him. then brought them across. then right clicked on the fourth integer (which is usually where I edit the stuff that I can edit). looking back, was this the right thing to do? the memory editing I do edits the bits that come directly after this value (64), that would have other addresses. I just go through the 64 because that's that's the easiest way to edit them. so did I make a mistake going through the steps? anyway, after that I went through the steps and got to number 9, but because it wasnt a changing value like health on Unreal tournament, I just entered 64 and this almost certainly wasn't right. so I got a bit stuck.

but as you can see, I'm clearly willing to learn. bit of a kick in the right direction might well be necessary though
 
Let's get started:
Artmoney 7.08 DMA Tutorial:
Step 01: Launch UT and use Artmoney to find the Address where health is stored. In my case it was at 0456CB1C. If you don't know how to do this then read the Tutorial above to find addresses where a paticular value is stored.
Step 02: Add the address to the right table by selecting it in the left table then click the red arrow and then set its description to Health.
Step 03: Right click on health and then select More > Save this address / pointer.
Step 04: Right click on the Health in the right table and the select More > Search > Search the pointer to begining of memory block and click Ok in the dialog that appears.
Step 05: Clear the right table then add all the addresses from the left table.
Step 06: Select all the addresses then Right click and Select More > The Commands with pointers > Set pointers to the saving address.
Step 07: Restart the game, don't restart ArtMoney.
Step 08: Read the health value from the game.
Step 09: Right click on the right table then select More > Set Filter, enter the health value that you read in the game and then click OK.
Step 10: Repeat steps 07 to 09 till the amount of pointers remains the same.
Step 11: To find the pointer address,Right click on the cell the select Edit then look for the value straight to pointer label. That's the address of the pointer similarily find all the pointers of the Health address.In my case I ended up with seven pointers.

ok, so I was trying to make this all relevant to icc, so here's what I did, and here's what I know.

I opened ICC and artmoney. I searched for ricky ponting's 4 integer code. he came up. I noted his address. just for posterity, I closed the game, then reloaded the same save and searched for it again, and this time the address was different. so whilst row 4 column 4 will always be batting ability, his address doesn't stay the same, so this is...not static?

Where it is displayed in ArtMoney doesn't matter. The address keeps changing which means that memory is dynamically allocated. Hence, you get a different memory address each time.
The batting ability variable is a part of the big data structure which stores all the data related to a player. All the variables in that data structure will always remain in the same position with respect to one another, but the data structure itself can be considered as one big variable. And the location of this variable changes each time. Hope this makes sense.

anyway, so I tried to go through the steps above. I searched for him. then brought them across. then right clicked on the fourth integer (which is usually where I edit the stuff that I can edit). looking back, was this the right thing to do? the memory editing I do edits the bits that come directly after this value (64), that would have other addresses. I just go through the 64 because that's that's the easiest way to edit them. so did I make a mistake going through the steps? anyway, after that I went through the steps and got to number 9, but because it wasnt a changing value like health on Unreal tournament, I just entered 64 and this almost certainly wasn't right. so I got a bit stuck.

but as you can see, I'm clearly willing to learn. bit of a kick in the right direction might well be necessary though.

You'll need to search for something other than player id because its a constant value. Is there any way you can change a particular value from within the game? You need a value like runs or money which change frequently like health.
 

Users who are viewing this thread

Top