Lambda11 / let-me-fish

TERA-proxy module that mass-auto-fishes fishes, auto-crafts bait when out of bait, and auto-dismantles fish when inventory gets full
27 stars 22 forks source link

So it is dead? #104

Open andersonepk opened 3 years ago

andersonepk commented 3 years ago

Looks like no1 working on this, or may i m wrong?

GRAYgoose124 commented 3 years ago

It is trivial to fix and use with tera-proxy. From memory...use debug-logger to log all packets to get data and defs. Fix any bad or missing defs. If you pulled the latest tera proxy at time of my comment currently all opcodes are updated. However you're missing a few defs, don't use this mod's def's folder they're outdated. check which defs tera-proxy now includes for fishing defs in the protocol folder against this mods. and whatever it's missing copy from this mod, you will have to use debug loggger to fix the bad defs by looking at the hex data and counting the byte length and then guessing at the struct data. You only have to reconstruct one, I believe it is FISHING_MINIGAME.1

Also, the fishign pattern isn't complete. The simplest way to fix the fishing pattern is to copy the code from auto-fishing on the FISHING_CHARGE hook and properly set up any variables a.(I think you just move the where the contract is set out of it tbh, a few def changes). However it does not move items for dismantling i'm still debugging this issue. the server responds with a success even, and it's getting all the id's properly, it will even commit the contract if i put items in and doesn't catastrophically fail in most edge cases... So idk the complete solution yet, when i figure that out I'll request a patch but in the end you always have to decode the ops/fix the defs yourself. tera-proxy provides more fishing defs than it sued to but still not all (for a reason they don't want you fishing, you have to disable the tera proxy blacklist code to run this mod, simple enough.)

Point is, it's something like moving the mod to the mods folder, changing a few defs, max 10 lines of code changed + the addition of the code from autofishing, and the worse part that took me the longest to learn was exactly what the defs were doing since i did it without using the def spec(seriously read it, it would have made it easy). but all you're doing is trying to decode a sane struct from the data and the defs are what proxy uses to do this so you can add new event hooks with simple data access.