فئة ModNPC
الفئة الأساسية لإنشاء شخصيات NPC والأعداء والزعماء المخصصين.
نظرة عامة
تتيح لك فئة ModNPC إنشاء شخصيات غير لاعبة مخصصة بما في ذلك NPCs الودية والأعداء والزعماء بسلوكيات ذكاء اصطناعي مخصصة. هذا يعتمد على مفاهيم من ModItem، لذا راجع ذلك أولاً إذا كنت جديداً في تطوير tModLoader.
مثال عدو أساسي
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace YourMod.NPCs
{
public class ExampleEnemy : ModNPC
{
public override void SetStaticDefaults()
{
Main.npcFrameCount[Type] = 6; // Number of animation frames
}
public override void SetDefaults()
{
NPC.width = 40;
NPC.height = 40;
NPC.damage = 20;
NPC.defense = 10;
NPC.lifeMax = 100;
NPC.HitSound = SoundID.NPCHit1;
NPC.DeathSound = SoundID.NPCDeath1;
NPC.value = 100f; // Money dropped
NPC.knockBackResist = 0.5f;
NPC.aiStyle = NPCAIStyleID.Fighter; // Zombie-like AI
}
public override float SpawnChance(NPCSpawnInfo spawnInfo)
{
return SpawnCondition.OverworldNightMonster.Chance * 0.1f;
}
}
}
إنشاء زعيم
يتطلب الزعماء إعداداً أكثر تعقيداً مع ذكاء اصطناعي مخصص:
public class ExampleBoss : ModNPC
{
public override void SetStaticDefaults()
{
Main.npcFrameCount[Type] = 4;
NPCID.Sets.BossBestiaryPriority.Add(Type);
}
public override void SetDefaults()
{
NPC.width = 100;
NPC.height = 100;
NPC.damage = 40;
NPC.defense = 15;
NPC.lifeMax = 5000;
NPC.boss = true; // Mark as boss
NPC.npcSlots = 10f;
NPC.value = Item.buyPrice(gold: 5);
NPC.knockBackResist = 0f; // Immune to knockback
NPC.noGravity = true; // Flies
NPC.noTileCollide = true;
Music = MusicID.Boss1;
}
public override void AI()
{
// Custom AI code here
}
}
دليل خصائص NPC
aiStyle
أنماط ذكاء اصطناعي مدمجة:
- • Fighter (نمط الزومبي)
- • Flying (نمط الخفاش)
- • Worm (مجزأ)
- • Custom (مخصص)
boss
تحديد NPC كزعيم:
- • يعرض شريط الصحة
- • يمنع الاختفاء
- • يشغل موسيقى الزعيم
- • تأثيرات موت خاصة
للحصول على توثيق ModNPC الكامل:
عرض التوثيق الكامل