铁血丹心

 找回密码
 我要成为铁血侠客
搜索
12
返回列表 发新帖
楼主: lsl_lsq

[其他] 哪儿能下载到DOS版的再战江湖?

  [复制链接]
发表于 2011-4-25 19:28 | 显示全部楼层

这个是再战江湖windows版里的readkdef.hsk,具体的版本不是很清楚
看起来肯定不是最新的

反正用这个在windows下能完整地运行游戏,而且也没加密

本帖子中包含更多资源

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

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


谢谢027大人!

Readkdef.hsk没问题了,不过还是有一些事件会自动退出游戏。。

在windows里,用S16的加密的jymodify.lua是可以顺利运行的,PSP上不行,非要没加密的文件。。

应该还要在jymodify.lua里写新50指令对用的函数,大人能再发下再战江湖的jymodify.lua源文件码?




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

不用,对50的支持全部都在readkdef.hsk
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-4-25 21:28 | 显示全部楼层
本帖最后由 lsl_lsq 于 2011-4-25 21:36 编辑

回复 28 # jy02785317 的帖子


是的,50指令的事件现在都可以执行了,就是有些到中途或结尾时出错,退出。。

这是,华山拜师,到最后剑法后就退出游戏了,我用的是苍龙的jymodify.lua文件(仅修改了一些参数),以下是Debug里的代码:在Windows里用你的加密的再战江湖的jymodify.lua文件就没问题。所以,我觉得还是再战江湖的jymodify.lua里增加了一些函数的原因。

12:30:37 JY_Main start.
12:30:48 Loadrecord time=2803
12:30:48 Start game cycle
12:30:50 Load MMap Scope=24
12:31:10 Event:983
12:31:10 length=12
12:31:11 Event:983
12:31:11 length=12
12:31:15 Event:982
12:31:16 length=12
12:31:20 Event:962
12:31:20 length=102
12:31:30 Event:964
12:31:30 length=408
12:31:4350code::[17:0:0:0:102:1:0]start:74267
12:31:43 ./script/readkdef.hsk:418: attemptread read to undeclared variable x50
12:31:43 stack traceback:

./script/jymain.lua:108:in function <./script/jymain.lua:106>

[C]:in function 'error'

./script/jymain.lua:125:in function <./script/jymain.lua:124>

./script/readkdef.hsk:418:in function '?'

./script/readkdef.hsk:871:in function 'NewInstruct_50'

./script/readkdef.hsk:1110:in function 'ReadKDEF'

./script/readkdef.hsk:2:in function 'oldCallEvent'

./script/jymain.lua:2707:in function 'oldEventExecute'

./script/jymain.lua:2685:in function 'EventExecute'

./script/jymain.lua:2362:in function <./script/jymain.lua:2355>

(tailcall): ?

(tailcall): ?

./script/jymain.lua:1142:in function '?'

./script/jymain.lua:2180:in function 'ShowMenu'

./script/jymain.lua:608:in function 'MMenu'

./script/jymain.lua:1350:in function 'Game_SMap'

./script/jymain.lua:311:in function 'Game_Cycle'

./script/jymain.lua:199:in function <./script/jymain.lua:111>

[C]:in function 'xpcall'

./script/jymain.lua:103:in function <./script/jymain.lua:101>

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-4-25 21:44 | 显示全部楼层
readkdef.hsk:418: attemptread read to undeclared variable x50

需要你先建立一个全局变量
方式如下
x50={}

一定注意要使全局的,不能使用local关键字
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-4-25 22:46 | 显示全部楼层
本帖最后由 lsl_lsq 于 2011-4-26 13:09 编辑

回复 30 # jy02785317 的帖子


原来是全局变量问题啊。。

在PSP上测试了几个原来退出的事件,现在都正常了,有些小问题,开始游戏出现一堆选项时,是乱码。。

物品图标错乱,不过这些都是小问题了,基本大功告成!


凤阳接镖事件死机了。。

看debug没出问题啊!!!

14:27:5550code::[4:0:0:1000:4:0:0]start:117328
14:27:55 <<4?4
14:27:55 50code::[8:0:7222:400:0:0:0]start:117380
14:27:55 400,
前面的地名为目的地,后面的银两为要护送的银两数,*事成赚取提成佣金.
14:27:5550code::[34:0:15:45:285:50:0]start:117506
14:27:55 50code::[33:0:400:20:50:26211:0]start:117541

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


谢谢027大人的耐心指导,现在的状态是基本上没有大的问题了。

今天又测试了很多50指令事件:挖矿,打铁等都没问题了,就是很多地方显示的是乱码,但是看debug文件那些中文都是被正确读出来的,如下面的情况,为什麽DrawStr的时候变成了乱码?

13:33:34 <<9?9
13:33:34 50code::[8:0:7819:400:0:0:0]start:1398728
13:33:34 400,
请选择所需铅的个数
13:33:34 50code::[34:0:15:5:168:25:0]start:1398861
13:33:34 50code::[33:0:400:20:10:26211:0]start:1398904
13:33:34 DrawStr::??
恁寁垀剒??腔跺杅
13:33:3450code::[0:1:7820:0:0:0:0]start:1399030

是这段代码的问题吧?(对不住,又复制你的代码)

                                 local str='';
                                local col=ReadCol(e5%256);
                                for i=0,1000 do
                                
                                    local char=x50[e2+i] or 0;
                                    if type(char)=='string' then
                                        str=str..char;
                                    elseif char~=0 then
                                        str=str..getchar(char);
                                    else
                                        break;
                                    end
                                end
                                str=lib.CharSet(str,0);
                                local fontsize;
                                if CONFIG.Type==1 then
                                    fontsize=18;
                                else
                                    fontsize=CC.DefaultFont;
                                end
                                lib.Debug('DrawStr::'..str);
                                DrawString(e3,e4,str,col,fontsize);
                                ShowScreen();
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-4-26 21:53 | 显示全部楼层
本帖最后由 jy02785317 于 2011-4-26 21:54 编辑

可能原因1 错误的进行了内码转化,考虑去掉lib.CharSet(str,0);之类的试试
或者在转化前,你先debug看下


---------------------------
或者你再试试s60版的readkdef试试,直前跳出可能是没有x50?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-4-26 22:50 | 显示全部楼层
回复 33 # jy02785317 的帖子


嗯,前面的很多跳出,是因为我把X50设成local造成的,改为全局变量就没问题了。。

现在的问题还是乱码,不仅是在PSP上,在PC上也是乱码;用你提供的最新的readkdef.hsk倒是正常了。和目前使用的差别是把

以下的代码:

function ReadTALK(id,flag)

localtidx=Byte.create(id*4+4)

Byte.loadfile(tidx,CC.TDX,0,id*4+4)

localidx1,idx2

ifid<1 then

idx1=0

else

idx1=Byte.get32(tidx,(id-1)*4)

end

idx2=Byte.get32(tidx,id*4)

locallen=idx2-idx1

localtalk=Byte.create(len)

Byte.loadfile(talk,CC.TRP,idx1,len)

localstr=''

--str=Byte.getstr(talk,0,len)


fori=0,len-2 do

localbyte=Byte.getu16(talk,i)

byte=255-math.fmod(byte,256)

--Byte.setu16(talk,i,byte)

str=str..string.char(byte)

end

--str=lib.CharSet(Byte.getstr(talk,0,len),0)

--lib.Debug(string.format('id=%d,idx1=%d,idx2=%d,len=%d,str=%s',id,idx1,idx2,len,str))

ifflag==nil then

str=lib.CharSet(str,0)

str=GenTalkString(str,12);

end

returnstr;
end

换成了以下调用鱼大的函数:就出乱码了

function ReadTALK(id,flag)

return
ReadTalk(id)
end


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

显然是内码转化的问题了

以下是一些基本不会错的
1.talk里存的是big5码存储的(当然还是加密,其实就是简单的取反了)
游戏需要转成gbk
我的处理50指令中能读取talk
最终是成为gbk,显示出来
鱼的代码是读取old_talk.lua,这个文件里是gbk存储的

以下是猜测

用鱼的代码读取后就是gbk了
但是在我的代码中,还是有内码转化,所以乱码了
解决办法是,在鱼的代码后,加入内码转化成big5

以上只是猜测,但是大体的思路应该没错

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


确实如027大人所示,是内码转换的原因。。

已经用鱼大的程序将文本都读出来了,就不用再转换了。

把你的readkdef.hsk中的“str=lib.CharSet(str,0)”语句都屏蔽掉,就没有乱码了。

现在发现的还有1个问题是,物品贴图是混乱的,原先改
CC.StartThingPic就行了。目前估计是readkdef.hsk程序又有新代码处理贴图的原因吧?

CC.StartThingPic=3501          --物品贴图在mmap/smap/wmap中的起始编号。CC.LoadThingPic=0有效

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

回复 35 # jy02785317 的帖子


Readkdef的50指令代码不错,这个再战江湖的PSP版移植基本完成了。

在最后的测试中居然发现存档后,再读档居然主角的位置不一致,第三档甚至跑得非常远。大问题倒没有,这样就出了一个进北京后,再出来程序又自动跑进北京的问题!进去出不来了。。(首都好也不能这样折腾人吧?

替换了027大人的S60手机上的jymodify.lua文件后就没问题了,而目前的jymodify.lua是用苍龙的,仅仅是修改了起始位置,离队事件ID更换,武功动画贴图调整等参数等。是不是还有别的再战江湖内容要在jymodify.lua添加啊?


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


KA大人,目前做的再战江湖的PSP版有些小毛病,如下图虚竹只有半个等,027大人说你有他修复过的源码,是手机版再战江湖的源码吧(应该是jymodify.lua文件吧?)。

能不能发给我?非常感谢!!


本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-5-17 05:13

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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