Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Hacks, Bots, Cheats, Exploits & Macros
You last visited: Today at 13:17

  • Please register to post and access all features, it's quick, easy and FREE!


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.

Reply
 
Old   #1
 
elite*gold: 20
Join Date: Apr 2015
Posts: 416
Received Thanks: 891
Thumbs up FlyFF - Awakebot (Customizable, Support your own server)





Introduction

It's been a long time since I've released anything, or anything free at all for that matter. This project, an OCR-driven Awakebot is something that I've been working on for the past couple of days on and off. My main focus when making this "Awakebot" was to make it as optimized as possible in the sense of me not being required to update it frequently. It is possible for users to add their own server config, so it would be great if people down in the post section could share their config for their specific server.

Currently only one server is supported. If you want more you gotta support them yourselves.





I'd really appreciate if you'd hit that Thanks button! It really keeps me motivated!



What does it do?

The user enters any awake of their choice. The bot will continue to awake the item until the specified or better awake has been achieved provided that the config is correct and the bot is able to read the awakes.

Features
  • Customizable - Support your own server with ease.
  • Smart Awake Compare - Combines the awakes on items to not miss an awake that is split up. It stops if the awake achieved is equal to or greater than the one specified by the user.
  • Open Source - View the source code on github
  • Clicking - Simulates mouse click onto the item and scrolls.
  • Augmentation - Can use the awakebot with Scroll of Augmentation aswell.

Current Supported Servers

Pre-Installed Server Configs: Some are already outdated and requires an update.

Insanity Flyff

Insanity Flyff Config Example:

Quote:
Code:
<Settings>
	<!-- 
	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) 
	comparisonmethod -> An additional attribute to modify which method an awake is compared with. Options are Exact and Contains. Exact is default.
						Example <Type name="INT" gametext="INT" comparisonmethod="Contains"></Type>
						
						"Contains" compares by checking if the read awake contains gametext
						"Exact" does an exact case insensitive comparison (this is the default and preferred)
	-->
	<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="ADOCH" gametext="ADOCH"></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="Attack"></Type>
		<Type name="PvE Damage" gametext="PvE Damage Increase"></Type>
		<Type name="Increased DEF" gametext="Increased DEF"></Type>
		<Type name="DEF" gametext="DEF"></Type>
		<Type name="Critical Chance" gametext="Critical Chance"></Type>
		<Type name="Attack Speed" gametext="Attack Speed"></Type>
		<Type name="DCT" gametext="Decreased Casting Time"></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) 
	
	Adding multiple awake colors example:
	<Setting name="AwakeTextPixelColorRgb">0, 255, 0</Setting>
	<Setting name="AwakeTextPixelColorRgb1">0, 0, 255</Setting>
	<Setting name="AwakeTextPixelColorRgb2">245, 0, 0</Setting>
	<Setting name="AwakeTextPixelColorRgb3">0, 0, 185</Setting>
	
	The above example of multiple awake colors will find awakes with all of those pixel colors
	You can add as many as you want. 
	It requires the format as above: AwakeTextPixelColorRgb, AwakeTextPixelColorRgb1, AwakeTextPixelColorRgb2... and so on.
	
	Adding a range of pixel colors:
	<Setting name="AwakeTextPixelColorRgb">0, 245-255, 0</Setting>
	
	The above example will stop when the pixel color is between 0, 245, 0 and 0, 255, 0
	It will stop at 0, 251, 0 as an example.
	-->
	<Setting name="AwakeTextPixelColorRgb">0, 255, 0</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">200</Setting>
  
	<!-- 
	The value for Language is the name of the .traineddata file.
	Example eng.traineddata, then the value is eng
			por.traineddata, then the value is por
	-->
	<Setting name="Language">eng</Setting>
  
	<!-- 
	Words that are ignored when the OCR engine reads the awake
	NOTE: Do not add a space after comma, the space counts as part of the word 
	Format: Word1,Word2,Word3
	-->
	<Setting name="OcrIgnoreWords">Blessing Options</Setting>
</Settings>

If you'd like your own server, follow the instructions down below.


Images





Video - How to use



Usage
  1. Choose the correct config. If you server does not exist, make a config yourself by the guide down below. Then share it.
  2. It's recommended to add a small awake delay of 0.5 seconds.
  3. Check the "Stop if awake not recognized" if you want the bot to completely stop if an awake not unrecognized.
  4. Set all the item and scroll position by clicking the red buttons and dragging and releasing onto the specific item / scroll.
  5. Click the last red button and a slightly transparent window will appear, drag and form a rectangle above the item awake text. That will be the area the bot will take a snapshot of. Ensure that the rectangle is big enough for all and multiple awakes. Also make sure that the rectangle does not contain any other pixels that are the exact same color as the awake text.
  6. Do not move the game window after you've set the positions and rectangle.
  7. Add your preferred awakes to the list in the bot.
  8. Choose the awake type
  9. Input the minimum value of that type that the bot should look for
  10. Optional: Input a number that identifies that group, all other awakes must have that same number to be in that group. Used if you want the bot to look for 2 or more different combinations of awakes. Example: STR+30, STA+24 (Group 1), INT+30 (Group 2). The bot will then stop when any of Group 1 (STR+30, STA+24) or Group 2 (INT+30) have been achieved.
  11. Click start and let it do it's job, do not move mouse. Press "END" to stop the bot.



How to support your own server
  1. Go into the config folder of the bot (Edit -> Config Directory).
  2. Make a new .xml file or make a copy of another already existing config and change it's name to the server you want to support.
  3. Add or change the server's awakes in the new .xml file. Many servers have the same awakes, but some needs to be changed or added.

    Attribute Explanation:
    name = The name you'd like the awake type to be displayed inside of the bot.
    gametext = The exact in-game awake text (CaSe-SenSiTivE)

    comparisonmethod = (OPTIONAL) The method used to compared awakes. Can either be Exact or Contains.[/I]

    Awake Type Example:
    Code:
    <Type name="ADOCH" gametext="Additional Damage of Critical Hits"></Type>
  4. Change the value of "AwakeTextPixelColorRgb" to the exact color of the awake text inside of the game. Simply take a screenshot, open it in paint, use "Color Picker" tool and use it on a pixel in the awake text.
    Format: R, G, B

    Code:
    <Setting name="AwakeTextPixelColorRgb">0, 255, 0</Setting>


    If you want to add more pixel colors you can do so by:
    Code:
    <Setting name="AwakeTextPixelColorRgb">0, 255, 0</Setting>
    <Setting name="AwakeTextPixelColorRgb1">0, 0, 255</Setting>
    <Setting name="AwakeTextPixelColorRgb2">245, 0, 0</Setting>
    <Setting name="AwakeTextPixelColorRgb3">0, 0, 185</Setting>
  5. Change the value of "ScrollDelayMs" to the time taken in milliseconds for your specific server to awake an item. (The water effect when clicking an item with awake scroll).


    Code:
    <Setting name="ScrollDelayMs">200</Setting>
  6. Change the value of "Language" to the awake text in-game language. If you have a different language other than English, download the language pack of choice from and put it in tesseract\tessdata.

    Code:
    <Setting name="Language">eng</Setting>
  7. If there is any text with the same color of the close to the awake, that does not describe the awake in any way, then add the text in the "OcrIgnoreWords" setting. Example, awakening CS Set parts, there is an extra text above the awake saying "Blessing Options". If we add that to ignore, then the awakebot can read the awake properly.
    Format: Word1,Word2,Word3

    Code:
    <Setting name="OcrIgnoreWords">Blessing Options</Setting>
  8. Share the config in code tags in this thread, I will add it onto the thread with your name if one does not yet exist.

Interested in code? - Open Source




Frequently Asked Questions

Q: My server is not showing up in the "Process Selector".
A: Make sure the name of the game's client is "Neuz.exe". If not, change the name of the process in Settings.xml
Code:
<Setting name="ProcessName">Neuz</Setting>
Q: The server is detecting it!
A: Change the name of the folder containing the bot, the exe itself and the value of BotWindowName in Settings.xml
Code:
<Setting name="BotWindowName">greyb1t's Flyff Awakebot</Setting>
Q: The server I'm playing on doesn't have scrolls. Only /awake command.
A: Doesn't matter, just make the "Awake Pos" to the /awake command on the bottom bar in-game and "Reversion Pos" to an empty slot in the inventory.

Known problems and solutions

Error:
Code:
Game client freezes when I start the bot.
Solution: Disable or try starting the bot before logging into the game (at the login screen).

Error:
Code:
System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at System.Drawing.Image.Save(String filename)
at FlyFF_AwakeBot.AwakeningResolver.GetText(Bitmap targetBitmap)
at FlyFF_AwakeBot.AwakeningResolver.GetAwakening(Bitm ap bitmap)
at FlyFF_AwakeBot.AwakeningRoutine.AwakeningLoopThrea d(List`1 preferredAwakeItemList)
Solution: Disable anti-virus. Or add an exception in the anti-virus.

Requirements

.NET Framework 4.6.1: https://www.microsoft.com/en-us/down....aspx?id=49981
VC 2015 Redist x86 (x64 will not work): https://www.microsoft.com/en-us/down....aspx?id=48145

Supported Operating Systems

Windows 10 - Working
Windows 8.1 - Working
Window 8 - Working
Windows 7 SP1 - Working
Windows Vista - Not Working
Windows XP - Not Working

Last words

I've not tested it out thoroughly so there might be bugs. If you find any, be sure to report them.
Please hit thanks Thanks button!
Have fun using it!

Changelog

Version 1.01:
  • Fixed a bug with "Item Awake Read Rect" being unreachable.

Version 1.02:
  • On e.g Magma Flyff, the time taken for a awake scroll to finish awakening the item is about 1 second. But on other servers, it's 200 ms.
  • Added a new option inside of the config to add a delay unique to that server of the time taken before an awake is done.

Version 1.06:
  • Added possibilty to support non-english language servers.
  • Improved the accuracy of the bot and it's alot smarter.
  • The performance has been increased.
  • The bot is now basing it's interpretation on the server config and possible awakes.
  • A new setting has been added in the server config.

Version 1.07:
  • Fixed memory leak.

Version 1.08:
  • Hopefully fixed the OutOfMemoryException, turns out the error was not memory. It was caused by creating a bitmap out of bounds.

Version 1.09:
  • Added an option to only click the "Awake Scroll Pos" once.
  • This adds the support for Augmentation Scroll and /awake command without wasting scrolls / money.

Version 1.11:
  • Added window title into the process list.
  • Added a debug view that can be accessed on the menu bar to display a sidebar with the image of the awake each resolve step.
  • Added a check to see if the user has the required tessdata files for the selected config.
  • Tesseract does no longer get initialized each awake iteration to eat performance.
  • Logging has been improved to further identify issues with accuracy for the user.
  • Changed the awake comparison and the awake is no longer required to be an exact match. Now you can simply add a part of the awake in-game text into the config to identify it.
  • Example: The in-game awake "Additional Damage of Critical Hits", if "Additional" is written in the config that works.

Version 1.31:
  • Updated tesseract version to 4. It now uses the standalone tesseract 4 executable instead of .NET wrapper.
  • Added the latest trained tesseract data.
  • Hotfix for accuracy issues by fixing DPI on the bitmaps.
  • Fixed the log not printing new lines correctly.
  • When adding a new awake, the inputs are cleared for the next awake.
  • Major code cleanup and refactor.
  • Added a prompt when dragging the awake rectangle that asks if you want to save, discard or cancel when pressing another key than enter.
  • Added the ability to temporarily hide the awake rectangle selection window to be able to hover over the item in the inventory to properly fit the rectangle by holding TAB.
  • The rectangle awake selection window is now more aesthetically pleasing.
  • Added the ability to benchmark and test the accuracy on pre-taken images of awakes for debugging and development purposes. Not available for normal user.
  • Added better and more error handling. If the awake parser now realizes something is wrong, it stops with an error instead of blindly continuing as it did before.
  • Added a info messagebox when the user adds one of more of the same awake to the preferred awake list informing the user that there is no need because they are combined internally anyway.
  • Added the ability to have multiple awakening groups to support the fact if the user wants any of 2 different awakes. In other words, e.g. STR+30 (Group 1) or INT+24 (Group 2), the bot will stop at any of the groups.
  • Added tooltips on the next awake group feature to futher inform the user how it works.
  • Added the ability to add ignored words in a server config for the awake parser to ignore. Default added value in the config is "Blessing Options" to awakening of CS set parts. Previously you had to draw the awake rectangle just below the "Blessing Options" text for it to work.
  • When pressing "END" or stopping the bot, the window will be disabled until it has finished its routine.
  • Added an error when launching the bot on a computer that has increased or decreased the DPI scaling. That completely makes the bot unfunctionalble because it changes all font qualities.
  • Tested with 126 different awakes with 100% sucess rate.
  • Removed the so called "panic thread" and replaced it with a better solution.
  • Removed the feature that added the ability to only add a part of the awake text in the config to identify it. It caused inconsistencies with other awakes containing the same characters.

Version 1.34:
  • Fixed issue with some servers have bugs that prevent an item description from appearing when simply just moving the mouse over the item quickly. It now move two times after having hovered on the item.
  • Fixed a bug caused when the OCR engine did not recognize a space between the awake and the value.
  • Added an option to make the bot stop when the OCR engine does not recognize an awake. Normally it just continues because it assumes its just missing that awake in the server config.

Version 1.45:
  • Changed the standard output encoding to utf8 to support other languages other than english
  • Removed the process handle requirement causing it not to work on flyff's with anti-cheats
  • Fixed the known STA +5 issue reading as STA +S by using the workaround by @ (ty cockie )
  • "Bypassed" gameguard and it now works for EFlyff
  • Updated to tesseract version 4.1.1 in order to support whitelisting characters
  • Added whitelisted characters back again due to it being previously removed because tesseract 4.0.0 did not support it
  • Fixed recognizing an muliline awake
  • Fixed crash when pressing END when the awake routine was not running and/or in the process attach window
  • Added support for a range of pixel colors. You can now write the follwing for a blue value between 253 and 255
    <Setting name="AwakeTextPixelColorRgb">0, 0, 253-255</Setting>
  • Added ability to choose a way to compare the awakes for each awake. You can choose by "Exact" which is default and "Contains" which checks if a specific value is contained within the awake.
    Should not be used unless REALLY NEEDED. Because there might be inconsistencies due to the whitelisting characters feature. It does not whitelist the whole awake text if you only put a part of it in the config.
  • Added support for multiple different pixel colors, it can now read awakes of multiple colors
Attached Files
File Type: zip greyb1t's Flyff Awakebot 1.09.zip (9.12 MB, 12306 views)
File Type: zip greyb1t's Flyff Awakebot 1.11.zip (9.36 MB, 1551 views)
File Type: zip greyb1t's Flyff Awakebot 1.34.zip (6.38 MB, 3092 views)
File Type: zip greyb1t's Flyff Awakebot 1.45.zip (3.67 MB, 847 views)



greyb1t is offline  
Thanks
335 Users
Old 09/02/2016, 17:01   #2
 
elite*gold: 0
Join Date: May 2008
Posts: 40
Received Thanks: 17
Amazing release! Good work.


benja14 is offline  
Thanks
5 Users
Old 09/02/2016, 17:53   #3
Trade Restricted
 
elite*gold: 0
Join Date: May 2011
Posts: 554
Received Thanks: 336
zerux's business just got rekt :c

sweet release
Devisory is offline  
Thanks
4 Users
Old 09/02/2016, 20:43   #4
 
elite*gold: 5100
Join Date: Apr 2014
Posts: 776
Received Thanks: 858
Good job, Senpai! Extra probs for the Source Code



/Aiden\ is offline  
Thanks
1 User
Old 09/03/2016, 05:52   #5
 
elite*gold: 0
Join Date: Jun 2009
Posts: 48
Received Thanks: 6
senpai done it again! I just cant run it because I am running 32 bit

it works now, I just have to turn off antivirus.
doominator09 is offline  
Old 09/03/2016, 16:54   #6
 
elite*gold: 174
Join Date: Nov 2013
Posts: 704
Received Thanks: 179
dope af
Chriisx33 is offline  
Thanks
1 User
Old 09/03/2016, 18:34   #7

 
elite*gold: 0
Join Date: Aug 2013
Posts: 161
Received Thanks: 23
Does it also work with /awake ?
Dr.Day is offline  
Old 09/03/2016, 19:01   #8
 
elite*gold: 20
Join Date: Apr 2015
Posts: 416
Received Thanks: 891
Quote:
Originally Posted by Dr.Day View Post
Does it also work with /awake ?
The answer is in the FAQ inside of the thread. Yeah, it does work.
greyb1t is offline  
Thanks
1 User
Old 09/03/2016, 19:11   #9

 
elite*gold: 0
Join Date: Aug 2013
Posts: 161
Received Thanks: 23
Quote:
Originally Posted by greyb1t View Post
The answer is in the FAQ inside of the thread. Yeah, it does work.
Oh sorry i didnt saw that. ^^
Dr.Day is offline  
Old 09/03/2016, 20:23   #10
 
elite*gold: 0
Join Date: Aug 2016
Posts: 7
Received Thanks: 1
I have this error:
jaasiu is offline  
Old 09/03/2016, 20:40   #11
 
elite*gold: 20
Join Date: Apr 2015
Posts: 416
Received Thanks: 891
Quote:
Originally Posted by jaasiu View Post
I have this error:
You need to start the "FlyFF AwakeBot.exe" inside of the folder with all the dlls and extra files that came along when downloading it.

That is how it should look:
greyb1t is offline  
Thanks
1 User
Old 09/03/2016, 20:42   #12
 
elite*gold: 0
Join Date: Aug 2016
Posts: 7
Received Thanks: 1
Quote:
Originally Posted by greyb1t View Post
You need to start the "FlyFF AwakeBot.exe" inside of the folder with all the dlls and extra files that came along when downloading it.

That is how it should look:
This is exactly what I did. I downladed your .zip, unzipped it and opened in main folder.
jaasiu is offline  
Old 09/03/2016, 20:44   #13
 
elite*gold: 20
Join Date: Apr 2015
Posts: 416
Received Thanks: 891
Quote:
Originally Posted by jaasiu View Post
This is exactly what I did. I downladed your .zip, unzipped it and opened in main folder.
Well, the error message says that you're missing liblept172.dll
Could you check if it exists inside of the x86 folder?
greyb1t is offline  
Thanks
1 User
Old 09/03/2016, 20:48   #14
 
elite*gold: 0
Join Date: Aug 2016
Posts: 7
Received Thanks: 1
Quote:
Originally Posted by greyb1t View Post
Well, the error message says that you're missing liblept172.dll
Could you check if it exists inside of the x86 folder?
Yes, i can see this file and the second file is libtesseract304.dll
jaasiu is offline  
Thanks
1 User
Old 09/03/2016, 20:49   #15
 
elite*gold: 20
Join Date: Apr 2015
Posts: 416
Received Thanks: 891
Quote:
Originally Posted by jaasiu View Post
Yes, i can see this file and the second file is libtesseract304.dll
What??

Try to disable your anti-virus and test if it's working.


greyb1t is offline  
Thanks
7 Users
Reply

Tags
awakebot, bot, cheat, flyff, greyb1t




All times are GMT +2. The time now is 13:17.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 33E6kMtxYa7dApCFzrS3Jb7U3NrVvo8nsK
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2020 elitepvpers All Rights Reserved.