QUOTE(Mr_Mooo_Cow(U) @ Jun 2 2006, 06:21 PM)
well there is a way to get most of them... I had a more updated list but I haven't been the most active person on sc so I probably lost it. For the majority of the offsets the patch simply 'pushed' the table rather than "scrambling" them. aka old offset + offset created by patch = new offset. so go find where a offset used to be and where it is, add that difference to any other you want and most likely you will have calculated the new offset without searching for it again.
[right][snapback]498043[/snapback][/right]
Erm, I'm pretty sure I've already found them...
My problem currently is using MemCalc to convert those into conditions...
The "Advanced" mode seems to require 3 values...
One for the "Memory Offset (Hex Value)", which I assume is simply the memory adress...
one for the "Value Length", which i assume is for how many values you want to edit (say, 006650AE-006650AF would be a length of 2 values)...
The 3rd, is "Object ID", which I can't figure out what that refers to... providing different object IDs results in considerabely different numbers...
Further, logically, I wouldn't imagine there should be another variable at work if one knows which mem address he's looking to edit =/
Btw, on the same note, it seems like the mem address alternates between 11 lines in sequence, not based on the position on which the line happens to be on the screen, but simply each message sent takes on the "next" mem address, as it cycles through 11 lines...
e.g. message 1, regardless of order on screen, will go on mem adress X, message 2, regardless of order on screen, mem adress X+Y, message 3, mem adress X+2Y etc... In this case, i'd imagine 1 message would pop up on different mem adresses for different players based on private messages they may have recieved beforehand, which could result in a possible server split...
If I make 11 triggers with 11 identical conditions but with each refering to the "next" line for the mem address, and I also keep the actions the same, would that cause a server split?
Basically, if different triggers run for different people, but they all run at the same time and generate identical results, would the different systems recognize each other desyncing or would it keep going as normal?
ADDITION:
QUOTE(DT_Battlekruser @ Jun 3 2006, 01:08 AM)
"Object ID" is the raw ID of whatever you're editing. If you're reading Unit Properties, then it is the Unit ID of the unit you are reading (Terran Marine is 0).
If you're reading current HP, Object ID is the LocalID of the unit.
If you're readin something that only occurs once, the Object ID is 0.
[right][snapback]498279[/snapback][/right]
Ah, you replied just as I was replying...
So, just to humour me, I'd appreciate it if you could confirm what I'm doing as correct (or incorrect heh)...
According to ArtMoney, mem address 006650AE is the first letter of any message I send under the nickname ReaL2gRanD.
Say that for the time being, just to start myself off and making sure I'm getting somewhere, I just want to test for that particular letter, and let's say I'm looking to test for the letter 'k' in that position...
So, I go into MemCalc, punch 006650AE into the Memory Offset (Hex Value), Set Value Length to 1 (as I only want to test for one value), and Object ID to 0...
I get: "To achieve this offset, use Unit ID 28801 with player 3 on byte no 3 "
I go back to create an "action" based on this, for the "add value" I punch in 107 as that is the value of a 'k' in that particular mem adress, and get:
SetDeaths(P3,Add,7012352,28801);
At this point, i go into SF, and as a condition, I set:
Deaths(P3,AtLeast, 7012352, 28801);
Now, granted, I should probably also set a cap on that depending on the other possible letters, but thats the gist of it correct?
Going through that, I found what a previous error of mine was... I'll be testing the above now
Update: Erm, no dice... doesn't go through... did I miss something? =/