void statustimer_Tick(object sender, EventArgs e) { cXPCounting.sReportData srd = ClassGroup.XPCounting.GetXPRate(); MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "XP Earned", string.Format("{0:N0}", srd.XP)); MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "Luminance Earned", string.Format("{0:N0}", srd.XP_Luminance)); MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "XP/Hour", string.Format("{0:N0} xp/h", srd.XPPerHour)); MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "Lum/Hour", string.Format("{0:N0} lum/h", srd.XPPerHour_Luminance)); string xp5min = "---"; string xp5minlum = "---"; if (srd.b5mingood) { xp5min = string.Format("{0:N0} xp/h", srd.XP5min); xp5minlum = string.Format("{0:N0} lum/h", srd.XP5Min_Luminance); } MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "XP/Hour (5min)", xp5min); MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "Lum/Hour (5min)", xp5minlum); string runtime = ""; if (srd.Time.TotalDays >= 1) { runtime = string.Format("{0} days, {1:00}:{2:00}:{3:00}", srd.Time.Days, srd.Time.Hours, srd.Time.Minutes, srd.Time.Seconds); } else { runtime = string.Format("{0:00}:{1:00}:{2:00}", srd.Time.Hours, srd.Time.Minutes, srd.Time.Seconds); } MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "Runtime since XP reset", runtime); long thisxp, nextxp; thisxp = Core.CharacterFilter.TotalXP; nextxp = xpforlevel(Core.CharacterFilter.Level + 1); string leveleta = ""; if (srd.XPPerHour > 0) { TimeSpan ts = TimeSpan.FromHours((nextxp - thisxp) / srd.XPPerHour); if (ts.TotalDays >= 1) { leveleta = string.Format("{0} days, {1:00}:{2:00}:{3:00}", ts.Days, ts.Hours, ts.Minutes, ts.Seconds); } else { leveleta = string.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds); } } else { leveleta = "INFINITY"; } MyClasses.VHUDs_Connector.Status_UpdateEntry("VReporter", "Level ETA", leveleta); }
/* * [ControlReference("cmdETA")] * private ButtonWrapper cmdETA; * * [ControlEvent("cmdETA", "Click")] * private void cmdETA_onClick(object sender, ControlEventArgs args) * { * cXPCounting.sReportData srd = ClassGroup.XPCounting.GetXPRate(); * StringBuilder sb = new StringBuilder(); * sb.Append("[VR] You need "); * long thisxp, nextxp; * thisxp = Core.CharacterFilter.TotalXP; * nextxp = xpforlevel(Core.CharacterFilter.Level + 1); * sb.AppendFormat("{0:N0}", nextxp - thisxp); * sb.Append(" XP to reach level "); * sb.Append(Core.CharacterFilter.Level + 1); * sb.Append(", ETA "); * * if (srd.XPPerHour > 0) * { * TimeSpan ts = TimeSpan.FromHours((nextxp - thisxp) / srd.XPPerHour); * if (ts.Days > 0) * { * sb.AppendFormat("{0} days, {1:00}:{2:00}:{3:00}", * ts.Days, ts.Hours, ts.Minutes, ts.Seconds); * } * else * { * sb.AppendFormat("{0:00}:{1:00}:{2:00}", * ts.Hours, ts.Minutes, ts.Seconds); * } * } * else * { * sb.Append("INFINITY"); * } * Host.Actions.AddChatText(sb.ToString(), 4, 1); * } */ string GetReport() { cXPCounting.sReportData srd = ClassGroup.XPCounting.GetXPRate(); StringBuilder sb = new StringBuilder(); sb.Append("You've made "); sb.Append(string.Format("{0:N0}", srd.XP)); sb.Append(" XP in "); if (srd.Time.TotalDays >= 1) { sb.AppendFormat("{0} days, {1:00}:{2:00}:{3:00}", srd.Time.Days, srd.Time.Hours, srd.Time.Minutes, srd.Time.Seconds); } else { sb.AppendFormat("{0:00}:{1:00}:{2:00}", srd.Time.Hours, srd.Time.Minutes, srd.Time.Seconds); } sb.Append(" for "); sb.AppendFormat("{0:N0}", srd.XPPerHour); sb.Append(" XP/hour"); if (srd.b5mingood) { sb.Append(" (5min "); sb.AppendFormat("{0:N0}", srd.XP5min); sb.Append(" XP/hour)"); } sb.Append(". "); ///////////////// long thisxp, nextxp; thisxp = Core.CharacterFilter.TotalXP; nextxp = xpforlevel(Core.CharacterFilter.Level + 1); sb.AppendFormat("{0:N0}", nextxp - thisxp); sb.Append(" XP to reach level "); sb.Append(Core.CharacterFilter.Level + 1); sb.Append(", ETA "); if (srd.XPPerHour > 0) { TimeSpan ts = TimeSpan.FromHours((nextxp - thisxp) / srd.XPPerHour); if (ts.TotalDays >= 1) { sb.AppendFormat("{0} days, {1:00}:{2:00}:{3:00}", ts.Days, ts.Hours, ts.Minutes, ts.Seconds); } else { sb.AppendFormat("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds); } } else { sb.Append("INFINITY"); } sb.Append("."); ///////////////// if (srd.XP_Luminance > 0) { sb.Append(" Lum "); sb.Append(string.Format("{0:N0}", srd.XP_Luminance)); sb.Append(" LP for "); sb.AppendFormat("{0:N0}", srd.XPPerHour_Luminance); sb.Append(" LP/h"); if (srd.b5mingood) { sb.Append(", 5min "); sb.AppendFormat("{0:N0}", srd.XP5Min_Luminance); sb.Append(" LP/h"); } sb.Append("."); } return(sb.ToString()); }