Havefunpeeps 0 Posted March 16, 2022 Ran into this bug while working through a private script I'm working on. My account has Sheep Shearer completed. Quests.isFinished(FreeQuest.SHEEP_SHEARER) The above will only return true if the "Quests" sub-tab is selected within the Quests tab. If the user or script has selected the achievement diary or account summary sub-tabs, this API appears to return false for all quests.
wettofu 109 Posted March 16, 2022 Instead of checking it that way, a "somewhat" easier way to do it would be through varps and varbits You can find the corresponding setting for each quest here: https://github.com/Zoinkwiz/quest-helper/blob/master/src/main/java/com/questhelper/QuestVarPlayer.java https://github.com/Zoinkwiz/quest-helper/blob/master/src/main/java/com/questhelper/QuestVarbits.java In the case of the quest sheep shearer, the PlayerSetting would be 179 and after reaching a certain "checkpoint", the value of it will change. For example: After speaking with Fred (Sheep Shearer Quest) to start the quest, 179 would become 1, and after finishing the quest, 179 would become 21. These values vary per quest. In terms of how it actually looks, it'd be something like PlayerSettings.getConfig(179) If you started quest: PlayerSettings.getConfig(179) == 1 If quest is completed PlayerSettings.getConfig(179) == 21 You can find changing PlayerSetting values in the Recent Updates section after passing a "checkpoint" in said quest. The Settings will be your PlayerSetting.getConfig and Varbits will be your PlayerSetting.getBitValue This doesn't really help your problem with Quests.isFinished but it should be "easier" if you use this instead, I think.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.