Фэндом


Посмотрите по этой теме сообщение

  1. Создайте Tile.cs файл в вашей Tile папке
  2. Положите в него
public void ModifyWorld() {
        Main.statusText = "Adding Greenium Ore..."; //появление вашей руды
        for(int i=0;i<100+(int)(Main.maxTilesY/5);i++) AddOres(); //изменится на 100, чтобы удовлетворить ваши запросы, чем выше, тем реже.
        //Графа руд, для сравнения ...
        //Золотая руда=8
        //Серебряная руда=9
        //Медная руда=7
        Main.statusText = "Counting ores...";
        string data="";
        DictionaryHandler<int, int> countType = new DictionaryHandler<int,int>();
        for(int x=0;x<Main.maxTilesX;x++) {
                for(int y=0;y<Main.maxTilesY;y++) {
                        Main.statusText = "Counting ores... ("+((x*(y+1))/(Main.maxTilesX*Main.maxTilesY))+"%)";
                        try {
                                int type=Main.tile[x,y].type;
                                if(type==7 || type==8 || type==9 || type==Config.tileDefs.ID["Placeable"]) countType[type]++; //Изменение "Placeable" на имя вашего тайла руды (в шахте появляется под названием Placeable.
                        } catch {
                        }
 
                }
        }
        data+="Copper: "+countType[7]+"\n";
        data+="Silver: "+countType[9]+"\n";
        data+="Gold: "+countType[8]+"\n";
        data+="Greenium: "+countType[Config.tileDefs.ID["Placeable"]]+"\n"; //Как и раньше, изменить Placeable.
        data+="Greenium added for world size: "+(int)(Main.maxTilesY/5)+"\n";
        File.WriteAllText(Main.SavePath+@"\"+"Ores.txt", data);
}
public void AddOres() {
    int add = 0;
    //float num3 = (float)(Main.maxTilesX / 4200);
    int i2 = WorldGen.genRand.Next(100, Main.maxTilesX - 100);
    double num6 = Main.worldSurface;
    int j2 = WorldGen.genRand.Next((int)num6, Main.maxTilesY - 150);
    WorldGen.OreRunner(i2, j2, (double)WorldGen.genRand.Next(5, 9 + add), WorldGen.genRand.Next(5, 9 + add), Config.tileDefs.ID["Placeable"]); //change yet again.
}
  • Весь этот список говорит вашей руде спауниться в любом месте (почти). И создайте текстовый файл в MyGames / Terraria
  • Кодировал Surfpup

Другие методыПравить

Здесь все очень просто (в моих глазах).

  • В вашей папке "Tile", создайте файл "Tile.cs"
  • Откройте этот файл и скопируйте следующий код:
  • Вставьте его в раздел ModifyWorld()
    {
        //Напишите, что должен сказать вам мир во время спауна руды.
        Main.statusText = "Spawning My Tile...";

        //Как далеко вперед и далеко вниз должна идти зона спауна руды.
        int areaWidth = (int)Main.maxTilesX;
        int areaHeight = 20;

        //Какие координаты должны быть у месторождений.
        int areaY = (int)Main.worldSurface;

        //Сколько месторождений создать. (редкость)
        int numDeposits = Main.rand.Next(200, 500);

        //Создание указанного количества месторождений.
        for (int i = 0; i < numDeposits; i++)
        {
            //Выберите случайные х и у, положение в области определено.
            int depositX = Main.rand.Next(20, areaWidth - 20);
            int depositY = Main.rand.Next(areaY, areaY + areaHeight);

            //Выберите случайную ширину месторождения.
            int depositWidth = Main.rand.Next(5, 15);

            //Цикл по каждому х (горизонт) значению. в пределах месторождения.
            for (int x = depositX; x < depositX + depositWidth; x++)
            {
                //Выберите случайное количество руды, выше и ниже позиции х.
                int above = Main.rand.Next(2, 10);
                int below = Main.rand.Next(5, 10);

                //Цикл по каждому значению у и установить тайл там.
                for (int y = depositY - above; y < depositY + below; y++)
                {
                    //Поместите руду в вычисленное положение.
                    WorldGen.PlaceTile(x, y, Config.tileDefs.ID["My Tile"]);
                }
            }
        }
    }


  • Итак, мы имеем здесь дело с кодом, который позволит примерно круговой хранение любой руды, которую вы положили в часть "My Tile".
  • Что происходит: список представляет собой набор переменных, которые определяют, что площадь месторождения может быть разного размера и их кол-во. Затем каждое из них создается со случайной ширины и высоты, ниже и выше.
  • Надеемся, что должно быть ясно, что вообще происходит.

Кодировал я (ben657)

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики