Filter workaround for mBot arrow purchase problem

08/19/2017 17:04 sarkoplata#1
Hey guys,
So as you know the new servers are mostly all only ch. In these servers mbot cannot purchase arrow from Hotan Blacksmith. The reason is simple: mBot tries to buy arrows from the 5th tab. (acutally 6th tab becuase it is 0-indexed) Because on an original Hotan Blacksmith, there is also an EU Option at the Blacksmith:

[Only registered and activated users can see links. Click Here To Register...]

However if you edit your server to be CH Only, the EU option will be gone(everyone does this) and hence the arrow will be at 2nd tab (actually 3th tab because it is 0-indexed). But mbot will still try to buy it from the 5th tab. That's why it won't be able to get arrows.

There's a quick, dirty workaround I found about this, and tried it on a server and it works fine. This is not a execute-a-query/download-an-exe kind of fix, you have to add this piece of codes to your filter source.

So mbot goes to same coordinate to buy arrows. First we must make sure we detect it's going to be a arrow purchase so we don't fuck up any other purchase.

Declare a public bool, I called mine "InterfereNextArrowPurchase".
(I know im not parsing the coordinate correctly but who cares)
[Only registered and activated users can see links. Click Here To Register...]
If the character is moving to that exact coordinate, we know it will probably be an arrow purchase by mbot.
We reset our variable everytime a move packet is sent.

Now let's interfere that purhcase packet.
[Only registered and activated users can see links. Click Here To Register...]

So we got the client side done. This will be enough mbot to buy arrows correctly. However, the client still thinks it sends a buy packet for tab 5, however the result will come as 2. This will crash the client. That's why we also edit the 0xB034 result packet.

[Only registered and activated users can see links. Click Here To Register...]

And that's it. mBot can purchase arrows from hotan blacksmith with no problems now :)
08/20/2017 12:23 qoaway#2
isnt that easy just remove from client side shopping data and leave the server shopping tables
08/20/2017 14:21 sarkoplata#3
Quote:
Originally Posted by qoaway View Post
isnt that easy just remove from client side shopping data and leave the server shopping tables
doesn't work and even if it did 0xb034 would crash your client.
08/20/2017 14:57 qoaway#4
Quote:
Originally Posted by sarkoplata View Post
doesn't work and even if it did 0xb034 would crash your client.
than instead of "detecting" bot and arrow buying; correct the B034 packet. Still easier and less complex :) :)

[Only registered and activated users can see links. Click Here To Register...]
08/20/2017 18:08 sarkoplata#5
Quote:
Originally Posted by qoaway View Post
than instead of "detecting" bot and arrow buying; correct the B034 packet. Still easier and less complex :) :)

[Only registered and activated users can see links. Click Here To Register...]
Bot detection is just an extra precaution I have for myself, since I already have to detect it for some other stuff. This is still an easy fix, idc about making it less complex - this way I don't have to touch to database.

Lots of servers are telling their players to go buy arrows from Donwhang, they can't fix this. This may help them. ;)