Quantcast
Download
(20 Kb)
Download
Updated: 06/06/19 11:51 AM
Pictures
File Info
Compatibility:
Elsweyr (5.0.5)
Updated:06/06/19 11:51 AM
Created:06/04/19 12:41 PM
Monthly downloads:280
Total downloads:1,323
Favorites:19
MD5:
HomeStationMarker
Version: 5.0.2
by: ziggr [More]
Home Station Marker

An add-on for Elder Scrolls Online that draws 3D markers over crafting stations in a player home.



Adapted from Shinni's HarvestMap and Marify's Confirm Master Writ.

Originally written to help visitors find stations when crafting master writs with WritWorthy.

Follow development on GitHub

Libraries

Required Libraries:

Optional Libraries, recommended:
  • Baertram's LibSets
    Allows you to type /hsm Alessia cl instead of /hsm 82 2 for Alessia's Bulwark clothier station.

FAQ

Why don't I see any markers?

HomeStationMarker starts out not knowing any station locations. Once it has some station locations recorded to SavedVariables, it can show markers for those stations.
  1. Run around the player house and interact with a few crafting stations, such as Enchanting or Armor Master Blacksmithing.
  2. /hsm enchanting or /hsm armor bs to show the above marker.
    (This command requires Baertram's LibSets.)

In your own house, or any house in which you are trusted enough to have "Decorator" access, you can replace step 1 with /hsm scanlocs to immediately teach HomeStationMarker the location of every crafting station in the house.

Learning a station location after requesting a marker for it will not show a marker for that station. The marker will appear next time you enter the house or /reloadui.

Why are the markers not perfectly aligned with their stations?

When HomeStationMarker records a crafting station's location from you interacting with that station, HomeStationMarker actually records your player's position, not the crafting station's.

The API to learn a station's location is restricted to a house's owner or guests with "Decorator" access. For all other players, this is as close as I can get it.

Slash Commands

A few commands to help while testing, probably not useful to players:

/hsm <set> <station>

Toggle a marker above the given station. Can omit either argument.
  • /hsm alchemy toggles a marker over an alchemy station
  • /hsm alessia's blacksmithing toggles a marker over the Alessia's Bulwark blacksmithing station

This is mostly for testing/debugging this add-on. The simplistic string matching here was designed for, and tested on, EN English only. If it doesn't work in DE German, sorry.

Requires Baertram's LibSets

Crafting station abbreviations

Nobody wants to type "Jewelry Crafting Station".
  • two-letters: bs, cl, ww, jw, al, en, pr
  • first few letters: black, cloth, wood, jewel

Set abbreviations
  • first few letters: alessia, twice-born, eternal
  • tbs, nmg, juli, kags, seducer

Uppercase and punctuation ignored.

/hsm forgetlocs [all]

Forget all station locations for current house, or all houses if /hsm forgetlocs all. Use /hsm forgetlocs in a house after moving any crafting stations. Deletes all markers in current house (or all houses if /hsm forgetlocs all) as a necessary side effect.

/hsm scanlocs

Teach HomeStationMarker the location of every crafting station in this house.

Requires "Decorator" access, which you automatically have in your own houses, and rarely ever have in anybody else's house.

Not Supported

I have no desire to add these ever:
  • custom markers
  • colors
  • per-add-on sets of markers

No thank you. That's an additional API and complexity that I don't want to spend my days supporting.

API

Code:
HomeStationMarker.AddMarker(setId, stationId)
    Increment ref count for <setId, stationId>.
    Show a marker for that station if in player housing and its
    location is known.
    Return true if shown, false if not shown or was already shown.

HomeStationMarker.DeleteMarker(setId, stationId)
    Decrement ref count for <setId, stationId>.
    Hide any marker for that station if refcount hits 0.
    Return true if refcount hit zero and there was a request for that marker.

HomeStationMarker.DeleteAllMarkers()
    Reset all ref counts to zero.
    Delete all requests for markers.
    Hide any markers.

- setId:     integer set bonus ID, such as 82 for Alessia's Bulwark.
             nil or string "no_set" for set-less stations such as Alchemy
             or Enchanting.

- stationId: integer crafting type such as CRAFTING_TYPE_BLACKSMITHING or 1.
Why RefCount?

Reference counts free up other code from worrying about whether they need a station for two or more crafting requests, and whether the completion of a request means it is time to remove the marker or not. Let the refcounts do the worrying for you.

Ref counts also help if multiple add-ons use HomeStationMarker: what if WritWorthy needed a station, but some other add-on also needed that same station. If either one removed the marker, the other add-on's requested marker would end up lost.

RefCount/Marker Desync

The above 3 API functions are the only ones that touch or see the ref counts.
Slash commands such as /hsm <set> <station> bypass the ref count and toggle the marker regardless of API requests.

FPS Cost

Each marker slows down your frames per second.

This add-on also slows down frames per second while in player housing:

zo_callLater : a periodic task updates each marker rotation 8 times per second. Only registered within player housing.

EVENT_CRAFTING_STATION_INTERACT
EVENT_CLIENT_INTERACT_RESULT
EVENT_DYEING_STATION_INTERACT_START
EVENT_RETRAIT_STATION_INTERACT_START : Event listeners record station location each time you interact with a crafting station or assistant. This listener is only registered within player housing.

EVENT_PLAYER_ACTIVATED : An event listener hides all of a house's markers when you exit player housing, shows that house's previously hidden markers when you enter player housing.

Scene Listener : An event listener that shows/hides all markers when the HUD is shown/hidden while in player housing. Hides the markers when you're in the inventory/bank/dialog/whatever scene, unhides when you're back to walking around the house.

SavedVariables
  • station locations: for each player house: each known crafting station's location
  • requested markers: list of set and station ids for each requested marker
  • reference counts: keep track of how many times a marker has been requested via API.

To Do
  • Why the z-index weirdness?
5.0.2 2019-06-06
  • Stop replacing perfectly good /hsm scanlocs location data with less good data from a player's location while interacting with a station.
  • Gather assistant, transmute station, outfitter/dye station, and mundus stone locations from interacting with them.
  • Add Elsweyr assistants Ezabi and Fezez.

5.0.1 2019-06-04
  • Initial release.
Archived Files (1)
File Name
Version
Size
Uploader
Date
5.0.1
16kB
ziggr
06/04/19 12:41 PM


Post A Reply Comment Options
Unread 09/14/19, 10:39 PM  
EvilDave

Forum posts: 0
File comments: 25
Uploads: 0
'/hsm scanlocs' with a 'reloadui' was all I had to do.

Thanks again.
Report comment to moderator  
Reply With Quote
Unread 09/04/19, 06:40 PM  
ziggr
 
ziggr's Avatar
AddOn Author - Click to view AddOns

Forum posts: 23
File comments: 202
Uploads: 9
HomeStationMarker cannot automatically find the locations of crafting stations in player housing: you must somehow teach it locations, by either...
  • Running around throughout the house, interacting with each and every crafting station. (Yes, this step is awful for guild halls with 187 attuned stations.)
  • or, if you have decorator privileges, run /hsm scanlocs

After teaching HomeStationMarker where everything is, you can then get it to show markers with /hsm enchanting or when you enqueue new writs in WritWorthy.

I wouldn't be surprised if there are bugs preventing HomeStationMarker from showing markers even after you've taught it locations. Test with a few stations before spending 20 minutes running around interacting.

Originally Posted by SammiSakura
i was looking forward to this addon, but it doesnt seem to show me anything at all in my guilds house. do you have to have decorator access for this to work?
Report comment to moderator  
Reply With Quote
Unread 09/04/19, 01:56 PM  
votan
 
votan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 494
File comments: 1203
Uploads: 32
Originally Posted by SammiSakura
i was looking forward to this addon, but it doesnt seem to show me anything at all in my guilds house. do you have to have decorator access for this to work?
Did you interact with them?
__________________
@votan73 (EU - megaserver)
Report comment to moderator  
Reply With Quote
Unread 09/04/19, 01:22 PM  
SammiSakura
 
SammiSakura's Avatar

Forum posts: 0
File comments: 40
Uploads: 0
i was looking forward to this addon, but it doesnt seem to show me anything at all in my guilds house. do you have to have decorator access for this to work?
__________________
@SammiSakura - EU Server - CP 810+ - Here Since 14th October 2016
Visit my home at the Alinor Townhouse


GM of Demonic Baanditos (Social Guild)
GM of The Forbidden Cleavage in Skywatch (Trading & Social Guild)
Officer of Brave Cat Trade in Rawl'kha (Trading & Social Guild)
Officer of Inevitable in Windhelm (Trading Guild)
PM @SammiSakura In-Game for Invites. (EU Only!)

Warning: Spoiler
Report comment to moderator  
Reply With Quote
Unread 06/07/19, 06:25 PM  
Gamer1986PAN
AddOn Author - Click to view AddOns

Forum posts: 84
File comments: 416
Uploads: 2
Amazing Addon. Thank you very much.
__________________
Co-Author of the Addon BeamMeUp - feel free to check it out.


BankManagerRevived Slim Edition
-dropped some functions most ESO+ users does not need to have better performance with BMR -
all working mechancis are created from the original BMR authors - all credits to orignal authors
Report comment to moderator  
Reply With Quote
Unread 06/06/19, 03:47 PM  
scootter
 
scootter's Avatar

Forum posts: 11
File comments: 10
Uploads: 0
Very nice, thank you! I am looking forward to see how it goes in the guild house.
Report comment to moderator  
Reply With Quote
Unread 06/05/19, 10:00 AM  
ziggr
 
ziggr's Avatar
AddOn Author - Click to view AddOns

Forum posts: 23
File comments: 202
Uploads: 9
Z-index weirdness

Originally Posted by EvilDave
Getting some odd z-indexes, e.g. clothing station icon appearing ontop of blacksmith icon that it should be behind. It's certainly not a game breaker, and it might just be that it's my layout that causes this issue.
Yeah, I get that same weird Z-indexing behavior. No idea what causes it, but it's on my list of lower-priority stuff that I'll look into eventually.
Last edited by ziggr : 06/05/19 at 10:28 AM.
Report comment to moderator  
Reply With Quote
Unread 06/05/19, 02:09 AM  
EvilDave

Forum posts: 0
File comments: 25
Uploads: 0
Getting some odd z-indexes, e.g. clothing station icon appearing ontop of blacksmith icon that it should be behind. It's certainly not a game breaker, and it might just be that it's my layout that causes this issue.

Report comment to moderator  
Reply With Quote
Unread 06/04/19, 08:19 PM  
EvilDave

Forum posts: 0
File comments: 25
Uploads: 0
THIS is so incredibly cool, thank you so much for this!

Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: