Beispiel #1
0
        public Spawn(string Datei, MainForm Main)
        {
            InitializeComponent();
            this.SpawnFile = Datei;
            this.Main = Main;

            OpenSpawn = ReadSpawn();
            SpawnAnzeigen(OpenSpawn);

            this.Text = new FileInfo(Datei).Name;

            for(int x = 0; x <= 444; x++)
            {
                //combo_MoverIDs.Items.Add(Main.MobIDsArr[x].MobName);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Function um die Spawn Dateien zu lesen.
        /// </summary>
        public StructSpawn ReadSpawn()
        {
            string SpawnFileText = File.ReadAllText(SpawnFile).Replace('.', ',');
            StructSpawn returnSpawn = new StructSpawn();
            returnSpawn.MoverIDs = new System.Windows.Forms.ListView.ListViewItemCollection(lv_movers);

            SpawnFileText = SpawnFileText.Replace("\r", string.Empty);

            Regex zahl      = new Regex(@"[\d]+");
            Regex floatZahl = new Regex(@"[\d]+[,]?[\d]*");

            Regex[] spawnCMDs = new Regex[] {new Regex(@"MOB " + zahl.ToString()),
                                             new Regex(@"COUNT " + zahl.ToString()),
                                             new Regex(@"MOVING " + zahl.ToString()),
                                             new Regex(@"PENYA " + floatZahl.ToString()),
                                             new Regex(@"EXP " + floatZahl.ToString()),
                                             new Regex(@"DROP " + floatZahl.ToString()),
                                             new Regex(@"POS " + floatZahl.ToString() + " " + floatZahl.ToString() + " " + floatZahl.ToString()),
                                             new Regex(@"WORLD " + floatZahl.ToString()),
                                             new Regex(@"RANGE " + floatZahl.ToString()),
                                             new Regex(@"AGGRO " + floatZahl.ToString()),
                                             new Regex(@"RESPAWNTIME " + zahl.ToString()),
                                             new Regex(@"MOVINGINTERVAL " + floatZahl.ToString()),
                                             new Regex(@"SIZE " + zahl.ToString())};

            string[] lines = SpawnFileText.Split('\n');

            try
            {
                foreach(string line in lines)
                {
                    if(!line.StartsWith("//"))
                    {
                        for(int i = 0; i < spawnCMDs.Length; i++)
                        {
                            if(spawnCMDs[i].IsMatch(line))
                            {
                                if(i == 0) // Mob-ID
                                {
                                    ListViewItem lvItem = new ListViewItem(zahl.Matches(line)[0].ToString());
                                    lvItem.SubItems.Add(findeMob(int.Parse(zahl.Matches(line)[0].ToString())));

                                    returnSpawn.MoverIDs.Add(lvItem);
                                    break;
                                }
                                else if(i == 1) // Mob Count
                                {
                                    returnSpawn.Count = int.Parse(zahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 2) // Move
                                {
                                    returnSpawn.Move = line.Contains("1");
                                    break;
                                }
                                else if(i == 3) // Penya
                                {
                                    returnSpawn.Penya = float.Parse(floatZahl.Matches(line.Replace('.', ','))[0].ToString());
                                    break;
                                }
                                else if(i == 4) // EXP-Rate
                                {
                                    returnSpawn.Exp   = float.Parse(floatZahl.Matches(line.Replace('.', ','))[0].ToString());
                                    break;
                                }
                                else if(i == 5) // Drop
                                {
                                    returnSpawn.Drop  = float.Parse(floatZahl.Matches(line.Replace('.', ','))[0].ToString());
                                    break;
                                }
                                else if(i == 6) // Position
                                {
                                    returnSpawn.Pos.X  = float.Parse(floatZahl.Matches(line)[0].ToString());
                                    returnSpawn.Pos.Y  = float.Parse(floatZahl.Matches(line)[1].ToString());
                                    returnSpawn.Pos.Z  = float.Parse(floatZahl.Matches(line)[2].ToString());
                                    break;
                                }
                                else if(i == 7) // Position.World
                                {
                                    returnSpawn.Pos.World = int.Parse(zahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 8) // Angriff Range
                                {
                                    returnSpawn.Range  = float.Parse(floatZahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 9) // Aggro Chance
                                {
                                    returnSpawn.Aggro  = float.Parse(floatZahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 10) // Respwan Time
                                {
                                    returnSpawn.ReTime = int.Parse(zahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 11) // Moving Interval
                                {
                                    returnSpawn.MovingInterval = int.Parse(zahl.Matches(line)[0].ToString());
                                    break;
                                }
                                else if(i == 12) // Size
                                {
                                    returnSpawn.Size = int.Parse(zahl.Matches(line)[0].ToString());
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Main.LoggIt(ex.Message, ex.StackTrace);
            }

            return returnSpawn;
        }
Beispiel #3
0
 void SpawnAnzeigen(StructSpawn spawn)
 {
     txt_AggroChance.Text    = spawn.Aggro.ToString();
     txt_Gebiet.Text         = spawn.Range.ToString();
     txt_MaxMobs.Text        = spawn.Count.ToString();
     txt_RespawnZeit.Text    = spawn.ReTime.ToString();
     txt_World.Text          = spawn.Pos.World.ToString();
     txt_X.Text              = spawn.Pos.X.ToString();
     txt_Y.Text              = spawn.Pos.Y.ToString();
     txt_Z.Text              = spawn.Pos.Z.ToString();
     txt_exp.Text            = spawn.Exp.ToString();
     txt_drop.Text           = spawn.Drop.ToString();
     txt_penya.Text          = spawn.Penya.ToString();
     cb_move.Checked         = spawn.Move;
     txt_MovingInterval.Text = spawn.MovingInterval.ToString();
     txt_size.Text           = spawn.Size.ToString();
 }