ФЭНДОМ


KdcROYP


Для того чтобы создать дробовик, убедитесь что у вас уже есть готовые json и png файлы оружия.

​А теперь давайте приступим к созданию оружия, которое будет стрелять несколькими снарядами сразу.

Для начала необходимо создать cs файл для это вставьте в ваш редактор следующий код, а затем сохраните как Файл.cs:

using System;
using System.Diagnostics;
using Microsoft.Xna.Framework;
using TAPI;
using Terraria;
namespace TheZMod.Items
{
public class HellstoneShotgun : ModItem
{
public override bool PreShoot(Player player,Vector2 ShootPos,Vector2                                                                          ShootVelocity,int projType,int Damage,float knockback)
       {
           int ShotAmt = 3; // Amount of shots fired
           int spread = 30; // Shot spread
           float spreadMult = 0.05f; // Spread multiplier
           for(int i = 0; i < ShotAmt; i++)
           {
               float vX = ShootVelocity.X+(float)Main.rand.Next(-spread,spread+1) *  spreadMult;
               float vY = ShootVelocity.Y+(float)Main.rand.Next(-spread,spread+1) * spreadMult;
    
                 Projectile.NewProjectile(ShootPos.X,ShootPos.Y,vX,vY,projType,Damage,knockback,Main.myPlayer);
           }
           return false;
       }
}
}

Теперь давайте разберём этот код.

using System;
using System.Diagnostics;
using Microsoft.Xna.Framework;
using TAPI;
using Terraria;
namespace Название модификации.Items
{
   public class Название вашего оружия : ModItem
   {
public override bool PreShoot(Player player,Vector2 ShootPos,Vector2  ShootVelocity,int projType,int Damage,float knockback)
       {
           int ShotAmt = 3; // Количество пуль за один выстрел
           int spread = 30; // Расброс пуль
           float spreadMult = 0.05f; // Spread multiplier
           for(int i = 0; i < ShotAmt; i++)
           {
               float vX = ShootVelocity.X+(float)Main.rand.Next(-spread,spread+1) * spreadMult;
               float vY = ShootVelocity.Y+(float)Main.rand.Next(-spread,spread+1) * spreadMult;
    
                 Projectile.NewProjectile(ShootPos.X,ShootPos.Y,vX,vY,projType,Damage,knockback,Main.myPlayer);
           }
           return false;
       }
}
}

Готово! Теперь осталось только компилировать ваш мод, и наслаждаться новым дробовиком в игре!