

【数据库重名】问题的研究结果,及【粗略解决方法】希望有人能完善下。
PS:没有耐心的 和对数据库完全不通的,以及对这方面不感兴趣的请pass。我自己都觉得头晕~~~~~~~~~~妖城在线论坛: W7 Y! `: V! E8 D" J* {
0 ~ m$ D7 ]8 S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート相信现在很多人的数据库都会出现重名角色被替换的情况。
/ a. H0 p {9 x# f2 Abbs.mocwww.com这种情况实际上是由数据库中的几个字段造成的,
$ W' u6 X- t3 D4 @魔力私服,最新魔力宝贝私服技术交流首先我们来分析一下数据库表, K; A% U9 u. v. h" N
魔力私服,最新魔力宝贝私服技术交流( t- B! g+ j' K5 Q
tbl_user 这个 是存放角色登入账号的。其中包括:
6 ]/ }7 i; F- b* F: I/ J. i9 GAccountID AccountPassword EnableFlg TrialFlg DownFlg ExpFlg SequencNumber UseFlg BadMsg CdKey ID RegTime ip safeword HellScore
/ j2 @ V/ | l% r @7 j* G妖城在线论坛bbs.mocwww.com0 ~" @& A& k" d# t: N3 l* |
这里基本英文大家也明白了
% p- ~/ e" c# v/ j2 C9 N2 P* Dbbs.mocwww.comEnableFlg 这个就是决定账号是否冻结的 另外 这里影响到重名删号问题的字段是
/ R9 \+ @* W% G$ m* s) x4 E魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表SequencNumber 这个字段就是代表你该账号开角色的序列号。每建立一个角色 该字段自动+1 删除角色不减
! y! J6 {) x2 ?; h5 O这个字段直接影响到. r/ b# a0 r: z9 n5 E
tbl_character 即人物表 的第49列数据 即 RegistNumber,就是 人物注册序列号
2 C/ G0 c$ |* Q. B, i$ x2 |bbs.mocwww.com实际上这里才是关键,当建立人物的名字和该字段的序列号完全相同时,系统将会自动将数据Update【更新】而不是Insert【插入】
( G$ ?* t' R' T* D+ L; C7 @9 Q妖城在线论坛就好像说你登出 要存档,这个存档就会替换原来那个存档 这种方式
5 z0 @9 [- A, F4 ]! N- K( f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 e$ E' u: ~( u( |
即后面建立的人物替换了该行人物的资料。当然 CDKey也被替换,所以 前一个账号的CDKey中 即账号中 人物就消失了。魔力私服,最新魔力宝贝私服技术交流& i# {2 f$ @( U! I _/ k* [
. P t2 b+ b0 b1 B8 {妖城在线论坛而bbs.mocwww.com8 q6 n, x4 N& R. n1 t
tbl_item 的第91个字段 RegistNumber 决定了 人物物品的位置,以及tbl_skill 中的字段并未被替换消失。bbs.mocwww.com/ V/ }/ ~( Y/ `# I3 y: j: a- G
所以: L9 K# ]0 D5 b" K7 V* {
恢复人物的方法是。
! F b% T v- u5 E4 \! m8 J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート在被替换的账号中,建立角色名和原来完全相同的角色,并且把tbl_character 中的 RegistNumber 改回和
; @5 z0 t% X* f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートtbl_item 中的 该账号原来角色的 RegistNumber 相同 即可
9 V+ K/ I! u2 n# W; u4 Wbbs.mocwww.com这个RegistNumber 在tbl_skill的第二个字段也一样。妖城在线论坛 h6 U6 [ J9 A# i' w
决定了该人物的技能 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 Z( Q- w% u0 J4 K8 M
那么 原来的人物的技能和物品都将会被回复~~~~~~~~~~~~~~~~~~! r" Z! P( {- _$ y" U5 R4 x2 n
p* h+ M' U3 L: A- W妖城在线论坛小建议。 相隔一段时间 更改一下 注册的页面的SQL语句代码~ 使得注册的SequenceNumber不一样就行了妖城在线论坛/ f9 ?6 B* V) W
方法如下 打开注册网站的注册页妖城在线论坛7 v9 \; \3 b% v
找到这一行SQl语句:
! Z9 w, H: y, v6 w! L' ^魔力私服,最新魔力宝贝私服技术交流
8 p& F9 H* Q( D9 sbbs.mocwww.com$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/ \9 c& p0 i9 E* V! V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 E" i+ j$ a. a2 b4 z
后字段的 '100'就是 创建人物序号
: H; t7 E3 V- i- q5 p. U1 @6 z. Pbbs.mocwww.com自己更改即可造成重复也不会消失的人物。
" u/ X6 ]7 L/ y6 y, v' z" f$ ?- H5 c' y
给高手们的建议:魔力私服,最新魔力宝贝私服技术交流' V. T5 W! V' s% R4 y
由于本人的汇编很烂(我搞C++的)
) x' j% {2 t6 q5 J1 [# \7 z+ s所以不想研究gmsv或者cg_190的 IDA反汇编编译。bbs.mocwww.com- A9 P4 a* |. R
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 L3 t! P" ], y
懂这方面的朋友可以进行以下操作:. }# j$ x4 b( x1 N$ M' Y. J( ]& [
1加入验证组。进行character表的Name行字段验证,如有重名的返回错误不让创建人物即可,这个 貌似同一个账号创建相同名字的人物时会提示,调用即可。魔力私服,最新魔力宝贝私服技术交流9 C6 ~4 d$ V" L7 f
2更改更新人物时候的SQL语句,不是进行Name 和 RegistNumber 的判断, 改为 CDKEY和 RegistNumber的判断
0 P$ H+ p I! s2 j: [0 _8 \+ {这样的话还是允许重名,但至少不会再删除。
" v8 ?8 R# G" D+ z魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 E9 C) |/ c# e7 ^8 p, J- k0 ~: ^
PS:另外听说过某些人可以通过网站验证重名,之类的。。。。。。
* J. h' Z: ]# L5 h8 \9 F, j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我暂时是没时间搞这么多了,这里只写给觉得有用的人看看,如果有用 ,写出了不允许建立重名账号的—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" [" \+ u3 W" d- ^! |
希望能共享一下 谢谢。