Mta Converter

  • Ich habe heute einen kleinen Converter in C# programmiert und möchte den mit euch teilen.
    Da ich keinen Mta habe hatte ich nur eine Datei mit Fahrzeugen und Objekten, deswegen konnte ich nicht alles hinzufügen und testen.
    Falls jemand einen Fehler findet wäre es nett wenn derjenige den Fehler hier postet.
    Falls erwünscht werden Updates folgen.


    Bild:


    Quelltext:

    Code
    private void button1_Click(object sender, EventArgs e)        {            textBox2.Text = "";            String[] lines = getLineStrings("<object", "/>");            for (int i = 0; i < lines.Length; i++)            {                if (lines[i] == null)                {                    break;                }                 else                 {                    String modelid = getValue(lines[i], "model="");                    String posX = getValue(lines[i], "posX="");                    String posY = getValue(lines[i], "posY="");                    String posZ = getValue(lines[i], "posZ="");                    String rX = getValue(lines[i], "rotX="");                    String rY = getValue(lines[i], "rotY="");                    String rZ = getValue(lines[i], "rotZ="");                    if (checkBox2.Checked)                    {                        String Kommentar = getValue(lines[i], "id="");                        Kommentar = Kommentar.Substring(7, Kommentar.Length - 7);                        textBox2.Text += "CreateObject(" + modelid + ", " + posX + ", " + posY + ", " + posZ + ", " + rX + ", " + rY + ", " + rZ + ", " + textBox6.Text + "); //" + Kommentar + System.Environment.NewLine;                    }                    else                    {                        textBox2.Text += "CreateObject(" + modelid + ", " + posX + ", " + posY + ", " + posZ + ", " + rX + ", " + rY + ", " + rZ + ", " + textBox6.Text + ");" + System.Environment.NewLine;                    }                }            }            lines = getLineStrings("<vehicle", "/>");            for (int i = 0; i < lines.Length; i++)            {                if (lines[i] == null)                {                    break;                }                else                {                    String modelid = getValue(lines[i], "model="");                    String posX = getValue(lines[i], "posX="");                    String posY = getValue(lines[i], "posY="");                    String posZ = getValue(lines[i], "posZ="");                    String rZ = getValue(lines[i], "rotZ="");                    if (checkBox1.Checked)                    {                        String Kommentar = getValue(lines[i], "id="");                        Kommentar = Kommentar.Substring(7, Kommentar.Length - 7);                        textBox2.Text += System.Environment.NewLine + "CreateVehicle(" + modelid + ", " + posX + ", " + posY + ", " + posZ + ", " + rZ + ", " + textBox3.Text + ", " + textBox4.Text + ", " + textBox5.Text + "); //" + Kommentar;                    }                    else                    {                        textBox2.Text += System.Environment.NewLine + "CreateVehicle(" + modelid + ", " + posX + ", " + posY + ", " + posZ + ", " + rZ + ", " + textBox3.Text + ", " + textBox4.Text + ", " + textBox5.Text + ");";                    }                }            }        }        private String[] getLineStrings(String starttext, String endtext)        {            char[] starttextZeichen = starttext.ToCharArray(0, starttext.Length);            char[] endtextZeichen = endtext.ToCharArray(0, endtext.Length);            int[] startPositionen = search(starttext, true);            int[] endPositionen = search(startPositionen, endtext, false);            String[] lines = new String[99999];            for(int i = 0; i < startPositionen.Length; i++) {                if(startPositionen[i] != -1 && endPositionen[i] != -1)                 {                    lines[i] = textBox1.Text.Substring(startPositionen[i], endPositionen[i]-startPositionen[i]+1);                }                 else                 {                    break;                }            }            return lines;        }        private int[] search(String searchtext, Boolean start)        {            char[] AllZeichen = searchtext.ToCharArray(0, searchtext.Length);            int count = 0;            int position = 0;            int[] StartPos = new int[99999];            for (int i = 0; i < StartPos.Length; i++)            {                StartPos[i] = -1;            }            int FoundCount = 0;            foreach (char i in textBox1.Text)            {                String Zeichen = i.ToString();                if (Zeichen.Equals(AllZeichen[count].ToString()))                {                    count++;                    if (count == searchtext.Length)                    {                        if (start == true)                        {                            StartPos[FoundCount] = position - searchtext.Length + 1;                        }                        else                        {                            StartPos[FoundCount] = position;                        }                        FoundCount++;                        count = 0;                    }                }                else                {                    if (Zeichen.Equals(AllZeichen[0].ToString()))                    {                        count = 1;                    }                    else                    {                        count = 0;                    }                }                position++;            }            return StartPos;        }        private int[] search(int[] StartPositionen, String searchtext, Boolean start)        {            char[] AllZeichen = searchtext.ToCharArray(0, searchtext.Length);            int count = 0;            int counter = 0;            int position = 0;            int[] StartPos = new int[99999];            for (int i = 0; i < StartPos.Length; i++)            {                StartPos[i] = -1;            }            int FoundCount = 0;            foreach (char i in textBox1.Text)            {                if (StartPositionen[FoundCount] == -1)                {                    break;                }                if (position >= StartPositionen[FoundCount])                {                    String Zeichen = i.ToString();                    if (Zeichen.Equals(AllZeichen[count].ToString()))                    {                        count++;                        if (count == searchtext.Length)                        {                            if (start == true)                            {                                StartPos[FoundCount] = position - searchtext.Length + 1;                            }                            else                            {                                StartPos[FoundCount] = position;                            }                            FoundCount++;                            count = 0;                        }                    }                    else                    {                        if (Zeichen.Equals(AllZeichen[0].ToString()))                        {                            count = 1;                        }                        else                        {                            count = 0;                        }                    }                }                position++;            }            return StartPos;        }        private String getValue(String searchtext, String varName)        {            char[] AllZeichen = varName.ToCharArray(0, varName.Length);            int count = 0;            String value = "Nothing";            foreach (char i in searchtext)            {                String Zeichen = i.ToString();                if (count == varName.Length)                {                    if (Zeichen.Equals("""))                    {                        break;                    }                    else                    {                        value += Zeichen;                    }                    continue;                }                if (Zeichen.Equals(AllZeichen[count].ToString()))                {                    count++;                    if (count == varName.Length)                    {                        value = "";                    }                }                else                {                    if (Zeichen.Equals(AllZeichen[0].ToString()))                    {                        count = 1;                    }                    else                    {                        count = 0;                    }                }            }            return value;        }


    Download:

    Code
    http://www.file-upload.net/download-7978422/Converter.exe.html


    Code
    https://www.virustotal.com/de/url/b03e8b3a2aa46e327d19e7c500849f3956253b47c3cf7a78be39c46802771b92/analysis/1376840596/


    Mfg Soldtodie