Pyro-Tech;665143 said:
I have a crash for ya....right now it's fatal in that i can't restart my server from my most recent automatic backups
Code:
19/03-03:05 Error:
19/03-03:05 System.ArgumentOutOfRangeException: Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argu
ment, ExceptionResource resource)
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Server.TimeSystem.TimeEngine.GetFacetAdjustment(Object o) in d:\RunUO Serv
er 2.0\Scripts\Custom\New Scripts\Systems\Time System\Engines\TimeEngine.cs:line
110
at Server.TimeSystem.TimeEngine.GetAdjustments(Object o, Boolean useTimeZoneS
caling) in d:\RunUO Server 2.0\Scripts\Custom\New Scripts\Systems\Time System\En
gines\TimeEngine.cs:line 96
at Server.TimeSystem.TimeEngine.CalculateLightLevel(Object o) in d:\RunUO Ser
ver 2.0\Scripts\Custom\New Scripts\Systems\Time System\Engines\TimeEngine.cs:lin
e 295
at Server.TimeSystem.LightsEngine.CheckLights() in d:\RunUO Server 2.0\Script
s\Custom\New Scripts\Systems\Time System\Engines\LightsEngine.cs:line 53
at Server.TimeSystem.Engine.OnSystemTick() in d:\RunUO Server 2.0\Scripts\Cus
tom\New Scripts\Systems\Time System\Engine.cs:line 130
at Server.TimeSystem.Engine.TimeSystemTimer.OnTick() in d:\RunUO Server 2.0\S
cripts\Custom\New Scripts\Systems\Time System\Engine.cs:line 171
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
19/03-03:05 Crash: Backing up...TransferServer version 1.05 listening on port 80
30
19/03-03:05 done
19/03-03:05 Crash: Generating report...done
19/03-03:05 Crash: Restarting...done
That looks like v2.0.3 of the time system. The line numbers were not matching up to anything after v2.0.3.
I did some digging and it looks like somehow the FacetArray is messed up. Do you recall making changes in Config.cs for the FacetArray?
To fix this for now, edit TimeEngine.cs and find this line in the
GetFacetAdjustment(object o) method:
Change it to:
Code:
if (index > -1 && index < Data.FacetArray.Count)
I will fix this for future versions as a check measure, however, this should have never been an issue since the FacetArray should never be modified outside of it's default size.
Pyro-Tech;665143 said:
EDIT: Also another suggestion....for darkest hour, make a check against objects such as candle's, torches, and other Fire burning objects to "blow out" from evil winds. And as for down decoration may want to also add these into the thing so that they can be unlit during the day and light at night. Both of these would add to the ambience
This can be done now by adding more baselight types to this list in Data.cs:
Code:
public static readonly Type[] ItemLightTypes = // BaseLight item types that will be toggled on/off for day/night.
{
typeof(LampPost1), typeof(LampPost2), typeof(LampPost3),
typeof(TSLampPost1), typeof(TSLampPost2), typeof(TSLampPost3)
};
I may create a separate list for lights that are to be affected by Darkest Hour only... and I may also make the lists configurable in-game.
Hmm, and now I'm also thinking of adding an EMO setting called something like UseDarkestHourNoLighting which would prevent you from using a lightsource completely during Darkest Hour, of course this requires creating new scripts that inherit TSBaseLight and converting all existing torches, candles, etc.
Thanks for the bug report and suggestions.