铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2288|回复: 10

乱码问题

[复制链接]
发表于 2011-2-10 13:31 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
最近用fishedit0.72增加新武功后保存了新游戏存档和进度一,但是打开游戏重新开始再保存进度一,二百个以后的武功就全是乱码了。用修改器查看发现新游戏进度也没有问题啊,这算是什么情况呢?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-2-10 13:37 | 显示全部楼层
繁簡問題...
完=.=''
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-2-10 13:46 | 显示全部楼层
好像是源码中武功结构体的数组长度不够
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-2-10 14:03 | 显示全部楼层
回复 真正的强强 的帖子

大侠,那你知道如何修改么?我现在极度痛苦中。。。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-2-10 14:06 | 显示全部楼层
回复 陸青緣 的帖子

不是啊,只有二百多个以后的武功全部乱码化,其他的都没有问题
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-2-10 14:25 | 显示全部楼层
本帖最后由 真正的强强 于 2011-2-10 14:28 编辑

要修改游戏源码的。首先你得有游戏源码和delphi,还要安装SDL支持。用delphi打开源码里的kys_main.pas文件,找到里面的 RMagic: array[0..200] of TMagic; 把200改到大于你需要的武功数,然后编译
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-2-10 17:19 | 显示全部楼层
回复 真正的强强 的帖子

兄台太感谢你了!

能不能再教教我增加物品最大值的问题呢,论坛里有我的一个帖子。修改源码部分我已经会了,就是修改存档地址我实在是找不到,如果您能帮我解答那就更加感谢了!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-2-10 22:54 | 显示全部楼层
本帖最后由 真正的强强 于 2011-2-10 23:02 编辑
  1.   RRole: array[0..600] of TRole; //人物数组
  2.   RItem: array[0..500] of TItem; //物品数组
  3.   RScence: array[0..200] of TScence; //场景
  4.   RMagic: array[0..200] of TMagic;  //武功
  5.   RShop: array[0..10] of TShop; //商店
复制代码
上面就是定义各个数组的语句了,要改上限自己找对应的改就行了~


存档地址在procedure SaveR(num: integer);里面,主要就是改这几句:
  1.   SaveNum := num;
  2.   filename := 'R' + inttostr(num);
  3.   if num = 0 then
  4.     filename := 'ranger';
  5.   idx := fileopen('save\ranger.idx', fmopenread);
  6.   grp := filecreate('save\' + filename + '.grp', fmopenreadwrite);
复制代码
  1.   if num = 0 then
  2.     filename := 'Allsin';
  3.   grp := filecreate('save\' + filename + '.grp');
复制代码
  1.   if num = 0 then
  2.     filename := 'Alldef';
  3.   grp := filecreate('save\' + filename + '.grp');
复制代码
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-2-10 23:18 | 显示全部楼层
回复 真正的强强 的帖子

我说的不是500那个物品最大值,而是可持有物品最大值,就是那个200,这个光该源码的话就会发生运行后全部乱码的现象。

winson7891给我的解答时是在修改r*.grp和r*.idx,从200物品改成300物品就是在grp的相应位置插入100*4新字节。当时我研究

半天也没搞懂怎么在grp的一大堆地址中找到“相应位置”,所以就放弃了。。。。。这次突然觉得还是应该弄清楚些,感谢兄台解

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-2-12 01:05 | 显示全部楼层
本帖最后由 真正的强强 于 2011-2-12 01:23 编辑

说起来也挺麻烦,索性给你写了个小程序,是修改存档中持有物品上限的,选择相应idx和grp文件进行修改,刚写完还没怎么测试,不知有无bug。程序挺简单,咋用你就自己看吧。

用fishedit打开此程序修改过的存档文件之前,需要先打开FishEdit.ini,找到这句:data(0,13) =200 2 2 0 0 2 物品 物品(-1表示为空),将其中200改为与你修改的存档中持有物品上限一致的数,然后保存。游戏源代码需要修改此句:MAX_ITEM_AMOUNT: integer = 200; 将其中200改为与你修改的存档中持有物品上限一致的数,然后进行编译。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-2-12 09:58 | 显示全部楼层
回复 真正的强强 的帖子

实在太感谢兄台的热心帮助了,已经试验成功了,没有兄台的帮助真是不行呀。

另外我这个帖子http://www.txdx.net/thread-460982-1-1.html,如果兄台有空的话帮忙看下吧,倒是不打紧。

再次感谢兄台的帮助
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 16:50

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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