Why ?
Memory - easy to protect agains memory hooks, and detect when you reading from it, diffrent adress in memory in every version of l2, and on every system. Too many variables. I tested it and its a shity way.
Packets - now any good anti-bot can detect when you hook recv function or ingame function. All because of l2walker, packets changes in every chronicle a bit + lot of work to decrypt protocol...
Inject DLL & Hook network events - Im working on it, but in gracia epilogue ncsoft changed about of 80% of api, and new changes comes in every next chronicle. Need to work agan, easy to protect agains some of those hooks. Antibots dont doing it now but they will start checking for hooks on OnUser, OnHPUdate.. when they realize that they can be easly used.
So only reading from screen left:
+ No easy way to detect it, you can making screenshot and it will work in same way.
+ No big changes in interface in chronicles
+ Works for 95% of users
+ Don't integrate with game, you can restart program when you want or just turn it off.
+ Don't depend on server
- Not always accurate results
- Low count of features
I used this program on BFDe, Dex, Celes and trust me, there is no prefect method. If you want full bot go for L2Net, L2Walker. I'm always open for new ideas...
In short: Don't like ? Don't use