脚本综合 【小教程】用多项选择框制作地点传送

ES泽洛

世末鸽者
管理员
元老
2022-08-04
217
14
283
2,116
23
安徽
www.esplus.club
效果图
51ffc443ad4bd113ca3af2684dafa40f4afb055b.jpge19ae236afc37931cf9fc373fcc4b74542a9115b.jpg

此教程需要你拥有基本的hex基础,以及简单的xse脚本编写能力。

首先把 0x58B760 0x58BAEF 的数据复制粘贴到新空位,然后再搜索 60B75808,修改成你的指针。
在之前复制的数据增加指针,例如NNMMLL08、ZZYYXX08,再分别在08后面加一个数字告诉程序你这个多选框有几个选项,比如我这个一页就是6个地点+翻页+取消,就是08,连在一起就是NNMMLL08 08000000、ZZYYXX08 08000000。
再在LLMMNN和XXYYZZ分别写入八个指针(一共十六个指针),之后在这些地址分别写下六个地点名和下一页、上一页、取消(十五个,因为两个指针共用一个取消)。
(例如我的指针表在122c100~122c17F,不过我的地名直接指向了原本就有的文本,122C180~122C19F是下一页、上一页、取消的文本)
4fe2c13f8794a4c2e088a27119f41bd5ac6e39af.jpg
脚本部分(所有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
= 请问您想要传送到哪里?
顺便做成了补丁,建议打在2011汉化版上,其他版本未测试,如有bug请联系我。此补丁多选框表格新地址在DF0000,传送多选框地址在DFC100,脚本地址在E00000
 

附件

  • 绿宝石空间传送器补丁.ips
    2.8 KB · 查看: 16
  • 支持
反馈: 宝可饭堂

在线成员

现在没有会员在线。

最新帖子

论坛统计

主题
323
消息
1,482
会员
2,265
最新会员
Wsy2002

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命