魔兽世界自定义NPC教程
大家好,我是艾西今天跟大家聊一下自定义NPC,自定义NPC可以添加自己想要售卖的物品以及定价等可以更好的将一个游戏设定以及游戏的拓展性有质的提升
creature表是游戏所有生物人物等表格
Creature_template是所有生物模板,根据生物模板可以创建很多的生物。我们在某些平台或视频中看到很多UFO、跑车等都是在这个表里去添加生成,这个表在acore_world表中
这里有很多很多的模板,我们根据这个模板就可以创建很多其他的模板出来
我们需要比较关注的表项entry:模板编号
modelid1-4: 模型编号,可以有4个(当我们通过这个模板去创建创建一个NPC的时候他会随机生成4个编号)模型编号可以查看creature_ model_ info表的modelid字段;
Name名称:自定义创建生物的名字
subname:子名称,显示在名称下面,用<>表示;一般用于工会等
IconName: 鼠标形状
gossip_ menu. _id: 对话菜单,关联gossip_ menu表的entry字段;
minlevel:最低等级
maxlevel:最高等级
faction: 阵营
npcflag:生物的npc标志
1-可对话,2-交接任务, 16-技能训练师,32-职业训练师,64-专业训练师,128-商人, 256军火商,512-食品商,1024- 毒药商,2048 药剂商,4096- 修理,8192- 飞行师,16384- 灵魂医师, 32768- 灵魂使者, 65536- 旅馆老板
scale: 模型尺寸
unit,_class :生物职业, 1-战士, 2-圣骑士, 4无赖, 8-法师;
tvpe: 生物类型
现在我们开始自定义NPC
在游戏点点击选取一个NPC对话框输入 .npc info 就会显示此NPC在数据库中的信息
而我们需要注意看的是DB GUID
现在进服务器打开Navicat进入数据库打开acore_world找到Creature表项找到26572,在Creature表项显示此ID为8361
我们现在进入到Creature_template表项找到ID 8361选中整行 右键复制
点到数据库最末端将我们复制的内容添加进去点击+号新建把id8361改为较大的数值,不然容易起冲突报错。我们需要修改的就是Name名称、minlevel:最低等级、maxlevel:最高等级、faction: 阵营、npcflag:生物的npc标志(这里注意下:1-可对话,2-交接任务, 16-技能训练师,32-职业训练师,64-专业训练师,128-商人, 256军火商,512-食品商,1024- 毒药商,2048 药剂商,4096- 修理,8192- 飞行师,16384- 灵魂医师, 32768- 灵魂使者, 65536- 旅馆老板) 如果我们需要这个NPC可售卖药剂以及当飞行师那直接就是2048+8192将这两个数值的和输入到npcflag表格中然后点击确认这样的话我们创建好的数值就好了。如果对于npcflag和unit_ class数值不太确认的话也是可以在azerothcore-wotlk目录下的src文件夹用vs程序打开就可以直接看到数值说代表的意思
现在自定义NPC添加好后我们重新启动下AzerothCoreServer目录下的worldserver.exe程序我们再次进入游戏使用宏命令
进入到南海岛礁,将刚刚创建的NPC部署上去,我们找到一个合适的位置或者是你喜欢的位置站好,我们的位置就是NPC摆放的位置 在对话框输入.npc add+创建NPC时你所填入的数值
点击npc后发现没有东西可以售卖,那么回到数据库给他添加进去 打开acore_world打开Creature_ template_locale表项这是语言表项,我们需要把Npc名字改为中文的,在末端新建数值把我们刚刚自定义NPC的ID输入上去,语言选择ZHCH
保存好后我们找到NPC_verdor表项创建新的数值解决我们创建的NPC无法售卖物品的问题
Entry:输入创建NPC时填入的ID,item就是我们需要售卖物品的编号到某网zhan直接去找资料填入ID就行例我们添加52021(冰封箭矢)
重新启动下worldserver.exe程序顺便在客户端文件下找到cache缓存文件夹删掉然后运行进入游戏
如果需要添加更多物品售卖那么就在NPC_verdor表项中输入添加你说需要的物品ID
我是艾西,今天魔兽世界自定义NPC的教程就到这里啦