Fix for when combat assist start hotkey randomly stops working

Midnight_ - Nyos
Midnight_ - Nyos Posts: 4 Arc User
edited January 2015 in General Discussion
I've had this problem few times and it has always spontaneously resolved eventually but is really inconvenient until it does. Searching the forum showed that for others it resolved when their computer was restarted but that never worked for me. What has worked though is re-syncing my laptop's time with the internet time server (option is found under the 'Internet Time' tab on the Date and Time screen). I guess this explains why it seemingly randomly resolves on its own too as the computer will eventually re-sync by itself.

Posting in case this helps any others with the issue. Of course, it could just be one of those random buggy coincidences...
Post edited by Midnight_ - Nyos on

Comments

  • Merashia - Lionheart
    Merashia - Lionheart Posts: 30 Arc User
    edited January 2015
    This just recently happened to me as well. I have not restarted my computer yet, but in order to start bot again, I have to pull the up the combat assist window. In the past, this is how I resolve it though.

    In the past, I have noticed that bot stops working with the shortcut, when my computer has been on for 25 days. This time, it stopped at 24 Days 22 hours. Why this is, I have no clue. =c
  • kuukami
    kuukami Posts: 166 Arc User
    edited January 2015
    If your computer has not had a full shutdown in 25 days the bot key will no longer work.

    You can check this in Win 8 by looking in the Task Manager Performance tab and it will show how long your computer has been "on" under the "UP TIME" heading. (The lack of a full shutdown in Win 8 happens even if you completely turn your computer off every night.)

    If you have Win 8 you can search for Win 8 Full Shutdown instructions on internet.

    Once you do the full shutdown your problem should be solved - meaning, it's worked for me and several others whom I have shared this information with.



    above copied from this thread:
    http://fw-forum.perfectworld.com/showthread.php?t=524941&highlight=combat+assist
  • Darksiren - Storm Legion
    Darksiren - Storm Legion Posts: 0 Arc User
    edited January 2015
    kuukami wrote: »
    If your computer has not had a full shutdown in 25 days the bot key will no longer work.

    You can check this in Win 8 by looking in the Task Manager Performance tab and it will show how long your computer has been "on" under the "UP TIME" heading. (The lack of a full shutdown in Win 8 happens even if you completely turn your computer off every night.)

    If you have Win 8 you can search for Win 8 Full Shutdown instructions on internet.

    Once you do the full shutdown your problem should be solved - meaning, it's worked for me and several others whom I have shared this information with.

    The same happens in Windows 7. Last time it occurred at 24 days & 20 hours. SO when its roughly approaching 25 days without a full reboot.

    However as I asked in the above thread;

    My question is WHY does this happen after not shutting down for quite a number of days? And how can we reset it without rebooting entirely?

    So any answer to that yet?
  • kuukami
    kuukami Posts: 166 Arc User
    edited January 2015
    The same happens in Windows 7. Last time it occurred at 24 days & 20 hours. SO when its roughly approaching 25 days without a full reboot.

    However as I asked in the above thread;

    My question is WHY does this happen after not shutting down for quite a number of days? And how can we reset it without rebooting entirely?

    So any answer to that yet?

    Didn't know it happened in Win7 also as I never had a problem when I ran it; and no, answer as to why it shuts down after 25 days... probably won't get one anytime soon either.
  • gamerbychoice
    gamerbychoice Posts: 32 Arc User
    edited January 2015
    Just like to add, Bot hotkey stops working at 25 days uptime, and starts working again at 50 days uptime, and stops again at 75. Happy bug hunting.
  • semitroll
    semitroll Posts: 79 Arc User
    edited January 2015
    Just like to add, Bot hotkey stops working at 25 days uptime, and starts working again at 50 days uptime, and stops again at 75. Happy bug hunting.

    More precisely, it stops working after 24 days, 20 hours, 31 minutes, 23 seconds, 648 milliseconds... Now calculate how much that is in milliseconds ;)
  • Shapelle - Lionheart
    Shapelle - Lionheart Posts: 250 Arc User
    edited January 2015
    semitroll2 wrote: »
    More precisely, it stops working after 24 days, 20 hours, 31 minutes, 23 seconds, 648 milliseconds... Now calculate how much that is in milliseconds ;)

    So basically you're saying that it fails after 2^31 milliseconds, and if the post above is to be believed, it starts working again when the sign wraps back to positive.

    Sounds to me like they're casting an unsigned system timing integer to a signed integer, arriving at a negative number, and then not handling this situation.

    Which is why when the computer is restarted, it "fixes" the issue. Windows will be counting its uptime in milliseconds, and FW isn't reading that value correctly into whatever local signed 32-bit integer it's operating from.

    Basically the fix would be as simple as redefining the local variable to an unsigned 32-bit integer (from it's current signed casting) and voila, issue solved.

    Mind you, if I were Wanmei. I'd probably cast it to an unsigned 64-bit integer instead, and detect when system counter wraps, and compensate for that, such that FW has a consistent monotonically increasing counter to work from.
  • semitroll
    semitroll Posts: 79 Arc User
    edited January 2015
    Sounds to me like they're casting an unsigned system timing integer to a signed integer, arriving at a negative number, and then not handling this situation.

    Basically the fix would be as simple as redefining the local variable to an unsigned 32-bit integer (from it's current signed casting) and voila, issue solved.
    The Windows function GetTickCount returns unsigned 32bit value, so yes assigning that to a signed variable is just sloppy programming. This is what Microsoft says in the API documentation:
    Microsoft wrote:
    The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if the system is run continuously for 49.7 days. To avoid this problem, use the GetTickCount64 function. Otherwise, check for an overflow condition when comparing times.

    Now if someone could relay that information to the chinese developers, we might actually get a fix for it.

    The other question remains: Why does the hotkey even care about the local time? If it were for the bot night protection or something similar, 1. the server time would be more adequate, and 2. the same check would have to be done when the bot is started from the combat-assist dialog. But that part works even when the hotkey fails.