效果图
在之前复制的数据增加指针,例如NNMMLL08、ZZYYXX08,再分别在08后面加一个数字告诉程序你这个多选框有几个选项,比如我这个一页就是6个地点+翻页+取消,就是08,连在一起就是NNMMLL08 08000000、ZZYYXX08 08000000。
再在LLMMNN和XXYYZZ分别写入八个指针(一共十六个指针),之后在这些地址分别写下六个地点名和下一页、上一页、取消(十五个,因为两个指针共用一个取消)。
(例如我的指针表在122c100~122c17F,不过我的地名直接指向了原本就有的文本,122C180~122C19F是下一页、上一页、取消的文本)
脚本部分(所有warpmuted地点都可改为其他地点):
顺便做成了补丁,建议打在2011汉化版上,其他版本未测试,如有bug请联系我。此补丁多选框表格新地址在DF0000,传送多选框地址在DFC100,脚本地址在E00000。
此教程需要你拥有基本的hex基础,以及简单的xse脚本编写能力。
首先把 0x58B760 到 0x58BAEF 的数据复制粘贴到新空位,然后再搜索 60B75808,修改成你的指针。在之前复制的数据增加指针,例如NNMMLL08、ZZYYXX08,再分别在08后面加一个数字告诉程序你这个多选框有几个选项,比如我这个一页就是6个地点+翻页+取消,就是08,连在一起就是NNMMLL08 08000000、ZZYYXX08 08000000。
再在LLMMNN和XXYYZZ分别写入八个指针(一共十六个指针),之后在这些地址分别写下六个地点名和下一页、上一页、取消(十五个,因为两个指针共用一个取消)。
(例如我的指针表在122c100~122c17F,不过我的地名直接指向了原本就有的文本,122C180~122C19F是下一页、上一页、取消的文本)
脚本部分(所有warpmuted地点都可改为其他地点):
代码:
#dynamic 0xc00000
#org @start
sound 0x37
msgbox @msg1 0x2
multichoice 0xAD 0x0 0x72 0x0
copyvar 0x8000 0x800D
compare 0x8000 0x0
if 0x1 goto @warp1
compare 0x8000 0x1
if 0x1 goto @warp2
compare 0x8000 0x2
if 0x1 goto @warp3
compare 0x8000 0x3
if 0x1 goto @warp4
compare 0x8000 0x4
if 0x1 goto @warp5
compare 0x8000 0x5
if 0x1 goto @warp6
compare 0x8000 0x6
if 0x1 goto @nextpage
release
end
#org @warp1
warpmuted 0x0 0x9 0xFF 0xA 0x8
waitstate
end
#org @warp2
warpmuted 0x0 0x0 0xFF 0x14 0x11
waitstate
end
#org @warp3
warpmuted 0x0 0x3 0xFF 0x10 0x27
waitstate
end
#org @warp4
warpmuted 0x0 0xB 0xFF 0x2 0xB
waitstate
end
#org @warp5
warpmuted 0x0 0x1 0xFF 0x13 0x14
waitstate
end
#org @warp6
warpmuted 0x0 0x2 0xFF 0x16 0x6
waitstate
end
#org @nextpage
multichoice 0xAD 0x0 0x73 0x0
copyvar 0x8000 0x800D
compare 0x8000 0x0
if 0x1 goto @warp7
compare 0x8000 0x1
if 0x1 goto @warp8
compare 0x8000 0x2
if 0x1 goto @warp9
compare 0x8000 0x3
if 0x1 goto @warp10
compare 0x8000 0x4
if 0x1 goto @warp11
compare 0x8000 0x5
if 0x1 goto @warp12
compare 0x8000 0x6
if 0x1 goto @lastpage
release
end
#org @warp7
warpmuted 0x0 0xc 0xFF 0x9 0x7
waitstate
end
#org @warp8
warpmuted 0x0 0x4 0xFF 0x5 0x7
waitstate
end
#org @warp9
warpmuted 0x0 0x5 0xFF 0x18 0xF
waitstate
end
#org @warp10
warpmuted 0x0 0x6 0xFF 0x1c 0x11
waitstate
end
#org @warp11
warpmuted 0x0 0x7 0xFF 0x2B 0x20
waitstate
end
#org @warp12
warpmuted 0x0 0x8 0xFF 0x12 0x6
waitstate
end
#org @lastpage
multichoice 0xAD 0x0 0x72 0x0
copyvar 0x8000 0x800D
compare 0x8000 0x0
if 0x1 goto @warp1
compare 0x8000 0x1
if 0x1 goto @warp2
compare 0x8000 0x2
if 0x1 goto @warp3
compare 0x8000 0x3
if 0x1 goto @warp4
compare 0x8000 0x4
if 0x1 goto @warp5
compare 0x8000 0x5
if 0x1 goto @warp6
compare 0x8000 0x6
if 0x1 goto @nextpage
release
end
#org @msg1
= 请问您想要传送到哪里?