脚本综合 绿宝石选择队伍宝可梦并删除

ES泽洛

世末鸽者
管理员
元老
2022-08-04
226
14
286
2,116
23
安徽
www.esplus.club
禁止转载
原版的special 0xFB会将整个队伍全部删干净,不能满足需求,所以需要一个ASM,当然了,我是不懂ASM的,所以直接复制粘贴的苍穹之印痕的HEX数据。
1668527646058.png
我是放在0xEA0000地址的,如果你的ROM这里已经有数据了,就换到其他地址,然后注意把脚本代码中的callasm地址也得改为你的地址+1。
下方是一个示例,当然你也可以自己再丰富一下,比如添加一个判断,是某种宝可梦才删除。

代码:
#dynamic 0xA00000
#org @start
lock
countpokemon
copyvar 0x8005 0x800D
compare 0x8005 0x1
if 0x1 goto @last_pkmn
special 0xA2
waitstate
compare 0x8004 0x6
if 0x4 goto @cancel
callasm 0x8EA0001
msgbox @msg_success 0x2
release
end

#org @last_pkmn
msgbox @msg_last_pkmn 0x2
release
end

#org @cancel
msgbox @msg_cancel 0x2
release
end

#org @msg_last_pkmn
= 没有宝可梦了,不能再删除了。

#org @msg_success
= 删除成功。

#org @msg_cancel
= 已取消操作。
 
最后编辑:

霹雳雷霆帅的掉渣的绿毛猴

啥也不会的废物
元老
2022-08-05
65
1
56
1,008
24
asm的16进制数据在下面
代码:
ffb50025114e0f4f3c78022c18db338
8a34215d2621e3a700133e21a64256a4352
086b43084ff818411b0bdf6c433f197f1b002
01922012501c7013a002afbd13582ffbde944
0202ec440202e0750302
写入ROM的格式按照es上面图中所示写,ff在第一个0的坐标下。根据es的脚本,还有既白的脚本,两者拼起来就成了简陋的删除指定精灵的脚本,脚本放下面,这不是最终形态,还有完善的空间,但是删除指定精灵没有问题了。
代码:
#org 0x800000
#dynamic 0x800000
#org @1
lock
msgbox @a 0x5
compare 0x800D 0x1
if 0x0 goto @2
msgbox @c 0x2
countpokemon
copyvar 0x8005 0x800D
compare 0x8005 0x1
if 0x1 goto @last_pkmn
special 0xA2
waitstate
compare 0x8004 0x6
if 0x4 goto @cancel
special2 0x800D 0x102
copyvar 0x8000 0x800D
compare 0x8000 0x3
if 0x5 goto @3
callasm 0x8F62221
msgbox @msg_success 0x2
release
end

#org @3
msgbox @d 0x2
end

#org @d
= 这不是妙蛙花啊!\n请抓到妙蛙花再来找我吧!

#org @c
= 太好了,快点给我吧!

#org @2
msgbox @b 0x2
end

#org @b
= 是吗?真的太可惜了,\n我真的好想要一只\l妙蛙花哦。

#org @a
= 我需要一只妙蛙花,\n你愿意给我吗?


#org @last_pkmn
msgbox @msg_last_pkmn 0x2
release
end

#org @cancel
msgbox @msg_cancel 0x2
release
end

#org @msg_last_pkmn
= 没有宝可梦了,不能再删除了。

#org @msg_success
= [玩家]交出妙蛙花

#org @msg_cancel
= 已取消操作。
 
由版主最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
226
14
286
2,116
23
安徽
www.esplus.club
asm的16进制数据在下面
代码:
ffb50025114e0f4f3c78022c18db338
8a34215d2621e3a700133e21a64256a4352
086b43084ff818411b0bdf6c433f197f1b002
01922012501c7013a002afbd13582ffbde944
0202ec440202e0750302
写入ROM的格式按照es上面图中所示写,ff在第一个0的坐标下。根据es的脚本,还有既白的脚本,两者拼起来就成了简陋的删除指定精灵的脚本,脚本放下面,这不是最终形态,还有完善的空间,但是删除指定精灵没有问题了。
代码:
#org 0x800000
#dynamic 0x800000
#org @1
lock
msgbox @a 0x5
compare 0x800D 0x1
if 0x0 goto @2
msgbox @c 0x2
countpokemon
copyvar 0x8005 0x800D
compare 0x8005 0x1
if 0x1 goto @last_pkmn
special 0xA2
waitstate
compare 0x8004 0x6
if 0x4 goto @cancel
special2 0x800D 0x102
copyvar 0x8000 0x800D
compare 0x8000 0x3
if 0x5 goto @3
callasm 0x8F62221
msgbox @msg_success 0x2
release
end

#org @3
msgbox @d 0x2
end

#org @d
= 这不是妙蛙花啊!\n请抓到妙蛙花再来找我吧!

#org @c
= 太好了,快点给我吧!

#org @2
msgbox @b 0x2
end

#org @b
= 是吗?真的太可惜了,\n我真的好想要一只\l妙蛙花哦。

#org @a
= 我需要一只妙蛙花,\n你愿意给我吗?


#org @last_pkmn
msgbox @msg_last_pkmn 0x2
release
end

#org @cancel
msgbox @msg_cancel 0x2
release
end

#org @msg_last_pkmn
= 没有宝可梦了,不能再删除了。

#org @msg_success
= [玩家]交出妙蛙花

#org @msg_cancel
= 已取消操作。
给你改了下
 

霹雳雷霆帅的掉渣的绿毛猴

啥也不会的废物
元老
2022-08-05
65
1
56
1,008
24
完善了一下脚本,达到了简陋的交换指定精灵交换精灵的效果。
代码:
#org 0x800000
#dynamic 0x800000
#org @1
lock
checkflag 0x30
if 0x1 goto @4
msgbox @a 0x5
compare 0x800D 0x1
if 0x0 goto @2
msgbox @c 0x2
countpokemon
copyvar 0x8005 0x800D
compare 0x8005 0x1
if 0x1 goto @last_pkmn
special 0xA2
waitstate
copyvar 0x8005 0x8004
special2 0x800D 0x102
copyvar 0x8000 0x800D
compare 0x8000 0x30
if 0x5 goto @3
compare 0x8004 0x6
if 0x4 goto @cancel
callasm 0x8C4AC31
msgbox @msg_success 0x2
fanfare 0x173
msgbox @f 0x2
waitfanfare
givepokemon 0x5F 0xA 0x0 0x0 0x0 0x0
setflag 0x30
goto @4

#org @f
= [玩家]从对方那里\n得到了[文本色04]大岩蛇

#org @4
msgbox @e 0x2
end

#org @e
= 你可要好好对待大岩蛇哦!

#org @3
msgbox @d 0x2
end

#org @d
= 请抓到毛球再来找我吧。

#org @c
= 太好了,快让我看看!

#org @2
msgbox @b 0x2
end

#org @b
= 是吗?真的太可惜了,\n我真的好想要一只\l毛球哦。

#org @a
= 我想要一只毛球,\n你如果有的话,\l我愿意用大岩蛇和你交换。\p你愿意用毛球和我交换吗?


#org @last_pkmn
msgbox @msg_last_pkmn 0x2
release
end

#org @cancel
msgbox @msg_cancel 0x2
release
end

#org @msg_last_pkmn
= 没有宝可梦了,不能再删除了。

#org @msg_success
= [玩家]交出了[文本色04]毛球

#org @msg_cancel
= 已取消操作。
脚本还可以优化,哪里还可以改动完善的话,请大佬指正
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
226
14
286
2,116
23
安徽
www.esplus.club
完善了一下脚本,达到了简陋的交换指定精灵交换精灵的效果。
代码:
#org 0x800000
#dynamic 0x800000
#org @1
lock
checkflag 0x30
if 0x1 goto @4
msgbox @a 0x5
compare 0x800D 0x1
if 0x0 goto @2
msgbox @c 0x2
countpokemon
copyvar 0x8005 0x800D
compare 0x8005 0x1
if 0x1 goto @last_pkmn
special 0xA2
waitstate
copyvar 0x8005 0x8004
special2 0x800D 0x102
copyvar 0x8000 0x800D
compare 0x8000 0x30
if 0x5 goto @3
compare 0x8004 0x6
if 0x4 goto @cancel
callasm 0x8C4AC31
msgbox @msg_success 0x2
fanfare 0x173
msgbox @f 0x2
waitfanfare
givepokemon 0x5F 0xA 0x0 0x0 0x0 0x0
setflag 0x30
goto @4

#org @f
= [玩家]从对方那里\n得到了[文本色04]大岩蛇

#org @4
msgbox @e 0x2
end

#org @e
= 你可要好好对待大岩蛇哦!

#org @3
msgbox @d 0x2
end

#org @d
= 请抓到毛球再来找我吧。

#org @c
= 太好了,快让我看看!

#org @2
msgbox @b 0x2
end

#org @b
= 是吗?真的太可惜了,\n我真的好想要一只\l毛球哦。

#org @a
= 我想要一只毛球,\n你如果有的话,\l我愿意用大岩蛇和你交换。\p你愿意用毛球和我交换吗?


#org @last_pkmn
msgbox @msg_last_pkmn 0x2
release
end

#org @cancel
msgbox @msg_cancel 0x2
release
end

#org @msg_last_pkmn
= 没有宝可梦了,不能再删除了。

#org @msg_success
= [玩家]交出了[文本色04]毛球

#org @msg_cancel
= 已取消操作。
脚本还可以优化,哪里还可以改动完善的话,请大佬指正
交换精灵的话,就不需要检测最后一只了
 

在线成员

论坛统计

主题
338
消息
1,554
会员
2,309
最新会员
CHEN

关于我们

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