mrmin123 / kancolle-auto

Kantai Collection (Kancolle) bot/automation tool - DEPERECATED - see kcauto-kai:
https://github.com/mrmin123/kcauto-kai
54 stars 22 forks source link

KC_Window not defined #211

Closed joejoejoe3652 closed 8 years ago

joejoejoe3652 commented 8 years ago

Environment details

I know there was another post here regarding this problem too, but I could not solve it using the solution provided.

http://imgur.com/a/Z0hrJ

Consistent, as in it will work for some time (like3-4 hrs), but it will always crash on this error

Relevant config snippet (if applicable)

[config snippet goes here]
[General]
# The program/window name of your Kancolle container. Examples include Google Chrome,
# Firefox, KanColleViewer!, KanColleTool Viewer, Electronic Observer, etc...
Program: Google Chrome

# Which built-in recovery method to use when you get catbomb'ed. Valid options are Browser,
# KC3, KCV, KCT, and EO.
RecoveryMethod: KC3

# Your machine's timezone's difference to JST in full hours. Relevant to the Quests and PvP
# modules. Default is 0, same timezone as JST.
JSTOffset = 0

# How often kancolle-auto should run its loop, specified in full seconds. A lower value will make
# kancolle-auto be quicker to respond to timers, while a higher value will make it slower, but
# perhaps guard against bot-detection. Default value is 20.
SleepCycle = 20

# Specifies the desired # of menus to randomly walk through. The number of sidesteps range from 0
# to the Paranoia value. Setting this value to at least 1 is recommended (0 to 1 sidesteps).
Paranoia = 1

# If you have a slow computer/network connection, you may encounter frequent FindFailed errors.
# Increase this value by whole numbers (seconds) to increase the length of all sleep/wait timers
# to avoid this. Default is 0.
SleepModifier = 0

[ScheduledSleep]
# Set to True if you want kancolle-auto to automatically sleep/pause at set times. Highly
# recommended that you set this to True if you intend to run kancolle-auto for a long period of
# time.
Enabled = False

# Define around when you would like schedule sleep to start, in military time. Default time is
#0030, meaning that Schedule Sleep will begin sometimes between 12:30AM and 1AM. Relative to your
# computer's time.
StartTime = 0330

# How long you want the sleep to last, in hours (decimals are OK). Anywhere between 0 to 10 minutes
# are added randomly to the actual timer. Default value is 3.5 (hours).
SleepLength = 1.5

[ScheduledStop]
# Set to True if you want kancolle-auto to automatically stop and exit after a set number of hours,
# expeditions, sorties, or PvPs. You will have to manually restart kancolle-auto after this.
Enabled = False

# Define what you want to base the stop count on. Valid options are 'time', 'expedition', 'sortie',
# and 'pvp'.
Mode = time

# Define how many of the above kancolle-auto should perform before automatically stopping.
Count = 5

[Expeditions]
# Set to True if you want kancolle-auto to run expeditions; False if not.
Enabled: True

# Define which Expedition a fleet should go on. If you do not have a Fleet unlocked
# or you don't want it to run an expedition, just leave its value blank.
Fleet2: 5
Fleet3: 2
Fleet4: 

[PvP]
# Set to True if you want Fleet 1 to run PvP sorties; False if not. NOTE: line-ahead formation
# will be selected for everything, regardless of enemy fleet...
Enabled: False

# Specify which saved fleet composition should be used for PvP, with the first saved fleet being 1.
# NOTE: this value is only relevant if both PvP and Combat modules are enabled with different
# fleets assigned to them! Setting the FleetComp value to 0 for either module, or setting them to
# the same value will disable the fleet composition switcher.
FleetComp: 1

[Combat]
# Set to True if you want Fleet 1 to run combat sorties; False if not.
Enabled: False

# Specify which saved fleet composition should be used for Combat, with the first saved fleet
# being 1.
# NOTE: this value is only relevant if both PvP and Combat modules are enabled with different
# fleets assigned to them! Setting the FleetComp value to 0 for either module, or setting them to
# the same value will disable the fleet composition switcher.
FleetComp: 1

# Set which area you want to sortie to.
# Example 1: if you're running 3-2-A, set this to '3'
# Example 2: if you're running 2-3 (Orel), set this to '2'
# Example 3: if you're running Events, set this to 'E'
Area: 1

# Set which subarea you want to sortie to.
# Example 1: if you're running 3-2-A, set this to '2'
# Example 2: if you're running 2-3 (Orel), set this to '3'
# Example 3: if you're running the first map (1) of the second screen of maps (2) in the Event
#   screen, set this to '2-1'
Subarea: 5

# Specify whether the map you're running utilizes Combined Fleets or not. Only relevant for Events.
# Will automatically handle FCFs and the extra ships needing repairs + resupplies. This also turns
# off PvP and Fleet 2's Expedition, regardless of what you input above.
CombinedFleet: False

# Maximum number of combat nodes to run. Resource/hazard nodes do not count.
# Example 1: if you're running 3-2-A, set this to '1' (1st node only)
# Example 2: if you're running 2-3 (Orel), set this to '3' or above
Nodes: 1

# If the map you are sortieing to involves node selections, use this to point at the image
# generated for that specific node. For example, if you want to always head to node K on E-3 of
# Winter 2016, set this to '_node_E-3-K' to reference the '_node_E-3-K.png' image included.
# For other maps, please generate this image yourself (a 70px x 70px image of the node during
# node selection, with the desired node being in the center of the image).
NodeSelects:

# Formations to use at each combat node, separated by commas. Valid options are
# line_ahead, double_line, diamond, echelon, or line_abreast. If the number of
# formations you've specified does not match the number of nodes you specified above,
# the script will default to line_ahead for the remaining nodes.
# Example 1: if you're running 3-2-A, set this to 'line_ahead'
# Example 2: if you're running 2-3 (Orel), set this to 'line_ahead' (remaining nodes
#     defaults to 'line_ahead')
# For combined fleets, the valid options are combinedfleet_1, combinedfleet_2, combinedfleet_3,
# combinedfleet_4, in order of how they show up in the formation selection screen (left to right,
# top to bottom).
Formations: line_abreast, line_abreast, line_abreast

# Whether or not to engage in night battle at each combat node, separated by commas.
# Valid options are True (to engage in night battle) and False (to avoid night battle).
# If the number of night battle options you've specified does not match the number of
# nodes you specified above, the script will default to True for the remaining nodes.
# Example 1: if you're running 3-2-A, set this to 'False'
# Example 2: if you're running 2-3 (Orel), set this to 'False' (remaining nodes defaults
#     to 'True')
NightBattles: False, False, False

# Set the damage threshold for your ships. RetreatLimit specifies when sortie should be cancelled
# (retreat from sortie), and RepairLimit specifies which ships should be repaired before
# sortieing again. In addition, the tool will automatically not sortie if any ships are at the
# RepairLimit threshold. 0 = light damage, 1 = moderate damage, 2 = critical damage.
# Example: If you want the script to retreat when any ship is at critical damage, but also repair
#     any ships at moderate damage, set RetreatLimit to 2, RepairLimit to 1.
RetreatLimit: 2
RepairLimit: 2

# Set the repair time limit for repairs. kancolle-auto will automatically use a bucket to repair a
# ship if its repair time is above this # of hours. Integer values only, please. If you want to
# never use buckets, set this to '9900'. A limit of '9500' and below will allow the repair script
# to use a bucket if the OCR cannot properly read the timer, so adjust this accordingly. If you
# always want to use buckets, set it to '0'.
RepairTimeLimit: 0300

# Whether or not to find submarines under repair to switch out so kancolle-auto can continue
# sorties. Useful for maps where submarines are used to tank hits, such as 2-3 (Orel) or 3-2-A.
SubmarineSwitch: True

# Whether or not to consider fatigue/morale before sorties. If the ships have an unhappy face
# (morale of 29 or below) the script will wait for a set amount of time for morale to recover.
CheckFatigue = True

# Whether or not to sortie when the port (ship slots) is full. Set to True if you do not want
# sorties to occur when your port is full. Port checking is automatically done when sortieing to
# Event maps, since sortieing is prohibited when you do not have 5 free ship slots.
PortCheck = False

# Set this to True if you want kancolle-auto to stop sortieing to the specified map once the medal
# has been obtained. Only applicable to the monthly EOs (1-5, 2-5, 3-5, 4-5, 5-5).
MedalStop = False

# WARNING: READ THIS
# Whether or not to 'push' past the max number of defined combat nodes, REGARDLESS OF THE STATE
# OF YOUR FLEET. Only do this if the last node is a resource/non-combat node, like the end of 1-6
# and your path is 100% fixed!!! YOU MAY LOSE SHIPS WITH THIS SET TO TRUE.
LastNodePush: False

[Quests]
# Set to True if you want kancolle-auto to manage quests; False if not.
Enabled: False

# Quests to check for. Please check the Wiki linked above for a list of supported quests. Defaults
# to a list of most generic quests. kancolle-auto will ignore quests if they are not completable
# as specified by your config (if PvP is disabled, PvP quests will not be activated, and so on).
Quests: bd1, bd2, bd3, bd4, bd5, bd6, bd7, bd8, bw1, bw2, bw3, bw4, bw5, bw6, bw7, c2, c3, c4, c8, d2, d3, d4, d9, d11, e3, e4

# How often should quests be checked? Settings this to 1 will make quests be checked after every
# expedition and sortie. Default is 3.
CheckSchedule: 3
mrmin123 commented 8 years ago

Try updating your version of kancolle-auto. I think a bug from a previous version is causing this issue.

joejoejoe3652 commented 8 years ago

Ahh ok, will try n report back. Thanks!

joejoejoe3652 commented 8 years ago

Although kc window did not pop up, i got another issue:

http://imgur.com/a/uwjQB

mrmin123 commented 8 years ago

I'm not sure what you mean by 'kc window did not pop up'?

The rnavigation method is very stable and should not be causing issues.

joejoejoe3652 commented 8 years ago

What I mean is that I didnt get the previous error this post was about, but got another one instead. Could you tell me more about this method? Sorry I am not very literate in coding.

mrmin123 commented 8 years ago

Are you playing kantai collection while you're using kancolle-auto? Or moving the window around? I'll mention it just in case but you should only interact with the game during the script's pause states.

Either way, I'd need to see more of the log before the actual error, and a detailed step by step of what kancolle-auto was doing with kantai collection in the steps leading up to the crash to tell you what's going on.

In the above crash, kancolle-auto should have navigated to the home screen (or found itself at the home screen), then after doing a quick check for any returning expeditions (it found none), hit one of the top menu items (Quests, Furniture, etc), then looked for this button: menu_top_home to return back home, but could not find the image and crashed. Under normal circumstances there is never an issue with this series of steps.

mrmin123 commented 8 years ago

@joejoejoe3652 It might help if you raise the SleepModifier in the config to maybe 1 or 2 or 3

mrmin123 commented 8 years ago

Closing this as it's most likely not a kancolle-auto issue.

joejoejoe3652 commented 8 years ago

The thing is I wasnt playing kancolle at all, or even moving my mice. I left it to go run some errands and came back in this state. But I will try and raise the sleep modifier and see what happens. Thanks!

mrmin123 commented 8 years ago

@joejoejoe3652 then it's most likely an issue that the sleepmodifier can help with. Hope it fixes things for you!

joejoejoe3652 commented 8 years ago

@mrmin123 I will leave it here for future reference:

The sleep modifier did not help, but I did google around and found out that it was a windows issue. It had something to do with time synchronization since Sikuli uses local time instead of counting time by itself, and when windows try to synced up time with microsoft, it resulted in skipping the time dedicated to finding the button (like my home button) and thus error. So yeah disabled the time synchronization solved my issue.

edit: link:https://answers.launchpad.net/sikuli/+question/194095

mrmin123 commented 8 years ago

@joejoejoe3652 Weird! I'd never have expected something like that to be an issue... But thanks for the update! I'll have to update the FAQ and such with that info.