Jump to content

Disappering Dishes toughts


Aurasoma

Recommended Posts

So something I was thinking about doing was adding static dished to a table as a scripted light source.

What I want is between the hours of 6 to 9 a set of breakfeast platters would be present. Later the days during say 16 to 18 dishes would apper as food being prepared. Followed by a dinner setup between the hours of 18 and 21 before vahishing for the night.

I know how to script a flame to apper under the street light script. And I've played with the daylight script that Yevic 1992 used for Castle Eltz, so I'm familure with the scriping. But what I was wondering was if I needed to have it set up as a light source set to no light or would I be able to use a normal mesh to have it active this way.

Link to comment
Share on other sites

So if I understood correctly, you want to have three sets of dishes those are enabled at different hours of the day and you know how to do it. But you want to use the dishes as a light source? To emit light? To achieve that, you could just use an invisible light source placed at approximately the same place as the dish you want to emit light and set that dish as its enable parent.

 

Edit: But if you want to know whether it is possible to make the changing table settings without having the dishes defined as light sources, it should be possible. I have not looked through other authors' lighting scripts, though, so I do not know how they work, but I made a similar system with changing table settings for breakfast and dinner and I made it with static objects, not light sources. So if the script you are using as an example just enables and disables something, it should work.

Edited by PhilippePetain
Link to comment
Share on other sites

Yes, the idea to use the light source came mostly from the fact that you could not set a script with a static mesh.

There are a couple of ways to accomplish this without using scripted lights.

 

One method is to place vanilla (or mod added) dishes, make them persistent references with unique ref IDs, and use a quest script to enable and disable the relevant dishes at the appropriate times.

 

Another is to make new activators that use the meshes of the desired dishes, then attach scripts to them that will enable/disable them at the appropriate times. With this method, you'd need at least three scripts; one for the breakfast setup, one for the dinner prep setup, and one for the dinner setup.

 

Since the scripts would be attached to the individual activators, you wouldn't need to call specific references. This means that each of the breakfast dishes can use the same script, each dinner prep dish can use the same script, and each dinner dish can use the same script. This also avoids the need for persistent references.

Link to comment
Share on other sites

I myself use a quest script that (in addition to doing a lot of other things) enables and disables "xmarkers" set as persistent references. The markers represent the different table settings (I have two), and all the dishes of a table setting have the appropriate marker as their enable parent. So I can add and remove dishes from the settings by changing their enable parents. It also makes it possible to use only one instance of a script (the quest), as I am not sure if the game runs all instances of the same script (like twenty dishes using the same script) separately, which (in case it does) might not be too performance friendly. But I suppose it depends on how often it runs the scripts...

 

Using activators with scripts attached to them might indeed remove the need to use persistent references. It might also make it possible to have, for example, a boar's head on a plate give player some meat when activated. Moving existing (and enabled?) activators in the CS might not move them in the game, as I have noticed that the positions of activators (at least doors and levers) would seem to be stored in savegame... so I am not sure if a clean save will be required or if their positions will need to be modified in the game (using scripts) when the mod gets an update and the dishes' positions are modified. At least activators that are always enabled (like doors) seem to stay where they were the first time they were loaded in-game.

 

These are just my thoughts, though. I am not an expert. So more experienced ones are free to correct me.

Edited by PhilippePetain
Link to comment
Share on other sites

Moving existing (and enabled?) activators in the CS might not move them in the game, as I have noticed that the positions of activators (at least doors and levers) would seem to be stored in savegame... so I am not sure if a clean save will be required or if their positions will need to be modified in the game (using scripts) when the mod gets an update and the dishes' positions are modified. At least activators that are always enabled (like doors) seem to stay where they were the first time they were loaded in-game.

You are correct; the positions of activators are held in the save game, and simply moving them in the CS can have...odd effects, if any. If you must relocate an activator in the CS, there are two ways to avoid weirdness in game:

 

1. Use a clean save (i.e. one made before your character encountered the activator).

2. Delete the activator to be moved, and put a new one in the desired location. I've found that the fastest way to do this is to select the activator in the render window, press ctrl+C (copy), delete the selected activator, press ctrl+V (paste), then put the new activator in the location.

 

I've used both methods in the past, and both work fine.

 

If you need an activator to be in different positions at different times, a scripted MoveTo command should work as long as the activator is a persistent reference. I don't know for sure that this would work, as I've never tried it before, but it should.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...