关键词:DatabaseServer.tables
注:这是逃离塔科夫离线单机版修改教程,并不是线上正版塔科夫修改教程,请勿对正版塔科夫做任何修改,不然封号。
在社区中,关于如何修改压、退弹时间已有教程。我们打开服务端数据目录/globals.json,搜索BaseLoadTime,该属性的值代表压弹时间,在它的下一行还有BaseUnloadTime,该属性的值代表退弹时间。我们向上滚动,发现这两个属性在config对象中。服务端在运行时,首先会把服务端数据目录中的所有数据读入内存,并储存在DatabaseServer.tables对象中,客户端启动后数据才会以正确形式被传入客户端。服务端MOD的目的是改变传入客户端的数据,以改变数据在游戏内的呈现效果。由于传输过程复杂且不可随意改变,我们不可能在传输过程中截取、修改好数据再传入,因此最好的方法是直接修改内存中的数据。
前文提到服务端启动后,数据都位于DatabaseServer.tables对象中,这个对象中的数据结构和服务端数据目录的结构是一致的,具体是如何实现的将会在教程的后期加以介绍。例如,服务端数据目录/globals.json即对应DatabaseServer.tables.globals,服务端数据目录/templates/items.json即对应DatabaseServer.tables.templates.items。我们要修改的是DatabaseServer.tables.globals.config对象中BaseLoadTime和BaseUnloadTime两个属性的值。
知道了需要修改的目标之后,接下来便是代码部分。我们打开framework.js,在// Code to be added下添加代码
DatabaseServer.tables.globals.config.BaseLoadTime = 0.17;
DatabaseServer.tables.globals.config.BaseUnloadTime = 0.06;
保存文件并运行服务端,无报错后运行启动器开始游戏。游戏内我们测试弹匣的压、退弹时间都加快了不少。如此一来,修改压、退弹时间的MOD便制作完成。
另注:本章结束后,无需注释或者删除上述代码,第三章将继续沿用本章代码。
原文链接:https://sns.oddba.cn/16676.html
暂无评论内容