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();
            }
Beispiel #2
0
            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);
            }
Beispiel #7
0
            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();
                }
            }
        }