• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 1.X+ Bot Allows Players to Essentially Steal from Shops

Garfelt

New Member
Joined
Feb 2, 2022
Messages
15
Reaction score
0
So this is a server breaking issue in my opinion. When you do a supply run with vbot and you don't have enough money it still gives the items. If you have enough for the entire transaction it will take it, but if you have even a little less it won't charge anything. The npc's trade using the normal trade window.
Any way to fix this server side?
 
It's all of them. It's through the normal trade window. So the npc is just calling the trade, not really doing anything.
 
Best option is to update the server to 1.4. If you are encountering exploits like this, what else is waiting in this outdated version?
 
That would be the best solution, but is there a way to do that without messing up all my npc's and everything else? I'm not too worried about exploits because it's just a small group of friends on my server, but this one can be easily triggered accidentally which is the main issue
 
Just tried that. A lot of npc's had syntax errors and didn't load in. I tested it anyway on one that did load and it still happened.

I found a solution that works for me. This let's the npc debit directly from your bank account. With this it doesn't allow the bot to buy items if there isn't enough gold in the account.

 
Last edited:
I saw this report before. Someone used some dumb custom NPC, that removed money, without checking if it was removed (engine returned of course 'false') and then give items. It was possible, when player spammed 'buy' button with high ping - it delayed change of 'Buy' button in client to gray (after removing money). It was also possible with bot, no money required, just send modified network packet.
It's not part of TFS 1.2.

Like:
Code:
doRemoveMoney(cid, cost)
doPlayerAddItem(cid, itemid)
It should be:
Code:
if doRemoveMoney(cid, cost) then
    doPlayerAddItem(cid, itemid)
else
    doPlayerSendTextMessage(messagE_type, "you dont have money")
end

TFS 1.2 trade window buy callback:
no money = no items
TFS 1.2 trade window sell callback:
no items = no money
 
Last edited:
Back
Top