Giter VIP home page Giter VIP logo

fate-grand-automata's Introduction

Fate/Grand Automata

CI

Fate/Grand auto-battle app for Android. This is pretty much a C# port of Fate-Grand-Order_Lua but has an inbuilt Sikuli-like API. Also, includes a UI for configuring Settings.

Needs Android 7 or later

See Running on Samsung devices if you're facing problems running the script on your Samsung devices.

Why make another?

Fate/Grand Order is all about farming. We already have an awesome auto battle script named Fate-Grand-Order_Lua which uses AnkuLua (an implementation of Sikuli using Lua language for scripting on Android). The only problem I had was that, in trial versions, AnkuLua limits scripts to run for a maximum of 30 min and after which there is a cooldown period. Any of the hardcore farmers out there know that this is not enough for the lottery events. So, being the salty F2P that I am, instead of buying an AnkuLua subscription, I thought why not make something similar. This was a great learning experience and something different from your usual Android projects.

How does it work?

It runs on Xamarin.Android, uses OpenCV for image recognition, uses Android's Acessibility and Media Projection APIs. Battery optimizations can screw up the functionality of the app. App tries to disable them automatically but you might also have to do that manually.

The icons are from https://materialdesignicons.com/

The drag-sort logic on Card Priority screen is thanks to https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-6a6f0c422efd

What to do about bugs?

Debugging really is a pain due to FGO not allowing Developer Mode to be ON during execution. Use GitHub issues to report bugs and try to be specific about the problem. Also, list information like your phone's model number, screen size, Android version, whether you have a notch.

Note: If your device has a notch, Don't rotate your screen when the script is running.

How to Use?

  1. Download from GitHub Releases. I can't put this app on Play Store due to some restrictive features this app uses. The APK available there might not always be the latest one. This README is written according to the latest commit of the code.
  2. Install on your phone. You'll need to enable installing apps out of Play Store.
  3. Launch the app. Grant it permissions it asks for: Read External Storage, Write External Storage, Ignore Battery Optimizations.
  4. Click on Toggle Service. You would be prompted to turn on the Accessibility Service and taken to Accessibility Settings page. If it is already ON, turn it OFF and then turn it ON again. If you turned ON Accessibility Service right now, click again on Toggle Service.
  5. You would be asked for Media Projection permission.
  6. Now, you can see a button with play icon on it floating on screen.
  7. Open F/GO and Go to the node you want to farm.
  8. Press Play to start. The same button can be pressed to stop later.

How to configure?

For how the settings work, see the original Fate-Grand-Order_Lua project.

Autoskill configuration can be created at Settings/AutoSkill/Manage Autoskill configurations.
You won't be prompted at script start for the config to use. You need to set the Settings/AutoSkill/Selected Autoskill Config value. If you've set a Servant or CE in the currently selected Autoskill configuration and Autoskill is Enabled, then support selection mode is assumed to be preffered.

Where to put Servant/CE images?

Put Servant images in Fate-Grand-Automata/support/servant folder and CE images in Fate-Grand-Automata/support/ce folder.

The app has some common Servant/CEs inbuilt. You can extract them using the Extract Default Support Images option. If you want to use any other preferred servant or ce, you have to create their images using Support Image Maker script.

Instead of having to select multiple ascension images for a servant, you can put all the images of a servant in a folder and select the folder in settings.

Here's what an example directory structure looks like:

Fate-Grand-Automata/
-- support/
-- -- servants/
-- -- -- ozy4.png
-- -- -- melt4.png
-- -- -- Merlin/
-- -- -- -- merlin1.png
-- -- -- -- merlin2.png
-- -- -- -- merlin3.png
-- -- -- -- merlin4.png
-- -- -- -- merlin_c.png
-- -- -- Waver/
-- -- -- -- waver1.png
-- -- -- -- waver2.png
-- -- -- -- waver3.png
-- -- -- -- waver4.png
-- -- ce/
-- -- -- kscope.png
-- -- -- black_grail.png

What about other scripts like Lottery and Friend Gacha?

There is an option in Settings called Script Mode. It defaults to Battle. Set it to the script you require.

How to use Support Image Maker?

Support Image Maker automatically creates images from the Support screen that can be used with the script. You can also use it from the Friend List which is easier since you don't have to keep refreshing till the desired Servant/CE shows up.

  1. Set the Script Mode option in Settings to Support Image Maker.
  2. Now, click on Toggle Service button, the Play button shows itself.
  3. Open F/GO. Go to support selection screen and ensure that the Servant/CE you want is visible (It is important that the complete Servant + CE region is visible).
  4. Click on Play. The script should exit almost immediately. Images are saved to Fate-Grand-Automata/support folder.
  5. Rename the files to whatever you want and then use with Auto Support Selection.

Upcoming Features

  1. Auto-giftbox.

Like the project? Want to support me?

Just pray that I can roll Skadi!

fate-grand-automata's People

Contributors

mathewsachin avatar reconman avatar fa-gray avatar echoscrip avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.