• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[Solved] How to *stop* flashing the Quests button once it's started?

Cokemonkey11

Spell Reviewer
Level 30
Joined
May 9, 2006
Messages
3,560
I add some quests during initialization

The quests button begins flashing as soon as the game starts even though I haven't issued a FlashQuestDialogButton call.

Wurst:
package Quests

import Icons
import Quest


init
    BlzFrameClick(BlzGetFrameByName("UpperButtonBarQuestsButton", 0))
    BlzFrameClick(BlzGetFrameByName("QuestAcceptButton", 0))
    BlzFrameSetSize(BlzGetFrameByName("QuestItemListContainer", 0), 0.01, 0.01)
    BlzFrameSetSize(BlzGetFrameByName("QuestItemListScrollBar", 0), 0.001, 0.001)

    new Quest(true)
    ..setTitle("How to win")
    ..setIcon(Icons.bTNHumanCaptureFlag)
    ..setDescription(
        "Git gud"
    )

---

The calls to BlzFrameClick cause the button to flash. Removing those resolves the issue. However, these calls are needed in order to remove the quest item list.

Is there a way to stop flashing the quests button once it's already flashing?

++ @Tasyen
 

Cokemonkey11

Spell Reviewer
Level 30
Joined
May 9, 2006
Messages
3,560
That's worked, thanks @Tasyen !

The only caveat is that I needed to wait a frame before the programmatic click. Here is a working version:

Wurst:
package Quests

import ClosureTimers
import Icons
import Quest

init
    new Quest(true)
    ..setTitle("How to win")
    ..setIcon(Icons.bTNHumanCaptureFlag)
    ..setDescription(
        "git gud"
    )

    nullTimer() ->
        BlzFrameClick(BlzGetFrameByName("UpperButtonBarQuestsButton", 0))
        BlzFrameClick(BlzGetFrameByName("QuestAcceptButton", 0))
        BlzFrameSetSize(BlzGetFrameByName("QuestItemListContainer", 0), 0.01, 0.01)
        BlzFrameSetSize(BlzGetFrameByName("QuestItemListScrollBar", 0), 0.001, 0.001)
 
Top