您的位置: 首页 > 游戏攻略 >

魔兽单机游戏:关于PlayerBot和NPCBot的一些区别

192次浏览     发布时间:2024-05-15 15:48:29    

关于PlayerBot和NPCBot的一些区别

在魔兽单机游戏中,PlayerBot是召唤出自己账号名下的其他角色,可以一起接交任务,打怪抢装备升级,可以指定谁是T谁是治疗,能自动和你一起打怪接任务,很好玩。

而NPCBot是召唤系统预定的一些NPC,这些NPC的等级会自动和你自己的角色的等级一样,这属于临时雇佣性质,可以给他穿上装备,选择天赋设定职责。

在副本中,很多BOSS不都是有点名嘛,例如ICC老1的骨刺,NPCBot是不会被点名的,而PlayerBot却是会被点名的,因为Playerbot是实打实的玩家角色。所以NPCBot和PlayerBot各有特点,看个人喜欢用哪个,从智能角度来讲,NPCBot更智能一些。我升级的时候喜欢用PlayerBot,是自己人,NPCBot只能叫雇佣兵。


最开始用TrinityCore源码编译服务器的时候,当时我用的中文客户端地图解压出的dbc,map,mmap,vmap等游戏数据,发现PlayerBot远程发呆不能使用技能,近战也只是平砍。开始时有些懵逼,后来网上一搜说用英文版的客户端导出游戏数据就好了。一实践确实解决这个问题。但是也发现带来了其他一些不好的体验,毕竟中文的客户端上显示一堆的英文的东西也不是很爽,比如对Playerbot使用spells指令查看他的所有可用法术,显示的全都是英文,看起来太费劲了。后来换成AzerothCore源码后依旧有同样的问题。


关于该问题的解决方案

咱原则是先解决能用,后解决好用的问题。服务器搭好也能玩了,就开始琢磨解决这个问题。看了PlayerBot源码,各种Trigger使用的都是技能的英文名称去施法,而不是法术ID,用中文客户端导出的dbc数据中法术名称都是中文的。知道问题就好改了,不就是把法术的英文名称在SpellInfo结构中正确加载进去的问题么。

1、首先用中文游戏客户端导出数据,服务器端使用该份数据,命名为data

2、再用英文版客户端导出数据,命名为data_en

3、网上找一个叫WDBXEditor的工具

4、用WDBXEditor打开data下的dbc目录下的Spell.dbc,将数据导出成csv格式,把该csv文件导入到表spell_dbc_zh。(数据库acore_world中有个spell_dbc表是额外扩充的一些法术,你可以看到里面只有4000多条记录,而spell_dbc_zh表中有49839条记录。)DBCStores.cpp会把data/dbc/Spell.dbc数据加载进去后,再把spell_dbc中的数据合并进去)

5、用WDBXEditor打开data_en下的Spell.dbc,将数据导出成csv格式,把该csv导入到表spell_dbc_en

6、创建spell_locale表:见图1


7、把spell_dbc_zh表的Name, NameSubtext插进去,locale设为zhCN。NameSubtext字段是Rank等级说明,例如法师的法术:寒冰箭(等级2),Name中存储的是“寒冰箭”,NameSubtext存储的是“等级2”。

insert into spell_locale(ID, locale, Name, NameSubtext) select ID, 'zhCN', Name_Lang_deDE, NameSubtext_Lang_deDE from spell_dbc_zh;

这里为啥是Name_Lang_deDE 而不是Name_Lang_zhCN字段呢。这就跟结构体的加载机制有关,其实在DBCStores中加载xxx_dbc表数据时,表字段的名称是没有意义的,而是根据结构体的结构和表的相应字段顺序依次加载。zhCN在LocalConstant中的值是4,也就是Name_开头字段的第五个,正好就是Name_Lang_deDE。开始我看的时候也是一脸的懵逼。

8、把spell_dbc_en表的Name, NameSubtext插进去,locale设置为enUS

insert into spell_locale(ID, locale, Name, NameSubtext) select ID, 'enUS', Name_enUS, NameSubtext_Lang_enUS from spell_dbc_en;

9、数据准备好了,服务器端还需加载进去,这时候就得撸代码啦。修改SpellMgr.cpp,在LoadSpellInfoStore()方法中把spell_locale的数据加载进去并修改SpellInfo的SpellName字段:见图2


编译启动服务,PlayerBot不发呆了,各种技能嗖嗖的发啊

#兽世界怀旧服# #Playerbot# #AzerothCore#

相关文章

《如龙8:无限财富》IGN 9分:惊艳神作,系列最佳游戏!

《如龙8:无限财富》于1月26日正式发售,IGN编辑特里斯坦·奥格尔维(TRISTAN OGILVIE)给出9分好评,本作在继承系列传统的同时,对战斗系统进行了重大改进优化,场景设定到夏威夷给游戏新鲜感,难度设计更加平滑,整体游戏内容充实,各种细微设计升级使得玩家可以全面投入其中,《如龙8》内容庞大
2025-04-11 08:56:37

如何解决玩黑神话悟空的高延迟问题,好办法推荐给你

如何解决玩黑神话悟空的高延迟问题,好办法推荐给你 《黑神话:悟空》是一款备受期待的动作角色扮演游戏,自8月20日正式发售以来,迅速吸引了大量玩家。游戏以其精美的画面、流畅的战斗体验以及深刻的故事背景赢得了广大玩家的喜爱。然而,很多玩家在游戏过程中也遇到了一个共同的问题——高延迟。这一问题不仅影响了游
2025-04-11 07:22:50

《修仙家族模拟器》修仙经营类游戏

大家好,今天给大家介绍这款修仙类游戏:玩家在游戏中扮演一位家族老祖,开创家族,占领小岛,引导门派走向繁荣。游戏有多个阶段,玩家可以体验到养成的乐趣,包括炼制丹药、提高仙力、学习阵法等。游戏具有丰富的剧情和较为自由的玩法,能让玩家充分发挥策略和经营能力,感受家族逐步壮大的过程。家族的发展进度充满了开放
2025-04-11 05:58:43

肉鸽游戏,永远滴神!个人向小众roguelite游戏体验

前言自打诞生伊始,rogue(下文简称肉鸽)这一游戏类型就吸引了全世界的目光。相对较高的难度、传统的RPG玩法、广泛的随机内容,是该分支下的作品得以经久不衰的主要原因。时代的车轮不停转动,个人电脑的数量和普及率也与日剧增。传统的肉鸽游戏,在诸如表现、口碑等方面都显得有些力不从心。正因如此,肉鸽的另一
2025-04-11 00:51:47

《召唤师对决》评测:诸神史诗的战斗

在这个手游井喷的时代,各种各样的手游层出不穷,其中以卡牌类的手游最为火热,卡牌的对弈不仅适合手机操作同时也具备着智力对抗,娱乐性竞技性都很强,《召唤师对决》就是这样一款史诗级的卡牌巨作,上手简单精通难,以古希腊神话为背景,凭借专业团队绘制的精美卡牌画面,宏大不失轻松的丰富剧情,新颖易懂的游戏玩法,巧
2025-04-11 00:00:22

元梦之星:萌新入园指南!快速上手,闯关不愁!

闯关玩法介绍《元梦之星》的核心玩法就是超级有趣的闯关挑战!小编觉得这简直太棒了~我们需要应对多个关卡,全力保护自己,争夺冠军的宝座!在闯关模式中,有三类不同的关卡等着我们,分别是竞速模式、个人积分模式和生存模式。每个模式都有独特的挑战和乐趣,让我们在游戏中充满刺激感!【关卡分类】在闯关模式中,有三类
2025-04-10 12:27:36

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 阔百科 琼ICP备2023010365号-4