Giter VIP home page Giter VIP logo

arcdps-killproof.me-plugin's Introduction

arcdps killproof.me plugin

A Plugin for arcdps, that is loading killproof.me info and displaying it ingame.

Contact

For any errors, feature requests and questions, simply open a new issue here.
You can also join the Elite Insights discord and write in the channel #killproof-me-plugin.

Installation

Requires ArcDPS.

Download the latest version from the releases page.
Then put the .dll file into the same folder as arcdps or in <Guild Wars 2>/bin64.
To disable, just remove the .dll file.

To allow tracking of players outside your current instance, install the unofficial-extras addon.

Alternatively, install it with the Guild Wars 2 Addon manager, like multiple other plugins.

Troubleshooting

If the DLL is not loaded (options do not show up), make sure, that you have installed the latest C++ 2015-2022 Redistributable. You can download the latest Redistributable from Microsofts download page. Please use the version "Visual Studio 2015, 2017, 2019 and 2022".
If you have problems, that your settings are reset on each startup, delete the file <GW2>/addons/arcdps/arcdps_killproof.me.json. This will reset all your settings.

Usage

Don't be a dick and give people a chance!

This plugin will load the killproof.me profiles, from everybody in your group, when they are on the same map, than you are. Those information, can be accessed in the killproof.me windows. No information is shown, when the individual has no killproof.me account or it is on private.

Two way to open the window:

  • Open the arcdps options panel (Alt+Shift+T by default) and enable the "Killproofs" checkbox.
  • Use the hotkey Alt+Shift+K. This can be adjusted in the Settings menu (opened also in the arcdps options panel, in "Killproof.me").

To close the window, just press the X on the top right, press Escape or use the hotkey Alt+Shift+K again.
To change what is shown in the table, press rightclick on the header. The table can be sorted by every column, just click on the header.
The killproof.me website will be opened, when you click on the accountname or on the username.

Ingame screenshot

Translations

The plugin is translated to English, French, German and Spanish. Translations, except english are only roughly, so please report any problems with them. There is no chinese translation yet, if you want to add one, go ahead.

Development

This plugin was developed with visual studio 2022 and vcpkg. It has only one dependency, that has to be installed in vcpkg.

Setup vcpk and make it available within visual studio:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install

Then download this project and open it with Visual Studio. Everything should be set up and you should be able to compile it.
To change the default output directory, use a Directory.Build.props file. An example is in the killproof_me directory.

LICENSE

This project is licensed with the MIT License.

Dear ImGui

Dear ImGui is also licensed with the MIT License and included as git submodule to this project. Used is a fork of it that adds a visual studio project.

json

json is a json library created by nlohmann and licensed with the MIT License. It is included with vcpkg.

magic_enum

magic_enum is licensed with the MIT License. It is included with vcpkg.

arcdps-extension

arcdps-extension is licensed with the MIT License. Also developed by myself.

arcdps-unofficial-extras

arcdps_unofficial_extras_releases is a closed source addon that this addon can use. The public API included is licensed with the MIT License. Also partially developed by myself.

arcdps-killproof.me-plugin's People

Contributors

big759 avatar knoxfighter avatar sejsel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arcdps-killproof.me-plugin's Issues

Additional KP from new strike - Old Lions' Court

Hi! Wanted to make request to add Old Lion's Court strike killproof, the "Assault Knights' Coffer", to the list of displayed strike kps. There will be also Challenge Mote coming soon on 29th of November. Would be great to have both of them available on the list!

Add setting to disable new update notification

I play GW2 on Linux using lutris. I use arcdps and several other plugins without issues, but the killproof plugin v2.6.0 doesn't work, it just shows an error in the arcdps log on startup.
Note that up to this point I did not have the VC++ 2015-2019 libraries installed. After installing the libraries via wintricks, the startup error doesn't appear anymore, but as soon as I open the killproof window the whole game crashes.

I understand that this is not a supported case and I'm not asking for a fix to this problem, I downgraded to v2.5.2 and it works fine.

However, now every time I start the game I get a message telling me a new version is available. I'd like to be able to disable this notification (and please backport this to v2.5).

Cache

Whenever I join a big group let's say Dragonstorm, it loads all the characters, that doesn't clear itself after I leave the squad meaning When I join a new party e.g. for fractals, I cannot use the addon because I still only see the names of the bigger group. Clicking 'Clear chache' doesn't help either. I'm also using unoficial extras.

Subgroup as a sortable column

Would be great if we had a subgroup column that we could sort by. Most pugs put accepted players into subs 2 and 3, so you identify new joiners more easily.

TODO

TODO list was merged with my other projects and is not available publicly anymore. If you want to know whats on it, ask me on discord: https://discord.gg/dCDEPXx

This is just a list of all things to add/change/fix. Here only for tracking purposes.

TODO

  • add a window to see current weekly clears of players from killproof.me (if the data is available) (refresh player beforehand, not in the api yet)
  • add a window to see done CMs of players from killproof.me (if the data is available)
  • highlight the row the mouse currently hovers over to make it easy to read all columns associated with that row. (currently not easily possible)
  • for UFE and other numbers higher than 999 perhaps switch something like 12.6K it will look less cluttered when in groups with multiple large amounts of KPs
  • make text to icons on the top buttons
  • make the window height based on "max displayed names". grow as needed and only show scrollbar when higher.
  • automatic resize name column
  • colour your names with profession colours
  • add profession icons
  • add commander icon back in
  • set focus on inputtext (ImGui::SetKeyboardFocusHere(0))

Implemented

v2.6.0

  • show killproof.me id in the table

v2.5.0

  • copy own ID with Killproof.me: as prefix
  • add option to show who is current commander
  • change self tracking from ID to agent flag
  • add up coffers to the kp

v2.4.0

  • add option to fill from bottom (bottom stays when height changes)
  • only load icons when they are needed (lazy loading)(use smart pointer)
  • add autoupdate
  • add option to hide header
  • show linked accounts separate
  • make window position locked to other window

v2.3.0

  • user not added when already left instance
  • add popup when on new release
  • when player added automatically, don't try to search for charactername
  • add option to hide buttons
  • move settings back into rightclick menu
  • only load players, when the arcdps window is visible
  • use ImGui Table TreeView to show linked accounts

<= v2.2.0

  • add settings dropdown, if username, charactername or both are shown username and charactername have different columns in the table.
  • Add Button to disable close on ESC (additional to the arcdps one)
  • fix small X in settings menu
  • click on charactername opens the kp.me name in the browser (only with new UI)
    function to do that: std::system() or ShellExecute()
  • get rid of LoadLibraryA and use the arcdps HANDLE from get_init_addr
  • don't open browser when user has no account
  • make e3 (char*) to const char*
  • Use custom user agent for network traffic
  • Add error message, if something went wrong
  • Add reload button, that clears the cache and reloads all kp.me data
  • Reload after some time automatically if the response was bad Reload attempt after 1 minute
  • Do NOT load data, when more than 10 people are in the squad
  • Add a button to add users manually
  • The clear cache button could break, when network thread is not finished before the Player object is deleted somhow that is not the case ๐Ÿ˜•
  • Align numbers in the row
  • Do not run code for columns, if they are hidden
  • add button to copy your own kp.me ID to clipboard
  • use icons in headers
  • add a way to remove players that were added manually
  • make it possible to input playernames and kp.me IDs in the add field.
  • add easy way to change/add languages aka. localization
    • Sometimes the wrong ID is selected as own id. Happens when a player is already in your group and map.
  • Users are added twice, manually and when joining the map
  • Headers are not aligned
  • fix reordering

Different instances

Could you add a toggle or something to make it also look at killproofs when in different instances?

add md5sum on release

Hey there, I wrote a script to update my arcdps and addons. I would like to include your plugin. Adding a latest tag for a steady download url (without any version number) and a file with the md5sum would help me alot to check if updates are necessary.

Error looking up killproof records

When I launch the extension window with release v2.11.0 I get one line of:
URL: https://killproof.me/api/kp/<account>?lang=en -- Status:0 -- Response: -- ErrorMessage: schannel: AcquireCredentialsHandle failed: SEC_E_INTERNAL_ERROR (0x80090304) -- Reason: -- StatusLine: per player in the group/squad, where I've replaced the various user accounts with <account> in that string. This is consistent, not intermittent.

Reverting to v2.10.0 works as normal, so this appears to be a new bug or regression. It is also possibly specific to Linux, as it does not appear to have been reported before. I am happy to test builds, but am not able to fiddle with it myself as I lack familiarity with the relevant build tools, and suspect they would not work well in Linux.

There appear to have been some whitespace changes between releases, complicating visual inspection of differences; as the developer you are probably familiar with anything key that may have changed between releases.

Settings reset when any key missing

As soon as any line in the settings file is deleted, all following settings will get reset.

Fix it by adding custom override for from_json and to_json

Auto update option on/off

Arcdps and the other addons to arc have this. Suprised this one doesnt have that option. Quite annoying when the update notifier keeps bugging me. Great addon but please add an option for turning it on/off. Would be really helpful. Stopped using kpme addon ftm. Unless Im really stupid and missed this option I apologise. Otherwise I hope this function could be added thanks!

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.