口袋改版资源吧 关注:224,396贴子:1,458,800
  • 4回复贴,共1

【转载】GBA改版教程, 绿宝石判断定点对战结果

只看楼主收藏回复

【本帖转自宝可饭堂社区】
【转载请注明出自宝可饭堂社区网页链接
-*原帖作者:@ES泽洛
-*原帖正文:
其实原版的定点对战就有这个脚本,比如凤王洛奇亚,不过多余的部分太多了,这里提取出来并说明。比如判断战胜、逃跑、捕捉,来处理定点精灵是否消失。至于战败,其实直接送走了下面的消失代码都不会执行,所以也没有必要去判断。例如创建一个烈空坐定点对战,这里最重要的就是special2 0x800D 0xB7,这一行就是获取结果状态的。
代码:
#dynamic 0xA00000
#org @start
wildbattle 0x196 0x5 0x0
special2 0x800D 0xB7
buffernumber 0x0 0x800D
msgbox @message 0x2
end
#org @message
= [buffer1]
这样就会在对战结束后输出状态数字,一楼评论是全部的状态码,只做参照,不需要写到脚本里。


IP属地:江苏来自Android客户端1楼2022-11-01 19:00回复
    #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)


    IP属地:江苏来自Android客户端2楼2022-11-01 19:01
    回复
      如果要判断捕捉才消失,以下代码为在零世界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 //未捕捉时的对话
      = 比克提尼想要加入队伍,再试一次吧。


      IP属地:江苏来自Android客户端3楼2022-11-01 19:02
      收起回复
        不懂帮顶


        IP属地:江苏来自Android客户端4楼2022-11-01 23:04
        回复