|
发表于 2004-6-28 17:37:14
|
显示全部楼层
Originally posted by 扬州江湖 at 2004-6-28 15:23:8 V3 D m; n+ U9 h* A9 T( N
还有一个问题就是用户改名了但是他的徒弟的师傅里面还是原来的名字。
% a, f) V& K" Q
3 ?, ^9 s9 A- J, F L, C强烈希望把此类游戏部分的问题在二次开发版块中发表!% n/ j3 y9 N1 u3 j1 l. a& U
5 D8 \& x2 Y1 K3 ]. N* Z3 \9 ?+ ]4 Y
此问题可以在 PreCmdRename() 函数中增加SQL命令来实现:
2 t! v5 V2 ] p& t, V A0 R……0 F( i3 p- \& g' {
strCmd.Format( \"update \"DB_TB_DATA\" set \"DB_FD_NAME\"=\'%s\',\"DB_FD_MONEY\"=\"DB_FD_MONEY\"-10000 where \"DB_FD_ID\"=%ld\", szParams, pUserInfo->m_nUin );; C7 A8 g3 ^! y2 D
db.ExecuteSQL( strCmd ); //更新名字! _2 T6 `7 h6 x! n( H) x
strCmd.Format( \"insert into \"DB_TB_ADMINLOG\"(\"DB_FD_A_TIME\",\"DB_FD_A_LOG\")values(now(),\'%s[%lu] 换名 %s\')\", pUserInfo->m_szName, pUserInfo->m_nUin, szParams );6 M' h! D, V5 j, @5 Q5 ?4 j, @
db.ExecuteSQL( strCmd ); //记录换名到管理日志2 I. t, m+ u% {# x( I
增加如下格式的SQL命令:
/ z2 e0 d- B! f- P6 B0 ustrCmd.Format( \"update %s set %s=\'%s\' where %s=\'%s\'\", 用户数据表, 名称相关字段名, 新名字, 名称相关字段名, 旧名字 );
+ f; A; _7 U8 C2 ]. s4 Ldb.ExecuteSQL( strCmd );//执行SQL% T, Y# X. ~6 m
实例如:
- f8 ~, j0 B2 K( E. EstrCmd.Format( \"update %s set %s=\'%s\' where %s=\'%s\'\", DB_TB_DATA, DB_FD_TEACHER, strParams, DB_FD_TEACHER, pUserInfo->m_szName );
* B5 _4 M1 L; l& Vdb.ExecuteSQL( strCmd ); |
|