Supertux 修改存档的方法
最近很无聊,装了supertux来玩,无奈 bonus levels2第一关始终玩不过,就研究了下supertux的存档,那是相当简单,原来开源的游戏,修改起来那么简单。感谢 squeeze 来稿!
在用户目录下有个文件夹".supertux"打开后可以看到save,里面有三个文件:
- slot1.stsg //"start game"的存档,可以有5个存档,slot2.stsg,slot3.stsg...
- bonusisland1.stsg //"bonus levels"中"bonus island1"的存档,仅一个
- bonusisland2.stsg //"bonus levels"中"bonus island2"的存档,仅一个
基本格式
(supertux-savegame
(version 1)
(title "Icyisland - 28/32") #存档标题,改不改无所谓,正常的是28/32表示有32关,存档在28关
(lives 5) #企鹅的数量,玩不过?改300试试。
(score 17820) #成绩
(distros 74) #金币数
(tux (x 50) (y 33) #企鹅所在的位置,坐标
(back "west") #不清楚
(bonus "iceflower")) #不清楚
(levels #这里是已经过关的记载
(level (name "bonus2/level1.stl") #过关的名字,我在/usr/share/games/supertux/levels/worldmaps里查找出来的,
#其中bonus1的比较特殊,数字开头的字母不同,呵呵
(solved #t)) #过关标志,如果没这个,有上面的名字,运行游戏会退出
...
(level (name "bonus2/level28.stl") #同上,bonus2里面的比较简单,从1-28.
(solved #t)) #同上
)
)
;; EOF ;;
下面介绍下/usr/share/games/supertux/levels/worldmaps的文件,这个是具体每关的坐标,名字
world1.stwm "start game" 地图坐标,名称
bonusisland1.stwm "bonus levels"中"bonus island1"地图坐标,名称
bonusisland2stwm "bonus levels"中"bonus island2"地图坐标,名称
文件格式
;; Generated with Flexlay Editor
(supertux-worldmap
(properties
(name "Bonus Island I") #名字
(start_pos_x 35) #开始时企鹅的坐标
(start_pos_y 2)) #开始时企鹅的坐标
(tilemap
(width 70) #地图总宽带
(height 50) #地图总高带
(data #下面很多9 啥的数字省略
...
(levels
(level (name "bonus1/bonus-level1.stl") #每个小关的名字,对应存档里的
(x 35) #坐标,如果你想要跳过某关就直接输入这个到你的存档
(y 4)) #同上
(level (name "bonus1/bonus-level2.stl")
(x 32)
(y 41))
(level (name "bonus1/bonus-level3.stl")
(x 30)
(y 39))
(level (name "bonus1/bonus-level4.stl")
(extro-filename "extro-bonus.txt")
(x 32)
(y 46))
(level (name "bonus1/bonus-level5.stl")
(x 44)
(y 39))
(level (name "bonus1/abednego-level1.stl")
(x 12)
(y 33))
(level (name "bonus1/abednego-level2.stl")
对游戏过关修改就看这点够了,注意看上面的,不是连续的,这是bonus1的不同处。