This worked on ForkUo. Not sure what it is telling me to do.

Errors:
+ Items/Maps/TreasureMap.cs:
CS0029: Line 647: Cannot implicitly convert type 'long' to 'System.DateTime'
CS0029: Line 648: Cannot implicitly convert type 'long' to 'System.DateTime'
CS0029: Line 649: Cannot implicitly convert type 'long' to 'System.DateTime'
CS0029: Line 650: Cannot implicitly convert type 'long' to 'System.DateTime'
CS0019: Line 672: Operator '!=' cannot be applied to operands of type 'Syste
m.DateTime' and 'long'
CS0019: Line 672: Operator '!=' cannot be applied to operands of type 'Syste
m.DateTime' and 'long'
CS0019: Line 672: Operator '!=' cannot be applied to operands of type 'Syste
m.DateTime' and 'long'
CS0019: Line 678: Operator '!=' cannot be applied to operands of type 'Syste
m.DateTime' and 'long'

Code:
private class DigTimer : Timer
  {
  private Mobile m_From;
  private TreasureMap m_TreasureMap;
  private Point3D m_Location;
  private Map m_Map;
  private TreasureChestDirt m_Dirt1;
  private TreasureChestDirt m_Dirt2;
  private TreasureMapChest m_Chest;
  private int m_Count;
  private DateTime m_NextSkillTime;
  private DateTime m_NextSpellTime;
  private DateTime m_NextActionTime;
  private DateTime m_LastMoveTime;
public DigTimer( Mobile from, TreasureMap treasureMap, Point3D location, Map map ) : base( TimeSpan.Zero, TimeSpan.FromSeconds( 1.0 ) )
            {
                m_From = from;
                m_TreasureMap = treasureMap;
                m_Location = location;
                m_Map = map;
                m_NextSkillTime = from.NextSkillTime;        //line 647
                m_NextSpellTime = from.NextSpellTime;
                m_NextActionTime = from.NextActionTime;
                m_LastMoveTime = from.LastMoveTime;
                Priority = TimerPriority.TenMS;
            }
            private void Terminate()
            {
                Stop();
                m_From.EndAction( typeof( TreasureMap ) );
                if ( m_Chest != null )
                    m_Chest.Delete();
                if ( m_Dirt1 != null )
                {
                    m_Dirt1.Delete();
                    m_Dirt2.Delete();
                }
            }
            protected override void OnTick()
            {
                if ( m_NextSkillTime != m_From.NextSkillTime || m_NextSpellTime !=  m_From.NextSpellTime || m_NextActionTime != m_From.NextActionTime ) //line 672
                {
                    Terminate();
                    return;
                }
                if ( m_LastMoveTime != m_From.LastMoveTime )
                {
                    m_From.SendLocalizedMessage( 503023 ); // You cannot move around while digging up treasure. You will need to start digging anew.
                    Terminate();
                    return;
                }
 

Attachments

  • TreasureMap.cs
    39.2 KB · Views: 6
Last edited:
This is the fix For OSI treasure Hunting [Treasuremap.cs]
Code:
private long m_NextSkillTime;
private long m_NextSpellTime;
private long m_NextActionTime;
private long m_LastMoveTime;
 
Back