private void ExportSpawner(ODBCSpawner spawner, XmlTextWriter xml) { xml.WriteStartElement("spawner"); xml.WriteStartElement("count"); xml.WriteString(spawner.Count.ToString()); xml.WriteEndElement(); xml.WriteStartElement("group"); xml.WriteString(spawner.Group.ToString()); xml.WriteEndElement(); xml.WriteStartElement("homerange"); xml.WriteString(spawner.HomeRange.ToString()); xml.WriteEndElement(); xml.WriteStartElement("maxdelay"); xml.WriteString(spawner.MaxDelay.ToString()); xml.WriteEndElement(); xml.WriteStartElement("mindelay"); xml.WriteString(spawner.MinDelay.ToString()); xml.WriteEndElement(); xml.WriteStartElement("team"); xml.WriteString(spawner.Team.ToString()); xml.WriteEndElement(); xml.WriteStartElement("creaturesname"); foreach (string creatureName in spawner.CreaturesName) { xml.WriteStartElement("creaturename"); xml.WriteString(creatureName); xml.WriteEndElement(); } xml.WriteEndElement(); // Item properties xml.WriteStartElement("name"); xml.WriteString(spawner.Name); xml.WriteEndElement(); xml.WriteStartElement("location"); xml.WriteString(spawner.Location.ToString()); xml.WriteEndElement(); xml.WriteStartElement("map"); xml.WriteString(spawner.Map.ToString()); xml.WriteEndElement(); xml.WriteEndElement(); }
public InternalTimer(ODBCSpawner ODBCSpawner, TimeSpan delay) : base(delay) { if (ODBCSpawner.IsFull) { Priority = TimerPriority.FiveSeconds; } else { Priority = TimerPriority.OneSecond; } m_ODBCSpawner = ODBCSpawner; }
private static void ImportSpawner(XmlElement node, string mapa, string tipo) { int count = int.Parse(GetText(node["count"], "1")); int homeRange = int.Parse(GetText(node["homerange"], "4")); int team = int.Parse(GetText(node["team"], "0")); bool group = bool.Parse(GetText(node["group"], "False")); TimeSpan maxDelay = TimeSpan.Parse(GetText(node["maxdelay"], "10:00")); TimeSpan minDelay = TimeSpan.Parse(GetText(node["mindelay"], "05:00")); ArrayList creaturesName = LoadCreaturesName(node["creaturesname"]); string name = GetText(node["name"], "Spawner"); Point3D location = Point3D.Parse(GetText(node["location"], "Error")); Map map = Map.Parse(GetText(node["map"], "Error")); if (map.Name == mapa) { if (tipo == "odbc") { ODBCSpawner spawner = new ODBCSpawner(count, minDelay, maxDelay, team, homeRange, creaturesName); spawner.Name = name; spawner.MoveToWorld(location, map); if (spawner.Map == Map.Internal) { spawner.Delete(); throw new Exception("Spawner created on Internal map."); } spawner.Respawn(); } else { // Genova: necessário converter creaturesName para list<string>. List <string> listaCreaturesName = new List <string>(); listaCreaturesName.CopyTo(creaturesName.ToArray(typeof(string)) as string[]); Spawner spawner = new Spawner(count, minDelay, maxDelay, team, homeRange, listaCreaturesName); spawner.Name = name; spawner.MoveToWorld(location, map); if (spawner.Map == Map.Internal) { spawner.Delete(); throw new Exception("Spawner created on Internal map."); } spawner.Respawn(); } } }
public ODBCSpawnerGump(ODBCSpawner ODBCSpawner) : base(50, 50) { m_ODBCSpawner = ODBCSpawner; AddPage(0); AddBackground(0, 0, 260, 371, 5054); AddLabel(95, 1, 0, "Creatures List"); AddButton(5, 347, 0xFB1, 0xFB3, 0, GumpButtonType.Reply, 0); AddLabel(38, 347, 0x384, "Cancel"); AddButton(5, 325, 0xFB7, 0xFB9, 1, GumpButtonType.Reply, 0); AddLabel(38, 325, 0x384, "Okay"); AddButton(110, 325, 0xFB4, 0xFB6, 2, GumpButtonType.Reply, 0); AddLabel(143, 325, 0x384, "Bring to Home"); AddButton(110, 347, 0xFA8, 0xFAA, 3, GumpButtonType.Reply, 0); AddLabel(143, 347, 0x384, "Total Respawn"); for (int i = 0; i < 13; i++) { AddButton(5, (22 * i) + 20, 0xFA5, 0xFA7, 4 + (i * 2), GumpButtonType.Reply, 0); AddButton(38, (22 * i) + 20, 0xFA2, 0xFA4, 5 + (i * 2), GumpButtonType.Reply, 0); AddImageTiled(71, (22 * i) + 20, 159, 23, 0xA40); AddImageTiled(72, (22 * i) + 21, 157, 21, 0xBBC); string str = ""; if (i < ODBCSpawner.CreaturesName.Count) { str = (string)ODBCSpawner.CreaturesName[i]; int count = m_ODBCSpawner.CountCreatures(str); AddLabel(232, (22 * i) + 20, 0, count.ToString()); } AddTextEntry(75, (22 * i) + 21, 154, 21, 0, i, str); } }
public ODBCSpawnerGump( ODBCSpawner ODBCSpawner ) : base( 50, 50 ) { m_ODBCSpawner = ODBCSpawner; AddPage( 0 ); AddBackground( 0, 0, 260, 371, 5054 ); AddLabel( 95, 1, 0, "Creatures List" ); AddButton( 5, 347, 0xFB1, 0xFB3, 0, GumpButtonType.Reply, 0 ); AddLabel( 38, 347, 0x384, "Cancel" ); AddButton( 5, 325, 0xFB7, 0xFB9, 1, GumpButtonType.Reply, 0 ); AddLabel( 38, 325, 0x384, "Okay" ); AddButton( 110, 325, 0xFB4, 0xFB6, 2, GumpButtonType.Reply, 0 ); AddLabel( 143, 325, 0x384, "Bring to Home" ); AddButton( 110, 347, 0xFA8, 0xFAA, 3, GumpButtonType.Reply, 0 ); AddLabel( 143, 347, 0x384, "Total Respawn" ); for ( int i = 0; i < 13; i++ ) { AddButton( 5, ( 22 * i ) + 20, 0xFA5, 0xFA7, 4 + (i * 2), GumpButtonType.Reply, 0 ); AddButton( 38, ( 22 * i ) + 20, 0xFA2, 0xFA4, 5 + (i * 2), GumpButtonType.Reply, 0 ); AddImageTiled( 71, ( 22 * i ) + 20, 159, 23, 0xA40 ); AddImageTiled( 72, ( 22 * i ) + 21, 157, 21, 0xBBC ); string str = ""; if ( i < ODBCSpawner.CreaturesName.Count ) { str = (string)ODBCSpawner.CreaturesName[i]; int count = m_ODBCSpawner.CountCreatures( str ); AddLabel( 232, ( 22 * i ) + 20, 0, count.ToString() ); } AddTextEntry( 75, ( 22 * i ) + 21, 154, 21, 0, i, str ); } }
public override void ExecuteList(CommandEventArgs e, ArrayList list) { string filename = e.GetString(0); ArrayList spawners = new ArrayList(); for (int i = 0; i < list.Count; ++i) { if (list[i] is ODBCSpawner) { ODBCSpawner spawner = (ODBCSpawner)list[i]; if (spawner != null && !spawner.Deleted && spawner.Map != Map.Internal && spawner.Parent == null) { spawners.Add(spawner); } } } AddResponse(String.Format("{0} spawners exported to Data/Spawners/{1}.", spawners.Count.ToString(), filename)); ExportSpawners(spawners, filename); }
public InternalTimer(ODBCSpawner ODBCSpawner, TimeSpan delay) : base(delay) { if (ODBCSpawner.IsFull) Priority = TimerPriority.FiveSeconds; else Priority = TimerPriority.OneSecond; m_ODBCSpawner = ODBCSpawner; }
private void ExportSpawner(ODBCSpawner spawner, XmlTextWriter xml) { xml.WriteStartElement("spawner"); xml.WriteStartElement("count"); xml.WriteString(spawner.Count.ToString()); xml.WriteEndElement(); xml.WriteStartElement("group"); xml.WriteString(spawner.Group.ToString()); xml.WriteEndElement(); xml.WriteStartElement("homerange"); xml.WriteString(spawner.HomeRange.ToString()); xml.WriteEndElement(); xml.WriteStartElement("maxdelay"); xml.WriteString(spawner.MaxDelay.ToString()); xml.WriteEndElement(); xml.WriteStartElement("mindelay"); xml.WriteString(spawner.MinDelay.ToString()); xml.WriteEndElement(); xml.WriteStartElement("team"); xml.WriteString(spawner.Team.ToString()); xml.WriteEndElement(); xml.WriteStartElement("creaturesname"); foreach (string creatureName in spawner.CreaturesName) { xml.WriteStartElement("creaturename"); xml.WriteString(creatureName); xml.WriteEndElement(); } xml.WriteEndElement(); // Item properties xml.WriteStartElement("name"); xml.WriteString(spawner.Name); xml.WriteEndElement(); xml.WriteStartElement("location"); xml.WriteString(spawner.Location.ToString()); xml.WriteEndElement(); xml.WriteStartElement("map"); xml.WriteString(spawner.Map.ToString()); xml.WriteEndElement(); xml.WriteEndElement(); }
private static void ImportSpawner(XmlElement node, string mapa, string tipo) { int count = int.Parse(GetText(node["count"], "1")); int homeRange = int.Parse(GetText(node["homerange"], "4")); int team = int.Parse(GetText(node["team"], "0")); bool group = bool.Parse(GetText(node["group"], "False")); TimeSpan maxDelay = TimeSpan.Parse(GetText(node["maxdelay"], "10:00")); TimeSpan minDelay = TimeSpan.Parse(GetText(node["mindelay"], "05:00")); ArrayList creaturesName = LoadCreaturesName(node["creaturesname"]); string name = GetText(node["name"], "Spawner"); Point3D location = Point3D.Parse(GetText(node["location"], "Error")); Map map = Map.Parse(GetText(node["map"], "Error")); if (map.Name == mapa) { if (tipo == "odbc") { ODBCSpawner spawner = new ODBCSpawner(count, minDelay, maxDelay, team, homeRange, creaturesName); spawner.Name = name; spawner.MoveToWorld(location, map); if (spawner.Map == Map.Internal) { spawner.Delete(); throw new Exception("Spawner created on Internal map."); } spawner.Respawn(); } else { // Genova: necessário converter creaturesName para list<string>. List<string> listaCreaturesName = new List<string>(); listaCreaturesName.CopyTo(creaturesName.ToArray(typeof(string)) as string[]); Spawner spawner = new Spawner(count, minDelay, maxDelay, team, homeRange, listaCreaturesName); spawner.Name = name; spawner.MoveToWorld(location, map); if (spawner.Map == Map.Internal) { spawner.Delete(); throw new Exception("Spawner created on Internal map."); } spawner.Respawn(); } } }