Hurray! I see a fishing bot coming back to life
Good luck Cellux!
ola.
I'm interested in getting back into botting scripts for Trove, but I need some help as I've hit a brick wall.
What I need help with:
Finding item IDs in slots.
I've done a solid 100+ hours of research as to how Trove may be throwing data into the slots.
Here's what I know, which may be of help in finding this info:
Trove uses a system called Iggy Game UI to use Flash/ActionScript 3.
Link: https://www.radgametools.com/iggy.htm
The actionscript in the swf files themselves (they are in the Trove folder) can be decompiled to show AS3 in clean and readable code using: https://www.free-decompiler.com/flash/
Perhaps editing the swf files to perhaps output some data to a variable?
Though, I can't seem to find any information in the files themselves in anything other than it's name. like, Items don't seem to have a number ID (like Maplestory for example).
The log in the bottom right corner which gets updated telling what items have been picked up (like if we could find the "current message" address, this would be another helpful thing) does get logged into memory, but gets thrown around randomly a lot.
Anyway, I'd be pretty keen to work with anyone that could help in finding this information. Could be fun (throw away them boots oh lawd).
If you have any further questions, flick me a PM.
Hurray! I see a fishing bot coming back to life
Good luck Cellux!
I do not know the answers to your questions, but I sincerely wish you good luck and success! It's great when people are so enthusiastic take up work.
You might want to sniff around the blueprints, it's possible they hold their ID data. I just know that once I messed around with item duping, the ingame console typed out the file name when it was reporting the error, and not any kind of ID.
It's possible that the items use their designated file names, but operating strings is way harder than integers.
You might want to consider another idea - RGB scanning. Basically, you would RGB scan a pattern every 10 seconds. Once it detects the pattern, it'd point the mouse to it, click and drag it out. One bot engine called Blue Eye Macro has the RGB pattern scan function. I'm sure that if you contact Gigus (the creator), he could give you some tips on making your own. Also, I'm pretty sure you could make a script just with Blue Eye Macro, but oh well, it's your choice. Good luck regardless.
Last edited by Milecar12; 06-07-2015 at 09:36 AM.
This is /me friend:
このメモが表示された場合、その後、このノートが通知する価値がないことに、注意することがで きます。
MY PC SPECS :
Intel i3 3225
AMD Radeon 4870 Vapor-x 1 GB
550W Power Supply
8 GB DDR3 RAM
I haven't looked into the Flash for more than a few minutes just now. The Flash doesn't necessarily have to even know an item ID if it's solely for UI. It might only receive enough info to display things like the icon, count, and tooltip. The setSlot function appears to only take info like name/count/border (rarity).
On the other end of poking memory rather than code, I made some slight progress. For reference, as of right now, you can do [[[[[base + 0x93ed24] + 0x9c] + 0x78] + 0xb0] + 0x58] to get the final inventory slot's count. The 0xb0 offset relates to the inventory slot number (45 slots, 0-44) * 4. 44 * 4 = 0xb0.
I looked at the data around the count as I swapped items around but it all seemed like junk besides the count itself and I guess a pointer at 0x40. If you swap two inventory items and observe the pointer value, it doesn't just swap but you'll notice some values recur. I guess it's pointing at some instance that gets recreated each time and you sometimes end up with the same address for the new objects.
If you look around the memory that 0x40 points to, you'll see some data does swap around as you swap items. That that location, 0x20 seems to be some kind of ID, but not an ID indicating what the item is. If you have two stacks of lures in your inventory when you log in, they're different IDs. If you split a stack of something, they oddly end up with the same ID. Some ID related to the item instance? The values all seem close to each other. If you restart, the values change.
If you look at 0x7c, it might be an ID for the item subtype. All my equipment seemed to have the same value, all my fish a different one, and my lures and boots another. If you restart, the values are consistent.
As a random guess, this might be an instance of a derived class that's something like Item (holding a category ID?) -> SubCategory (holding a more specific ID) -> SpecificType, in which case a more specific ID might be way down the line in the memory from 0x7c. I'll try looking further into the memory soon.
From when I was looking for item id's etc I cant say that I am certain but I believe that every time the game starts or a changing action related to an item (swapping slots etc) it saves the data to a new location. So its like you are trying to find a changing value thats directory is also changing, its really quite impossible. When there is a will there is a way however, just going about it the normal way will not work.
you can find slot item numbers but that's it. All the user Trove does is update a script made by Hahaitsjake, one of his versions had a check for the lure count and then only loop that many times. If no one has updated the script by next patch ill remove the boot dropping from my private one and release that
Zoglono, how can i contact you?
Could any of you give me some videos, something to learn how this things work(the bots and scipts, idk. what i would need to make my own bot)? i'd really like to learn, i got plenty of time if you would just lead me in the right direction.
Last edited by robert11arad; 06-09-2015 at 07:25 AM.
Hokay, it looks like the only real option available to us is via colour then mouse drag->drop.
Once I work out a lua library that can handle drag/drop, I'll get started on implementing something.
I'm rebuilding the FushBot I built awhile ago from scratch. Progress will be available on ******: https://******.com/Acen/FushBot
One of the issues I found is that sending log messages via the debug build into the lua scripting is that it wasn't very plyable.
I'm gonna rebuild using a custom form and we'll see how we go from there.
I am still pretty noob at Lua, so if you have any ideas throw it into the ****** issues, as well as any relevent pull requests. <3
Will start a topic once a basic bot is working.