分享到新浪微博 分享到QQ空间 打印

[讨论] 看看这个设想可行不

看看这个设想可行不

首先版本是绿宝石ROM,目的是通过脚本使的自己当前参战的精灵降级。
大家看看这个设想可以实现吗。
当前参战的精灵降级固定变成5级但技能保留
努力值,亲密度可以变0,身上携带道具,精灵名字也可以清空
游戏中,对话可以这样写道,

“是否支付50000让当前参战的精灵重生,但重生以后精灵将会和你变的很陌生,注意精灵身上有贵重装备请及时脱下"

如果是已经3段进化了的,降级了也不是退化成初段形态。如50级的喷火龙,降级了就变成5级的喷火龙。而不是小火龙。
这样的脚本能写吗

[ 本帖最后由 Nightind 于 2010-4-26 11:43 编辑 ]

TOP

这种东西得靠asm了
如果是战斗中发生的话……那么还是找老任去吧……

TOP

回复 沙发 roywillow 的帖子

那我就简化所有问题,即原精灵的技能也不保留,就像是给玩家一个精灵那样的脚本简单。

1检查当前参战精灵的精灵号代码
2把这个代码存入一个临时的变量
3收走当前参战精灵
4给予玩家一个5级的精灵(精灵的种类代码用那个临时变量代替)也就是和之前参战精灵一个种类的精灵。

这样的脚本是否能完成了

TOP

嗯……思路大体上是可行的,但有几个需要注意的地方:
1、取参加战斗的精灵的编号可能不如直接选取第一位精灵的编号简易,但直接取编号的命令记忆里似乎没有(?)
2、收走精灵可以使用饲育屋的几个命令,LZ可以看下绿宝石的饲育屋。

取编号和删除PM其实都可以自己写个ASM的小程序来完成。我在外国论坛见过火叶取编号的小程序和删除精灵的小程序,但今天网络不佳暂时没法给出链接了……


想死你们了!

TOP

关键是LZ说的过程是在战斗画面中发生的还是战斗后发生
战斗画面中发生目前达到了自己显示出来一个自定义文本框的地步了?

TOP

战斗中肯定不可能,战斗后差不多

另:
1、绿宝石美版关注地址0x21593F,这个地址有负责交换PM的NPC的脚本,里面含有对所选PM的编号的存储、鉴别,你分析一下即可。

2、删除PM无疑需要ASM程序作为辅助,参考页面:http://www.pokecommunity.com/showthread.php?t=206138,
其思路就是将要删除的PM的位置由你的脚本存入某一变量,比如0x8004,紧接着根据这个位置换算为内存地址,然后对该内存段进行清理。
HM大大已经在那个页面写了足够多的代码,所以我就不再献丑了,LZ能理解的话稍微改改就能用了。


想死你们了!

TOP

引用:
原帖由 roywillow 于 2010-5-2 00:29 发表
关键是LZ说的过程是在战斗画面中发生的还是战斗后发生
战斗画面中发生目前达到了自己显示出来一个自定义文本框的地步了?
呵呵,我说的参战精灵是指当前队伍中第一位精灵,并不是指在战斗中的精灵。

(好像回合制的网络游戏对身上携带的宝宝有个“设为参战”的勾。)

没想到在这里会产生误解...

不过谢谢两位的回答

TOP

想法不错,只是实践
开学了呢,大家都要加油呐

TOP

有一个问题。饲育屋收走的精灵是有一个存放的位置的。照LZ这样的想法那么每次触发收走之后的精灵都应该存在在哪里?就等于废品扔到回收站了也占内存。

TOP

引用:
原帖由 wujiayiwan 于 2010-5-6 13:05 发表
有一个问题。饲育屋收走的精灵是有一个存放的位置的。照LZ这样的想法那么每次触发收走之后的精灵都应该存在在哪里?就等于废品扔到回收站了也占内存。
请看清楚再回复....
引用:
原帖由 liuyanghejerry 于 2010-5-2 09:00 发表
...
2、删除PM无疑需要ASM程序作为辅助,参考页面:http://www.pokecommunity.com/showthread.php?t=206138
其思路就是将要删除的PM的位置由你的脚本存入某一变量,比如0x8004,紧接着根据这个位置换算为内存地址,然后对该内存段进行清理。

TOP

饲养屋收走的精灵数据被记录在另外一片内存中
那样只要我们找一片游戏本身完全不会用到的内存区域当然也可以实现收走精灵的目的
只要够用收走全部精灵然后换成另外一个队伍都有可能

TOP