Masuzu / ZooeyBot

Fully automated slime blasting, event and quest farming bot for GBF
https://gbtools.azurewebsites.net/ZooeyBot/en/Home
67 stars 42 forks source link

Automated ゼノ・コキュートス (Xeno Cocytus) farming #427

Closed Masuzu closed 6 years ago

Masuzu commented 6 years ago

You will find below an example configuration to automate farming the Xeno Cocytus event, using 2 different parties for the EX and Nightmare mode, with Zooey Bot. With this configuration, Zooey will proceed automatically to the Xeno NM Level 70 mode:

Make sure to update the Party and Summon sections accordingly

Zooey Bot installation and setup

More information about party selection can be found here

More information about summon selection can be found here

If you would like to clear a higher NM difficulty instead, update the parameter NightmareModeUrl accordingly.

[General]
# Possible values: jp, en. Default to en when the string is malformed. Please make sure that your configuration file is encoded using UTF8 if you use non Unicode characters.
Language=en
# ChromeDevToolsWindowDockedOnTheRight should be set to false if your Chrome DevTools console is docked on the bottom (as seen here https://i.imgur.com/bvTOq0g.png), and to true if it is docked on the right
ChromeDevToolsWindowDockedOnTheRight=false
MaxPageLoadDelayInMsBeforeRetry=3500
# Maximum amount of time Zooey will wait for an expected event to occur (for instance, the attack button appearance) before triggering the fallback policy.
MaxTriggerDelayInMsBeforeFallback=5000
# Maximum delay before an action is deemed to have failed due to a lack of response from the GBF servers
MaxResponseDelayInMs=2500
# Maximum number of retry attempts when an action fails (due to a lack of response for instance) before the fallback policy kicks in
MaxNumActionRetries=2
MinWaitTimeInMsAfterRefresh=2000
# The bot will stop after the given parameter no matter what.
TimeLimitInSeconds=10800
UseViramate=true
# Zooey-bot will stop after using the given number of 1/2 AP potions (resets each time you restart Zooey-bot)
MaxNumPotionsToUse=9999
# Zooey-bot will start using full elixirs when this parameter is set to true if there is no 1/2 AP potions left. In any case, no more than MaxNumPotionsToUse potions will be used
UseFullElixirsWhenNoRemainingHalfAPPotions=false

# Horizontal position of the countdown timer which appears when a nightmare mode is available, with regards to the top left corner of your desktop. No countdown timer is displayed when the Event mode is activated.
CountdownTimerHorizontalPosition=0
# Vertical position of the countdown timer which appears when a nightmare mode is available, with regards to the top left corner of your desktop. No countdown timer is displayed when the Event mode is activated.
CountdownTimerVerticalPosition=0

# The "slave mode" is used to host Co-Op quests (the slime H2-1 stage for instance) using 2 accounts on a same computer.
# It requires the use of 2 accounts and the "zooey-bot-slave" Chrome extension installed in addition to the "zooey-bot" Chrome extension.
# The "slave account" will host the quests and pay the AP cost.
# You can log into a second account on a same computer using Chrome Incognito mode.
# To use this mode, set the parameter Active to true and follow the console instructions.
[SlaveMode]
Active=false
# You can get the quest ID of a coop quest using Chrome DevTools https://i.imgur.com/FDlL9Gw.png 601011 is the quest ID of the slime stage (H2-1)
QuestId=601011
# Relative path to the script to use to customize the behaviour of the main account.
# If left blank, the slave account will attack at each turn.
MainAccountLuaScript=Scripts/slime_blasting_sword_master.lua
# Relative path to the script to use to customize the behaviour of the slave account.
# If left blank, the slave account will attack at each turn.
SlaveLuaScript=Scripts/do_nothing.lua
# By default, Zooey will make the slave account attack first. Set this parameter to true if you would like your main account to attack first.
ProcessMainAccountTurnFirst=false

[Inputs]
DelayInMsBetweenMouseDownAndUp=40
RandomDelayInMsBetweenMouseDownAndUp=20
MouseSpeed=580
MouseScrollSpeed=250
# The bot will stop when you press the given key. The default key is F1. Please refer to https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx (the values on this page are given in hexadecimal base).
# If you also use Viramate, DO NOT use a key which is shared by Viramate shortcuts.
ExitKeyCode=112
# After the bot moves the cursor to the target position, wait for the given duration before performing the click
WaitTimeInMsBeforeClickInput=50

[PartySelection]
# Integer which defines the party group to use. If an integer outside of the range [1, 7] (boundaries included) is provided, the current party group will be selected.
PreferredPartyGroup=3
# Integer which defines the party deck to use. If an integer outside of the range [1, 6] (boundaries included) is provided, the current party deck will be selected.
PreferredPartyDeck=2
# Integer which defines the party group to use for the nightmare mode. If an integer outside of the range [1, 7] (boundaries included) is provided, the current party group will be selected.
PreferredNightmareModePartyGroup=3
# Integer which defines the party deck to use for the nightmare mode. If an integer outside of the range [1, 6] (boundaries included) is provided, the current party deck will be selected.
PreferredNightmareModePartyDeck=3

[Summons]
# Comma-delimited list of summons which will be selected in priority if they are available
PreferredSummons=Titan_1,Godsworn Alexiel, Medusa_2
# In case none of the preferred summons was found, select a random summon in the given summon attribute tab, unless the parameter RerollSummonWhenNoPreferredSummonWasFound is set to true.
# Possible values are 'misc' (Kaguya, White Rabbit fall into this category), 'fire', 'water', 'earth', 'wind', 'light' or 'dark'.
# Not case-sensitive.
DefaultSummonAttributeTab=Earth
# Zooey will reroll summons until one of the preferred summons is available, using trial battles to refresh the summon list. This does not apply to the summon selection for the nightmare stage (see the EventMode section).
RerollSummonWhenNoPreferredSummonWasFound=true

[Combat]
# Zooey-bot will wait at least the given number of milliseconds after pressing the attack button
MinWaitTimeInMsAfterAttack=200
# Zooey-bot will wait at least the given number of milliseconds after using a summon
MinWaitTimeInMsAfterSummon=3000
# Zooey-bot will wait at least the given number of milliseconds after using a skill
MinWaitTimeInMsAfterAbility=1850
# Relative path to the script to use to customize the pace of combats. Embrace a world of infinite possibilities!
# Leave this parameter blank if you do not want to use any script. In this case Zooey will just attack at each turn. You can test your scripts using the TrialBattleMode (see the Debug section).
# Please refer to https://github.com/Masuzu/ZooeyBot/wiki/Lua-scripts for a comprehensive overview of the scripting features.
LuaScript=Scripts/fire_gw_nm_95_nov_2017.lua
# If set to true, Zooey will refresh the page after each attack on the last stage of a quest.
# This saves up some precious seconds and that is what every MVP racer does.
ReloadPageOnLastBattle=true
# If set to true, Zooey won't wait for a response from GBF servers after using a skill or summon or after attacking. Use this parameter if you know what you are doing, or else this may result in Zooey going out of control in case you use several skills each turn. The main use of this parameter is to make skill usage slightly more responsive during slime blasting.
DoNotWaitForServerResponse=false
# Retrieving party members status effects at each turn may degrade the performance depending on your ping.
RetrieveStatusEffects=false

# After performing a chain burst with 2 or more characters, you can't take any actions for a short period of time.
# Use the parameters below to configure how long you would like to wait when it happens.
AdditionalDelayInMsAfter2ChainBurst=2000
AdditionalDelayInMsAfter3ChainBurst=7000
AdditionalDelayInMsAfter4ChainBurst=11000
AdditionalDelayInMsAfterOverchainBurst=11000

# Showcase: Zooey bot project - Cerberus showdown 3-hour demo - automated event grinding
# https://www.youtube.com/watch?v=-xvDRwB4QEk
# Applicable to any quest with a nightmare mode such as Angel Halo and Xeno showdowns.
# Please refer to https://github.com/Masuzu/ZooeyBot/wiki/Event-mode for more information.
[EventMode]
# Set this parameter to true to use the event mode. Zooey will enter autopilot mode when you navigate to the quest menu.
Enabled=true
# Url of the summon selection page for the Xeno Cocytus EX+ mode
EventRaidUrl=http://game.granbluefantasy.jp/#quest/supporter/501201/5
EventRaidScript=Scripts/xeno_cocy_ex.lua
# Url of the summon selection page for the Xeno Cocytus Nightmare Level 70
NightmareModeUrl=http://game.granbluefantasy.jp/#quest/supporter/501221/5
NightmareModeScript=Scripts/xeno_cocy_nm_70.lua
# Some events such as Rise of the Beasts require to navigate to the home page of the event before navigating to the event raid url defined above. If EventPageUrl is provided, Zooey will first navigate to this url before hosting the raid. Leave EventPageUrl blank for events which do not require you to do so.
EventPageUrl=
# Comma-delimited list of summons which will be selected in priority if they are available for the nightmare mode.
# In case none of the preferred summons was found, select a random summon in the summon attribute tab defined by the parameter DefaultSummonAttributeTab, unless the parameter RerollSummonWhenNoPreferredSummonWasFoundForNightmareMode is set to true.
NightmareModePreferredSummons=Kaguya,Titan_1,Godsworn Alexiel
# Zooey will reroll summons until one of the preferred summons for the nightmare mode is available, using trial battles to refresh the summon list.
RerollSummonWhenNoPreferredSummonWasFoundForNightmareMode=true
# Set this parameter to true if the nightmare mode is available when you start Zooey so she can proceed to the nightmare stage right ahead.
NightmareModeAvailableAtStart=false
# Wait time in milliseconds after Zooey finishes loading the EventPageUrl
WaitTimeInMsAfterEventPageIsLoaded=100

# Use this special event mode to automate farming of events stages which require a certain number of items to be hosted, such as Guild War nightmare modes.
# Please refer to https://github.com/Masuzu/ZooeyBot/wiki/Treasure-Raid-Event-mode for more information
[TreasureEventMode]
Enabled=false
# Url of the event page. The URL of the June 2017 dark GW is given as an example.
TreasureEventUrl=http://game.granbluefantasy.jp/#event/teamraid034
# Supported value are 'vh' (for "very hard") and 'ex' (for "extreme"), 'gw' (for the preliminary round and first day of "Unite and Fight" nightmare mode level 90, 'gw-day-2-nm-90' for the second and 3rd days of "Unite and Fight" nightmare mode level 90, 'gw-day-2-nm-95' for the second and 3rd days of "Unite and Fight" nightmare mode level 95)
Difficulty=gw-day-2-nm-95
# Action point cost of the quest you are trying to start
ActionPointCost=40
TreasureEventModeScript=Scripts/fire_gw_nm_95_nov_2017.lua

NightmareModeUrl=http://game.granbluefantasy.jp/#quest/supporter/721111/3
NightmareModeScript=
# Comma-delimited list of summons which will be selected in priority if they are available for the nightmare mode.
# In case none of the preferred summons was found, select a random summon in the summon attribute tab defined by the parameter DefaultSummonAttributeTab, unless the parameter RerollSummonWhenNoPreferredSummonWasFoundForNightmareMode is set to true.
NightmareModePreferredSummons=Bahamut
# Zooey will reroll summons until one of the preferred summons for the nightmare mode is available, using trial battles to refresh the summon list.
RerollSummonWhenNoPreferredSummonWasFoundForNightmareMode=true
# Set this parameter to true if the nightmare mode is available when you start Zooey so she can proceed to the nightmare stage right ahead.
NightmareModeAvailableAtStart=false

# Use this mode to repeat a certain number of times raid A, then move on to raid B and so on. 
# More information to get started with the customized raid scheduling mode can be found here https://github.com/Masuzu/ZooeyBot/wiki/Customized-raid-scheduling
[CustomizedScheduling]
Enabled=false
SchedulingLuaScript=scheduling.lua

# Use this mode to host and repeat co-op stages on your own.
# More information about this mode can be found here https://github.com/Masuzu/ZooeyBot/wiki/Solo-co-op-mode
[SoloCoOpMode]
Enabled=false
# Relative path to the script to use to customize the behaviour of the main account.
# If left blank, the slave account will attack at each turn.
LuaScript=

[Debug]
Clicks=false
# When this parameter is set to true, Zooey bot won't start until you press ENTER. This is especially useful to test your Lua scripts using trial battles.
TrialBattleMode=false

[Alerting]
# Relative path to the mp3 or wav file to play when the captcha window appears
CaptchaNotificationSoundPath=captcha_notification.mp3
# Number of times the captcha notification sound is played before Zooey stops, following a captcha appearance.
NumNotifications=9999
# Maximum number of times in a row allowed when Zooey has to refresh the summon page. Reloading an abnormally high amount of times can indicate that the captcha popup is displayed but that Zooey somehow missed it.
# A sound notification will be played when the summon selection page is refreshed more than this number of times. 
MaxNumSummonSelectionFailuresBeforePlayingSoundNotification=3

[DimensionalHalo]
# It is possible to know in advance whether the Dimensional Halo boss will transform or not.
# Unless you are not already drowning in Angel fodder, set this parameter to true to retreat immediately at the start of the battle if the boss won't transform.
RetreatWhenNoDimensionalHaloTransformation=true

Below are the 2 scripts referenced in the configuration above, for the EX and Nightmare modes: xeno_cocytus_ex.lua

--[[Gizoku (Splitting Soul, Miserable Mist, Treasure Hunt 4), Siegfried, Mahira, Ayer]]
EnableChargeAttack()
if battle == 1 then
  character_1:UseSkill(2)
  character_4:UseSkill(1)
end
if battle == 3 then
  character_1:UseSkill(3)
  character_3:UseSkill(2)
  character_3:UseSkill(3)
  character_2:UseSkill(2)
  character_2:UseSkill(1)
  character_1:UseSkill(4)
end

xeno_cocytus_nm_70.lua

--[[Gizoku (Splitting Soul, Treasure Hunt 3, Treasure Hunt 4), Siegfried, Mahira, Esser]]
EnableChargeAttack()
if turn == 1 then
  character_1:UseSkill(2)
  character_1:UseSkill(3)
  character_3:UseSkill(2)
  character_3:UseSkill(3)
  character_2:UseSkill(2)
  character_2:UseSkill(1)
end
character_1:UseSkill(4)
character_4:UseSkill(1)
Masuzu commented 6 years ago

To automate farming the Level 100 Xeno Cocytus raid, use the Treasure Event mode and set the difficulty parameter to xeno-raid.

Good luck with your drops!