我一直在努力使TrinityCore正常运行,并与Ubuntu的恐怖作斗争,以使事情正常进行。最终减少了工作流程,完成了两个相关项目,我将开始修改代码。但是我找到了AzerothCore,对此我很感兴趣。关于它与TrinityCore之间的区别,有一些疑问。
首先,AC被宣传为具有出色的模块化设计。 TC的脚本系统具有单个模块化实例,这也非常好;编辑C ++源脚本,将其保存,服务器将在运行时重新加载它,而不必重新编译整个服务器。 AC中是否也存在该功能?模块系统有多健壮?
我问的原因是我想添加更多的动态功能,而不是关注每个角色可以重复的实例,阶段和任务。第一步是更改AI脚本系统。因此,与其将一个整体脚本附加到NPC上,不如将一个脚本数组按层次结构排列并定期处理条件,这将是进入实际代码库的第一步。可以在替换模块中包含该功能吗?
我还有一个问题是关于错误的普遍性。 TC的发展似乎确实有些缓慢,而且社区并没有那么活跃。 AC在底层系统的鲁棒性方面的发展如何?例如,使用TC时,经常会有漂浮的NPC在Goldshire周围徘徊,这是一个相当令人着迷的错误。 AC是否有类似的明显错误?
答案 0 :(得分:4)
Is that functionality also present in AC?
没有AC没有这个。通常是因为AC在旧的ACE平台上运行。
模块只是植入自定义脚本的另一种方式,目前仅此而已。 在模块中进行更改或添加新的内容时,始终需要重建源代码。
我还有一个问题是关于错误的普遍性。 TC的发展似乎确实有些缓慢,而且社区并没有那么活跃。 AC在底层系统的鲁棒性方面的发展如何?例如,使用TC时,经常会有漂浮的NPC在Goldshire周围徘徊,这是一个相当令人着迷的错误。 AC是否有类似的明显错误?
所有可以看到播放器不是AC编码器的东西都很好,bug极少,并且根据vanila或TBC几乎所有错误,wotlk部分完成了99%
答案 1 :(得分:4)
TC的脚本系统具有单个模块化实例,这也非常好;编辑C ++源脚本,将其保存,服务器将在运行时重新加载它,而不必重新编译整个服务器。 AC中还存在该功能吗?
AC中没有重新加载,因此当前您必须重新编译,然后手动重新启动服务器。
模块系统的坚固程度如何?
AC中的模块系统基于TC / MaNGOS的相同挂钩系统(称为“脚本”)。
我还有一个问题是关于错误的普遍性。 TC的发展似乎确实有些缓慢,而且社区并没有那么活跃。 AC在底层系统的鲁棒性方面的发展如何?
AC也是基于TC的,因此可能存在一些常见的错误。
但是,在AC中,所有更改都首先通过PR发送,而不是经过代码审查和手动测试。 Travis构建也应该通过,并且可以确保内核进行编译(与TC相同),还可以确保所做的更改不会引入数据库启动错误。
另一方面,在TC中,没有手动测试,并且TC开发人员经常将新的更改直接推送到master分支中(而来自新贡献者的PR仍要首先进行代码审查)。