Beispiel #1
0
            protected override void OnTick()
            {
                foreach (Item ps in m_Owner.GetItemsInRange(m_Owner.Hue))
                {
                    if (ps != null && ps is PremiumSpawner)
                    {
                        PremiumSpawner sp = (PremiumSpawner)ps;
                        if (ps.Hue == 10)
                        {
                            sp.Running = true;
                        }
                    }
                }

                if (m_Owner.Weight == 1.0)
                {
                    Orc orc = new Orc();
                    orc.MoveToWorld(m_Owner.Location, m_Owner.Map);
                    orc.Hidden = true;
                    Regions.GuardedRegion reg = (Regions.GuardedRegion)orc.Region.GetRegion(typeof(Regions.GuardedRegion));
                    if (reg != null && reg.Disabled)
                    {
                        reg.Disabled = false;
                    }

                    orc.Delete();
                }

                StopTimer(m_Owner);
                m_Owner.Delete();
            }
Beispiel #2
0
        public static void RunThis(bool DoAction)
        {
            ///// PLANT THE GARDENS //////////////////////////////////////
            Farms.PlantGardens();

            LoggingFunctions.LogServer("Done - Planting Gardens");

            ///// ADD RANDOM CITIZENS IN SETTLEMENTS /////////////////////
            Server.Mobiles.Citizen.PopulateCities();

            ///// RECONFIGURE SOME LAND SPAWNS AND OTHER ITEMS ///////////

            ArrayList spawns = new ArrayList();

            foreach (Item item in World.Items.Values)
            {
                if (item is PremiumSpawner)
                {
                    PremiumSpawner spawner = (PremiumSpawner)item;

                    if (spawner.SpawnID == 8888)
                    {
                        bool reconfigure = true;

                        foreach (NetState state in NetState.Instances)
                        {
                            Mobile m = state.Mobile;

                            if (m is PlayerMobile && m.InRange(spawner.Location, (spawner.HomeRange + 20)))
                            {
                                reconfigure = false;
                            }
                        }

                        if (reconfigure)
                        {
                            spawns.Add(item);
                        }
                    }
                }
                else if (item is Coffer)
                {
                    Coffer coffer = (Coffer)item;
                    Server.Items.Coffer.SetupCoffer(coffer);
                }
                else if (item is HayCrate || item is HollowStump)
                {
                    item.Stackable = false;
                }
            }

            for (int i = 0; i < spawns.Count; ++i)
            {
                PremiumSpawner spawners = ( PremiumSpawner )spawns[i];
                Server.Mobiles.PremiumSpawner.Reconfigure(spawners, DoAction);
            }
        }
        private static void MakeSpawner(string[] types, string[] fakespawnsA, string[] fakespawnsB, string[] fakespawnsC, string[] fakespawnsD, string[] fakespawnsE, int x, int y, int z, Map map, TimeSpan mintime, TimeSpan maxtime, int walkingrange, int homerange, int spawnid, int npccount, int fakecountA, int fakecountB, int fakecountC, int fakecountD, int fakecountE)
        {
            if (types.Length == 0)
            {
                return;
            }

            List <string> tipos = new List <string>(types);
            List <string> noneA = new List <string>();
            List <string> noneB = new List <string>();
            List <string> noneC = new List <string>();
            List <string> noneD = new List <string>();
            List <string> noneE = new List <string>();

            if (fakespawnsA[0] != "")
            {
                noneA = new List <string>(fakespawnsA);
            }

            if (fakespawnsB[0] != "")
            {
                noneB = new List <string>(fakespawnsB);
            }

            if (fakespawnsC[0] != "")
            {
                noneC = new List <string>(fakespawnsC);
            }

            if (fakespawnsD[0] != "")
            {
                noneD = new List <string>(fakespawnsD);
            }

            if (fakespawnsE[0] != "")
            {
                noneE = new List <string>(fakespawnsE);
            }

            PremiumSpawner spawner = new PremiumSpawner(npccount, fakecountA, fakecountB, fakecountC, fakecountD, fakecountE, spawnid, mintime, maxtime, Team, walkingrange, homerange, tipos, noneA, noneB, noneC, noneD, noneE);

            spawner.MoveToWorld(new Point3D(x, y, z), map);

            if (TotalRespawn)
            {
                spawner.Respawn();

                if (((PremiumSpawner)spawner).SpawnID == 132)                   // if is ChampionSpawn
                {
                    spawner.BringToHome();
                }
            }

            m_Count++;
        }
Beispiel #4
0
        public static void RunThis(bool DoAction)
        {
            ArrayList spawns = new ArrayList();

            foreach (Item item in World.Items.Values)
            {
                if (item is PremiumSpawner)
                {
                    PremiumSpawner spawner = (PremiumSpawner)item;

                    if (spawner.SpawnID == 8888)
                    {
                        bool reconfigure = true;

                        foreach (NetState state in NetState.Instances)
                        {
                            Mobile m = state.Mobile;

                            if (m is PlayerMobile && m.InRange(spawner.Location, (spawner.HomeRange + 20)))
                            {
                                reconfigure = false;
                            }
                        }

                        if (reconfigure)
                        {
                            spawns.Add(item);
                        }
                    }
                }
                else if (item is Coffer)
                {
                    Coffer coffer = (Coffer)item;
                    Server.Items.Coffer.SetupCoffer(coffer);
                }
                else if (item is HayCrate || item is HollowStump)
                {
                    item.Stackable = false;
                }
            }

            for (int i = 0; i < spawns.Count; ++i)
            {
                PremiumSpawner spawners = ( PremiumSpawner )spawns[i];
                Server.Mobiles.PremiumSpawner.Reconfigure(spawners, DoAction);
            }
            Server.Items.WorkingSpots.PopulateVillages();
        }
Beispiel #5
0
        public void InitializeEditRightPanel(PremiumSpawner spawner)
        {
            AddLabel(350, 60, 52, "Creatures List");

            AddButton(525, 105, 0xFB7, 0xFB9, 20000, GumpButtonType.Reply, 0);
            AddLabel(525, 80, 52, "Okay");

            AddButton(525, 185, 0xFB4, 0xFB6, 20001, GumpButtonType.Reply, 0);
            AddLabel(500, 160, 52, "Bring to Home");

            AddButton(525, 265, 0xFA8, 0xFAA, 20002, GumpButtonType.Reply, 0);
            AddLabel(500, 240, 52, "Total Respawn");

            AddButton(525, 345, 0xFAB, 0xFAD, 20003, GumpButtonType.Reply, 0);
            AddLabel(510, 320, 52, "Properties");


            for (int i = 0; i < 13; i++)
            {
                AddButton(425, (22 * i) + 100, 0xFA5, 0xFA7, 20005 + (i * 2), GumpButtonType.Reply, 0);
                AddButton(454, (22 * i) + 100, 0xFA2, 0xFA4, 20004 + (i * 2), GumpButtonType.Reply, 0);

                AddImageTiled(275, (22 * i) + 100, 149, 23, 0x52);
                AddImageTiled(276, (22 * i) + 100, 147, 21, 0xBBC);

                string str = "";

                if (i < spawner.CreaturesName.Count)
                {
                    str = (string)spawner.CreaturesName[i];
                    int count = spawner.CountCreatures(str);

                    AddLabel(285, (22 * i) + 101, 0, count.ToString());
                }

                AddTextEntry(305, (22 * i) + 101, 120, 21, 0, i, str);
            }
        }
        private static void MakeSpawner(string[] types, int x, int y, int z, Map map, TimeSpan mintime, TimeSpan maxtime, int homerange, int spawnrange, int spawnid, int npccount)
        {
            if (types.Length == 0)
            {
                return;
            }

            PremiumSpawner spawner = new PremiumSpawner(npccount, mintime, maxtime, Team, homerange, spawnrange, spawnid, new ArrayList(types));

            spawner.MoveToWorld(new Point3D(x, y, z), map);

            if (TotalRespawn)
            {
                spawner.Respawn();

                if (((PremiumSpawner)spawner).SpawnID == 132)                   // if is ChampionSpawn
                {
                    spawner.BringToHome();
                }
            }

            m_Count++;
        }
Beispiel #7
0
        public void InitializeSelectedRightPanel()
        {
            string spX     = selSpawner.X.ToString();
            string spY     = selSpawner.Y.ToString();
            string spnText = "PremiumSpawner at " + spX + ", " + spY;

            AddLabel(350, 65, 52, spnText);

            PremiumSpawner initSpn = selSpawner as PremiumSpawner;
            int            strNum  = 0;
            string         spns    = "Containing: ";
            string         spnsNEW = "";
            string         spns1   = "";
            string         spns2   = "";
            string         spns3   = "";

            for (int i = 0; i < initSpn.CreaturesName.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spnsNEW += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 1;
                            spns1 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEW += (string)initSpn.CreaturesName[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns1.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns1 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 2;
                            spns2 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns1 += (string)initSpn.CreaturesName[i];
                        }
                        else
                        {
                            strNum = 3;
                            spns2 += (string)initSpn.CreaturesName[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns2.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns2 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 3;
                            spns3 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns2 += (string)initSpn.CreaturesName[i];
                        }
                        else
                        {
                            strNum = 4;
                            spns3 += (string)initSpn.CreaturesName[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        spns3 += (string)initSpn.CreaturesName[i] + ", ";
                    }
                    else
                    {
                        spns3 += (string)initSpn.CreaturesName[i];
                    }
                }
            }

            string spnsNEWa = "";
            string spns1a   = "";
            string spns2a   = "";
            string spns3a   = "";

            for (int i = 0; i < initSpn.SubSpawnerA.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.SubSpawnerA.Count - 1)
                    {
                        if (spns.Length + initSpn.SubSpawnerA[i].ToString().Length < 50)
                        {
                            spnsNEWa += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                        else
                        {
                            strNum  = 1;
                            spns1a += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEWa += (string)initSpn.SubSpawnerA[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.SubSpawnerA.Count - 1)
                    {
                        if (spns1a.Length + initSpn.SubSpawnerA[i].ToString().Length < 50)
                        {
                            spns1a += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                        else
                        {
                            strNum  = 2;
                            spns2a += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1a.Length + initSpn.SubSpawnerA[i].ToString().Length < 50)
                        {
                            spns1a += (string)initSpn.SubSpawnerA[i];
                        }
                        else
                        {
                            strNum  = 3;
                            spns2a += (string)initSpn.SubSpawnerA[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.SubSpawnerA.Count - 1)
                    {
                        if (spns2a.Length + initSpn.SubSpawnerA[i].ToString().Length < 50)
                        {
                            spns2a += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                        else
                        {
                            strNum  = 3;
                            spns3a += (string)initSpn.SubSpawnerA[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2a.Length + initSpn.SubSpawnerA[i].ToString().Length < 50)
                        {
                            spns2a += (string)initSpn.SubSpawnerA[i];
                        }
                        else
                        {
                            strNum  = 4;
                            spns3a += (string)initSpn.SubSpawnerA[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.SubSpawnerA.Count - 1)
                    {
                        spns3a += (string)initSpn.SubSpawnerA[i] + ", ";
                    }
                    else
                    {
                        spns3a += (string)initSpn.SubSpawnerA[i];
                    }
                }
            }

            string spnsNEWb = "";
            string spns1b   = "";
            string spns2b   = "";
            string spns3b   = "";

            for (int i = 0; i < initSpn.SubSpawnerB.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.SubSpawnerB.Count - 1)
                    {
                        if (spns.Length + initSpn.SubSpawnerB[i].ToString().Length < 50)
                        {
                            spnsNEWb += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                        else
                        {
                            strNum  = 1;
                            spns1b += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEWb += (string)initSpn.SubSpawnerB[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.SubSpawnerB.Count - 1)
                    {
                        if (spns1b.Length + initSpn.SubSpawnerB[i].ToString().Length < 50)
                        {
                            spns1b += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                        else
                        {
                            strNum  = 2;
                            spns2b += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1b.Length + initSpn.SubSpawnerB[i].ToString().Length < 50)
                        {
                            spns1b += (string)initSpn.SubSpawnerB[i];
                        }
                        else
                        {
                            strNum  = 3;
                            spns2b += (string)initSpn.SubSpawnerB[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.SubSpawnerB.Count - 1)
                    {
                        if (spns2b.Length + initSpn.SubSpawnerB[i].ToString().Length < 50)
                        {
                            spns2b += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                        else
                        {
                            strNum  = 3;
                            spns3b += (string)initSpn.SubSpawnerB[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2b.Length + initSpn.SubSpawnerB[i].ToString().Length < 50)
                        {
                            spns2b += (string)initSpn.SubSpawnerB[i];
                        }
                        else
                        {
                            strNum  = 4;
                            spns3b += (string)initSpn.SubSpawnerB[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.SubSpawnerB.Count - 1)
                    {
                        spns3b += (string)initSpn.SubSpawnerB[i] + ", ";
                    }
                    else
                    {
                        spns3b += (string)initSpn.SubSpawnerB[i];
                    }
                }
            }

            string spnsNEWc = "";
            string spns1c   = "";
            string spns2c   = "";
            string spns3c   = "";

            for (int i = 0; i < initSpn.SubSpawnerC.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.SubSpawnerC.Count - 1)
                    {
                        if (spns.Length + initSpn.SubSpawnerC[i].ToString().Length < 50)
                        {
                            spnsNEWc += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                        else
                        {
                            strNum  = 1;
                            spns1c += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEWc += (string)initSpn.SubSpawnerC[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.SubSpawnerC.Count - 1)
                    {
                        if (spns1c.Length + initSpn.SubSpawnerC[i].ToString().Length < 50)
                        {
                            spns1c += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                        else
                        {
                            strNum  = 2;
                            spns2c += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1c.Length + initSpn.SubSpawnerC[i].ToString().Length < 50)
                        {
                            spns1c += (string)initSpn.SubSpawnerC[i];
                        }
                        else
                        {
                            strNum  = 3;
                            spns2c += (string)initSpn.SubSpawnerC[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.SubSpawnerC.Count - 1)
                    {
                        if (spns2c.Length + initSpn.SubSpawnerC[i].ToString().Length < 50)
                        {
                            spns2c += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                        else
                        {
                            strNum  = 3;
                            spns3c += (string)initSpn.SubSpawnerC[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2c.Length + initSpn.SubSpawnerC[i].ToString().Length < 50)
                        {
                            spns2c += (string)initSpn.SubSpawnerC[i];
                        }
                        else
                        {
                            strNum  = 4;
                            spns3c += (string)initSpn.SubSpawnerC[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.SubSpawnerC.Count - 1)
                    {
                        spns3c += (string)initSpn.SubSpawnerC[i] + ", ";
                    }
                    else
                    {
                        spns3c += (string)initSpn.SubSpawnerC[i];
                    }
                }
            }

            string spnsNEWd = "";
            string spns1d   = "";
            string spns2d   = "";
            string spns3d   = "";

            for (int i = 0; i < initSpn.SubSpawnerD.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.SubSpawnerD.Count - 1)
                    {
                        if (spns.Length + initSpn.SubSpawnerD[i].ToString().Length < 50)
                        {
                            spnsNEWd += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                        else
                        {
                            strNum  = 1;
                            spns1d += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEWd += (string)initSpn.SubSpawnerD[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.SubSpawnerD.Count - 1)
                    {
                        if (spns1d.Length + initSpn.SubSpawnerD[i].ToString().Length < 50)
                        {
                            spns1d += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                        else
                        {
                            strNum  = 2;
                            spns2d += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1d.Length + initSpn.SubSpawnerD[i].ToString().Length < 50)
                        {
                            spns1d += (string)initSpn.SubSpawnerD[i];
                        }
                        else
                        {
                            strNum  = 3;
                            spns2d += (string)initSpn.SubSpawnerD[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.SubSpawnerD.Count - 1)
                    {
                        if (spns2d.Length + initSpn.SubSpawnerD[i].ToString().Length < 50)
                        {
                            spns2d += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                        else
                        {
                            strNum  = 3;
                            spns3d += (string)initSpn.SubSpawnerD[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2d.Length + initSpn.SubSpawnerD[i].ToString().Length < 50)
                        {
                            spns2d += (string)initSpn.SubSpawnerD[i];
                        }
                        else
                        {
                            strNum  = 4;
                            spns3d += (string)initSpn.SubSpawnerD[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.SubSpawnerD.Count - 1)
                    {
                        spns3d += (string)initSpn.SubSpawnerD[i] + ", ";
                    }
                    else
                    {
                        spns3d += (string)initSpn.SubSpawnerD[i];
                    }
                }
            }

            string spnsNEWe = "";
            string spns1e   = "";
            string spns2e   = "";
            string spns3e   = "";

            for (int i = 0; i < initSpn.SubSpawnerE.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.SubSpawnerE.Count - 1)
                    {
                        if (spns.Length + initSpn.SubSpawnerE[i].ToString().Length < 50)
                        {
                            spnsNEWe += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                        else
                        {
                            strNum  = 1;
                            spns1e += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEWe += (string)initSpn.SubSpawnerE[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.SubSpawnerE.Count - 1)
                    {
                        if (spns1e.Length + initSpn.SubSpawnerE[i].ToString().Length < 50)
                        {
                            spns1e += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                        else
                        {
                            strNum  = 2;
                            spns2e += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1e.Length + initSpn.SubSpawnerE[i].ToString().Length < 50)
                        {
                            spns1e += (string)initSpn.SubSpawnerE[i];
                        }
                        else
                        {
                            strNum  = 3;
                            spns2e += (string)initSpn.SubSpawnerE[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.SubSpawnerE.Count - 1)
                    {
                        if (spns2e.Length + initSpn.SubSpawnerE[i].ToString().Length < 50)
                        {
                            spns2e += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                        else
                        {
                            strNum  = 3;
                            spns3e += (string)initSpn.SubSpawnerE[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2e.Length + initSpn.SubSpawnerE[i].ToString().Length < 50)
                        {
                            spns2e += (string)initSpn.SubSpawnerE[i];
                        }
                        else
                        {
                            strNum  = 4;
                            spns3e += (string)initSpn.SubSpawnerE[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.SubSpawnerE.Count - 1)
                    {
                        spns3e += (string)initSpn.SubSpawnerE[i] + ", ";
                    }
                    else
                    {
                        spns3e += (string)initSpn.SubSpawnerE[i];
                    }
                }
            }

            AddLabel(275, 85, 52, spns);
            AddLabel(280, 110, 52, "[1]");
            AddLabel(280, 180, 52, "[2]");
            AddLabel(280, 250, 52, "[3]");
            AddLabel(425, 110, 52, "[4]");
            AddLabel(425, 180, 52, "[5]");
            AddLabel(425, 250, 52, "[6]");
            AddHtml(300, 110, 115, 65, spnsNEW, true, true);
            AddHtml(300, 180, 115, 65, spnsNEWa, true, true);
            AddHtml(300, 250, 115, 65, spnsNEWb, true, true);
            AddHtml(445, 110, 115, 65, spnsNEWc, true, true);
            AddHtml(445, 180, 115, 65, spnsNEWd, true, true);
            AddHtml(445, 250, 115, 65, spnsNEWe, true, true);
            if (spns1 != "")
            {
                AddLabel(275, 105, 200, spns1);
            }

            if (spns2 != "")
            {
                AddLabel(275, 125, 200, spns2);
            }

            if (spns3 != "")
            {
                AddLabel(275, 145, 200, spns3);
            }

            AddLabel(320, 320, 52, "Go to Spawner");
            AddButton(525, 320, 0x15E1, 0x15E5, 10005, GumpButtonType.Reply, 1);
            AddLabel(320, 345, 52, "Delete Selected Spawner");
            AddButton(525, 345, 0x15E1, 0x15E5, 10006, GumpButtonType.Reply, 0);
            AddLabel(320, 370, 52, "Edit Spawns");
            AddButton(525, 370, 0x15E1, 0x15E5, 10007, GumpButtonType.Reply, 0);
        }
Beispiel #8
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile    from        = state.Mobile;
            int       buttonNum   = 0;
            ArrayList currentList = new ArrayList(tempList);
            int       page        = m_page;

            if (info.ButtonID > 0 && info.ButtonID < 10000)
            {
                buttonNum = 1;
            }
            else if (info.ButtonID > 20004)
            {
                buttonNum = 30000;
            }
            else
            {
                buttonNum = info.ButtonID;
            }

            switch (buttonNum)
            {
            case 0:
            {
                //Close
                break;
            }

            case 1:
            {
                selSpawner = currentList[info.ButtonID - 1] as Item;
                SpawnEditor_OnCommand(from, page, currentList, 1, selSpawner);
                break;
            }

            case 10000:
            {
                if (m_page * 10 < currentList.Count)
                {
                    page = m_page += 1;
                    SpawnEditor_OnCommand(from, page, currentList);
                }
                break;
            }

            case 10001:
            {
                if (m_page != 0)
                {
                    page = m_page -= 1;
                    SpawnEditor_OnCommand(from, page, currentList);
                }
                break;
            }

            case 10002:
            {
                //Close
                break;
            }

            case 10003:
            {
                FilterByRegion(from, tempList, from.Region, from.Map, page);
                break;
            }

            case 10004:
            {
                TextRelay oDis = info.GetTextEntry(0);
                string    sDis = (oDis == null ? "" : oDis.Text.Trim());
                if (sDis != "")
                {
                    try
                    {
                        int distance = Convert.ToInt32(sDis);
                        FilterByDistance(tempList, from, distance, page);
                    }
                    catch
                    {
                        from.SendMessage("Distance must be a number");
                        SpawnEditor_OnCommand(from, page, currentList);
                    }
                }
                else
                {
                    from.SendMessage("You must specify a distance");
                    SpawnEditor_OnCommand(from, page, currentList);
                }
                break;
            }

            case 10005:
            {
                from.Location = new Point3D(selSpawner.X, selSpawner.Y, selSpawner.Z);
                SpawnEditor_OnCommand(from, page, currentList, 1, selSpawner);
                break;
            }

            case 10006:
            {
                selSpawner.Delete();
                SpawnEditor_OnCommand(from);
                break;
            }

            case 10007:
            {
                from.SendGump(new PremiumSpawnerGump(selSpawner as PremiumSpawner));
                SpawnEditor_OnCommand(from, page, currentList, 1, selSpawner);
                break;
            }

            case 10008:
            {
                SpawnEditor_OnCommand(from);
                break;
            }

            case 10009:
            {
                TextRelay oSearch = info.GetTextEntry(1);
                string    sSearch = (oSearch == null ? null : oSearch.Text.Trim());
                SearchByName(tempList, from, sSearch, page);
                break;
            }

            case 10010:
            {
                TextRelay oID = info.GetTextEntry(2);
                string    sID = (oID == null ? "" : oID.Text.Trim());
                if (sID != "")
                {
                    try
                    {
                        int SearchID = Convert.ToInt32(sID);
                        SearchByID(tempList, from, SearchID, page);
                    }
                    catch
                    {
                        from.SendMessage("SpawnID must be a number");
                        SpawnEditor_OnCommand(from, page, currentList);
                    }
                }
                else
                {
                    from.SendMessage("You must specify a SpawnID");
                    SpawnEditor_OnCommand(from, page, currentList);
                }
                break;
            }

            case 20000:
            {
                PremiumSpawner spawner = selSpawner as PremiumSpawner;
                spawner.CreaturesName = CreateArray(info, state.Mobile);
                break;
            }

            case 20001:
            {
                PremiumSpawner spawner = selSpawner as PremiumSpawner;
                SpawnEditor_OnCommand(from, page, currentList, 2, selSpawner);
                spawner.BringToHome();
                break;
            }

            case 20002:
            {
                PremiumSpawner spawner = selSpawner as PremiumSpawner;
                SpawnEditor_OnCommand(from, page, currentList, 2, selSpawner);
                spawner.Respawn();
                break;
            }

            case 20003:
            {
                PremiumSpawner spawner = selSpawner as PremiumSpawner;
                SpawnEditor_OnCommand(from, page, currentList, 2, selSpawner);
                state.Mobile.SendGump(new PropertiesGump(state.Mobile, spawner));
                break;
            }

            case 30000:
            {
                int buttonID = info.ButtonID - 20004;
                int index    = buttonID / 2;
                int type     = buttonID % 2;

                PremiumSpawner spawner = selSpawner as PremiumSpawner;

                TextRelay entry = info.GetTextEntry(index);

                if (entry != null && entry.Text.Length > 0)
                {
                    if (type == 0)                               // Spawn creature
                    {
                        spawner.Spawn(entry.Text);
                    }
                    else                             // Remove creatures
                    {
                        spawner.RemoveCreatures(entry.Text);
                    }
                    //spawner.RemoveCreaturesA( entry.Text );

                    spawner.CreaturesName = CreateArray(info, state.Mobile);
                }

                break;
            }
            }
        }
Beispiel #9
0
        public void InitializeSelectedRightPanel()
        {
            string spX     = selSpawner.X.ToString();
            string spY     = selSpawner.Y.ToString();
            string spnText = "PremiumSpawner at " + spX + ", " + spY;

            AddLabel(350, 65, 52, spnText);

            PremiumSpawner initSpn = selSpawner as PremiumSpawner;
            int            strNum  = 0;
            string         spns    = "Containing: ";
            string         spnsNEW = "";
            string         spns1   = "";
            string         spns2   = "";
            string         spns3   = "";

            for (int i = 0; i < initSpn.CreaturesName.Count; i++)
            {
                if (strNum == 0)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spnsNEW += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 1;
                            spns1 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        spnsNEW += (string)initSpn.CreaturesName[i];
                    }
                }
                else if (strNum == 1)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns1.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns1 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 2;
                            spns2 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns1.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns1 += (string)initSpn.CreaturesName[i];
                        }
                        else
                        {
                            strNum = 3;
                            spns2 += (string)initSpn.CreaturesName[i];
                        }
                    }
                }
                else if (strNum == 2)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        if (spns2.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns2 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                        else
                        {
                            strNum = 3;
                            spns3 += (string)initSpn.CreaturesName[i] + ", ";
                        }
                    }
                    else
                    {
                        if (spns2.Length + initSpn.CreaturesName[i].ToString().Length < 50)
                        {
                            spns2 += (string)initSpn.CreaturesName[i];
                        }
                        else
                        {
                            strNum = 4;
                            spns3 += (string)initSpn.CreaturesName[i];
                        }
                    }
                }
                else if (strNum == 3)
                {
                    if (i < initSpn.CreaturesName.Count - 1)
                    {
                        spns3 += (string)initSpn.CreaturesName[i] + ", ";
                    }
                    else
                    {
                        spns3 += (string)initSpn.CreaturesName[i];
                    }
                }
            }
            AddLabel(275, 85, 52, spns);
            AddHtml(347, 85, 230, 120, spnsNEW, true, true);
            if (spns1 != "")
            {
                AddLabel(275, 105, 200, spns1);
            }

            if (spns2 != "")
            {
                AddLabel(275, 125, 200, spns2);
            }

            if (spns3 != "")
            {
                AddLabel(275, 145, 200, spns3);
            }

            AddLabel(275, 215, 52, "Go to Spawner");
            AddButton(500, 215, 0x15E1, 0x15E5, 10005, GumpButtonType.Reply, 1);
            AddLabel(275, 265, 52, "Delete Selected Spawner");
            AddButton(500, 265, 0x15E1, 0x15E5, 10006, GumpButtonType.Reply, 0);
            AddLabel(275, 315, 52, "Edit Spawns");
            AddButton(500, 315, 0x15E1, 0x15E5, 10007, GumpButtonType.Reply, 0);
        }
        public void DungeonReset()
        {
            IPooledEnumerable eable = m_Stone.GetItemsInRange(m_Stone.Size);

            ArrayList trash = new ArrayList();

            //Here we set all spawners to global values(if bool)
            if (this != null && m_Stone != null) // error check & global bool
            {
                // Find all spawners within the dungeon, and set their values.
                foreach (Item s in eable)
                {
                    if (m_UseGlobalRespawn) // control spawners
                    {
                        if (s is Spawner)
                        {
                            Spawner sp = (Spawner)s;
                            sp.MaxDelay = sp.MinDelay = m_RespawnDelay;
                            sp.Respawn();
                        }
                        else if (s is XmlSpawner) //// comment out if XMLSpawner is not installed
                        {
                            XmlSpawner sp = (XmlSpawner)s;
                            sp.MaxDelay = sp.MinDelay = m_RespawnDelay;
                            sp.Respawn();
                        }
                        else if (s is PremiumSpawner) //// comment out if PremiumSpawner is not installed
                        {
                            PremiumSpawner sp = (PremiumSpawner)s;
                            sp.MaxDelay = sp.MinDelay = m_RespawnDelay;
                            sp.Respawn();
                        }
                    }
                    // add trash to the list
                    if (s.Movable || s is Corpse)
                    {
                        trash.Add(s);
                    }
                    // Lock Dungeon Doors.
                    else if (s is DungeonDoor)
                    {
                        DungeonDoor dd = (DungeonDoor)s;
                        dd.Locked = true;
                    }
                }
            }

            // delete trash and corpses
            for (int i = 0; i < trash.Count; i++)
            {
                ((Item)trash[i]).Delete();
            }

            // Reset AFK list and restart the timers.
            if (m_PlayerMovements != null)
            {
                m_PlayerMovements.Clear();
            }
            if (m_AFKTimer != null)
            {
                if (m_AFKTimer.Running)
                {
                    m_AFKTimer.Stop();
                }
                m_AFKTimer.Start();
            }
        }
Beispiel #11
0
        private static void MakeSpawner(string[] types, string[] fakespawnsA, string[] fakespawnsB, string[] fakespawnsC, string[] fakespawnsD, string[] fakespawnsE, int x, int y, int z, Map map, TimeSpan mintime, TimeSpan maxtime, int walkingrange, int homerange, int spawnid, int npccount, int fakecountA, int fakecountB, int fakecountC, int fakecountD, int fakecountE)
        {
            if (types.Length == 0)
            {
                return;
            }

            List <string> tipos = new List <string>(types);
            List <string> noneA = new List <string>();
            List <string> noneB = new List <string>();
            List <string> noneC = new List <string>();
            List <string> noneD = new List <string>();
            List <string> noneE = new List <string>();

            if (fakespawnsA[0] != "")
            {
                noneA = new List <string>(fakespawnsA);
            }

            if (fakespawnsB[0] != "")
            {
                noneB = new List <string>(fakespawnsB);
            }

            if (fakespawnsC[0] != "")
            {
                noneC = new List <string>(fakespawnsC);
            }

            if (fakespawnsD[0] != "")
            {
                noneD = new List <string>(fakespawnsD);
            }

            if (fakespawnsE[0] != "")
            {
                noneE = new List <string>(fakespawnsE);
            }

            PremiumSpawner spawner = new PremiumSpawner(npccount, fakecountA, fakecountB, fakecountC, fakecountD, fakecountE, spawnid, mintime, maxtime, Team, walkingrange, homerange, tipos, noneA, noneB, noneC, noneD, noneE);

            spawner.MoveToWorld(new Point3D(x, y, z), map);

            if (spawner.SpawnID == 9999)
            {
                spawner.MinDelay  = TimeSpan.FromSeconds(1.0);
                spawner.MaxDelay  = TimeSpan.FromSeconds(1.0);
                spawner.NextSpawn = TimeSpan.FromSeconds(1.0);
                spawner.Respawn();
            }
            else if (spawner.SpawnID == 8888)
            {
                spawner.MinDelay  = TimeSpan.FromMinutes(10.0);
                spawner.MaxDelay  = TimeSpan.FromMinutes(15.0);
                spawner.NextSpawn = TimeSpan.FromSeconds(1.0);
                Server.Mobiles.PremiumSpawner.Reconfigure(spawner, true);
            }
            else if (TotalRespawn && spawner.Running == true)
            {
                spawner.Respawn();
            }

            m_Count++;
        }