Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Online Forums > Hero Lab Online Discussion
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
nightpanda2810
Senior Member
 
Join Date: Jun 2016
Posts: 205

Old May 13th, 2024, 09:55 AM
Hey everyone! Been working on this since shortly after receiving my single D20 from https://gamewithpixels.com/ Kickstarter. I was already learning some Python, barely, when an idea to integrate these dice with HeroLab popped into my head. Now on the FOURTH version of this since I started.

Initially, I had a crude UI that grabbed the data from the HeroLab website to display on screen. Then I rewrote it, into a prettier UI, but still didn't really like it. I realized I could instead duplicate the modifiers on screen in the browser, and modify those. That's where V3 came from, using the Playwright browser automation library. I still wasn't very happy with it, but it worked, with poor performance.

Now for V4, it still does the same as V3 but instead of using Playwright, which uses a ton of system resources (not to mention huge battery life hit on my laptop) it uses a Chrome extension with a Python backend.

Public link coming soon! Still some things to work out to be ready for others to use. There is some discussion on this in the Pixels official discord under Community Projects, as well as a short video demonstrating it in action (the old method, but still works the same).

Works with Pathfinder, Pathfinder 2e, and Starfinder on HeroLab. Also works with the web-based pathbuilder for 2e, just not for weapon modifiers.

How it works:
This does NOT modify Hero Lab or your character in any way, it only modifies what you see when the page is loaded.

Chrome extension:
  • Finds any elements on the web page that match the specific items programmed element selector (filtered for modifiers, such as +2 or -1) and duplicates them.
  • Then it takes those duplicates and modifies them to become the total of the die rolled, plus the original modifier. See below for how it gets this.
  • Sometimes, the original modifier changes, which normally would make the duplicate no longer valid. Resolved in the next point.
  • The duplicates are constantly getting deleted and recreated. Changes in the webpage layout, as well as changes in the original modifier, would normally break the integration or show incorrect values.
Python back-end:
  • Connects to the specified dice using die_id found in the Pixels app.
  • Runs a web socket server to send the data to the Chrome extension.
  • Logs die roll history in CSV and/or Excel files.
  • Logs die roll history to MongoDB Atlas cloud database. I intend on doing something with this later.
Known Issues:
  • I only have one D20, and while I have built-in logic for multiple dice connections, that is all so far.
  • Only works on PC. Android may be possible with a browser that supports extensions, however haven't figured out how to do this yet.


Realmworks Template Management
nightpanda2810 is offline   #1 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 10:53 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.