知道新新魔塔存档机制过后,我们就可以尝试进行修改了。首先摆在面前的一个大难题:怎么修改sol文件?notepad++打开是乱码,读写可能会把文件损坏,那么我们尝试百度一下“sol文件修改器”,非常轻松的能找到一个flash的sol文件编辑器,打开查看sol文件:
可以看到变量名,和值。通过观察变量名,能看到一些变量,比如save1redkey,这很明显就是红钥匙数量嘛,修改一下,然后再读取存档,可以发现红钥匙的数量产生了变化,这些都是小修改,我们主要是要修改楼层信息,来达到作弊的效果,那么直接快进,制作一个可视化的编辑器吧!
我们循序渐进,先做一个能输出修改后的楼层信息字符串的程序,然后通过sol文件修改器来修改。
一、确定需求
需求:输入包含楼层信息的字符串,之后进行修改,输出修改后的字符串,并且格式正确,能直接粘贴到编辑器中。
构思:明显来说,这种修改用GUI比较方便,命令行修改太麻烦,那么制作一个UI界面,当我们输入楼层信息后,能在窗口中直接把地图绘制出来,然后直接鼠标点击各个图块进行修改。修改完之后,点击导出楼层信息,把修改之后的楼层信息导出。
二、前期准备
因为我打算从0开始说一期GUI的制作,所以我把开发环境介绍一下:
语言:Python3.10
编辑器:VS Code
GUI包:PySide6
这里默认大家有Python经验,但是对GUI不熟悉。(PS:真正的面向小白实在是太累了。。。)我只会把GUI部分说的细一点。
首先让我们安装PySide6:pip install PySide6
安装完成之后直接用everything
搜索designer.exe
,这个是pyside6自带的设计器,用这个我们很方便能设计出GUI。
直接新建一个Main Window
,然后在右边可以看到窗体属性:
geometry
:代表窗口创建时的默认大小
miniumSize
:代表窗口最小能缩的尺寸
maximumSize
:代表窗口最大缩放尺寸
windowTitle
:窗口显示名称
PS:如果最大最小尺寸为相同数值则这个窗口无法调整大小!
之后在左边我们能看到各种小部件:
其中
Push Button
就是常见的按钮控件,直接鼠标点击然后拖动到窗口中,就能把控件布置到窗口里了,之后还能微调坐标和属性。
按钮也拥有之前说的3个属性,用来调整控件的大小。不同的是按钮可以调整XY坐标。
之后双击按钮可以编辑按钮上的文字,并且按钮的属性栏里有一项:objectName
这个属性代表这个控件的内部名字,改一下名字,方便我们之后调用。
那么我们创建2个按钮,一个输入,一个输出。名字分别为import_button,export_button
。接着我们保存到一个文件夹中。
然后点击菜单栏中“窗体”,然后选择“View Python Code...”。一般来说会直接报错,百度一下关键字,复制几个文件就可以了,这里就不贴怎么解决了。
之后我们能直接看到python的代码:
点左上角的保存按钮,保存起来。
那么如何使用呢,下节继续。