Yes. I believe you are correct.
I have written down 8 unique colors.Wil wrote: ↑Wed Mar 01, 2023 6:44 amtilepic 44 10 2538
tilepichue 50 10 2538 844
And then the same here, x, y coordinates (probably top left), a pic number from art.mul (2538=0x9ea, a golden dot with a black border) and an optional UO hue number that you can check in the hue room and translate to either dark (0) or bright (1). Default hue is yellow/gold, so I assume plain tilepic would be a 1.
Good: 842, 843, 844
Bad: 1501,2007,2107,2108,2109
Its saying put the basket at 0, 0 relative to the top left corner of the gump. Where that is on screen is a different matter.
100% yes, in fact this was my plan if I ever decided to do this, since it would be way too tedious to test out on a normal hive. You only get 22 tests per day. The biggest problem is that making gumps in Orion is tedious. You can only really test functionality or use an example, since there is no documentation or tutorials. In this case probably easier, since you can see all of the gump information.Wil wrote: ↑Wed Mar 01, 2023 6:44 amCan you take the data you collected and re-inject it to the client via a script so that you can paint your own gump? If yes, then you'd be able to adjust the numbers and see how the gump changes as a result. That'd make it real easy to try out techniques and equations until your script picks the right place to click.
Yeah, so I figured I would use a sparse 2D array. The 2D array would have the corresponding, good or bad color (0 - filled, 1 - not filled). The reason for the sparse, would be to make the columns have the same number of cells. Makes it easier to tell if a cell is neighboring or not without some linked list or other additional complexities. The have a dictionary linking each cell to a button. Use BFS to find the 2 largest groups of 1s. Find the center of the cluster. Click the corresponding button. If it fails, save some information to a log file and wait for the user to click the hive manually.Wil wrote: ↑Wed Mar 01, 2023 6:44 amIf they are x,y positions then you could just do the opposite of my OpenEUO algorithm: instead of reading and shrinking the bitmap, create your own bitmap, fill it with 1's and then paint a blotch of 0 centered at each 0 hued tile. Then it's the same algorithm I did: find the biggest contiguous 0 spot in the bitmap.
I never looked into the .muls so this may be a feasible solution. I used the text and command lists.Wil wrote: ↑Wed Mar 01, 2023 6:44 amtilepic 190 71 3850
This is a poison potion with some empty space to either side (art.mul index 3850)
text 190 71 1153 1
should mean gump text index 1 (the number "1") hue 1153 (ice white) at positon 190,71 (poison potions already applied)
text 81 71 52 3
should mean text index 3 (a hyphen "-") hue 52 (yellow) at position 81.71 (infestation, aka needs poison)
text 116 146 92 10
should mean text index 10 ("Thriving") hue 92 (blue) at position 116,146
I believe this was the way that I got the potion counts.
Code: Select all
function getPotionCounts(gump) {
var textList = gump.CommandList();
var numList = [];
for (var i = 0; i < textList.length; i++) {
if (Orion.Contains(textList[i], 'text') && Orion.Contains(textList[i], '190')) {
var textDetails = textList[i].split(' ');
numList.push(textDetails[textDetails.length - 2]);
}
}
var uniqueList = gump.TextList();
numList[0] = uniqueList[0];
return numList;
}
I have attached the with the findings (2 .txts in a zip). The date shows 2021, so this was a long time ago, as I said before. I don't remember a ton about them if people are wondering what the heck they are saying.
If I recall correctly:
beefindings - The visible is the overlaying picture. The counts are how many in a row with the first tiles x, y, and width. The actual is the underlaying button with the same format.
No idea what the number at the bottom is.
Potion mapping - the first column is the actual applied potions and the second part is what the command list shows. I did it manually for a bit and then I started to see some patterns and tried to predict what it would be with certain scenarios.
Probably a little bit of an information dump, but hey. Why not. I figured at least Wil would appreciate it.