Page 2 of 2

Posted: Sat Jul 10, 2010 1:12 pm
by TheCatt
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.

Posted: Sat Jul 10, 2010 6:12 pm
by TheCatt
OK, while doing other things I had a brainstorm, that appears to have worked.

Booyah. OK, so now I can make my own requests do whatever I want.

Posted: Sun Jul 11, 2010 9:34 pm
by TheCatt
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."

Posted: Mon Jul 12, 2010 9:35 pm
by TheCatt
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

Posted: Tue Jul 13, 2010 7:59 pm
by TheCatt
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

Posted: Tue Jul 13, 2010 8:14 pm
by Cakedaddy
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".

Posted: Tue Jul 13, 2010 9:02 pm
by TheCatt
I do the current timeouts:
4 seconds when moving cities
1 second when building a moonstone.

Since you can just mash the build moonstone button, that's definitely slower than the client can send.

Posted: Thu Jul 15, 2010 9:06 pm
by TheCatt
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.