用户可以自行定义工具栏,此工具栏在正常工具栏下方显示。
要定义这样的工具栏,用户必须创建(修改)文本文件YSokobanButtons.txt。 在此文件中,每一行描述了一个按钮。#用作注释,因此,将跳过以#开头的行。
Syntax used to define buttons is:定义按钮的语法如下:
button_text (';'|':') command x{',' command x}
例如,指定在按钮上显示的按钮以及要执行的命令,用:或;作为分隔符 button_text指任何文本,它也可以具有语言或国家修饰符,例如:
en{english text},us{text for US},simpl{...},trad{...},text
如果玩家希望在不同语言之间切换时具有已翻译的文本,就需要用到语言/国家修饰符。如果没有语言/国家修饰符,那么,在切换语言时,按钮文本将不会发生变化。YSokoban将搜索文本中的修饰符以确定当前使用的语言,如果未找到修饰符,则搜索国家,如果未找到,则使用不带语言/国家指示符的文本,这是最后的选择。在语言文件中,语言/国家修饰符即语言/国家缩写。按钮文本(带所有指示符)用‘:’或‘;’与命令分隔开来。
用户可以使用多个命令(用‘,’分隔开来)
在YSokobanButtons.txt文件中添加以下几行命令后,将显示以上截图中的用户工具栏
net: toggleNet reachable: showReachable movable: showMovable not moved: showNotMoved ruler: ruler
在每个命令中,x为整数参数(如果缺少参数,则默认为0),相关命令如下:
命令 | 参数 | 说明 | 对应的热键 |
---|---|---|---|
setBookmark | 0..9 | 将关卡加入书签 | Ctrl-0..9 |
gotoBookmark | 0..9 | 打开加入书签的关卡 | 0..9 |
zoom | -100 .. 100 | 缩放(按指定像素更改皮肤尺寸) zoom 0会将皮肤尺寸重置为原始尺寸 |
+/- = |
loadLevel | 数字 | 参数为0时会重新打开关卡,为其他数字时会加载下一个/上一个关卡 | Ctrl-arrows |
loadUnsolvedLevel | +/-1 | 作用与loadLevel相同,但会查找下一个/上一个未解关卡 | Ctrl-Shift-arrows |
loadErrorLevel | +/-1 | 作用与loadLevel相同,但会查找下一个/上一个出错关卡 | Alt-Shift-arrows |
firstLevel | 跳至集合中的第一个关卡 | Ctrl-Home | |
lastLevel | 跳至集合中的最后一个关卡 | Ctrl-End | |
useSkin | 0, 1..6 | 参数为0时使用当前皮肤,参数为1..6时使用采用默认网设置的皮肤 | F3..F8 |
useNetSkin | 0, 1..6 | 参数为0时使用当前皮肤,参数为1..6时使用采用相反网设置的皮肤 | Ctrl-F3..F8 |
toggleNet | 切换皮肤网设置 | Ctrl-N | |
showReachable | -1, 0, 1 | 显示(小人或箱子)可到达的单元格 0=切换、1=打开、-1=关闭 | F9 |
showMovable | -1, 0, 1 | 显示可换到的箱子 0=切换、1=打开、-1=关闭 | Ctrl-F9 |
showNotMoved | -1, 0, 1 | 显示未移动的箱子 0=切换、1=打开、-1=关闭 | Alt-F9 |
copyLevel | 0 1 2 3 4 10 12 |
复制关卡到剪贴板: 0 - 正常复制(与Ctrl-L相同) 1 - 复制RLE包(与Ctrl-Shift-L相同) 2 - 复制时使用‘-’代替空格(与Ctrl-Alt-L相同) 3 - 复制关卡,与MF8组使用关卡时相同(与Ctrl-Shift-Alt-L相同) 4 - 正常复制 + MF8组(与Ctrl-M相同) 10 - 正常复制,但不包含答案(Alt-L) 12 - 复制type 2,但不包含答案(Alt-Shift-L) |
Ctrl-L Ctrl-Shift-L Ctrl-Alt-L Ctrl-Shift-Alt-L Ctrl-M Alt-L Alt-Shift-L |
copyMoves | 0 .. 3 < 0 |
不使用参数(与使用参数0相同)时,会将移动步骤复制到剪贴板中 参数小于 0 - 复制剩余的移动步骤,与Ctrl-Alt-C相同 1 - 将使用推动格式 2 - 使用推动格式,箱子带标注 3 - 使用推动格式,不支持穿透 |
Ctrl-C Ctrl-Alt-C Ctrl-P Alt-P Ctrl-Alt-P |
ruler | 0 1 2 3 -1 -2 |
0 = 关闭标尺 1 = 切换标尺为字母-数字 2 = 切换标尺为数字-数字 3 = 切换标尺状态:关闭、字母-数字与数字-数字 -1 = 设置标尺为字母-数字 -2 = 设置标尺为数字-数字 |
Ctrl-R Alt -R |
saveState | 保存状态 | Ctrl-S | |
loadState | 加载状态 | Ctrl-O = Ctrl-D | |
paste | 0, 1, 2 | 0 - 粘贴自剪贴板 1 - 如果为移动,则粘贴,然后在每次变换箱子时停止 2 - 如果为移动,则粘贴,然后立即执行 |
Ctrl-V Ctrl-Shift-V Ctrl-I |
screenShot | 0, -1 | 0 - 对当前关卡截图 -1 - 对所有关卡截图 |
Shift-X Ctrl-Shift-X |
record | 0 1 -1 2 3 4 5 6 7 8 9 10 11 12 |
切换录制模式 启动录制模式 停止录制模式 切换bmp/png模式 选择bmp模式 选择png模式 切换窗口/关卡模式 选择窗口模式 选择关卡模式 从0帧开始录制(或者停止) 继续录制(或者停止) 从0帧开始录制(不停止) 继续录制(不停止) 停止录制 |
Ctrl-Alt-Shift-F3 Ctrl-Shift-F3 Ctrl-Alt-F3 Ctrl-F3 Shift-F3 |
undo | 0 1 |
撤销一次移动 撤销推动箱子 |
Shift-backspace backspace |
redo | 0 1 2 |
重做一次移动 重做推动箱子 继续不停重做 |
Shift-space space Ctrl-space |