Giter VIP home page Giter VIP logo

gp-per-hour's Introduction

GP Per Hour

Track your gp/hr across various trips and save your sessions for later viewing.

GP Per Hour is a comprehensive money making tracker, that will accurately calculate your gp/hr by combining your profits and losses over time for any activity.

What makes this more accurate than any other profit tracker?

  • Tracks loss of charge components from weapons, armor, and utility items (Trident, blowpipe, crystal armor, blood essence etc.)
  • Keeps track of items in containers (Looting bag, herb sack, etc.)
  • Ability to assign value to untradeable items (Tokkul, crystal shards, etc.)

UI

Trip Overlay

See your gp/hr at glance, and hover your mouse over the overlay to see more details about the current trip. A trip is automatically started/ended whenever you visit a bank.

totalandledger_2

Session Panel

View your gp/hr averaged across various trips, and save a group of trips to the session history.

sessionpanelguide_2

Gold drops

View fake XP drops that are created whenever a profit or loss occurs.

Screenshot 2023-09-18 at 7 43 16 PM 1

Tracking Features

Weapons and Armor Tracking

Automatically tracks charges used by weapons and subtracts charge components.

Supported items:

  • Warped Sceptre
  • Trident of the seas
  • Trident of the swamp
  • Abyssal tentacle
  • Crystal halberd
  • Crystal bow
  • Crystal helm, crystal body, and crystal legs
  • Tome of fire and tome of water
  • Scythe of vitur
  • Sanguinesti staff
  • Arclight
  • Craw’s Bow / Webweaver Bow
  • Viggora’s Chainmace / Ursine Chainmace
  • Thammaron’s Sceptre / Accursed Sceptre
  • Bow of faerdhinen
  • Serpentine helm
  • Tumeken's shadow
  • Toxic blowpipe
  • Amulet of Blood Fury

Unsupported items:

  • Barrows armor
  • Iban’s staff (ambiguity on charge cost)
  • Blade of saeldor (needs testing)

Utility Charge Tracking

Automatically tracks components from common utility items.

Supported items:

  • Kharedst memoirs
  • Ash sanctifier
  • Blood essence
  • Bottomless compost bucket
blood

Container Support

Automatically tracks items stored inside containers.

Supported items:

  • Looting bag
  • Fish barrel
  • Gem bag
  • Herb sack
  • Log basket
  • Seed box

Unsupported items:

  • Forestry kit (Widget check)
  • Plank sack (Lack of game messages)
fishbarrel

Reward Chest Support (NEW)

Automatically tracks items banked via the reward interface

Supported rewards:

  • Chambers of Xeric (COX)
  • Tombs of Amascut (TOA)
  • Theatre of Blood (TOB)
  • Drift Net Fishing
  • Fortis Colosseum
  • Lunar Chest
  • Fishing Trawler
  • Wilderness Loot Chest

Thanks to https://github.com/BR- for adding this!

Untradeable Item Support

Provides config options to assign value to various untradeable items using their commonly traded counterparts.

  • Supported items:
    • Tokkul
    • Crystal shards and crystal dust
    • Mermaid’s tears
    • Stardust
    • Unidentified minerals
    • Golden nuggets
    • Abyssal pearls
    • Hallowed marks
untradeableconfig

gp-per-hour's People

Contributors

moshebenzacharia avatar mbenzacharia avatar br- avatar

Stargazers

 avatar

Watchers

 avatar  avatar

gp-per-hour's Issues

Closing client without saving session deletes session

Not much more to say. Closed my client without saving the session and it just deleted the session.

If your not able to auto save the session in that case you could have an option to save it after every X amount of idle time or on logout.

P.S - Love the plugin. Really wish more plugins had the config option and the sidebar position

[Feature] Only stop session after idle time

It seems like this plugin works best for long trips (eg: pvm). It would be great if it didn't always reset every time you opened the bank. If I'm doing any bankstanding activity where I'm constantly opening and closing the bank, the overlay keeps resetting every minute or so which makes it not very useful.

  • The concept of a "trip" can be configurable so it doesn't end whenever you open a bank. Maybe provide a few options: bank, idle minutes, manual
  • Or make an option so the trip overlay is actually the session stats that are currently in the side panel. Then the trips can be tracked as normal and you'll just end up with hundreds of trips, but you'll get a summary of them in the overlay.

After a little bit of cooking, I had about 50 trips, each with 28 sharks in it. The trips weren't useful but the overall session stats were extremely useful.

Prior art:

Thank you for your consideration! This would make the plugin so much more versatile!

All equipped and inventory items counted as loss when entering the gauntlet

If you have items collected from the gauntlet in your inventory and start a new run, the plugin instantly counts them towards loss, as all the items appear to be "deleted" when entering the challenge. Furthermore, equipped items also appear to be counted towards loss.
Example:

  • You have 100 sapphires in your inventory from a previous run. You also have a mystic fire staff equipped.
  • Entering the gauntlet, the plugin will highlight the sapphires and staff as red, and report "-50k" loss for the trip/session (price of staff + gems)
  • If fake XP drops are enabled, this will also trigger.

However, when you leave the gauntlet these items are counted as profit, so in the end it doesn't affect the overall tracking. New items from looting the chest are tracked accurately. Its a minor issue, but less than ideal. Is having a specific way of handling gauntlet viable, for example ignoring items when entering/leaving?

Finally, here is a screenshot of what the sidebar starts to look like when you have a lot of items in the inventory (The trip windows get squished):
Screenshot 2023-10-14 180341

[Feature] Add support for Tombs of Amascut

Love the plugin! One of the most polished plugins out there. Also as a developer I'm happy to do the leg work on this issue and submit a PR I just want to get on the same page about your preferred implementation.

In ToA trips could behave slightly differently, the biggest pain-points are:

  • using the deposit pot/friendly spirit(not sure which, I can do some testing) will reset the trip, this causes 2-3 trips to be created each raid and I think it would be more intuitive/useful if they were all treated as 1 trip.
  • when using the send to bank option on the loot chest it doesn't count towards gains. I can see the argument for this being intended behavior but I don't see why anyone wouldn't want this included in their trip gains.
  • support for splits would be nice but admittedly that may be better scoped to a raids specific loot plugin, unfortunately the current ones don't support ToA and I personally prefer to use your plugins UI.
  • maybe add support to count death fees, could be a toggle
  • would be nice to also include pre-pot in raid trip but this may be tricky

TLDR; Each raid should be considered one trip instead of the current 3.

Let me know what you think, if you think point 1 is out of scope I'll just roll it all into a new plugin. If you're open to these improvements we can strategize about implementation and I'll work on a PR if you like.

image

Session resets when opening leprechaun tool exchange

While doing herb runs (or any farming runs) and you find yourself needing to open the leprechaun tool bank to grab a plant cure, it starts a new session and splits the herb run (or any farm run) into two sessions. Not sure if it bothers anyone else but I think nobody is using the tool leprechaun for any specific money making methods where you'd necessarily want to track gp gained between every time you open up the leprechaun interface.

(Edit: typo)

Can it track blood fury charges?

This is a really cool plugin! Was trying it at fossil island wyverns and was wondering if you were able to track blood fury charges? Would be cool to see if I'm breaking even when I use blood fury. Thanks for the great plugin

Issue - Inventory improperly tracked when switching clients

Repro:

  • Withdraw a bunch of items from the bank.
  • Log off
  • Log on to that same account but from another device (eg: mobile)
  • Deposit the items in the bank
  • Log off
  • Log back on to RuneLite where you were originally
  • Now the GP Per Hour plugin will show a large loss of GP because it suddenly saw that all the items disappeared.

Suggestion:

When logging on, it should check if the state of all of the tracked inventories has changed, if they have changed, then treat the logon like "banking" and reset everything to this new state and start a new session. If everything is identical to when the user last logged off, then continue as it does currently.

Button for Exact GP does not function

Regardless of having the box checked or not, it will always display the exact number
EDIT: changed nothing in the session and it updated and seemed to resolve itself. Closing issue because its possible something else was causing it

Support for subtracting money for retreival services

I love your addon, but I noticed that it doesnt take into account if the player dies, say at Vorkath, where you have to pay 100,000 to retrieve the items. Would be a nice feature to have and I wouldnt imagine too difficult to add

LogBasket NullPointerException

Running version 1.1. Chopped log and got this error in the console.

java.lang.NullPointerException: null
	at com.gpperhour.itemcharges.items.U_LogBasket.lambda$new$2(U_LogBasket.java:90)
	at com.gpperhour.itemcharges.ChargedItem.onChatMessage(ChargedItem.java:477)
	at com.gpperhour.itemcharges.ChargedItemManager.lambda$onChatMessage$0(ChargedItemManager.java:148)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
	at com.gpperhour.itemcharges.ChargedItemManager.onChatMessage(ChargedItemManager.java:148)
	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.post(Hooks.java:194)
	at gm.al(gm.java:18811)
	at pe.ac(pe.java:19)
	at client.kq(client.java:49047)
	at client.hw(client.java:3098)
	at client.ai(client.java:1124)
	at bb.ad(bb.java:358)
	at bb.run(bb.java:335)
	at java.base/java.lang.Thread.run(Thread.java:829)

[Bug] Potted plants counting only as a loss when grown in bank

Planting a seed inside a pot causes a profit loss event as seeded/watered pots are valueless. If the plant grows into a seedling while in the player's inventory, the value is added back to the session profit. However if the pot is inside the bank and it grows, the value is never added back.

Gauntlet Deposting Items Issue

Love the plugin so far, but upon doing some Corrupted Gauntlet runs I notice it subtracts my current gear from the gp per hour once I enter a run, as seen in the linked video:
https://www.youtube.com/watch?v=PrxATpP8xKo

Also more of a curiosity question, is it possible to make the gp/hr box alt-draggable like other UI in runelite? This would be a great ux enhancement instead of manually setting x/y offsets.

Thanks!

Rune Pouch Presets Break Tracking

As of the update on Feb 21, 2024, Rune Pouches now have a Presets panel which can be viewed in a bank to instantly change out the entire contents of the pouch with another set of runes. When in the bank, if you change presets, the tracker will sometimes think that you just lost all of the runes that were previously in the pouch and just gained all of the new runes you put in the pouch.

The easiest way to reproduce this is to load two totally different pouch presets back to back and it's always reproducible.

It seems like it's not tracking banks correctly since nothing should be tracked as a gain/loss while a bank interface is open.

[Feature] Add option to ignore trades

Would be cool if there was an option to ignore trades. I play with an alt and frequently trade items back and fourth between them. Currently the trades are considered as losses/gains.

Issue with Leprechaun/Log Basket

Love the plug in! I noticed today while doing forestry that the plugin is not able to accurately track gp gained when logs go into an open basket (sometimes it does though?). Also, when I bank logs with the leprechaun it subtracts the logs from GP gained.

[Bug] Trip overlay disappears when switching inventory tabs

Whenever you switch to another tab that isn't the inventory, the trip overlay disappears. I cannot seem to find if any of the settings affect this.

I'm reporting this as a bug because it was surprising/unexpected. But I suspect it was intentionally coded this way. Is there a reason it needs to be only when the inventory is visible? It's very jarring for it to constantly appear and disappear as you switch tabs.

Herbs going directly into open herb pouch don't count

Firstly: Thank you very much for the plugin, I love it!

The only problem I got with it is that my snapdragons that I get on my herb runs won't be counted if if they go into open herb sack.

I can't really track my daily wins/losses because of this.

I hope this can be fixed :)

Locked divine rune pouch is not tracked

Using trouver parchment you can lock the divine rune pouch (lets you keep it and contents on death even outside wild)
But the runes stored in the pouch are not tracked

Edits are because I accidentally hit enter when typing the title before I could type the body
Love the plugin gl with your refactoring!

Session loot grid forces client resize when not maximized

When the number of items in history gets large, the plugin will force the client to resize up to its vertical maximum if in a resizable mode to accommodate the grid instead of causing a scrollbar. On systems with particularly large vertical resolution (e.g. I have 4 3440x1440 ultrawides in a 2x2 grid), this can cause the client to largely go outside the usable area of the monitors. It also prevents the client from being resized any smaller by any means other than switching plugin tabs first, or first hiding the grid, or (ironically) maximizing the window.

Seems pretty easy to repro, other than getting a list of items in the log long enough to force it... here is one such grid that was causing the bad behavior:
image

Compatibility with Customizable XP Drops

I've been tracking this plugin since it seems incredibly well done so I jumped on it as soon as it was released. Unfortunately, it seems like it is partially incompatible with the Customizable XP drops plugin which override the XP drop UI. Instead of showing the coins in profit/loss mode, it shows the following.

image

Would it be reasonable to ask for either compatibility with that plugin, or a different UI option for your plugin so that it avoids the compatibility issues entirely? A simple solution might be to show the gold drops right next to the trip overlay sort of like this. It would be static, appear for a few seconds, and then disappear. If there was another gold drop before the first one disappeared, the numbers would add together and the disappear time would reset.

image

Anyway, thank you so much for this amazing plugin. I'm sure you'll come up with something clever to solve this problem.

Enhancement - Add untradeable value for Anima-infused bark

Similar to other untradeable currencies, it'd be great if anima-bark (from Forestry) could have a value assigned to it.

Note: Most of the time these items go straight into the Forestry kit and not the inventory, so it'd need to be tracked via the chat messages, same way the built-in Woodcutting plugin tracks Bark.

Not tracking Venator Bow charges

Not sure if it was just missed or if it's not working correctly but the ancient essence for venator bow charges is not tracked

Feature Request: Allow multiple displays to see other info

While using the plugin, I found myself wanting to see my inventory value alongside my session profit, but found no way to set this up to have them side by side. Would be nice to be able to display both at once, instead of just one or the other. For example, having inventory value on the right and session profit on the left.

session not starting

Start/ end sessions in overlay are greyed out and i cannot scroll on that side of the hub. a cannot get a session to begin. have tried going and coming from multiple banks.

2023-10-16_16-02-55

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.