Пример #1
0
        public void addPortail(Player p, ushort x, ushort y, ushort z)
        {
            posXYZ pos = new posXYZ();

            pos.x = x;
            pos.y = y;
            pos.z = z;
            portails.Add(pos);
            Player.SendMessage(p, "Portail cree en " + x + " " + y + " " + z);
        }
Пример #2
0
        public override void loadGame(Player p, string file)
        {
            if (file == "")
            {
                Player.SendMessage(p, "Le nom du fichier est vide"); return;
            }
            file = file.ToLower();
            if (!Player.ValidName(file))
            {
                Player.SendMessage(p, "Le nom de ficher n'est pas valide"); return;
            }

            if (!Directory.Exists("extra"))
            {
                Directory.CreateDirectory("extra");
            }
            if (!Directory.Exists("extra/games"))
            {
                Directory.CreateDirectory("extra/games");
            }
            if (!Directory.Exists("extra/games/" + typeGame.ToLower()))
            {
                Directory.CreateDirectory("extra/games/" + typeGame.ToLower());
            }

            if (!File.Exists("extra/games/" + typeGame.ToLower() + "/" + file + ".txt"))
            {
                Player.SendMessage(p, "Le fichier " + file + " n'existe pas"); return;
            }

            string[] allLines = File.ReadAllLines("extra/games/" + typeGame.ToLower() + "/" + file + ".txt");

            cmdAllow.Clear();

            foreach (string line in allLines)
            {
                if (line == "")
                {
                    continue;
                }
                if (line[0] == '#' || line.IndexOf("=") == -1)
                {
                    continue;
                }

                string key   = line.Split('=')[0].Trim();
                string value = line.Split('=')[1].Trim();

                switch (key)
                {
                case "xmin":
                    try { gameZone.xMin = ushort.Parse(value); }
                    catch { gameZone.xMin = 0; }
                    break;

                case "xmax":
                    try { gameZone.xMax = ushort.Parse(value); }
                    catch { gameZone.xMax = 0; }
                    break;

                case "y":
                    try { gameZone.y = ushort.Parse(value); }
                    catch { gameZone.y = 0; }
                    break;

                case "zmin":
                    try { gameZone.zMin = ushort.Parse(value); }
                    catch { gameZone.zMin = 0; }
                    break;

                case "zmax":
                    try { gameZone.zMax = ushort.Parse(value); }
                    catch { gameZone.zMax = 0; }
                    break;

                case "portail":
                    if (value.Split(' ').Length != 3)
                    {
                        continue;
                    }
                    posXYZ po = new posXYZ();
                    try { po.x = ushort.Parse(value.Split(' ')[0]); }
                    catch { po.x = 0; }
                    try { po.y = ushort.Parse(value.Split(' ')[1]); }
                    catch { po.y = 0; }
                    try { po.z = ushort.Parse(value.Split(' ')[2]); }
                    catch { po.z = 0; }
                    portails.Add(po);
                    break;

                case "commandes":
                    if (value.Split(' ').Length == 0)
                    {
                        continue;
                    }
                    foreach (string s in value.Split(' '))
                    {
                        cmdAllow.Add(s);
                    }
                    break;

                default:
                    continue;
                }
            }
            Player.SendMessage(p, "Chargement des configurations termine");
        }