Фэндом


Создание моба.

Нам нужно создать папку NPC в папке *Название мода*. Создаём там файл *Имя моба*.ini

Туда пишем такой код:


[Stats]
npcSlots=1
width=18
height=40 
type=22
aiStyle=7
timeLeft=750
damage=10 
defense=15
soundHit=1
soundKilled=1
lifeMax=250
scale=1
townNPC=True 
friendly=True
[Buff Immunities]
Confused=True

Для того чтобы наш моб стал врагом, нам нужно изменить этот код, на такой код:

[Stats]
npcSlots=1
frameCount=16
animationType=28
width=18
height=40
type=-1
aiStyle=3
timeLeft=750
damage=10
defense=15
soundHit=1
soundKilled=1
lifeMax=250
scale=1
value=1000
[Drops]


Далее нам нужно создать текстуру.

Создаём файл "Имя моба*.png В анимации нам нужно 16 кадров размерами каждый 18 на 40. В каждом кадре мы что-то должны поменять. Допустим положение ног.

Всё! Наш моб готов. Но нам нужно разобраться где он будет появляться!

Для того чтобы моб спавнился при кровавой луне создоём файл "ИмяМоба.cs"

И пишем туда

public bool SpawnNPC(int x, int y, int playerID)
{
if (Main.bloodMoon)
{
  if (y < Main.rockLayer + 75 && y > (int)(Main.topWorld + 100f) && !Main.dayTime && !Main.player[playerID].zoneMeteor && Main.rand.Next(10) == 0)
  {
   return true;
  }
  else return false;
}
else return false;
}

Для того чтобы моб спавнился в Хард Моде, создаём "НазванияМоба.cs"

И пишем туда

#region Spawn
public static bool SpawnNPC(int x, int y, int playerID)
{
    if (!Main.hardMode)
    {
        if (Main.player[playerID].position.X < ((Main.worldSurface * 30.0)) && Main.bloodMoon && Main.rand.Next(500)==1) return true;
        else if (Main.player[playerID].position.X > ((Main.worldSurface * 185.0)) && Main.bloodMoon && Main.rand.Next(500)==1) return true;
        else if (Main.player[playerID].townNPCs <= 0f && Main.player[playerID].zoneDungeon && Main.rand.Next(800)==1) return true;
        return false;
    }
    else if (Main.hardMode)
    {
        if (Main.player[playerID].position.X < ((Main.worldSurface * 30.0)) && Main.bloodMoon && Main.rand.Next(5)==1) return true;
        else if (Main.player[playerID].position.X > ((Main.worldSurface * 185.0)) && Main.bloodMoon && Main.rand.Next(5)==1) return true;
        else if (Main.player[playerID].townNPCs <= 0f && Main.player[playerID].zoneDungeon && Main.rand.Next(30)==1) return true;
        return false;
    }
    return false;
}
#endregion

Для того чтобы моб спавнился в данже, создаём "НазванияМоба.cs"

И пишем туда

public static bool SpawnNPC(int x, int y, int playerID) {
    if (Main.player[playerID].zoneDungeon)
    {
       if( Main.rand.Next(15)==1) return true;
    return false;
    }
return false;
}

© Lagoo

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


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

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

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

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