Esempio n. 1
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 (TotalRespawn)
            {
                spawner.Respawn();

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

            m_Count++;
        }
        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++;
        }
Esempio n. 3
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;
            }
            }
        }