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

 找回密码
 加入口袋中心
搜索
查看: 3637|回复: 11

【讨论】根据游戏时间决定商品价格

[复制链接]

3369

回帖

552

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22136
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2015-6-10 14:26:22 | 显示全部楼层 |阅读模式
本帖最后由 jiangzhengwenjz 于 2015-6-12 22:34 编辑

。。最近快考试忙的一比,发个帖凑个数,当然昨晚断网前时间仓促,技术含量实在不高,还请各位指教。【不是教程,不得转载】

所有的修改都在火红2012汉化上进行

首先必须得知何处的程序用来读取道具价格,这个断点的截取也是非常简单的,不过为了凑字数还是废话一下:
1、首先找到道具表格的位置(查资料,或修改后数据比对,或搜索道具名称对应的数据)
2、然后发现这个表格里每个道具都是44字节,然后相对每个道具数据开头偏移0x10的位置就是道具的价钱
3、以精灵球为例,0xc8也就是200块,在0x3db0e8,那么在这里下读取断。[083db0e8]?

到尼比市的商店触发脚本,因为有精灵球卖所以break了。通过多次断点截取与寄存器修改不难知道此处修改是可靠的。那么考虑选择位置跳出。
  1. ROM:0809A914                 ADDS    R0, R0, R4
  2. ROM:0809A916                 LDRH    R0, [R0,#item.market_price]
  3. ROM:0809A918                 POP     {R4}
  4. ROM:0809A91A                 POP     {R1}
  5. ROM:0809A91C                 BX      R1
复制代码
代码的位置也就是在0x9A914,不难发现,执行完马上就跳走到lr的位置了。所以跑到新代码以后直接跳走就完事,不必跳回了。那么跳转就设在0x9A914.
  1. 00 49 08 47 XX XX XX XX
复制代码
其中XX XX XX XX就是新程序指针(thumb模式+1)
也就是:
  1. ldr r1, =新程序指针
  2. bx r1
复制代码
那么,新程序也就呼之欲出了:(随便弄的一个算法,不要在意)
  1. .thumb
  2. add r0, r0, r4
  3. ldrh r0, [r0, #0x10]
  4. push {r2-r3}
  5. ldr r1, playerdata
  6. ldr r1, [r1]
  7. ldrh r1, [r1, #0xe]
  8. lsr r1, r1, #0x2
  9. add r1, r1, #0xa
  10. mul r0, r1
  11. mov r1, #0xa
  12. ldr r2, divmod
  13. bl linker
  14. ldr r1, nnnn
  15. cmp r0, r1
  16. bhs shit
  17. b back

  18. shit:
  19. add r0, r1, #0x0

  20. back:
  21. pop {r2-r3}
  22. pop {r4}
  23. pop {r1}
  24. bx r1

  25. linker:
  26. bx r2

  27. .align 2
  28. playerdata: .word 0x0300500c
  29. divmod: .word 0x081E4019
  30. nnnn: .word 0x0000270f
复制代码
其中0x270f是9999,注意到divmod会保护r4,且r4会被pop {r4}刷新,故无必要保护r4.(其他寄存器没用到,虽然未测试但应该错不了)
当然由于这个程序的最后会mov r15, r14,所以会顺畅地跳回。

==========================================================
以下才是研究的重点!
如何扩充商品价格显示上限到65535:
0x9b440及0x9b430的均改成05,并于0x9b428写入00000000
如何扩充金钱上限到999999999 (by JPAN):
0x9fdd4把3f420f00改成ffc99a3b
0x8a000或0x8a006中有一处是06,将06改去09(貌似英文版和新汉化不同)
0x9fe52和0x9fe62的06均改去09
==========================================================
然后目前在看如何保证扩到99999不出问题
问题1:在超出65535(ffff)之后购买时价格会错误
解决:首先要解限,于0x9b428写入00000000
另要在0x9bc4a写入00000000,0x9bdb6写入00000000
问题2:购买时显示位数问题(需从6位扩充到7位)
解决:0x9FEE8和0x9FEF8的06改成07

==========================================================
结论:
0x9b440及0x9b430的04改去05
0x9b428写入00 00 00 00
0x9fdd4把3f420f00改成ffc99a3b
0x8a000或0x8a006中有一处是06,将06改去09
0x9fe52和0x9fe62的06均改去09
0x9bc4a及0x9bdb6写入00 00 00 00
0x9FEE8及0x9FEF8的06改去07
0x10a6ca的06改去07
0x10a7ea改去00 00 40 08
0x10a8a2改去00 00 40 08
0x10a6bc改去00 00 40 08
0x10a982改去00 00 40 08
0x10aa14改去00 00 40 08
0x10a990的06改去07
最后把之前代码里的9999改去99999对应的16进制值即可。
会造成游戏其他部分的bug吗?不知道
回复

使用道具 举报

2万

回帖

13万

现金

351

勋章券

管理员

起源の钻角犀兽

Rank: 27Rank: 27Rank: 27

积分
51874

Missingno论坛十周年纪念物挥金如土勋章Lv3水中王者勋章Lv3时光印记Lv.3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章

发表于 2015-6-10 22:04:24 | 显示全部楼层
这样,随着时间的推移,物价越来越高,写实23333
啊咧咧,又挖坑不填哎╮(╯▽╰)╭

告别真新镇后不知经过多久,擦伤,砍伤,朋友的数目,让我有点自豪,那时候因为流行而跑去买的,这双轻便的运动鞋,现在成了,找遍全世界也找不到的,最棒的破鞋子……
口袋中心·绿宝石·改(更新1.6.4版)
【口袋中心出品】魂银·壹式改点壹(全493)    【科普向】魂银中少有人注意到的洛奇亚传说故事
宝可梦卡牌 / 限定精灵图示    好吧,这是官方微博-_-    好吧,这是我的微博-_-
我的B站号    美术作品之我的宝可梦人设画    个人制作的FC魂斗罗2代hack版
回复 支持 1 反对 0

使用道具 举报

3369

回帖

552

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22136
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2015-6-10 22:29:21 | 显示全部楼层
本帖最后由 jiangzhengwenjz 于 2015-6-11 13:16 编辑
海のLUGIA 发表于 2015-6-10 22:04
这样,随着时间的推移,物价越来越高,写实23333


然而玩家囤积居奇,牟取暴利(虽然钱变多了但还是买不到东西233)
回复 支持 反对

使用道具 举报

139

回帖

171

现金

2

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
280
发表于 2015-6-10 22:59:39 来自手机 | 显示全部楼层
好帖,又是一个黑科技666666
回复 支持 反对

使用道具 举报

856

回帖

1819

现金

3

勋章券

黑暗山洞中的修炼

Rank: 13Rank: 13Rank: 13

积分
2736
QQ

No.283-284溜溜糖球一家No.263 蛇纹熊No.282 沙奈朵论坛十周年纪念物黑白系列男主角【白日版】黑白系列女主角【白日版】黑白系列NPC【白日版】水中王者勋章Lv1


沙奈朵 Lv:66
发表于 2015-6-11 13:14:22 | 显示全部楼层
话说不少RPG游戏的话后期商店等基本价格都会涨呢,不过最终话之前也就是最后的商店貌似都是最贵的,于是不少玩家跑回去原来的地方买便宜的商品(尽管不全2333)
具体不是特别懂,不过也算是挺不错的东西吧╮( ̄▽ ̄")╭ ,过来支持下版主的努力
口袋的魅力在于培养,在于冒险,所有RPG吸引人的地方我觉得都在冒险方面,拿起自己的精灵球扬帆远航吧
回复 支持 反对

使用道具 举报

3369

回帖

552

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22136
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2015-6-11 13:16:42 | 显示全部楼层
暗影之刺 发表于 2015-6-11 13:14
话说不少RPG游戏的话后期商店等基本价格都会涨呢,不过最终话之前也就是最后的商店貌似都是最贵的,于是不 ...


我这个是全地区性的普遍涨价
回复 支持 反对

使用道具 举报

85

回帖

1354

现金

1

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
287

时光印记Lv.1

发表于 2015-6-12 18:41:47 | 显示全部楼层
。。。。。如果物品价格超过65535的话,那么物品的价格数据位置不就要重新定位了。。。。
回复 支持 反对

使用道具 举报

3369

回帖

552

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22136
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2015-6-12 19:18:41 | 显示全部楼层
本帖最后由 jiangzhengwenjz 于 2015-6-12 22:43 编辑
gujiahao12 发表于 2015-6-12 18:41
。。。。。如果物品价格超过65535的话,那么物品的价格数据位置不就要重新定位了。。。。


似乎虽然变长了,但是还是没有遇到什么bug
恳请见教
还有你的意思是指改变原始价格数据吗?我好像理解错了
回复 支持 反对

使用道具 举报

23

回帖

706

现金

2

勋章券

新伙伴的欢笑

Rank: 3

积分
81
发表于 2015-6-14 11:09:27 | 显示全部楼层
我都想算算这个的通胀率了
回复 支持 反对

使用道具 举报

43

回帖

396

现金

0

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
188

时光印记Lv.1

发表于 2015-7-20 21:27:48 | 显示全部楼层
这个    坑。。。不过貌似限制上限为65535 超了怎么破
回复 支持 反对

使用道具 举报

170

回帖

1809

现金

5

勋章券

摆脱困境的长叹

Rank: 8Rank: 8Rank: 8Rank: 8

积分
594

水中王者勋章Lv1时光印记Lv.1

发表于 2015-11-21 10:35:41 | 显示全部楼层
那卖掉的价钱呢
如果是售价的半价,是不是能通过前期囤货来刷钱!
回复 支持 反对

使用道具 举报

3369

回帖

552

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22136
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2015-11-21 10:42:03 | 显示全部楼层
a503368088 发表于 2015-11-21 10:35
那卖掉的价钱呢
如果是售价的半价,是不是能通过前期囤货来刷钱!

然而, 钱已经买不到东西了
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-11-22 02:28 , Processed in 0.160846 second(s), 82 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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