本文来源WOW怀旧论坛,作者:flyp;原文地址:【点我查看】转载请注明出处!

PS:

1、Darkrasp在C服开发团队大概是排第3或第4开发人的位置,主要是负责模拟器内核创建和修复工作,C服经典旧世的内核开发早已完成,他个人工作基本完成然后是帮助Crogge、Ausra等人做一些零星非他分内的工作,所以他的更新日志看起来并没有什么显著的进展内容,目前C服开发主要的工作应该是脚本编写和测试。 2、个人觉得 Darkrasp写出的东西实在是很不好翻译,通过对比K服(Kronos)发布的文章,感觉整个E服和C服大部分的俄语为母语的开发人员发出的英文材料都不如K服的好理解,不知道其他英语爱好者是否有这种感觉,也许是我自己水平有限或错觉:)



下午好:
我的北方同伴们,春季首日快乐!如果你们在北美,也祝你自由冰雪皇后冰激凌节快乐!今天让我们来回顾一下前几个星期的快速进展。

我们团队一直在拼命工作并取得持续进展,尽管大多数成员因太过忙于IRL发生了一些耽搁。Asura承担的工作任务很重,每天都要额外工作几个小时。几天前我家有个亲人去世了,我不得不花一些时间来处理相关的事情。尽管如此,我们还是挤出很多闲暇时间用以C服的开发确保工作向前推进。

再次提起大家注意的我们是同时在开发经典旧世和TBC,这个策略是以多种方式落实的因为我们正在确定TBC升级后脚本引擎、拾取引擎等等存在的某些局限性,同时又要把这些升级移植到经典旧世,这需要我们采取一些更有效更务实的措施。曾有一次数据库升级后服务器稳定后,Asura在我们将LUA API 提交到脚本编译器前做了一些测试脚本,通过那些脚本他确认了一种现有条件下直接地高效地改进SQL脚本引擎的方式。

我想我要做一个更深入的解释,我们的核支持采用三种不同的语言编译脚本,每种语言都有优点和不足。
核用C++语言来编写的,我们也可以用C++来编写脚本。这些C++脚本的优点是能够从整个核调用大量不同的功能,它们是难以置信的灵活和强大,我们能够使用它们来完成任何想做的事,但是不管是谁使用C++编译脚本都需要有进入核的权限用以测试他们的代码,然而我们并不希望开放核权限,也正是基于这个原因我们只有极少量采用C++编译的脚本。

Lua脚本是次一级的脚本。每一个Lua命令都关联着一个核内的C++功能,所以你可以调用某个功能而不用进入核内部代码。可能我说得太简单了,我希望任何有经验的开发者读到这段的时候可以原谅我,但是这些更新面对的是普通大众。脚本编译器通过FTP上传测试脚本,然后服务器简单重启就生效了而不需要重新编译。现在Lua脚本编写已经发展到几乎和C++脚本编写一样灵活并且我们总是可以在必要的位置添加功能函数。

SQL是一种数据库语言。采用这种语言,你只需用数据填充表格并且核知道如何处理那些数据。这种语言比Lua语言的好处是非常高效,但是不那么灵活。我们最初使用SQL脚本仅仅用于生物体法术,那些脚本功能是通过使用称作AI代理的老旧Ascent系统升级版本实现的。采用SQL编译脚本,你可以同时包含生物体ID,法术ID和一些像最大范围、冷却时间等等之类的参数,核处理脚本的时候怪物就开始施放法术了。我们再将SQL脚本功能扩大到包含一些事件,首先,它可以是一个被诸如达到一半生命值、进入战斗或击杀一个玩家等触发的法术或表情。

然后SQL语言再扩充,以至于事件可以触发不仅仅是一个施法或一个表情而是运动、状态改变、声音和模型改变,阵营改变等等。现在有一个清单,清单上26种行为可以被任何24种不同的事件中的一种触发。最新Asura正在进行事件环境应用以便那些事件能适时触发。

举个例子,某个事件能触发的一个行为是AI_EVENT_COMBAT_DAMAGE,这个行为的定义是该单元会受到来任何周围战斗源的伤害,通过设定环境条件,我们现在可以使它生效,使它仅仅由某个特定法术或法术效果触发(如昏迷)。

最新的功能函数升级因从事地狱火半岛的一些准备工作引发的,在地狱火半岛有一种虚空行者怪根据其第一下受到的法术攻击而改变其状态,如果你先是使用火焰法术攻击,它会变成高火焰抗性状态并施放火焰法术。通常策略是用带其它元素攻击的魔杖攻击它,然后使用你的基本元素攻击。不管怎样,我们意识到我们没有办法动态处理这个过程,几天前我们把这事甩给了Ausra。我之前提到过我们必要的话可以灵活应用新的功能函数,这也是有先例的。

当脚本移植到经典旧世,我们需要做适当的包装才能共享这些产权,我相信这么处理是和很多其它东西一样,需要与时俱进。关于强度、光环等内容的确认条件,我们需要像处理如黑曜石废弃者遭遇战那样处理更复杂的内容的脚本而不至于受不稳定的工作环境影响太大。当这些脚本都完成并且经过了测试,我们将在发布脚本编译应用程序界面给公众前请我们的脚本编译自愿者进行应用测试并在将应用结果反馈给我们,同时我们也希望每位自愿者能竭尽所能的提供帮助。

我们也在新的声望/阵营系统上作一些最后的完善工作,新的声望/阵营系统比以前的系统更整洁和有效。这也再次证明了我们的工作最好与脚本编译系统结合,这样能处理更复杂的任务和事件。前几周也有一些其它进展,但大部分都是琐事不值得在此赘述了,值得说的是最近做的大部分工作都是集中于为脚本编写做准备,最终也是离我们目标越来越近。

在等待这些更新最终完成并应用到beta测试服务器过程中,我们的一些测试人员在数学函数研究,公式演绎和沉闷物品拾取研究以及TBC的前期准备方面一直在给予帮助。我想要尤其感谢Nogar 因为他给我们TBC物品拾取准备工作帮了大忙。

嗯,技术细节方面的说明就到此。一些勘误信息更新一下:我们的beta测试服务目前因更新而停机的,一旦恢复运行,我们将引进另一波beta测试人员,那些测试人员已经经过挑选并都得到了通知,我们热烈欢迎Chickengrease, Cornholi, Cragus, Cruzix, Ghostly, Indi, Nogar, Soulson, Soyoen, sQweegle, Roadblock, Wolfrig and Yavannie的加入,如果以上名字有遗漏,请原谅。

我们也热烈欢迎Outstanding作为一个社区经理和媒介者加入我们,他作为社区成员在指出需要解决的事情这方面贡献是无价的,并且他也是预测社区对各种不同观点和建议产生何种反应的试金石,我们很高兴他能成为服务器的官员标杆。

好了,以上就是这次更新所有内容,我的下次更新就是在4月3日星期一,一如既往的请随意在下面留下你的意见并提出问题,回见并谢谢你对Crestfall保持关注。



原文地址:http://forums.crestfall-gaming.c ... ps-update-20032017/