FlyFF - Awakebot (Customizable, Support your own server)
Discussion on FlyFF - Awakebot (Customizable, Support your own server) within the Flyff Hacks, Bots, Cheats, Exploits & Macros forum part of the Flyff category.
Multi-Client support won't be possible if you're going to support multiple servers and let the users themselves add support for a server. Doing it multi-client you'd either require the /awake command or calling the awake function itself from memory. So multi-client isn't an option in this case.
Don't really know what you mean by "without need of any real OCR". The OCR library I use is not known for it's speed but has good accuracy instead. If speed was super important I'd probably not use Tesseract and some other engine instead.
The reason I've made it so there's a delay instead of waiting for the awake to change would be because there's a chance of the awake being the same as the one before. Then it'd get stuck waiting for the awake to change. Sure, you can add some code that makes it continue after a while if it still hasn't changed. But, the current way works fine aswell. As I said, such small small changes ain't going to affect it since it has to wait for the scrolls and click with the mouse and shit.
If the benchmark including the screen capture was 5 ms, you've had to use DirectX and / or capturing a very small piece of the screen. But it sound too good to be true with C#, but probably possible though.
Multiclient is doable even in this case
- align click coords (move window interop)
- send all clicks simultanously on all clients
- take and process results (focus window interop)
You might loose few miliseconds per each client, but in fact your still left with 98% gain on awakes/client.
I didnt need OCR cause i preprocessed any awake texts to find markers and only had to compare few pixels manually.
For faster reading you use unsafe directives and retain pointer that can reread pixels without any overhead.
For "same awake" problem you can use one of methods with 1-2 sec timeout. Its edge case which occurs rarely.
Yes ! work good, it's a problem with the reversion cause for fashion, reversion is not needed on my server so i use it in a blank position.
Can you add a option for non-reversion awake, an option for only 1 line ?
And it's possible to add an option for give for exemple :
I want critical +15 or +17 or +19.
BUt if i choose they three possibility, the bot want only that result.
If i choose +15 or +17 or +19
The bot does not stop if I have one of these 3 results.
He'll want to get the 3 results in an awakening .
It would be possible to have an option for this?
SORRY FOR MY BAD ENGLISH.
I will work it :P
If you can't understand, i use google translator for the next.
Nope, I will not cram more unnecessary features into the bot. It works good as it is.
I did not understand what you meant by the other part though. The bot should stop if it gets the preferred awake.
You gotta make to sure get a big enough rectangle.
Quote:
Originally Posted by macroseller
Multiclient is doable even in this case
- align click coords (move window interop)
- send all clicks simultanously on all clients
- take and process results (focus window interop)
You might loose few miliseconds per each client, but in fact your still left with 98% gain on awakes/client.
I didnt need OCR cause i preprocessed any awake texts to find markers and only had to compare few pixels manually.
For faster reading you use unsafe directives and retain pointer that can reread pixels without any overhead.
For "same awake" problem you can use one of methods with 1-2 sec timeout. Its edge case which occurs rarely.
Ahh, nvm. When you said multi-client, I though you referred to having it in the background while doing other stuff at the computer. The multi-client you're talking about now is worthless and not worth. It's an awakebot.
I already use unsafe directives with pointers, the code is open on github.
I understand all your points, they're good but I can't bother re-creating anything now. I ain't getting shit for this bot.
Quote:
Originally Posted by peterfaggot
ty for the fast upload but this are german letters i think they dont exist in the swedish alphabet
edit:// got this error [17:19:34] A bitmap has made an attempt to clone an invalid bitmap rectangle or not enough memory was available.
{X=0,Y=137,Width=1004,Height=1160}
[17:19:34] A bitmap has made an attempt to clone an invalid bitmap rectangle or not enough memory was available.
{X=974,Y=0,Width=30,Height=100}
Deutsch (German) Language Pack has been added. Try it.
Nope, I will not cram more unnecessary features into the bot. It works good as it is.
I did not understand what you meant by the other part though. The bot should stop if it gets the preferred awake.
You gotta make to sure get a big enough rectangle.
Ahh, nvm. When you said multi-client, I though you referred to having it in the background while doing other stuff at the computer. The multi-client you're talking about now is worthless and not worth. It's an awakebot.
I already use unsafe directives with pointers, the code is open on github.
I understand all your points, they're good but I can't bother re-creating anything now. I ain't getting **** for this bot.
Deutsch (German) Language Pack has been added. Try it.
<Setting name="Language">ger</Setting> or <Setting name="Language">deu</Setting> ?
<!-- Awake Type Explanation:
name -> The name to display inside of the bot when choosing the awake (Example: ADOCH)
gametext -> Case-sensitive awake line text inside of the game (Example: Additional Damage of Critical Hits) -->
Ahh, nvm. When you said multi-client, I though you referred to having it in the background while doing other stuff at the computer. The multi-client you're talking about now is worthless and not worth. It's an awakebot.
I agree. I was into flyff botting just because it was most fun and interesting way to learn coding (with usable result).
Once you get programming job + reallife.exe you have no time and become too lazy to work on projects like this.
I dropped down with all bots i made too cause they are obsolete in terms of efficency.
Maybe level bot with stacked stats and infinite range to reach max level still has its use.
Dupe currency and rare items, overpay maxed out gear and your done with barelly any effort.
<!-- Awake Type Explanation:
name -> The name to display inside of the bot when choosing the awake (Example: ADOCH)
gametext -> Case-sensitive awake line text inside of the game (Example: Additional Damage of Critical Hits) -->
It's a little hard reading the error message when it's in german. Are you using version 1.08 of the bot?
I tried the config you pasted, it worked fine for me.
Have you gotten the bot to work with any english version?
Try using the config I gave below.
Quote:
Originally Posted by macroseller
I agree. I was into flyff botting just because it was most fun and interesting way to learn coding (with usable result).
Once you get programming job + reallife.exe you have no time and become too lazy to work on projects like this.
I dropped down with all bots i made too cause they are obsolete in terms of efficency.
Maybe level bot with stacked stats and infinite range to reach max level still has its use.
Dupe currency and rare items, overpay maxed out gear and your done with barelly any effort.
Hey Exelente bot, but something happens to me , I think my file Latin flyff.XML and arrange the names of awakenings and all, I think the color is also good , put the bot to seek a low value and the bot does not stop Moreover, continuous , never stops you help me please? the server is the Latinflyff
Hey Exelente bot, but something happens to me , I think my file Latin flyff.XML and arrange the names of awakenings and all, I think the color is also good , put the bot to seek a low value and the bot does not stop Moreover, continuous , never stops you help me please? the server is the Latinflyff
The server "Latin Flyff" is using the same color for the awakening as the item stack number.
Meaning that the awake bot interferes and reads values from the other items in your inventory.
The solution to this problem is to move every item out of sight and awake scroll out of the rectangle you're making around the awake. Refer to the image below.
<!-- Awake Type Explanation:
name -> The name to display inside of the bot when choosing the awake (Example: ADOCH)
gametext -> Case-sensitive awake line text inside of the game (Example: Additional Damage of Critical Hits) -->
<Settings>
<AwakeTypes>
<Type name="INT" gametext="INT"></Type>
<Type name="DEX" gametext="DEX"></Type>
<Type name="STR" gametext="STR"></Type>
<Type name="STA" gametext="STA"></Type>
<Type name="Increased Critical Damage" gametext="Kritischer Schaden"></Type>
<Type name="Increased Attack" gametext="Increased Attack"></Type>
<Type name="Increased HP" gametext="Increased HP"></Type>
<Type name="Increased MP" gametext="Increased MP"></Type>
<Type name="Attack" gametext="Angriffskraft"></Type>
<Type name="PvE Damage" gametext="PvE Damage Increase"></Type>
<Type name="Increased DEF" gametext="Increased DEF"></Type>
<Type name="Critical Chance" gametext="Kritische Trefferrate"></Type>
<Type name="DCT" gametext="Magiebeschleunigung"></Type>
<Type name="Attack Speed" gametext="Attack Speed"></Type>
<Type name="EXP" gametext="EXP"></Type>
<Type name="Speed" gametext="Speed"></Type>
<Type name="Max HP" gametext="Max. HP"></Type>
<Type name="Max MP" gametext="Max. MP"></Type>
<Type name="Max FP" gametext="Max. FP"></Type>
</AwakeTypes>
<!-- The color of a pixel in the in-game awake line text.
Format: RGB (R, G, B) -->
<Setting name="AwakeTextPixelColorRgb">0, 0, 255</Setting>
<!-- The amount of time in milliseconds it takes before an awake scroll is done
showing that "Watering Effect" on the item before awakening it -->
<Setting name="ScrollDelayMs">0</Setting>
</Settings>
Quote:
Originally Posted by venomx96
Yes ! work good, it's a problem with the reversion cause for fashion, reversion is not needed on my server so i use it in a blank position.
Can you add a option for non-reversion awake, an option for only 1 line ?
And it's possible to add an option for give for exemple :
I want critical +15 or +17 or +19.
BUt if i choose they three possibility, the bot want only that result.
If i choose +15 or +17 or +19
The bot does not stop if I have one of these 3 results.
He'll want to get the 3 results in an awakening .
It would be possible to have an option for this?
SORRY FOR MY BAD ENGLISH.
I will work it :P
If you can't understand, i use google translator for the next.
just tell the bot to go for a 15 awake, he'll keep 17 or 19 aswell
We have on our server no Cancel Awakings .
We have only 1 type of roles .
now i have this error
That error is caused by something wrong with the config.
Make sure you using e.g Notepad++ when making it. Not microsoft word or normal windows notepad. Post the config here and I'll check it out.