Quantcast
Download
(54 Kb)
Download
Updated: 03/20/18 08:55 AM
Pictures
File Info
Compatibility:
Summerset (4.0)
Dragon Bones (3.3)
Updated:03/20/18 08:55 AM
Created:02/06/18 09:44 AM
Monthly downloads:45
Total downloads:1,087
Favorites:15
MD5:
Let There Be Light
Version: 1.0.4
by: Cardinal05 [More]
This add-on will no longer be maintained.
As of Patch 4.1, you may assign players the Limited Visitor permission to prevent unwanted changes to lights and other interactive furnishings!


But, if you enjoy Player Housing, please check out these other useful and fun housing add-ons:

Essential Housing Tools
Player Housing's best friend, this add-on allows you to:
  • Snap furniture items together quickly
  • Move and rotate groups of items together
  • Save and restore groups of items as a backup or just to return to at a later time
  • Align groups of items relative to other items (such as 'between two items' or 'level with an item')
  • Copy and Paste groups of items to make clones of the group or to even move or copy it to another house
  • Share copied groups of items with your friends with the Clipboard Export/Import
  • Construct cool circles, spirals, squares, cubes, floors, walls and other shapes out of any group of items
  • Animate groups of items
  • ...and more
Magic Carpet
You can now actually fly in any home with this add-on. Use it to decorate in hard to reach places, duel on it in mid-air and more!




Have you ever returned to your ESO Home to find all of your lights turned off...?

This simple add-on allows your to register one or more Lights, Incense, Crafting Stations and other interactive furnishings in each of your homes. A simple keybind then allows you to automatically restore all of those furnishings to their original state (this is generally the "On" state for Lights and Incense and this will "fix" Crafting Stations that become non-interactive sometimes).


Basic Instructions
  1. Assign keys to the keybinds for this add-on under Settings > Controls > "Let There Be Light".
  2. While in the Housing Editor, target a Light or other furnishing and hit your keybind for "Register / Unregister Furnishing".
  3. To restore all registered items to their default state, enter the Housing Editor and hit your keybind for "Reset Furnishings".
Let There Be Light demo (0:38)



Slash Commands
* NOTE: These commands apply to the current house only.

/ltbl reset
Resets all registered furnishings to their default state.

/ltbl list
Lists all registered furnishings.

/ltbl reg text
Registers all furnishings with the specified text found in the item name. (case insensitive)

/ltbl unreg text
Unregisters all furnishings with specified text found in the item name. (case insensitive)

/ltbl unreg everything
Unregisters all furnishings.


This add-on integrates with Oops I Did It Again to prevent unnecessary Undo history entries.
1.0.3 and 1.0.4
Vastly improved the speed of resetting lights.
Added add-on Settings panel, including: adjustable Light Reset Speed (for those who may still experience lag-related issues) and a Keybind strip toggle (for those who may have a cluttered keybind strip in House Editor mode).
Added Keybind strip to the bottom of the screen when in House Editor mode.
Integration with Oops I Did It Again add-on.

1.02
Updated to Dragonbones API version.
Updated the item removal/restore process to more reliably restore items to their original position.

1.01
Added a number of new /ltbl slash commands (noted in the Add-on Description).

Increased the per-item delays for both the Remove and the Put operations from 100ms to 300ms.
Added tracking of the assigned Callback Id for the zo_callLater(...) calls used to delay the Remove and Put operations.
Unregistered for updates from the assigned zo_callLater(...) callback Ids to avoid unwanted repeat callbacks.
Added ability to abort an in-progress Reset job by issuing a second /ltbl reset command during the currently executing job.

1.0
Original Release
Optional Files (0)


Archived Files (4)
File Name
Version
Size
Author
Date
1.03
5kB
Cardinal05
03/17/18 04:19 PM
1.02
5kB
Cardinal05
02/12/18 09:17 AM
1.01
5kB
Cardinal05
02/07/18 12:44 PM
1.0
3kB
Cardinal05
02/06/18 09:48 AM


Post A Reply Comment Options
Unread 02/20/18, 08:31 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Re: Re: Re: Re: Re: Not lighting all the lights.

Originally Posted by Granpafishy
I did the same test again (turning off 6 Hope of Rivenspire's and 4 Dreamshards), and it ran flawlessly. It took a bit since I have 150+ lighting elements in the house, but everything was placed back where it was suppose to be and everything was lit.

Good job
Awesome -- I am so glad it's working for you now! :-) Please let me know if you run into any other issues or if you have any suggestions. The feedback is appreciated!
__________________
Geezus Take The Heal (@Cardinal05)
Creator of Essential Housing Tools | Furniture Snap | Guild Alert | Immaculate Construction | Magic Carpet
Report comment to moderator  
Reply With Quote
Unread 02/17/18, 11:54 PM  
Granpafishy

Forum posts: 18
File comments: 29
Uploads: 0
Re: Re: Re: Re: Not lighting all the lights.

Originally Posted by Cardinal05
Thank you again for the feedback -- it's very appreciated.

I have uploaded an updated version for Dragonbone, and I have included a modification that should make the removal/replacement of items more reliable. Additionally, I increased the delay for removing/replacing items as well -- this is to cover the possibility of a lag/delay-related issue. I hope that this update can help fix these issues that you are experiencing. Also, one last thing: I tested this time with 3 Hope of Rivenspire lights -- all of which were replaced in the home in the default "On" state, so you were right and those should work now as well. :-)

If you don't mind, please let me know if you run into any other issues? Again, the feedback is greatly appreciated.
I did the same test again (turning off 6 Hope of Rivenspire's and 4 Dreamshards), and it ran flawlessly. It took a bit since I have 150+ lighting elements in the house, but everything was placed back where it was suppose to be and everything was lit.

Good job
Report comment to moderator  
Reply With Quote
Unread 02/12/18, 01:00 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Re: Re: Re: Not lighting all the lights.

Originally Posted by Granpafishy
I did another test where I turned off a HoR and took it down, then used a different addon (SaveHouse) to place the item back. It was turned on when replaced. So that shouldn't be an issue with them.

So I tried the updated version, again turning off all the HoR and 4 Dreamshards. Only 1 HoR and 1 dreamshard were turned back on. I also ended up with a breton lamppost left in my inventory. Since I'm not an addon author, and don't fully know how the api works, this is a guess, but I think that when it takes the light source down, it's placing it back too quickly to have the lighting status reset. Others might be able to give better insight on the matter.
Thank you again for the feedback -- it's very appreciated.

I have uploaded an updated version for Dragonbone, and I have included a modification that should make the removal/replacement of items more reliable. Additionally, I increased the delay for removing/replacing items as well -- this is to cover the possibility of a lag/delay-related issue. I hope that this update can help fix these issues that you are experiencing. Also, one last thing: I tested this time with 3 Hope of Rivenspire lights -- all of which were replaced in the home in the default "On" state, so you were right and those should work now as well. :-)

If you don't mind, please let me know if you run into any other issues? Again, the feedback is greatly appreciated.
__________________
Geezus Take The Heal (@Cardinal05)
Creator of Essential Housing Tools | Furniture Snap | Guild Alert | Immaculate Construction | Magic Carpet
Report comment to moderator  
Reply With Quote
Unread 02/10/18, 03:33 PM  
Granpafishy

Forum posts: 18
File comments: 29
Uploads: 0
Re: Re: Not lighting all the lights.

Originally Posted by Cardinal05
Originally Posted by Granpafishy
I have a lot of lights in my primary (155) of which, I think I managed to register 149. When I went to test this addon, I turned off 6 "Hope of Rivenspires" and 4 "Replica Dreamshard". It went through it's process, but only relit one of the HoR's and 1 of the RD's.

Addendom: It also left 2 Breton sconces in the bag.
Thank you so much for letting me know.

I have updated the add-on to try to address the issue regarding items being left in your bag rather than restored to your house with a number of suggestions from other Add-on developers' comments.

Regarding the items that were replaced in an off-state -- the add-on is removing each item from the home, and then replacing the item back in the home in the same location/orientation as before. This process should "reset" each item to its default state. In the case of the "Hope of Rivenspire," if the default state is "Off," then this add-on will not be able to reset those particular items. Sadly, I do not believe that Zenimax's current Housing-related API supports directly toggling the state of items. :-(
I did another test where I turned off a HoR and took it down, then used a different addon (SaveHouse) to place the item back. It was turned on when replaced. So that shouldn't be an issue with them.

So I tried the updated version, again turning off all the HoR and 4 Dreamshards. Only 1 HoR and 1 dreamshard were turned back on. I also ended up with a breton lamppost left in my inventory. Since I'm not an addon author, and don't fully know how the api works, this is a guess, but I think that when it takes the light source down, it's placing it back too quickly to have the lighting status reset. Others might be able to give better insight on the matter.
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 01:53 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Re: Re: Re: Re: Feedback welcome

Originally Posted by votan
Copied from another context. Not tested, but basically like this:
...
Thank you so much! I'll check this out and see if I can add this keybind strip. Your help is appreciated :-)
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 01:50 PM  
votan
 
votan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 457
File comments: 1012
Uploads: 26
Re: Re: Re: Feedback welcome

Originally Posted by Cardinal05
Thank you so much for the feedback!

I have made a few changes to the add-on, including increasing the per-item delays and tracking of the Callback Ids to avoid unwanted, repeat callbacks from the Event Manager. If possible, could you please try the updated version and let me know if you still have any issues?
Yep. This time it worked.
__________________
@votan73 (EU - megaserver)
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 01:42 PM  
votan
 
votan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 457
File comments: 1012
Uploads: 26
Re: Re: Re: Feedback welcome

Originally Posted by Cardinal05
Thank you so much for the feedback!

I have made a few changes to the add-on, including increasing the per-item delays and tracking of the Callback Ids to avoid unwanted, repeat callbacks from the Event Manager. If possible, could you please try the updated version and let me know if you still have any issues?

Additionally, are you aware of any way to add the Add-on's Keybind assignments to the bottom of the screen when in the Housing Editor? I wasn't sure if any XML attributes (or something else) existed that could signal to the Client to display those keybinds in that mode...?
Copied from another context. Not tested, but basically like this:
Lua Code:
  1. local placeablePanel = KEYBOARD_HOUSING_FURNITURE_BROWSER.placeablePanel
  2. local fragment = placeablePanel:GetFragment()
  3. local keybindStripDescriptor =
  4. {
  5.     alignment = KEYBIND_STRIP_ALIGN_CENTER,
  6.     {
  7.         name = GetString(<your binding string id here>),
  8.         keybind = "<your action name here>",
  9.         callback = function()
  10.             local mostRecentlySelectedData = placeablePanel:GetMostRecentlySelectedData()
  11.             -- ...
  12.         end,
  13.         enabled = function()
  14.             local hasMostRecentlySelectedData = placeablePanel:GetMostRecentlySelectedData() ~= nil
  15.             if not hasMostRecentlySelectedData then
  16.                 return false, GetString(SI_HOUSING_BROWSER_MUST_CHOOSE_TO_MODIFY)
  17.             end
  18.             return true
  19.         end,
  20.     },
  21. }
  22. fragment:RegisterCallback("StateChange", function(oldState, newState)
  23.     if (newState == SCENE_FRAGMENT_SHOWN) then
  24.         KEYBIND_STRIP:AddKeybindButtonGroup(keybindStripDescriptor)
  25.     elseif (newState == SCENE_FRAGMENT_HIDING) then
  26.         KEYBIND_STRIP:RemoveKeybindButtonGroup(keybindStripDescriptor)
  27.     end
  28. end )
  29. local function OnListMostRecentlySelectedDataChanged(data)
  30.     KEYBIND_STRIP:UpdateKeybindButtonGroup(keybindStripDescriptor)
  31. end
  32. placeablePanel:RegisterCallback("OnMostRecentlySelectedDataChanged", OnListMostRecentlySelectedDataChanged)
__________________
@votan73 (EU - megaserver)
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 01:06 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Re: Re: Feedback welcome

Originally Posted by votan
Originally Posted by Cardinal05
As this is my first add-on, feedback would be great for anything ranging from suggestions for improvements to reporting any potential issues that I may not have caught. Thank you so much!
Welcome \o/

Solid written addon.

The timing needs some adjustment. I registered two "Breton Sconce, Torch". One was re-placed right, one was kept in bag. (ESO+ member)

You may mention, that the keybinds are not shown at the bottom.
Thank you so much for the feedback!

I have made a few changes to the add-on, including increasing the per-item delays and tracking of the Callback Ids to avoid unwanted, repeat callbacks from the Event Manager. If possible, could you please try the updated version and let me know if you still have any issues?

Additionally, are you aware of any way to add the Add-on's Keybind assignments to the bottom of the screen when in the Housing Editor? I wasn't sure if any XML attributes (or something else) existed that could signal to the Client to display those keybinds in that mode...?
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 01:03 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Re: Not lighting all the lights.

Originally Posted by Granpafishy
I have a lot of lights in my primary (155) of which, I think I managed to register 149. When I went to test this addon, I turned off 6 "Hope of Rivenspires" and 4 "Replica Dreamshard". It went through it's process, but only relit one of the HoR's and 1 of the RD's.

Addendom: It also left 2 Breton sconces in the bag.
Thank you so much for letting me know.

I have updated the add-on to try to address the issue regarding items being left in your bag rather than restored to your house with a number of suggestions from other Add-on developers' comments.

Regarding the items that were replaced in an off-state -- the add-on is removing each item from the home, and then replacing the item back in the home in the same location/orientation as before. This process should "reset" each item to its default state. In the case of the "Hope of Rivenspire," if the default state is "Off," then this add-on will not be able to reset those particular items. Sadly, I do not believe that Zenimax's current Housing-related API supports directly toggling the state of items. :-(
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 12:59 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Originally Posted by Rhyono
I don't think zo_callLater actually waits on iterations?

So if you do a call
call is in progress, 100ms have elapsed
tries to start new call, but the other is still in progress (tying up your inventory update), you then have an item fail/skipped over.

Try upping the time on that to 150ms (or higher) if you don't see any other cause for the issues that have been mentioned.
Thank you so much for letting me know -- I was not aware of this.

I have updated the add-on to track the Callback Id return from the calls to zo_callLater(...) and to use EVENT_MANAGER:UnregisterForUpdate to prevent unwanted repeat callbacks from the system.
Report comment to moderator  
Reply With Quote
Unread 02/07/18, 12:57 PM  
Cardinal05
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 106
Uploads: 9
Originally Posted by Rhyono
Typically, you want to offer slash command alternatives when possible. Some people have so many addons that dedicating 3 keybinds to one addon really limits them. You should at least add a slash for resetting the lights, since that one is less necessary as a key.
Thank you so much -- I appreciate the suggestion.
I have added a number of new /ltbl slash commands (shown in the Add-on's description).
Report comment to moderator  
Reply With Quote
Unread 02/06/18, 03:03 PM  
Rhyono
AddOn Author - Click to view AddOns

Forum posts: 434
File comments: 753
Uploads: 17
I don't think zo_callLater actually waits on iterations?

So if you do a call
call is in progress, 100ms have elapsed
tries to start new call, but the other is still in progress (tying up your inventory update), you then have an item fail/skipped over.

Try upping the time on that to 150ms (or higher) if you don't see any other cause for the issues that have been mentioned.
Report comment to moderator  
Reply With Quote
Unread 02/06/18, 02:12 PM  
Granpafishy

Forum posts: 18
File comments: 29
Uploads: 0
Not lighting all the lights.

I have a lot of lights in my primary (155) of which, I think I managed to register 149. When I went to test this addon, I turned off 6 "Hope of Rivenspires" and 4 "Replica Dreamshard". It went through it's process, but only relit one of the HoR's and 1 of the RD's.

Addendom: It also left 2 Breton sconces in the bag.
Last edited by Granpafishy : 02/06/18 at 02:16 PM.
Report comment to moderator  
Reply With Quote
Unread 02/06/18, 02:11 PM  
votan
 
votan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 457
File comments: 1012
Uploads: 26
Re: Feedback welcome

Originally Posted by Cardinal05
As this is my first add-on, feedback would be great for anything ranging from suggestions for improvements to reporting any potential issues that I may not have caught. Thank you so much!
Welcome \o/

Solid written addon.

The timing needs some adjustment. I registered two "Breton Sconce, Torch". One was re-placed right, one was kept in bag. (ESO+ member)

You may mention, that the keybinds are not shown at the bottom.
__________________
@votan73 (EU - megaserver)
Report comment to moderator  
Reply With Quote
Unread 02/06/18, 02:01 PM  
Rhyono
AddOn Author - Click to view AddOns

Forum posts: 434
File comments: 753
Uploads: 17
Typically, you want to offer slash command alternatives when possible. Some people have so many addons that dedicating 3 keybinds to one addon really limits them. You should at least add a slash for resetting the lights, since that one is less necessary as a key.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: