Well, I got it to bulk delete some reports today. But the method wasn't what I was hoping for.
I was hoping to inject/create a new request, but that hasn't worked for some reason. So instead I overwrote a poll request that was being sent by the browser. It works, but isn't exactly smooth.
Possible New Tool
Today I built 2 moonstones using the program I developed.
So I can build moonstones and delete reports. Small progress, but progress.
I also found out they do their math a funky way for resource tracking. Basically, they store a base time (in our case, 4/10/10 9:47am), and then use a seconds offset (like unix time, but I guess they wanted to work with smaller numbers?). But, they only update the system's record of resources when events happen, like building a moonstone, or accepting a trade, etc. Then they snapshot the time, and whenever the client asks for the # of RUs a city has, it says "Well, it had X at Y offset" and the GUI does the math.
So I have to replicate that math, but I'm almost there.
Once I get that smoothed out, I'm going to try "Navigation to another city."
So I can build moonstones and delete reports. Small progress, but progress.
I also found out they do their math a funky way for resource tracking. Basically, they store a base time (in our case, 4/10/10 9:47am), and then use a seconds offset (like unix time, but I guess they wanted to work with smaller numbers?). But, they only update the system's record of resources when events happen, like building a moonstone, or accepting a trade, etc. Then they snapshot the time, and whenever the client asks for the # of RUs a city has, it says "Well, it had X at Y offset" and the GUI does the math.
So I have to replicate that math, but I'm almost there.
Once I get that smoothed out, I'm going to try "Navigation to another city."
It's not me, it's someone else.
Hehe... today I wired up a routine that iterates through every city in order to collect all the RU and queue and production data.
I made a mistake in my timing algorithm to set a delay between each city... It was like a 1-second slideshow of all my cities.
At any rate, I can now iterate through cities to choose where I want it to go. The UI does update in reaction to the commands, but the in-game drop-down doesn't show what city you are on correctly.
Edited By TheCatt on 1278985332
I made a mistake in my timing algorithm to set a delay between each city... It was like a 1-second slideshow of all my cities.
At any rate, I can now iterate through cities to choose where I want it to go. The UI does update in reaction to the commands, but the in-game drop-down doesn't show what city you are on correctly.
Edited By TheCatt on 1278985332
It's not me, it's someone else.
Right now it's iterating through my cities and building moonstones for the ones I selected. (about 30)... It appeared to work OK. Lots of the moonstones didn't get built. Not sure why. But for several cities it went perfectly. I put a 1 second thread sleep between moonstone requests, i might try a larger one.
*EDIT* On further review, it was perfect. The data in the program didn't update quickly enough though, because the game wasn't sending the info back fast enough. But when I had the program rescan all cities, every one of the moonstones that could have been built was built.
Edited By TheCatt on 1279065814
*EDIT* On further review, it was perfect. The data in the program didn't update quickly enough though, because the game wasn't sending the info back fast enough. But when I had the program rescan all cities, every one of the moonstones that could have been built was built.
Edited By TheCatt on 1279065814
It's not me, it's someone else.
Careful with the speed. One of the rules for extensions is that they tool does not send data/requests faster than the actual client does. If you are sending commands too fast, you might get flagged. I say flagged, because I don't know the consequences of building a violating tool.
Ya, I said "a violating tool".
Ya, I said "a violating tool".
Made a breakthrough in how the city plots are done with IDs, which should make it easier to automate. Basically, each cell in the city has a unique ID. But, depending on whether it's a building, resource tile, or barren, it has 3 versions.
But they're all the exact same for every single city. So once I figure out all the possible values, then I'll have a way to access any cell in the city to program it.
then I just need to come up with model cities, queues, buildings, compariosn, yadda yadda yadda.
But they're all the exact same for every single city. So once I figure out all the possible values, then I'll have a way to access any cell in the city to program it.
then I just need to come up with model cities, queues, buildings, compariosn, yadda yadda yadda.
It's not me, it's someone else.