View Full Version : Self.Balance()
cwirek91
07-08-2014, 03:15 PM
This function would help making full afk scripts easier. We would know how much gold our characters earn. We could transfer money to bankier much easier. It's very useful with dice script too. It's very important method.
ppgab
07-08-2014, 03:29 PM
This function would help making full afk scripts easier. We would know how much gold our characters earn. We could transfer money to bankier much easier. It's very useful with dice script too. It's very important method.
it's possible to do with a little knowledge :p
hakujewas
07-08-2014, 04:56 PM
it's possible to do with a little knowledge :p
Could you share your knowledge? :)
I don't want to count gold in all my containers. NPC proxy would be perfect!
ppgab
07-08-2014, 05:05 PM
Could you share your knowledge? :)
I don't want to count gold in all my containers. NPC proxy would be perfect!
Self.Money() counts your visible money
There's a NPC proxy, i'm still not 100% sure how to use it but basically you use string.match(txt, "%d+) to extract the number of the npc string, if i found out how to use i'll post here
edit: welp, read below
DarkstaR
07-08-2014, 05:08 PM
There's actually no NPC proxy yet
Fatality
07-08-2014, 05:43 PM
DarkstaR will there be a NPC proxy implemented?
DarkstaR
07-08-2014, 05:44 PM
I'll probably add Self.Balance() natively and do all of the parsing internally.
ppgab
07-08-2014, 05:46 PM
I'll probably add Self.Balance() natively and do all of the parsing internally.
aff cmon, imagine the possibilities with npc proxy
DarkstaR
07-08-2014, 05:52 PM
aff cmon, imagine the possibilities with npc proxy
Possibilities which are too dangerous. Look what Colte did with his dicer, and imagine if he could see full balance. I need to add limitations first
ppgab
07-08-2014, 06:04 PM
Yeah you need to add a way to see world too huehueuheue
godot
07-09-2014, 09:58 AM
yeee waiting for Self.Balance() !
godot
07-15-2014, 11:52 AM
I'll probably add Self.Balance() natively and do all of the parsing internally.
DarkstaR
plss when
Until there is a solution, just add a balance variable to your script and enter it before you run. Subtract/add as you operate. Not optimal, but it is functional.
cwirek91
07-21-2014, 01:07 PM
@DarkstaR (http://forums.xenobot.net/member.php?u=2)
balance = &45E8E0;
Syntax
07-21-2014, 06:36 PM
Possibilities which are too dangerous. Look what Colte did with his dicer, and imagine if he could see full balance. I need to add limitations first
If him seeing the full balance is the concern, how is Self.Balance safer than NPC proxy?
Chuitox
07-22-2014, 06:00 PM
@DarkstaR (http://forums.xenobot.net/member.php?u=2)
balance = &45E8E0;
0x575446
;)
HjugO
07-23-2014, 04:00 PM
balance from market option? husaheuhuehue
godot
07-26-2014, 06:17 PM
husaheuhuehue bump
cwirek91
08-13-2014, 07:34 PM
bump?
maroxy
08-13-2014, 08:00 PM
Please dont bump this thread.
DarkstaR already nows about that.
Thanks
hakujewas
08-14-2014, 08:12 AM
Ok, I will not bump this thread.
cwirek91
08-16-2014, 09:47 AM
Come on just make Self.Balance(). That is few minute for you DarkstaR. We can not make full afk scripts without balance & market
maroxy
08-17-2014, 12:23 AM
You can do:
elseif (labelName == "CheckWithdraw") then
Walker.Stop()
if Self.Money() < maxAmount then
os.exit()
else
print("Enough Balance, continuing...")
end
Walker.Start()
Self.Money counts the coins you have and math it by his value, similar to Self.Balance()
Stop spamming plx
RoxZin xD
08-17-2014, 01:20 PM
You can do:
elseif (labelName == "CheckWithdraw") then
Walker.Stop()
if Self.Money() < maxAmount then
io.exit()
else
print("Enough Balance, continuing...")
end
Walker.Start()
Self.Money counts the coins you have and math it by his value, similar to Self.Balance()
Stop spamming plx
Correct me if I'm wrong, but doesn't Self.Money() count what you got on you? To check balance value is a completely different thing :p
maroxy
08-17-2014, 07:13 PM
Correct me if I'm wrong, but doesn't Self.Money() count what you got on you? To check balance value is a completely different thing :p
This label must be after the withdraw one
hakujewas
08-18-2014, 07:58 AM
Self.Money() doesn't count gold in nested backpacks. Of course one could go through all bps and count all money, but it is much better and simplier to use Self.Balance . And if we want to check if we have enough money to withdraw, we are force to map starting balance of all characters and then count gold in nested backpacks and play with adding/substrackting and writing that value to file.
Chuitox
08-18-2014, 10:23 AM
Well... there is still a way to do it. You can try to withdraw 10k several times until the money you have in your containers doesn't change. Then you can repeat the procedure with platinums and gold coins. Sounds insane but hey you still got a solution :D
maroxy
08-18-2014, 09:31 PM
elseif (labelName == "DepositGold") then
Walker.Stop()
Self.SayToNpc({"hi", "deposit all", "yes"}, 100)
local withdrawManas = math.max(_MaxManas - Self.ItemCount(_ManaPotionID), 0)*_ManaCost
local withdrawThunders = math.max(_MaxThunders - Self.ItemCount(_ThundersID), 0)*_ThundersCost
local total = math.abs(withdrawManas + withdrawThunders)
if total >= 1 then
Self.SayToNpc({"withdraw " .. total, "yes", "balance"}, 100)
end
local monny = math.max(Self.ItemCount(3031) + (Self.ItemCount(3035) * 100) + (Self.ItemCount(3043) * 10000))
if monny < total then
os.exit()
else
print("Enough Balance")
end
Walker.Start()
local monny = math.max(Self.ItemCount(3031) + (Self.ItemCount(3035) * 100) + (Self.ItemCount(3043) * 10000))
if monny < total then
os.exit()
else
print("Enough Balance")
end
Did it naaps, enjoy!
hakujewas
08-19-2014, 09:03 AM
It won't work.
maroxy
08-19-2014, 09:41 AM
It won't work.
For me, yes.
Be sure your "total" value is asigned.
RoxZin xD
08-19-2014, 11:05 AM
This label must be after the withdraw one
yeah, I know. But then, you wanna do a safe bank script. For x reasons you can fail withdrawing while still having money on bank, and then while u fail to withdraw you got an action to close bot if you didn't withdraw correctly. Boom, epic fail.
You see, this is why XenoBot isn't the biggest bot, always people coming up with 'solutions' that aren't the real solution for it.
maroxy
08-19-2014, 12:43 PM
yeah, I know. But then, you wanna do a safe bank script. For x reasons you can fail withdrawing while still having money on bank, and then while u fail to withdraw you got an action to close bot if you didn't withdraw correctly. Boom, epic fail.
You see, this is why XenoBot isn't the biggest bot, always people coming up with 'solutions' that aren't the real solution for it.
And, Why you dont try sir?
You talk so much but I dont see your help.
EDIT:
You can add this:
if Self.Position(x, z, y) then
Walker.Goto("DepositGold")
else
Walker.Goto("BeforeDeposit")
end
Rekt.
Stusse
08-19-2014, 12:49 PM
yeah, I know. But then, you wanna do a safe bank script. For x reasons you can fail withdrawing while still having money on bank, and then while u fail to withdraw you got an action to close bot if you didn't withdraw correctly. Boom, epic fail.
You see, this is why XenoBot isn't the biggest bot, always people coming up with 'solutions' that aren't the real solution for it.
I don't really see the big issue here...
Pretty simple to see wether you've talked to Bank NPC or not. Same with if you fail to withdraw a couple of times it might be rectified to close the bot. Instead of having a NPC proxy that makes it possible for people to empty your whole bank-roll in a simple obfuscated script.
/Stusse
Syntax
08-19-2014, 07:58 PM
I don't really see the big issue here...
Pretty simple to see wether you've talked to Bank NPC or not. Same with if you fail to withdraw a couple of times it might be rectified to close the bot. Instead of having a NPC proxy that makes it possible for people to empty your whole bank-roll in a simple obfuscated script.
/Stusse
You can empty someone's bank roll today... NPC proxy won't help or hurt in that matter.
I'd rather have NPC proxy than Self.Balance as it's obviously more versatile and allows specific error handling.
Right now you can detect if something went wrong and retry X times, but that's the limit.
With NPC proxy you could tell exactly what went wrong and how to correct the problem, or alert the user if you can't.
If someone is pushing you, you could start a trasher or constantly step back to your position.
If you have low funds, you can alert the user.
If you haven't completed a quest you can alert the user / find an alternate route
Specific error handling is a must for advanced scripts, obviously common scripters don't need this, but some of us do.
Of all the feature requests, this is the one I want the most.
hakujewas
08-19-2014, 08:05 PM
If I am not mistaken 'Self.ItemCount(3031)' or 'Self.Money()' does not count money that is in nested containers (which are closed).
Joshwa534
08-19-2014, 08:40 PM
You can add this:
if Self.Position(x, z, y) then
Walker.Goto("DepositGold")
else
Walker.Goto("BeforeDeposit")
end
Rekt.
(My post below is not relevant to this thread.)
Additionally, you can do:
Walker.ConditionalGoto((Self.DistanceFromPosition( x, y, z) <= 1), 'DepositGold', 'BeforeDeposit')
Also, your y & z coordinates were in the wrong locations. I hope these isn't seen as an offensive post but rather one that you, and whoever else sees it, can learn from. I like seeing Walker.ConditionalGoto being used instead of the method you posted, its less code and pretty simplified. :)
maroxy
08-19-2014, 10:07 PM
(My post below is not relevant to this thread.)
Additionally, you can do:
Walker.ConditionalGoto((Self.DistanceFromPosition( x, y, z) <= 1), 'DepositGold', 'BeforeDeposit')
Also, your y & z coordinates were in the wrong locations. I hope these isn't seen as an offensive post but rather one that you, and whoever else sees it, can learn from. I like seeing Walker.ConditionalGoto being used instead of the method you posted, its less code and pretty simplified. :)
I usually use it, with checkers etc. Thanks for your post :p
RoxZin xD
08-20-2014, 01:28 AM
And, Why you dont try sir?
You talk so much but I dont see your help.
EDIT:
You can add this:
if Self.Position(x, z, y) then
Walker.Goto("DepositGold")
else
Walker.Goto("BeforeDeposit")
end
Rekt.
Dude, stop. Seriously. What does a position checker offers to a safe bank script? Not really much, you didn't get my point but whatever. You want me to help? Sure. This would've helped a lot more, if it was possible.
local minBankAmount = 10000 --example of gold on your bank to stop botting
if Self.Balance() < minBankAmount then
Walker.Stop()
end
Or another one, to read the NPC message ('There is not enough gold on your account.') and stop bot whenever a NPC says that.
I'll show another example below of why a variable to return your bank balance is useful too.
I don't really see the big issue here...
Pretty simple to see wether you've talked to Bank NPC or not. Same with if you fail to withdraw a couple of times it might be rectified to close the bot. Instead of having a NPC proxy that makes it possible for people to empty your whole bank-roll in a simple obfuscated script.
/Stusse
Well if you talk about cleaning someone's bank I'm sure I can obfuscate a code to deposit all gold, then keep withdrawing 10k until there's no more money, store the amount when it gets static, deposit all back and transfer that amount to my character. Won't take much to get cleaned. Also, to read NPC messages is a must. In fact, all kind of messages are a must. The only one that Darkstar did a great job on it was the orange message, no other bot can read it, but what about the others?
A function to check your balance helps not only on bank, but on market functions also. Oh wait, XenoBot doesn't have these too, but even if it was available, you would need to check your balance before buying x item or making a market offer for y item.
Once again, this bothers me much, lack of creativity not only from Darkstar to make his bot better and the users that got used to having so few functions/variables and having to deal with them or not knowing the power of different functions/variables.
Edit:
You can empty someone's bank roll today... NPC proxy won't help or hurt in that matter.
I'd rather have NPC proxy than Self.Balance as it's obviously more versatile and allows specific error handling.
Right now you can detect if something went wrong and retry X times, but that's the limit.
With NPC proxy you could tell exactly what went wrong and how to correct the problem, or alert the user if you can't.
If someone is pushing you, you could start a trasher or constantly step back to your position.
If you have low funds, you can alert the user.
If you haven't completed a quest you can alert the user / find an alternate route
Specific error handling is a must for advanced scripts, obviously common scripters don't need this, but some of us do.
Of all the feature requests, this is the one I want the most.
/\ THIS. Thanks, Syntax.
Chuitox
08-20-2014, 11:35 AM
Dude, stop. Seriously. What does a position checker offers to a safe bank script? Not really much, you didn't get my point but whatever. You want me to help? Sure. This would've helped a lot more, if it was possible.
local minBankAmount = 10000 --example of gold on your bank to stop botting
if Self.Balance() < minBankAmount then
Walker.Stop()
end
Or another one, to read the NPC message ('There is not enough gold on your account.') and stop bot whenever a NPC says that.
I'll show another example below of why a variable to return your bank balance is useful too.
Well if you talk about cleaning someone's bank I'm sure I can obfuscate a code to deposit all gold, then keep withdrawing 10k until there's no more money, store the amount when it gets static, deposit all back and transfer that amount to my character. Won't take much to get cleaned. Also, to read NPC messages is a must. In fact, all kind of messages are a must. The only one that Darkstar did a great job on it was the orange message, no other bot can read it, but what about the others?
A function to check your balance helps not only on bank, but on market functions also. Oh wait, XenoBot doesn't have these too, but even if it was available, you would need to check your balance before buying x item or making a market offer for y item.
Once again, this bothers me much, lack of creativity not only from Darkstar to make his bot better and the users that got used to having so few functions/variables and having to deal with them or not knowing the power of different functions/variables.
Edit:
/\ THIS. Thanks, Syntax.
Not my problem actually but you gotta understand something. Xenobot is not for the lazy one. There were plenty of functions lacking in many of the previous versions but no dedicated scripter went all fuzzy. I do agree and I have said many times that Xenobot lacks stuff that other bots have. You must be really into this thing if you want things to be done your way. Advanced spell casters, several checks, performance issues, tracking creatures and a long list of things that have been fixed after every new version.
I have lived for years now with a simple check in banks and waiting patiently for new functions. It's more like... Really if you don't like the way it works you just migrate to another bot :p
If you have more ideas you should post them here (http://forums.xenobot.net/showthread.php?25302-Suggestions) Unless you have already done that
godot
08-20-2014, 08:14 PM
NPC Proxy or we riot ;)
cwirek91
08-26-2014, 11:36 AM
bump Self.Balance()
cwirek91
08-30-2014, 02:23 PM
bump.
godot
09-01-2014, 12:45 PM
We need Self.Balance() for our safety, look what will happen due world change - bank robbery in venore or thais :D spaming hi deposit all few hours is like ban ban plx
pixie_frigo
09-02-2014, 02:58 AM
We need Self.Balance() for our safety, look what will happen due world change - bank robbery in venore or thais :D spaming hi deposit all few hours is like ban ban plx
lol if you dont have shitty script it will stop after 2-3 times and just go training -_-
godot
09-03-2014, 05:17 PM
lol if you dont have shitty script it will stop after 2-3 times and just go training -_-
yee so like 90% of free scripts and like 70(?)% are 'shitty'
DarkstaR
09-03-2014, 05:31 PM
Bumping the thread 50 times a week wont change my opinion on adding it. From here on out, every bump is treated as spam.
Spectrus
09-03-2014, 07:47 PM
Bump... :(
ppgab
09-03-2014, 08:16 PM
Bump... :(
power abuse much, i call for an impeachment
Hypn0ticKi11er
09-03-2014, 08:23 PM
power abuse much, i call for an impeachment
I second that motion.
Joshwa534
09-03-2014, 10:14 PM
We need Self.Balance() for our safety, look what will happen due world change - bank robbery in venore or thais :D spaming hi deposit all few hours is like ban ban plx
I don't play free account so I'm unaware, are you even able to check your balance at the bank while the bank robbery world change is active?
Here's really shitty model of what you can do:
tries = 5
repeat
-- bank code
tries = tries - 1
until tries <= 0 or Self.Money() >= neededCash
if Self.Money() < neededCash then
os.exit() -- or Walker.Goto('offlineTraining')
end
No offense to this thread but Self.Balance() is not and will not ever be needed, lol.
pixie_frigo
09-03-2014, 11:40 PM
yee so like 90% of free scripts and like 70(?)% are 'shitty'
yes.
(too short so ill repeat :yes.)
hakujewas
09-04-2014, 09:34 AM
We need change XenoLazyDarkstaRBot to WindRoxBot. It has all features to make(to making sie nie pisze nobie) FULL AFK scripts including balance and market.
Daniel-Sp
09-04-2014, 12:32 PM
We need change XenoLazyDarkstaRBot to WindRoxBot. It has all features to make(to making sie nie pisze nobie) FULL AFK scripts including balance and market.
IF you already have an alternative, why the hell are you still here ? It makes no sense.
hakujewas
09-04-2014, 02:44 PM
Really wanna know? crack & no time for change my own scripts.
HjugO
09-04-2014, 02:55 PM
Really wanna know? crack & no time for change my own scripts.
WindBot is also crackable, just VMProtect unpacker, and brain. But XenoBot is the best unofficial software to play, just look at cpu, ram usage without any "other addons". I don't care that we can't use NPC Proxy, DarkstaR wrote that this "feautre" is useless, if you want to convert XenoBot > WindBot scripts then write conventer in python, I have Walker Conventer from WindBot to XenoBot.
Daniel-Sp
09-04-2014, 03:00 PM
Really wanna know? crack & no time for change my own scripts.
Both bots are crackable and c'mon. You call a developer lazy and you dont have 6 bucks/month to pay for any of them ( wind or xeno ) ?
Thats insane.
hakujewas
09-04-2014, 03:17 PM
I can pay for good job. DarkstaR is not doing that. Lucas Terra is doing great job. He is making bot for money and all features which people want he is doing. For that i can pay. Not for making bot for fun without two important stuff.
godot
09-04-2014, 04:05 PM
So no hope for must-have feature needed for effectively gold farming
http://th01.deviantart.net/fs70/200H/i/2012/319/7/6/nothing_to_do_here_gif_by_cartoonzack-d5l4eqj.jpg
DarkstaR
09-04-2014, 04:49 PM
I can pay for good job. DarkstaR is not doing that. Lucas Terra is doing great job. He is making bot for money and all features which people want he is doing. For that i can pay. Not for making bot for fun without two important stuff.
That's the difference. Some features are unsafe and can be used to scam, or even create bans. You can say that he is better because he adds them, I don't care. The reason that I don't, though, is because I wont implement something that I think can have very bad side effects. That may cost me some business, but at least the business I do have can sleep easy knowing their bot provider actually gives a fuck about them.
hakujewas
09-04-2014, 06:23 PM
That's the difference. Some features are unsafe and can be used to scam, or even create bans. You can say that he is better because he adds them, I don't care. The reason that I don't, though, is because I wont implement something that I think can have very bad side effects. That may cost me some business, but at least the business I do have can sleep easy knowing their bot provider actually gives a fuck about them.
Okay I understand, but for who this features (balance and market) is unsafe? For people which use foreign scripts without brain? I am using own scripts and why me and other people must suffer. We cant make full afk scripts without that.
PS. Method Self.Say() is safe...? Random Self.Say('Fuck you' + closest-creature-name) in obfuscated script is possible, so is that safe?
DarkstaR
09-04-2014, 09:10 PM
Okay I understand, but for who this features (balance and market) is unsafe? For people which use foreign scripts without brain? I am using own scripts and why me and other people must suffer. We cant make full afk scripts without that.
PS. Method Self.Say() is safe...? Random Self.Say('Fuck you' + closest-creature-name) in obfuscated script is possible, so is that safe?
"Self.Say('Fuck you' + closest-creature-name)" gives nobody profit, so there's less reason to do it. Being able to check balance and/or buy things on market makes it possible for scammers embed things in their scripts to transfer money much easier than now.
We've seen it happen in a dicer script in the past. Since dicers often carry much money and stay afk in depo, it was easy for the attacker to approach ones using his script and cash out. With a way to detect current balance in bank, it would be a matter of brute-forcing world names to send a users entire bank balance. Even worse with market, it could just check if there was, for instance, a label being sold by the attacker at 198745 gold and buy that label.
hakujewas
09-05-2014, 09:18 AM
That's the difference. Some features are unsafe and can be used to scam, or even create bans. You can say that he is better because he adds them, I don't care. The reason that I don't, though, is because I wont implement something that I think can have very bad side effects. That may cost me some business, but at least the business I do have can sleep easy knowing their bot provider actually gives a fuck about them.
"Self.Say('Fuck you' + closest-creature-name)" gives nobody profit, so there's less reason to do it. Being able to check balance and/or buy things on market makes it possible for scammers embed things in their scripts to transfer money much easier than now.
We've seen it happen in a dicer script in the past. Since dicers often carry much money and stay afk in depo, it was easy for the attacker to approach ones using his script and cash out. With a way to detect current balance in bank, it would be a matter of brute-forcing world names to send a users entire bank balance. Even worse with market, it could just check if there was, for instance, a label being sold by the attacker at 198745 gold and buy that label.
You can make random Self.Say('Fuck you' + closest-creature-name) and you can get ban.
You can make random Self.SayToNpc() with decreasing amount of gold and transfer gold to other character.
Is it really safe?
Okay, so I have last question. Do you release balance and market in the near future or not? People want know answer to that question too. Many people want make own script full afk and if you do not release new version of xenobot you will lose people. You are making bugfix all the time. Nothing new features. XenoBot is great bot but it needs these features to be AWESOME.
martinpwnage
09-05-2014, 11:48 AM
What is this guy talking about lel? We can make full afk script and no people won't leave xenobot because its better then windshit
hakujewas
09-05-2014, 02:30 PM
What is this guy talking about lel? We can make full afk script and no people won't leave xenobot because its better then windshit
If for you full afk scripts means: withdraw gold -> buy potions -> go hunt -> hunt -> sell items to NPC -> deposit gold. Good luck. If you do not know about full afk nothing please shut the fuck up. If you have something to say about WindBot you should use it first.
Joshwa534
09-05-2014, 03:39 PM
If for you full afk scripts means: withdraw gold -> buy potions -> go hunt -> hunt -> sell items to NPC -> deposit gold. Good luck. If you do not know about full afk nothing please shut the fuck up. If you have something to say about WindBot you should use it first.
You're looking at how shiny the chrome is and thinking 'damn that's a great car' but you don't even consider the engine, handling & fuel efficiency.
I have confidence that I'm not going to get deleted simply because someone forgot to slow things down or didn't know that he was sending a trillion packets to the server saying 'hey look at my bot'. This isn't an argument about Windbot or Xenobot, I'm talking about any bot. Some people do things too fast, some people create a shitty bot because they learned C++ in a 90 minute YouTube video and some people don't have anything else on their mind besides money.
Obviously there is a reason why you're using XenoBot though, I just can't believe anyone that says they can't afford paying monthly for a bot when they're only $5-$10/mo depending on which one they're using.
Relius
09-06-2014, 07:27 PM
Terrible news for me. The only thing I miss in XenoBot are market functions. I love market, imo the best way to gain cash. I don't understand one thing though: there are tons of ways to steal cash from people using the current functions, yet they aren't forbidden. Still, I can understand your decision DarkstaR. There are morons everywhere and u are doing everything u can to not let them hurt themselves. I have cried a river and now I need to build a bridge to get over it.
DarkstaR
09-06-2014, 07:43 PM
NPC Proxy MAY come in the future, but market probably will not.
astrio123
09-08-2014, 09:20 PM
Add npc proxy, create a "approve script" team, let them go threw every new script, say hello to more members and less scams threw scripts.
Glowingstick
09-09-2014, 01:12 PM
NPC Proxy MAY come in the future, but market probably will not.
Is there any reason to why market wont come? Is it more detectable, will more scams occur or is it hard to code?
DarkstaR
09-09-2014, 04:18 PM
Is there any reason to why market wont come? Is it more detectable, will more scams occur or is it hard to code?
A mix of many reasons:
It's hard to ensure that users aren't using it in a malicious way.
It's even harder to secure it so people don't get banned.
It's not hard to code, but it's hard to maintain. Testing the stability of something as complex as the market will take twice as long as my normal update tests, and will require 5 or 6 new addresses to maintain every update.
All of these things considered, it's one of those things that I'd rather not do.
godot
10-17-2014, 12:04 PM
http://catmacros.files.wordpress.com/2009/08/sup.jpg
omerhochman
11-09-2014, 09:37 PM
Where can I read about what Colte did?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.