基础脚本 绿宝石判断定点对战结果

ES泽洛

世末鸽者
管理员
元老
2022-08-04
226
14
286
2,116
23
安徽
www.esplus.club
转载请注明出自宝可饭堂社区https://bbs.pokefans.cn/threads/43/
其实原版的定点对战就有这个脚本,比如凤王洛奇亚,不过多余的部分太多了,这里提取出来并说明。
比如判断战胜、逃跑、捕捉,来处理定点精灵是否消失。至于战败,其实直接送走了下面的消失代码都不会执行,所以也没有必要去判断。
例如创建一个烈空坐定点对战,这里最重要的就是special2 0x800D 0xB7,这一行就是获取结果状态的。
代码:
#dynamic 0xA00000
#org @start
wildbattle 0x196 0x5 0x0
special2 0x800D 0xB7
buffernumber 0x0 0x800D
msgbox @message 0x2
end

#org @message
= [buffer1]
这样就会在对战结束后输出状态数字,以下是全部的状态码,只做参照,不需要写到脚本里。
C:
#define B_OUTCOME_WON                  1        //玩家战胜
#define B_OUTCOME_LOST                 2        //玩家战败
#define B_OUTCOME_DREW                 3        //平局
#define B_OUTCOME_RAN                  4        //玩家逃跑
#define B_OUTCOME_PLAYER_TELEPORTED    5        //玩家传送走
#define B_OUTCOME_MON_FLED             6        //野怪逃跑
#define B_OUTCOME_CAUGHT               7        //捕捉
#define B_OUTCOME_NO_SAFARI_BALLS      8        //没有原野区精灵球
#define B_OUTCOME_FORFEITED            9        //弃权
#define B_OUTCOME_MON_TELEPORTED       10       //野怪传送走
#define B_OUTCOME_LINK_BATTLE_RAN      (1 << 7)
如果要判断捕捉才消失,以下代码为在零世界beta0.3上写入进行示例,具体代码请根据ROM自行修改。
代码:
#org 0xA0F338
lock
faceplayer
wildbattle 0xFC 0x1E 0x0            //进行一场30级比克提尼定点对战
special2 0x800D 0xB7                //获取战斗结果状态码
compare 0x800D 0x7                    //和捕捉比较
if 0x1 goto 0x8A17568                //如果相等就跳转
msgbox 0x8A17574 0x2                //未捕捉就执行对话
release
end

#org 0xA17568                        //捕捉后执行的脚本
fadescreen 0x1
hidesprite 0x800F                    //定点消失
setflag 0x1145
fadescreen 0x0
release
end

#org 0xA17574                        //未捕捉时的对话
= 比克提尼想要加入队伍,再试一次吧。
 
最后编辑:

在线成员

论坛统计

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

关于我们

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