设置NPC特别是主城功能NPC的时候,容易视觉疲劳
除了改变npc的外观模型之外,
还可以让他拿武器、骑马、沐浴在圣光中、或者时不时的说两句笑话啥的。。。
现在就来讲一下怎么实现。
一、让NPC骑着坐骑站街
方法:修改creature_addon
比如这2个都是银色北伐军战士,凭啥一个是步兵一个是骑兵,必须给另外一个安排一匹马。
方法:
1.对着npc输入命令.npc info,找到npc的guid,如图,这个npc的guid是 246900
2.打开数据库W库,双击打开creature_addon表,搜索guid=246900,找到这个npc。如果没有,就直接手动添加。
在mount列填入你要让他骑乘的坐骑模型id,比如,让他骑无敌,查询creature_template,无敌的模型id是31007,
3.重启上线验收。
收工。
二、让NPC带点光环
方法:修改creature_addon
同样是这个表,在auras这里填入你要加的光环spellid,比如加个月光照射,使用34126这个spell,那么就填到auras这里
看效果:笼罩在月光中
其中auras这里可以填多个spell/aura,不同的id之间用空格间隔即可
三、给NPC佩戴武器
方法:修改creature_equip_template
找到npc的entry (选中npc输入gm命令.npc info),
entry:生物编号,对应creature表或者 creature_template表
我们以entry=50051为例
打开W库creature_equip_template,找到50051这一行,
在itemEntry1 这一列输入 你要让他拿的武器的id,也就是item_template里的entry,
如双手剑 :残酷角斗士的巨剑,entry为 31984
重启后效果如图
1是右手拿武器,如果让他两只手都拿装备,那就在itemEntry2(左手) 这一列再填入装备代码,比如另外一把剑或盾牌等
比如这个拿双刀的 和 拿单手剑和盾的
如果还不够霸气再让他拿个远程,那就再填入itemEntry3,比如
PS:当npc没有坐骑、站立的时候,武器是拿在手里的。当npc骑在马上时,武器是持在腰间或背在后背上的。
4.让NPC动不动BB两句话
方法:修改creature_text表和smart_scripts表
本帖隐藏的内容
选中npc 输入.npc info,确定npc的entry,然后打开W库creature_text表进行填写
entry:编号,对应creature_template表的entry字段,我们以暴风城卫兵队长为例,entry=12480
groupid:对话内容组,存在多个生物或者单个生物有多个对话内容,这就是唯一的标识,从0开始增加;
id:从组里面随机选择的对话内容编号;
text:对话内容;
type:12-说话,14-大喊,16-动作,41-boss 动作,15-悄悄说,42-boss 悄悄说
language:可参考Language.dbc文件,设置为0时,所有人都能看懂;
probability:选择这句对话的概率;
emote:生物说话时的动作,可参考Emote.dbc文件;
duration:对话文字持续的时间,如果是0,则由服务端自动计算;
sound:对话的同时播放的生物语音,关联SoundEntries.dbc文件;
BroadcastTextId:在公告板上显示的对话文字编号;
TextRange: 0-普通,1-区域内,2-地区,3-地图,4-世界
comment:文字说明
我们以暴风城卫兵队长为例,entry=12480
1.给npc加入脚本属性,
UPDATE `world`.`creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 12480;
这样保证他“会”说话
2.准备好他要说的话的内容。
编辑creature_text这个表,如
entry:编号,对应creature_template表的entry字段
groupid:对话内容组,存在多个生物或者单个生物有多个对话内容,这就是唯一的标识,从0开始增加;
id:从组里面随机选择的对话内容编号;
text:对话内容;
type:12-说话,14-大喊,16-动作,41-boss 动作,15-悄悄说,42-boss 悄悄说
language:可参考Language.dbc文件,设置为0时,所有人都能看懂;
probability:选择这句对话的概率;
emote:生物说话时的动作,可参考Emote.dbc文件;
duration:对话文字持续的时间,如果是0,则由服务端自动计算;
sound:对话的同时播放的生物语音,关联SoundEntries.dbc文件;
BroadcastTextId:在公告板上显示的对话文字编号;
TextRange: 0-普通,1-区域内,2-地区,3-地图,4-世界
comment:文字说明
3.填写说话的脚本。
编辑smart_scripts
这个表比较复杂,填主要部分就行,具体如下
这个表字段比较多,我分两段截图来看
三个表都填好之后,
.reload creature_template 12480
.reload creature_text
.reload smart_scripts
或者直接重启
效果如图: