2009-08-23 63 views
1

我不明白为什么这段代码在4小时过后未能测量。秒表不增加

if (guildVaultRunStarter.IsRunning) 
    { 
     if (guildVaultRunTimer.ElapsedMilliseconds > 4 * 60 * 60 * 1000) // 4 hours 
     { 
      guildVaultRunStarter.Reset(); 
      log("Its been over 4 hours - empty bags."); 
      return true; 
     } 
     else 
     { 
      log("guildVaultRunTimer.ElapsedMilliseconds = " + 
       guildVaultRunTimer.ElapsedMilliseconds.ToString() + "."); 
     } 
    } 
    else 
    { 
     log("Start the 4 hour guild vault countdown."); 
     guildVaultRunStarter.Reset(); 
     guildVaultRunStarter.Start(); 
    } 

的记录显示了这个:

[8/23/2009 12:17:21 PM]:Start the 4 hour guild vault countdown. 
... 
[8/23/2009 12:26:53 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0. 
... 
[8/23/2009 12:27:26 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0. 

为什么始终为0?

+0

在询问样品代码的问题时,请始终将语言添加到标签。它会为你提供更好的观众:) – 2009-08-23 09:46:11

回答

0

你在哪里实例化定时器,以及在哪里/如何调用这段代码?

+0

当课程开始时,我有: 私人秒表guildVaultRunStarter = new Stopwatch(); 当角色杀死怪物并劫掠物品时,会调用该代码。袋子填满5个小时,所以想法是把它们清空4. – Patrick 2009-08-23 09:46:59

4

难道只是guildVaultRunTimerguildVaultRunStarter之间的错字?

if (guildVaultRunStarter.ElapsedMilliseconds > ... 

你似乎从来没有开始guildVaultRunTimer,毕竟。

+0

/我震惊并发誓再也不会有这样的相似变量名称。 谢谢! – Patrick 2009-08-23 09:49:18