A plugin to show an attack cooldown timer, like in other MMOs.
The plugin will automatically start a timer on attack. Not all weapons may be supported.
Ticks until next attack may be enabled over your player's head.
runeline attack timer
License: BSD 2-Clause "Simplified" License
2023-10-27 17:39:05 GST [Client] WARN n.r.c.ui.overlay.OverlayRenderer - Error during overlay rendering
java.lang.NullPointerException: null
at net.runelite.client.ui.overlay.OverlayUtil.renderTextLocation(OverlayUtil.java:97)
at com.attacktimer.AttackTimerMetronomeTileOverlay.render(AttackTimerMetronomeTileOverlay.java:67)
at net.runelite.client.ui.overlay.OverlayRenderer.safeRender(OverlayRenderer.java:734)
at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlays(OverlayRenderer.java:328)
at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlayLayer(OverlayRenderer.java:235)
at net.runelite.client.callback.Hooks.drawAboveOverheads(Hooks.java:502)
at jq.yn(jq.java:59765)
at jq.lc(jq.java:122)
at qy.jw(qy.java:5090)
at jh.lb(jh.java:10739)
at jh.lb(jh.java:10770)
at pb.lz(pb.java:10634)
at client.id(client.java:4675)
at client.bp(client.java:1130)
at bb.bd(bb.java:388)
at bb.run(bb.java:337)
at java.base/java.lang.Thread.run(Unknown Source)
PLZ ADD SOULREAPER AXE. or better yet allow users to add their own IDs
Issue was incorrectly closed as completed. I can easily repro this on the version that just got merged to the hub (56e2a848
).
To repro you can e.g. bank all worn equipment and inventory items => log out => log in => attack something. An item container can be null when logging in with an empty container AFAIK...
Demonstrated here:
https://files.catbox.moe/t8dx7s.mp4
Original post:
I just freshly logged in without anything on and an empty inventory. IIRC the ItemContainer can be null at that point, so that'd explain the problem.
NPE:
2023-02-05 20:28:41 [Client] WARN n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber java.lang.NullPointerException: Cannot invoke "net.runelite.api.ItemContainer.getItem(int)" because "container" is null at com.attacktimer.AttackTimerMetronomePlugin.getItemStatsFromContainer(AttackTimerMetronomePlugin.java:80) at com.attacktimer.AttackTimerMetronomePlugin.getWeaponStats(AttackTimerMetronomePlugin.java:85) at com.attacktimer.AttackTimerMetronomePlugin.getWeaponSpeed(AttackTimerMetronomePlugin.java:104) at com.attacktimer.AttackTimerMetronomePlugin.performAttack(AttackTimerMetronomePlugin.java:128) at com.attacktimer.AttackTimerMetronomePlugin.onGameTick(AttackTimerMetronomePlugin.java:205) at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70) at net.runelite.client.eventbus.EventBus.post(EventBus.java:223) at net.runelite.client.callback.Hooks.tick(Hooks.java:207) at client.ac(client.java:31956) at client.an(client.java) at an.ao(an.java:390) at an.run(an.java:369) at java.base/java.lang.Thread.run(Thread.java:833)
And the following ArrayIndexOutOfBoundsException but that was probably when I equipped a whip again.
2023-02-05 20:31:38 [Client] WARN n.r.c.ui.overlay.OverlayRenderer - Error during overlay rendering java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 0 at com.watsoncluetracker.WatsonOverlay.render(WatsonOverlay.java:40) at net.runelite.client.ui.overlay.OverlayRenderer.safeRender(OverlayRenderer.java:735) at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlays(OverlayRenderer.java:328) at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlayLayer(OverlayRenderer.java:235) at net.runelite.client.callback.Hooks.drawAboveOverheads(Hooks.java:496) at ht.uc(ht.java:51287) at ht.fy(ht.java:116) at bj.hb(bj.java:4730) at ay.kv(ay.java:10421) at ay.kv(ay.java:10452) at ay.kv(ay.java:10452) at ay.kv(ay.java:10452) at ce.ke(ce.java:10310) at client.hq(client.java:4330) at client.ab(client.java:1126) at an.am(an.java:416) at an.run(an.java:370) at java.base/java.lang.Thread.run(Thread.java:833)
Issue just started happening in a CM. When you attack the timer starts at 5 and counts down. Was working fine before today.
Add dragon knives special attack to list.
The Blazing Blowpipe is the blowpipe with the Trailblazer Reloaded ornament kit; I believe its animation ID to be 10656
But it's a 4tick weapon. All variations, basic and attuned as well show 5 tick
I just installed the most recent windows updates which may be linked to this - issue did not exist before. Seems to happen on all weapons
I just freshly logged in without anything on and an empty inventory. IIRC the ItemContainer can be null at that point, so that'd explain the problem.
NPE:
2023-02-05 20:28:41 [Client] WARN n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber java.lang.NullPointerException: Cannot invoke "net.runelite.api.ItemContainer.getItem(int)" because "container" is null at com.attacktimer.AttackTimerMetronomePlugin.getItemStatsFromContainer(AttackTimerMetronomePlugin.java:80) at com.attacktimer.AttackTimerMetronomePlugin.getWeaponStats(AttackTimerMetronomePlugin.java:85) at com.attacktimer.AttackTimerMetronomePlugin.getWeaponSpeed(AttackTimerMetronomePlugin.java:104) at com.attacktimer.AttackTimerMetronomePlugin.performAttack(AttackTimerMetronomePlugin.java:128) at com.attacktimer.AttackTimerMetronomePlugin.onGameTick(AttackTimerMetronomePlugin.java:205) at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70) at net.runelite.client.eventbus.EventBus.post(EventBus.java:223) at net.runelite.client.callback.Hooks.tick(Hooks.java:207) at client.ac(client.java:31956) at client.an(client.java) at an.ao(an.java:390) at an.run(an.java:369) at java.base/java.lang.Thread.run(Thread.java:833)
And the following ArrayIndexOutOfBoundsException but that was probably when I equipped a whip again.
2023-02-05 20:31:38 [Client] WARN n.r.c.ui.overlay.OverlayRenderer - Error during overlay rendering java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 0 at com.watsoncluetracker.WatsonOverlay.render(WatsonOverlay.java:40) at net.runelite.client.ui.overlay.OverlayRenderer.safeRender(OverlayRenderer.java:735) at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlays(OverlayRenderer.java:328) at net.runelite.client.ui.overlay.OverlayRenderer.renderOverlayLayer(OverlayRenderer.java:235) at net.runelite.client.callback.Hooks.drawAboveOverheads(Hooks.java:496) at ht.uc(ht.java:51287) at ht.fy(ht.java:116) at bj.hb(bj.java:4730) at ay.kv(ay.java:10421) at ay.kv(ay.java:10452) at ay.kv(ay.java:10452) at ay.kv(ay.java:10452) at ce.ke(ce.java:10310) at client.hq(client.java:4330) at client.ab(client.java:1126) at an.am(an.java:416) at an.run(an.java:370) at java.base/java.lang.Thread.run(Thread.java:833)
Plugin's bar currently doesn't match the High Detail health bars in the runelite interface styles. Would be a nice addition to go alongside them and the prayer bar to look more natural!
Here are my settings. It is always ready to attack when the bar is still one tick from full. Kicking and other attack cooldowns seem to work fine. Idk if it's just the red scythe or also the default scythe. I use the red scythe. This seems to be a new issue, I wasn't experiencing this when running tob last week but all this week it's been happening.
I do not know how to find animation ID.
Could you add support for Tumeken's Shadow to this plugin?
Would really appreciate if you could add these into the plugin! Please and thank you! Love the plugin
Currently the elder maul special attack does not have a tick counter. Please could you add this. Thankyou
Hey if possible could you add "Chinchompa", "Red Chinchompa" and "Black Chinchompa" ?
Would help with chinning at Kree'arra "Armadyl" or chinning at maniacal monkeys.
Since a few runelite updates ago, the timer has been off by 1 tick.
So when I attack with a 4 tick weapon, instead of (attack) 4 3 2 1 (attack) as expected, it goes (attack) 1 4 3 2 (attack) 1 4 3 2, so I need to flick on the 2 instead of the 1
I'm not sure if other darts work or if it is intentionally disabled for them, but I would like a lot if they were added.
Would be awesome if we could move the overhead ticker around the screen left and right. Thanks again for the plugin.
I was doing CMs today and I've noticed that if I equip a weapon and attack on the same tick, the plugin keeps track of the previous weapon cycle but doesn't change to the current one since I'm assuming it didn't detect a gear swap since the one it didn't pick up on.
First of all thank you for this plugin, it's really helpful!
I'd like to request an option to show the timer anywhere but near the player model, for example an infobox in the top left would work, or something else that is maybe draggable. This is useful for people who already have too much visual clutter near the player model. Also if you're using this plugin for offensive prayers, it might be useful to have something near the inventory instead of near the player.
I hope you people have time to implement this, thanks in advance!
This last update broke the 5 tick cooldown timer for the Sceptre the main little weapon you get when you first spawn
Casting ice barrage with an ahrims staff (at least in LMS) shows 6 tick timer but it should only be 5 ticks.
Hello, this mod helps a lot, enjoying it so far however everytime I use the staff it messes up the tick counter.
a fix would be really appreciated.
thanks !
Not sure what happened. And multiple people are reporting the issue. But using most weapons (bowfa and trident). It will go 4 then 3 then glitch out and go back to 4... have no idea why and haven't found any solutions. It was working fine a week ago
Would love it if we could implement the new perilous moons weapons:
Please can you add Karil's Crossbow to the attack metronome overhead bar?
The Venator bow is missing, could you please add it as well? :)
The attack timer metronome doesnt work with items with the "Shattered relics variety ornament kit" on it such as the Rune crossbow (or), and Abyssal whip (or).
Please fix plugin it is great.
Using it to start my Zulrah kills, the timer doesn't appear for the sceptre specials, haven't tested if normal autos work but other weapons work fine.
Chins seem to be missing from the metrome.
Excellent plugin! I have a rather niche request, but I think it serves a useful purpose that may benefit others too.
When fighting KQ there is a flinching method. It would be awesome to enter a custom weapon delay to correspond to the down-time between flinch hits. Normally, one would just look at the health bar of the monster. When it disappears you may flinch. But when using a thrall, the healthbar always remains active.
I think this would be especially useful when flinching any monster while using a thrall. And it would still serve a purpose even when not using a thrall, as a more detailed indicator of how long before flinch hits, as opposed to the healthbar binary not-flinchable (present) versus flinchable (absent).
Thanks!
While attacking the obelisk, it seems like only the first attack after clicking the obelisk triggers the timer. After the first attack, the timer counts down from 4 to 1 as normal, but instead of looping back to 4 with the next attack, it disappears as if I had stopped attacking. The timer than doesn't reappear until I click to move and then click the obelisk again (unknown if it restarts properly with just clicking the obelisk). This was done using the Bow of Faerdhinen, a weapon which had been working perfectly with this plugin before the latest update.
A slightly less noticeable (but likely related) issue has with the Keris Partisan of Breaching. While the timer now functions properly, it seems to occasionally desync. I'll need to poke around more to figure out exactly what caused this, but it was happening fairly consistently at Kephri.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.