Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
楼主: 744865306

求助,我写的特性未能达成想要的效果:

[复制链接]

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

发表于 2021-7-29 15:36:49 | 显示全部楼层
744865306 发表于 2021-7-29 15:29
有啊,那俩数据我存在了r0和r1

那你把他们存起来了吗 我没有在你的代码里看到new_battlestruct的指针0x02024218
业余改版爱好者
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

发表于 2021-7-29 15:38:37 | 显示全部楼层
744865306 发表于 2021-7-29 15:29
有啊,那俩数据我存在了r0和r1
  1. mov r0,r2
  2. mov r1,#0xFF
  3. add r1,#0x22
  4. lsl r1,r1,#1
复制代码
写出来没用啊,得存到对应的地方才行
业余改版爱好者
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

 楼主| 发表于 2021-7-29 17:54:01 来自手机 | 显示全部楼层
本站第一萌新 发表于 2021-7-29 15:36
那你把他们存起来了吗 我没有在你的代码里看到new_battlestruct的指针0x02024218

啊,原来要存到那里面,我都没看出这个词是什么,谢谢大佬
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

 楼主| 发表于 2021-7-29 19:27:39 来自手机 | 显示全部楼层
本站第一萌新 发表于 2021-7-29 15:38
写出来没用啊,得存到对应的地方才行

大佬,我这样写,结果精灵转变成了妙蛙草且卡死,能看看是什么原因嘛?

.gba
.thumb
.include "编译工具/ArmipsBSMacros.asm"
.create "test.gba",0x8000000
.close
.open "永暗.gba","test.gba",0x8000000

.org 0x08F2EB24
.func new
        ldr r5,=0x0202420B
        ldrb r5,[r5]
        mov r2,#0x58
        mul r5,r2
        ldr r2,=0x02024084
        add r5,r2
        add r5,#0x20
        ldrb r5,[r5]
        cmp r5,#0xE9 ;"饱了又饿"特性编号
        beq yes
end:
        lsl r6,r2,#0
        mov r2,#0x9B
        add sp,#-0x2C
        str r3,[sp,#12]
        ldr r1,=0x08E0368A
        mov pc,r1
yes:
        ldrh r5,[r2]
        ; 经过计算将"空腹花纹"编号存入r2
        cmp r5,r2
        bne cmp
        mov r2,#5 ;满腹花纹编号
keep:
        mov r5,r0
        mov r0,r2
        push {r3}
        ldr r1,=0x02024218
        strh r0,[r1]
        mov r0,#0xFF
        add r0,#0x22
        lsl r0,r0,#1
        ldr r1,=0x02024218
        add r1,#2
        strh r0,[r1]
        ldr r0,=BS_Script
        bl 0x08E073E4
        pop {r3}
        mov r0,r5
        b end
cmp:
        ; 经过计算将"满腹花纹"编号存入r2
        cmp r5,r2
        bne end
        mov r2,#4 ;空腹花纹编号
        b keep
.endfunc
.pool

BS_Script:
printstring 0x130
callasm_cmd 119
playanimation 0xA 0x21 0x0
waitstate
callasm_cmd 122
waitmessage 0x40
callasm_cmd 115
end3

.org 0x08E03682
        ldr r2,=new
        mov pc,r2
.pool

.close
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

发表于 2021-7-29 20:35:13 | 显示全部楼层
744865306 发表于 2021-7-29 19:27
大佬,我这样写,结果精灵转变成了妙蛙草且卡死,能看看是什么原因嘛?

.gba

我比较忙,抽不出具体时间帮你分析,只能用零碎时间给你提点建议。
你用nogba看看哪里卡死的,是不是在你函数内部卡死的。
还有卡死是哪种卡死?是nogba崩溃了还是卡在战斗界面但无法操作?如果是第一种估计是你的函数有问题,第二种估计是战斗脚本有问题。不过既然都能变化形态说明函数估计也没有什么大问题,就是要看看为什么变得不是你想要的精灵。
另外,之前就说了,这个函数的参数里自带bank,不要
  1. ldr r5,=0x0202420B
  2. ldrb r5,[r5]
  3. ......
  4. ldrh r5,[r2]
复制代码
用他的bank
业余改版爱好者
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

 楼主| 发表于 2021-7-29 21:03:25 来自手机 | 显示全部楼层
本站第一萌新 发表于 2021-7-29 20:35
我比较忙,抽不出具体时间帮你分析,只能用零碎时间给你提点建议。
你用nogba看看哪里卡死的,是不是在 ...

崩溃,那应该是函数有问题了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-12-4 01:51 , Processed in 0.117631 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表