我想在cube2 sauerbraten 中添加一个作弊功能,让手枪步枪和霰弹枪射击之间的延迟更短,并使我的负载达到最大。控制发现的文件在哪里?文件的名称是什么?我运行的是 Ubuntu 21.10。我在 /usr/share/games/sauerbraten 中查找了正确的文件,但没有找到正确的文件。我还查看了 /home/administrator/.sauerbraten,但也没有在那里找到它。它在哪里?? (我在arqade上问了这个问题,但没有人给我评论或回答。)
答案1
看起来枪支的属性是在游戏的源代码中定义的,并且在运行时无法修改。该文件是src/fpsgame/game.h。查找static const struct guninfo
从第 #348 行开始的内容。
同一文件还定义了数据结构,其中包括每把枪的弹药数量,并且最大弹药值也在同一文件中struct fpsstate
定义。static struct itemstat
由于 Sauerbraten 具有多人游戏功能,因此它分为客户端和服务器组件。尽管在单人游戏模式中客户端和服务器都在同一台计算机上,但它们仍然可能是游戏程序中的单独实体。
在src/fpsgame/entities.cpp有函数addammo()
和repammo()
,并且它们附近有这样的注释:
// these two functions are called when the server acknowledges that you really // picked up the item (in multiplayer someone may grab it before you).
所以看起来为了增加你的弹药数量,你需要以某种方式让服务器组件相信你刚刚拿起了一些弹药。
如果你认真对待这个,你将需要下载游戏的源代码包。转到“Ubuntu 软件中心”-> 编辑-> 软件源,并确保在“Ubuntu 软件”选项卡上选择“源代码”。您必须输入密码才能在此处进行任何更改。然后您可以关闭窗口,打开命令提示符窗口,为自己创建一个空工作目录,cd
进入其中,然后运行apt-get source cube2
.它应该会自动将游戏引擎的源代码下载到该工作目录中。将有一个子目录fpsgame
,其中将包含该game.h
文件。
您还需要运行sudo apt build-dep cube2
安装从源代码重新编译游戏引擎所需的工具和库。
然后,您应该首先尝试在不进行任何更改的情况下构建游戏引擎,只是为了验证您是否已准备好执行此操作的所有部件。最简单的方法可能是debuild -b -uc -us
在您的工作目录中运行。这将需要一段时间,并且通常会产生大量消息。如果成功,它应该会生成您自己的*.deb
游戏引擎包,您可以使用它来替换当前安装的版本。但这样做是没有意义的,因为你的包应该与安装的版本基本相同(除了缺少 Ubuntu 维护者的加密签名之外)。
一旦验证了所有这些工作,您就可以开始进行更改和重建。每次成功重建后,您必须安装修改后的.deb
软件包才能使更改在实际游戏中生效。
看起来游戏是用 C++ 编程语言编写的,因此可能需要对其或某种类似的编程语言有基本的了解,才能弄清楚游戏代码的结构并用它做任何有意义的事情。
根据您的问题,您可能并不真正知道自己在做什么。没关系,你能通过实践学习。但我必须警告您,如果您还没有任何编程技能,这可能是一个比您预期的要大得多的挑战。祝你好运。