

【数据库重名】问题的研究结果,及【粗略解决方法】希望有人能完善下。
PS:没有耐心的 和对数据库完全不通的,以及对这方面不感兴趣的请pass。我自己都觉得头晕~~~~~~~~~~魔力私服,最新魔力宝贝私服技术交流/ |- U4 i6 y3 m7 k; n
8 [# O7 |) x* Y' M( N! u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表相信现在很多人的数据库都会出现重名角色被替换的情况。
$ [1 z% S- O! l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这种情况实际上是由数据库中的几个字段造成的,
3 c) } J8 ` Y, @$ Y首先我们来分析一下数据库表
! t( A- H1 M8 Y" \- N9 q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
4 q& ?; i# E/ b% `: {魔力私服,最新魔力宝贝私服技术交流tbl_user 这个 是存放角色登入账号的。其中包括:
7 w/ `- v2 ?. Y4 b; f( V( r妖城在线论坛AccountID AccountPassword EnableFlg TrialFlg DownFlg ExpFlg SequencNumber UseFlg BadMsg CdKey ID RegTime ip safeword HellScore
: t2 [* z# o/ u1 H% k+ Ebbs.mocwww.com" e9 c' ?5 [% C7 D* e2 J& w
这里基本英文大家也明白了
# D* {7 Z8 K) b+ ^# C) f/ k; G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートEnableFlg 这个就是决定账号是否冻结的 另外 这里影响到重名删号问题的字段是
0 V* G, k& N7 p. V+ m9 OSequencNumber 这个字段就是代表你该账号开角色的序列号。每建立一个角色 该字段自动+1 删除角色不减
+ Y# M) y* f% V, j qbbs.mocwww.com这个字段直接影响到
# Y7 D7 V9 L9 Y6 U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表tbl_character 即人物表 的第49列数据 即 RegistNumber,就是 人物注册序列号
0 a; y7 S: \$ [7 Qbbs.mocwww.com实际上这里才是关键,当建立人物的名字和该字段的序列号完全相同时,系统将会自动将数据Update【更新】而不是Insert【插入】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ y- {$ ^ M) Y7 I/ r
就好像说你登出 要存档,这个存档就会替换原来那个存档 这种方式! O" }. u2 R( q; ^; I# r+ E7 r
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 v3 [5 b( y& \2 W h+ k4 m8 g: s( o
即后面建立的人物替换了该行人物的资料。当然 CDKey也被替换,所以 前一个账号的CDKey中 即账号中 人物就消失了。6 J7 \- X5 g) k: H: _! X, c* g# w3 x
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) f: K$ R6 r: L c2 [ [
而
, g! h1 g5 t! p& T: c& {4 z2 u魔力私服,最新魔力宝贝私服技术交流tbl_item 的第91个字段 RegistNumber 决定了 人物物品的位置,以及tbl_skill 中的字段并未被替换消失。
) [0 P$ l! o5 q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート所以bbs.mocwww.com: U; I# j: e: }3 q, h
恢复人物的方法是。bbs.mocwww.com8 F' O0 ~* d! _$ G
在被替换的账号中,建立角色名和原来完全相同的角色,并且把tbl_character 中的 RegistNumber 改回和bbs.mocwww.com. Q4 ]9 v; o$ W* c1 y- o! E/ L9 v Y
tbl_item 中的 该账号原来角色的 RegistNumber 相同 即可bbs.mocwww.com5 H* s* X- X% q
这个RegistNumber 在tbl_skill的第二个字段也一样。 ^# l5 k6 i2 [( {
决定了该人物的技能
6 S: C4 o$ V5 G$ L4 c7 Abbs.mocwww.com那么 原来的人物的技能和物品都将会被回复~~~~~~~~~~~~~~~~~~bbs.mocwww.com/ J0 s. Y. I; \- ?2 V% p P, N
妖城在线论坛, o7 e4 k% a4 ~1 j, y% P
小建议。 相隔一段时间 更改一下 注册的页面的SQL语句代码~ 使得注册的SequenceNumber不一样就行了bbs.mocwww.com" S/ S8 Y% q) J2 D4 G% Z
方法如下 打开注册网站的注册页- h' o2 x6 ]" N9 X! h
找到这一行SQl语句:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" Y/ a& i. s4 R$ T! a
) ]4 C# o; [: n: Y8 F3 W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$sql2="insert into tbl_user (AccountID,AccountPassword,EnableFlg,TrialFlg,DownFlg,ExpFlg,SequenceNumber,UseFlg,BadMsg,CdKey,safeword,RegTime,ip,HellScore) values ('$id','$pass','1','8','0','0','100','1','0','$id','$mlhy','$data','$userip','$regscore')";妖城在线论坛: t `- b! L9 q5 q" D; {
! h1 d1 u& k; n魔力私服,最新魔力宝贝私服技术交流后字段的 '100'就是 创建人物序号
/ a+ V% ?( y2 c' ]' r, j妖城在线论坛自己更改即可造成重复也不会消失的人物。: I2 w2 l; `' W7 X7 Z" J
% \- f: N5 j* j3 X" T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート给高手们的建议:+ b, s A& x# v4 m1 x% X3 }3 U# ?
由于本人的汇编很烂(我搞C++的)bbs.mocwww.com# H; _7 c; L2 }4 {, H
所以不想研究gmsv或者cg_190的 IDA反汇编编译。
' E- [/ R3 l8 k5 ~7 a' ?妖城在线论坛 u/ g7 G1 g/ u/ b3 q! q9 Q
懂这方面的朋友可以进行以下操作:/ h7 D6 v) G0 u# L1 k
1加入验证组。进行character表的Name行字段验证,如有重名的返回错误不让创建人物即可,这个 貌似同一个账号创建相同名字的人物时会提示,调用即可。
; W0 D8 j2 q7 |; Z" \+ g! L: K2更改更新人物时候的SQL语句,不是进行Name 和 RegistNumber 的判断, 改为 CDKEY和 RegistNumber的判断
& Y* a. d' Z9 }bbs.mocwww.com这样的话还是允许重名,但至少不会再删除。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) ]4 z; c! e2 \8 l
bbs.mocwww.com/ D2 [! E* D3 T' N9 f- N
PS:另外听说过某些人可以通过网站验证重名,之类的。。。。。。
) b+ t1 V- U( x! O: T7 {) A4 ]+ g妖城在线论坛我暂时是没时间搞这么多了,这里只写给觉得有用的人看看,如果有用 ,写出了不允许建立重名账号的bbs.mocwww.com( I$ }9 I! x5 r( `' N/ F: l4 k
希望能共享一下 谢谢。