翎风传奇2服务器端全套源代码下载(Delphi 7版) ( 积分: 200 )

  • 主题发起人 主题发起人 解元
  • 开始时间 开始时间
艾,原来楼主是在做广告啊!!!!!!
不就是要出售你的代码吗!高的这么复杂!!!
 
楼主把伊美达地图编辑器(真彩色)源码放出来吧!
 
我也想學習一下。。請樓主幫幫忙。為DFW們做點好事。先謝過了。
 
哎 做人要厚道啊!
 
没办法啊,我也是受人之托。宣传得越多,我能拿到的代码也越多啊。等我拿到了,自然会给大家分享的。
那个真彩色的WIL资源编辑器,暂时就不发了,毕竟是我伊美达的三件宝贝之一,但是那个地图编辑器,可以给大家发出来学习研究。下载地址:
http://bazhu.24hk.net/MapEditor.rar
哎,我也是没办法啊,还没200回复就给你们发东西了。
 
那就先看看这个地图怎么样!
 
呵呵,替人卖广告的!
 
地图居然是0字节,
根本就没东西
 
原来解元是伊美达的高手!失敬!失敬!
想问楼主一个问题,希望楼主能如实解答:
真彩系列编辑器是你们自己开发的还是从韩国泄漏出来原版代码?谢谢!
 
真彩色的是自己做的。
 
变量:
HumAddItems :pTHumAddItems;
语句:
HumAddItems := @HumanRcd.Data.HumAddItems;
PlayObject.m_UseItems[0] := HumAddItems[0];
问题:
从第二个语句看来,HumAddItems应该是个数组,但是从第一个语句看来,应该是一个指针,那么pTHumAddItems应该怎么定义呢?其中HumanRcd.Data.HumAddItems是个THumAddItems结构,而THumAddItems应该是个数组。
哪位大富翁知道吗?回答出来的,可以选择奖励分数,或者是传奇2登陆器完整代码一套。
 
俺来回答(希望楼主能奖励一套代码[:)]):
首先HumAddItems肯定是一个指针(其实Delphi中的所有对象都是指针).
关键是这一句:HumAddItems := @HumanRcd.Data.HumAddItems;
他的意思是:将HumanRcd.Data.HumAddItems;这一块指针做指向的内存赋给HumAddItems指针,通常的做法应该用Move来做。如此就给HumAddItems赋值了
楼主说“HumanRcd.Data.HumAddItems是个THumAddItems结构”不知道是猜测还是原代码中的确如此?当然是记录结构也好是字符数组也好,用move都可以。小弟分析:HumanRcd是一个记录结构,它的成员Data也应该是一个记录结构,但是data的成员HumAddItems定义成记录结构或者字符Char数组都是可行的,当然如果楼主有源代码的话,那么如果原代码定义成记录结构也不影响。
THumAddItems也的确是一个数组,但是是一个字符Char数组,用Delphi表示应该是:
THumAddItems:array[0..MAXSize] of char;。
从楼主贴出的代码片段来看应该是从C++版本转换来的,小弟猜测这个定义与盛大的M2Delphi版(不是LF版本,因为按没有见过LF代码)的定义好像不同。
因为C++版本中,玩家的装备是放在一个数据库表中,也就是FLD_HAIR, FLD_DRESS_ID, FLD_WEAPON_ID,FLD_LEFTHAND_ID, FLD_RIGHTHAND_ID, FLD_HELMET_ID, FLD_NECKLACE_ID
等字段中,因此C++版本用了一个字符数组来存放这些属性,但是Delphi版本中好像并非如此。
如此分析,那么THumAddItems也就是一个PChar类型指针也就是C中的零结尾字符数组(字符串)。pTHumAddItems就可以定义成一个指向字符数组的指针。
以上是根据C++版本的分析,Delphi版本正确的定义还需要具体分析代码,因为THumAddItems也可以定义成记录结构数组。
如;THumAddItems:array[0..MAXSize] of TUSERITEM;
PUSERITEM = ^TUSERITEM;
TUSERITEM = packed record
Id: LongWord;
GoodId: Word;
// 物品id
Stand: Word;
// 当前持久值
MaxStand: Word;
// 最大持久值
keep: array[0..13] of Byte;
//保留
end;

数组元素的正确定义要根据M2和DBServer来确定。
只要确定了数组元素,那么:pTHumAddItems = ^THumAddItems;
类似的定义会同时出现在DBServer和M2中,那么这两个程序的定义就必须一致才能准确通讯。
俺研究C++版本有些时间了,愿意进一步和楼主探讨。希望能获赠楼主的代码[:)]我是楼主的QQ好友[:)]
 
pTUserItem=^TUserItem;
TUserItem=record //=24
MakeIndex :Integer;
//+4
wIndex :Word;
//+2
Dura :word;
//+2
DuraMax :Word;
//+2
btValue :Array[0..13] of byte;
//+14
end;
 
THumItems=array[0..12] of TUserItem;
pTHumItems=^THumItems;

pTHumAddItems = ^THumAddItems;
THumAddItems = array[0..12] of TUserItem;

这个是我的定义,但是当一个变量是pTHumItems的时候,其他代码里竟然可以用HumItems这样来访问。我搞不懂啊,估计是pTHumItems定义错误(这部分的定义已经丢失了,其他有的部分应该不允许去修改的)。我只好改成HumItems^,才可以通过编译。
 
不厚道!!!!!!!!!!!!
 
To 解元,我也和凡子聊過。他主要是搞源碼SALES的。在他哪不能拿到密碼,請問你這邊的共享版什麼時候可以讓兄弟學習一下呀。
 
要代码还不好到http://www.zzhjrj.com去找
 
WIL...之類的文件找不到。。哪有下載。。給哪位兄弟可以上傳用用。謝謝
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部