关灯
开启左侧

让魔兽私服单机不孤单,教你做自己的NPC战斗队伍!

  [复制链接]
admin实名认证 发表于 2016-4-25 22:38:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
下面是一个比较老的教程了。适用于M端的335版本


先解释一下creature_template表的结构
entry NPC代码
modelid_A NPC模型
modelid_A2 同上
modelid_H NCP模型
modelid_H2 同上
name 名称
subname 副名字
IconName 专业名字
minlevel 最小等级
maxlevel 最大等级
minhealth 最小生命值
maxhealth 最大生命值
minmana 最小魔法值
maxmana 最大魔法值
armor 护甲
faction_A 联盟阵营
faction_H 部落阵营
npcflag NPC标识
1 闲话
2 任务
16 训练师
128商人
speed 移动速度
scale 缩放比例
rank 生物等级
Rank Name Comments
0 普通
1 精英
2 稀有精英
3 世界BOSS
4 稀有.
mindmg 最小伤害
maxdmg 最大伤害
dmgschool 伤害类型
0 普通伤害
1 神圣伤害
2 火焰伤害
3 自然伤害
4 冰霜伤害
5 暗影伤害
6 奥术伤害
baseattacktime 普通攻击速度
rangeattacktime 范围攻击速度
trainer_type 训练类型,训练师特有
0 技能训练师
1 骑术训练师
2 专业训练师
3 宠物技能训练师
minrangedmg 最小范围伤害
maxrangedmg 最大范围伤害
rangedattackpower 范围攻击强度公式
type 生物类型
0 无
1 野兽
2 龙人
3 恶魔
4 元素
5 巨人
6 亡灵
7 猿人
8 马
9 机械
lootid 掉落ID
spell1~4 生物技能
PetSpellDataId 宠物技能
mingold 最小掉落金币,铜币单位
maxgold 最大掉落金币,铜币单位
MovementType 移动类型
0 呆在一个地方
1 在某一个范围内随机移动
2 固定路线移动
InhabitType 怪物攻击场所界定
1 陆地
2 水中
3 陆地和水中
RacialLeader 是否为种族首领
RegenHealth 重生*,默认为1,只有几个生物是0
equipment_id 生物装备ID


然后导入下面的SQL到你的数据库中
REPLACE INTO creature_template
(`entry`, `heroic_entry`, `KillCredit1`, `KillCredit2`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `unk16`, `unk17`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `movementId`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`)
VALUES
(840001, 0, 0, 0, 2106, 2121, 4519, 2115, '火星人', '火星人', '', 75, 75, 10000, 10000, 10000, 10000, 8219, 105, 105, 268435457, 1.3, 1, 0, 342, 485, 0, 392, 1, 2000, 0, 1, 4096, 0, 0, 0, 0, 0, 0, 295, 438, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 1.5, 1, 0, 0, 0, 0, 0, 0, 1, 840001, 0, 0, '');

NPC是出来了 但是没有技能 下面我教你怎么写AI
一样先弄个文档 然后打上INSERT INTO creature_ai_scripts
其实那 原理和 制作NPC的原理是一个意思!

(`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`)
VALUES
(84000101, 840001, 9, 0, 100, 7, 0, 41, 3500, 4500, 11, 61593, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\'\'');

这是creature_ai_scripts 里的 如果你够仔细的话 就会发现 技能AI和NPC的制作很相似

下面还是抄袭的我真的不想自己写

ID为3570的AI,最前面的 357001-5是编号 取多少都可以 1和9对应的好像是交战状态 9,1非战斗, 9战斗时攻击法术,印象里还有14,14是战斗时治疗法术用的。后边的6和0,0是攻击法术,6是治疗法术,后边的100不用理解,7是指的 普通和英雄本(70级的)如果想英雄25人10人都会施放,你输入 127就可以了 一定要127否则 英雄10人25人 宝宝什么都不会用。
在后边的0,41是施法的距离限制,在后边的(拿最后一个为例)3500,4500是释放的时间和间隔,具体测试就明白了 大概是第一次释放在3.5秒之后,下一次在3.5秒-4.5秒之间(如果空闲的话),在后边的11应该是类型吧。。这个没仔细琢磨,在后边的61593是技能(这个就是技能ID),在他之后是1对敌人施放(攻击技能),或者0对自己释放(比如无敌,盾墙 耐力等等) ,再后边的一大串0不用考虑了 宝宝技能已经足够了,上边都是法系的下面贴一个物理的

INSERT INTO creature_ai_scripts
(`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`)
VALUES
(84000101, 840001, 0, 0, 100, 127, 6000, 6000, 5000, 6000, 11, 31904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\'\'');

这个是个攻击技能大部分相同注意法系的1和9 这里变成1和0 0是交战 1是不交战 6000, 6000, 5000, 6000,是第一次过多多长时间释放和之后施放间隔,31904,技能ID 后边的0是对敌人 1是对自己 这些都一样了 这是近战的技能补充一下
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地