|
在这里,我向你解释如何在源选择安装到创建工作中的字符。
6 B# ]2 G! H$ m../NEUZ/Versioncommon.h0 @" _" O$ W3 m3 w6 D
: N9 T A! n* u: h在上范围进这里只是这一个:
' l; r2 M2 X- [6 x" b代码:+ D/ V `: c8 y; q0 p6 S
2 Q1 o0 u; y2 A, q/ j+ N, n#define __JOB_CREATE_CHAR
5 y A3 v; Q5 `" J/ [/ d../_Interface/WndTitle.cpp
. ^6 b, \9 P2 C7 G7 z$ l R: V8 g9 x0 v4 H
在这里你进入功能% t" M) n8 t& X' R3 z8 X2 s C. P0 k, v
代码:
2 _$ }' o6 Y' s t$ u- X$ [# i6 G, `' j/ J# Y! f. {1 n3 ^
void CWndCreateChar::OnInitialUpdate()
( g! u1 S$ f/ ?/ S9 U并有助于
, W: V7 A9 t4 n! y; G- e8 |7 X8 C代码:9 ]+ J* u# f- Q0 _8 g# W* ~
CWndNeuz::OnInitialUpdate();8 q% F7 s2 X! C! Y/ H/ o% B9 o# f) a+ g
这样的代码:% [6 H4 N) y& X" K' I! }+ }
代码:) @) O6 T7 [0 d \) s
#ifdef __JOB_CREATE_CHAR
2 R0 Y7 J1 C# Y# p m_Player.m_byJob = JOB_MERCENARY;+ U/ v3 x8 w+ g; L9 g, ]9 S
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
$ W6 Q& T# I T& \# H( T. G pWndJobBox->AddString("Mercenary");//Edit by yannickmama( Z% {# F# G1 T' J% H9 q2 b
pWndJobBox->AddString("Acrobat");1 n" j0 L! |* Z3 w
pWndJobBox->AddString("Assist");: g5 a$ m: R |! g" U! F8 F; v8 b
pWndJobBox->AddString("Magician");
2 {. t9 f* n4 r7 s% l* k4 I pWndJobBox->AddWndStyle( EBS_READONLY );
/ p+ m0 J2 g- D7 [0 _ pWndJobBox->SetCurSel( 0 );0 B( w& \ X6 D# B7 C
#endif //__JOB_CREATE_CHAR
- m/ A8 p3 h7 r W在同一文件中,我们跳到这个功能
6 S R2 j' [2 U代码:
' b5 y9 y" {" q- U% r9 ]& j4 wBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )* A4 {) G3 t4 q% x/ }
并查找这一行:
- V3 J. I. G: K$ l代码:
# ^# D- M0 y% q, Y case WIDC_OK: // Create
% S' l& y$ [& G# F$ b* h {2 C1 E& k) H- T% i0 ?- l9 a
下面我们就这一个:
' ?8 |2 r( M \! a) |代码:# c" O _( n0 {7 Q
" Z$ m' N) ?- f& ]
#ifdef __JOB_CREATE_CHAR
5 M; C4 z" A* L9 u2 h CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
3 p5 m; d' \1 f. |9 l7 _ assert( pWndJobBox );. c. I0 \0 X& d9 p
+ Y6 Q6 U6 @6 q if( pWndJobBox->GetCurSel() == -1 )9 b4 _/ D3 t1 O! X2 k' ^! l( l
{4 |8 y2 f( ~" e
g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );
) i( q; C# o# u; q9 i% B# r9 W return TRUE;9 B9 R7 S7 u. z! f }2 j
}
. R2 m% L) @2 A+ r& S/ ]6 A" v- Z. l, ?; L. r3 ?4 h
switch( pWndJobBox->GetCurSel() )
( U9 T+ q( w! O9 i/ l2 W8 U {
, k8 o. d; h5 P s2 J8 d4 l case 0:
* t2 k; R1 R1 {' h( v+ i- s0 E/ Q m_Player.m_byJob = JOB_MERCENARY;
- r6 b1 _ _7 C break;) ^4 b8 y8 M" u4 @+ M: `
case 1:
. C& W. V, z) J m_Player.m_byJob = JOB_ACROBAT;
: P! Q1 @' v1 t. X9 L break;+ T% f& i5 W9 c, v$ V
case 2:
& Z/ A4 f" W/ ^" N& o# \+ A. | m_Player.m_byJob = JOB_ASSIST;
' R9 S: F6 E" i break;; Q& h, A7 D; c: |5 a% I0 V
case 3:! A: a+ n, t# @) T% ~% E
m_Player.m_byJob = JOB_MAGICIAN;: f" d/ k2 ?! R! @# R
break;# Q/ n$ ~- `( s2 x( h
default:+ ~ N. M8 S1 F7 h
m_Player.m_byJob = JOB_MERCENARY;
" ?0 n/ G+ L6 F Q- K9 ?0 ~( I break;
3 e8 o# a* X- Y# R: I2 C }+ G5 i/ H2 C" G7 O3 @+ D* @( t" G1 B
#endif //__JOB_CREATE_CHAR# g4 R; _* k: H
1 [6 j# j3 y; c, z% L
../databaseserver/versioncommon.h
/ U- @- Q% y4 h; |$ U! w1 T: C c. Q9 R- A$ j% P
在这里,我们这一个以上的地方进行
# C% w' a" G* o* P+ |代码:
- l, ?; g+ B' `# S! t6 Y3 A2 a3 |- M) j
#define __JOB_CREATE_CHAR$ z c I+ Y! w8 j* f5 v" Q
../_Database/DbManager.cpp, r9 R Q I4 b2 Q% [
! p2 S1 q2 }* `" |
在那里,我们去的功能
: Z8 f3 I) Y# _. X" ] R( `代码:# A+ G) o- h! J5 E
+ F5 n! T) G! B
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )7 k& @# m8 w4 z6 w$ ~( D/ m
并搜索
" o) n" B! T9 p" l# G& X; L代码:: P8 i, ^0 E# w8 U( f
pd.data.nJob = 0;
9 `; ]1 M) {& q; X并替换为
) v& i$ x# l* \* S- D, I代码:( O; o9 p! F0 q
#ifdef __JOB_CREATE_CHAR K: Z8 R4 X; j7 ]) f
pd.data.nJob = nJob;: q; _4 X6 }0 d8 f! b6 ^- @
#else //__JOB_CREATE_CHAR
7 U: d+ o+ N9 z7 {% _& G pd.data.nJob = 0;$ X7 n# y. W8 u9 L1 g
#endif //__JOB_CREATE_CHAR
; ~ C( U" w3 G3 I
" [. Z; w2 `( N) F* ^' D; }' X这将永远有一个来源的东西。
$ ^% C! c% c$ ^
( r2 @; I1 E3 y6 n7 }但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库
. K p# z0 x, v7 ~. H5 Q+ g和搜索
7 x8 e) U( y' i5 `1 f9 j) H: q代码:
! o, @ {* D$ }2 A" \7 J+ `% R! @# d' h& l2 c
FROM BASE_VALUE_TBL- U, s1 h9 N, \' k
WHERE g_nSex = @im_dwSex: k7 l9 c4 c. w, N9 `. u
并替换为3 x' T; I! @: l* h& s
代码:" ?4 v5 y0 b+ }" k/ I. g
FROM BASE_VALUE_TBL
" p& I, o) m4 u# e# Z0 _1 P: T6 o7 i5 q WHERE g_nSex = @im_dwSex AND% h, B/ j8 J4 {0 [8 j
m_nJob = @im_nJob
' \& }5 d- Q, o当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。8 C$ b0 z6 T' s
0 |( E! X- u$ w7 z6 o你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。
& J+ U; _9 i( {1 W/ O) u ?8 V. U1 B) w5 ~1 y! u" \ _
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
$ b: n, I: M6 r0 S8 e5 X& Q6 C3 S这是那里告诉服务器哪些技能你的角色可以skillen。7 K3 z$ ]8 e+ o1 Q0 ?
可惜我不再the'm懒得现在要做的话:'D/ y. o, S/ Y+ }2 q- k6 R
$ Y) X/ Z! ^- P
% `, P4 J6 t1 |3 X; |( a* m- I$ g3 c! O- U# M
* {& O, k+ X1 _0 b+ i
* \: I# T* C2 j# A
2 \- n% Z [/ j# i/ t7 W
. _+ c/ _8 S- w* s. [7 c, G: Y- v0 E+ K D" F
Quote:( G, a- y( B7 x1 {; ]! k: E1 B
Originally Posted by Divine. R" @# ]" @8 T! H( [
如果他发现我
+ Q- u5 C5 o5 s; b( u( g代码:
, x" t v4 b3 A& I pd.data.nJob = 0;
! o9 ]6 U* ?3 J: T9 V4 K并非如此:8 F1 \4 u! |, l" V. \
所以,我只能看到+ z* b. J3 f' F* a+ f% G& z& b
代码:
( m) L4 d1 i z: M& G // pd.nJob = 0;
/ C/ |% x g5 J+ B' o% y! F^^
, W# J+ q% C) c; FHier, das mussu finden:: I. }; I1 k' O
Quote:' [7 W% A: i( m
#ifdef __CREATE_JOB4 f; r" R$ x0 ^6 |. G
pd.data.nJob = nJob;6 b* f G6 \9 Q- S0 }
#endif // __CREATE_JOB- I6 t( `$ ^, p- i I
// pd.nJob = 0;
% z* b! h% E {& Q+ S; b+ e' {4 u, y// pd.dwState = 0;
9 I3 `- w: h* w+ B& P- e& F( P; ]( ~0 D/ kpd.data.nLevel = 1;- x& v3 n& x% `6 U# x( R
pd.data.nSex = nSex;
* Y, P% s' m5 V0 D2 m3 O' h3 Wpd.data.nVer = 1;
; b- Z- ^1 s$ P; q3 F/ }
! I' g: d3 r* ]1 U我仍然有一个问题(:6 L% b, \+ [9 B
下Character_STR DB
/ b( o8 T8 {" ~1 r9 O5 F: Q这样做在这里
5 S1 J2 H: V- ^1 J: r: {代码:
- l8 L I2 m0 \ FROM BASE_VALUE_TBL( L' g# w s3 a4 R) r1 s! d
WHERE g_nSex = @im_dwSex
9 W ?* x! o, S5 i6 _在这里改变0 u3 C5 n! v) g% T# M6 A" }7 w* C
代码:
E8 n7 X; [# V- p/ s. ^. \+ v FROM BASE_VALUE_TBL! n- e+ e. b1 f9 C" \
WHERE g_nSex = @im_dwSex AND* A. x" k( S! h( A. ]2 y9 v
m_nJob
( H- Y ~: G; B3 U8 y# c' C由于还需要什么?.?* M6 S1 b0 p0 U
在第一篇文章中,你可以阅读: ?8 }" S# O! \$ w
代码:& X" k- d4 k4 S: h/ x
FROM BASE_VALUE_TBL0 I: ]& p& I4 ^
WHERE g_nSex = @im_dwSex AND0 w. @+ N! y E. J# P
m_nJob
/ l# M) u; X# O4 z" x1 O7 c6 n- p
$ q8 R H3 Z) o0 \7 [/ E
窗口是什么我忘了
* x* _+ b$ L* x1 X
8 Y# c! q0 D0 e% N代码:" l4 {2 M. L( D; K; N+ Z
APP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 266 @% R9 k; |) j2 C- K/ X
{
6 s) D3 {$ ~+ u5 o5 c, x// Title String# p. t( P+ ?0 {( B$ ^# r( |( ~" A
IDS_RESDATA_INC_0030647 [4 E2 I" S! d' x& c
}7 A: L, E1 S. l+ ~" ~
{# E( J L% l) p! B9 N0 w" x6 [- Z$ m
// Help Key/ j, e4 x" o* y$ n8 \
IDS_RESDATA_INC_0030654 S6 n0 n4 j$ l$ Q1 Y8 t! ^7 ]% O/ ~
}& m8 w, n. a* s) E: k# v2 [
{
0 P& h5 b& j2 N# G0 H' P: b WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0
6 ~* b: Z+ N$ ] {% M5 K, o _6 s) P6 J7 g
// Title String
/ m" \7 G0 P0 G o3 f. G" w) Q+ `3 _IDS_RESDATA_INC_003066
6 o3 ?0 |$ d4 Q) a, q" G }
' e8 `/ C4 k' ~8 w" O# M3 @ {1 H- l( k7 l' ~# x* i- S, k' k
// ToolTip
) y5 p8 r7 ~& _, E# AIDS_RESDATA_INC_003067
& V0 q; S, d( W' B }
/ b+ s1 V+ O) f" P, M2 ]0 U WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 0
, v$ \9 C" X$ f5 Z {
" ?& h' D* X$ W# g% c) i; C // Title String
4 E9 v0 y: G* _0 gIDS_RESDATA_INC_003068; R. F- b9 V( } f, X& x5 M
}
0 b5 h! ]. |& o# b0 a9 N/ U {( W& }& ]( h; w6 z5 r
// ToolTip
6 n3 y6 W7 b- Z8 f, wIDS_RESDATA_INC_003069
& w4 h' w ^4 U U4 r }
; ]% k6 `+ z! H" I WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0! M( A% H* a( r( s
{/ p6 T: Z3 s% r7 R7 o) T) |- S% a
// Title String" p0 C; f5 P5 V5 e. U# _
IDS_RESDATA_INC_003070! [/ m' q% x- L2 h# M
}
, X& i2 G' c( r {
, Q7 V( O/ d1 C3 H& |1 _! a5 M // ToolTip
1 M: r/ k; o2 s5 Z: qIDS_RESDATA_INC_003071 o- j8 j$ L- x, o# [
}
7 w2 ~/ V9 k3 n5 |5 x. ?7 e WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0
: Z5 s. ?3 F+ d; ?' B* `. ] {4 N f4 T2 M y9 \) y. H: x6 X" H4 `
// Title String) r' ?' ^# s' ^# X
IDS_RESDATA_INC_003072
3 o+ [9 |+ {- v: q* f }
! P1 [3 r* M: a {
! o! o4 m" K7 P- c // ToolTip
) _# O2 u J0 GIDS_RESDATA_INC_0030737 Q7 ]( v% s% M$ B" C1 O; I
}
' r1 [ g) _3 Q, x% k" u: c WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0
* C0 }& J5 X' |5 U) Y5 k; i' d { N+ G$ s- v3 T1 ?- r7 t% ^
// Title String, H. U, |/ F8 p7 C0 U z% m, ^) D
IDS_RESDATA_INC_003074# d f7 w& [* Q! U# {( J, I
}$ p7 D3 }% {# L
{
. O# Y+ f7 M5 K0 D+ r) _# V // ToolTip
% X( Q5 s# M: t X3 \IDS_RESDATA_INC_003075
( d' D" |5 r- s0 ^" ^* s3 h }
9 z5 M* I$ ^7 Z, \) v; W WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0
( ^( H/ |3 B2 M/ E5 D! y ` {. `& n9 o4 g7 n3 o. O" A* r `
// Title String1 ?: a5 Y \8 U% W
IDS_RESDATA_INC_003076
- d: F/ \/ ^, o }
, i$ n+ F0 ^( [: l {
2 x( D1 g5 p5 m: J' R // ToolTip
( V; J) T; {% g& Y' Y( J# E! ]IDS_RESDATA_INC_003077
. x1 u* s F* Y2 [9 o' _ }# m5 j) `# K: q9 N; D X! H5 H
WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 02 g7 R" {0 d1 T
{/ X$ D( R2 }4 C0 \& I: Y# `$ ?7 H
// Title String
0 U. o) h$ q* m' n, h4 B' L( LIDS_RESDATA_INC_003078/ Q) }+ w$ ]/ p8 U: w& j
}1 d5 o# m- E: S, [
{
) y. B# j' z7 d9 s; k // ToolTip
5 T' \% Q- p6 G# Z2 YIDS_RESDATA_INC_003079- Z6 y+ F2 A' ^8 D4 Z4 U/ \
}6 } S6 R+ q$ u" U7 S. G ]$ O7 D3 \
WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0$ a* [- a# k1 Q) T: v4 Z
{
6 Z% D5 m' k6 @3 G$ T& z0 S // Title String
+ E' I, J$ S3 ]0 m2 l. bIDS_RESDATA_INC_003080
& L) @2 _# \- _5 |3 i+ S& r }
* J- N% a7 r. H( t% `/ a* r# { {
' `+ B4 x8 j4 T // ToolTip5 Y5 l) \5 t8 `4 U5 o
IDS_RESDATA_INC_003081
4 b P. s5 `; V }
/ {2 Y6 F4 C- w; x+ C2 C2 C: l WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 05 d* ]3 v. v( I1 ~* b% Q
{5 z# q0 f e u& q( f
// Title String) E# `9 t" g2 a3 W3 P3 L: ?- x
IDS_RESDATA_INC_003082
2 _: Z B0 q2 C% s6 k }
0 |2 @9 Z' K# I; x5 K* _: X { G1 x X" Z9 N* U
// ToolTip
$ m& ?# h2 Q- ?IDS_RESDATA_INC_003083
: O' c0 Y m* C& @/ \ }) B/ M( k! I L1 s; I/ c- Y( Z
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0
2 v7 R: c$ |: E# {) H {7 P* b7 u4 y' `: L; T \
// Title String( |) i* ?* m u: @( r- ~' e) l
IDS_RESDATA_INC_003084: g9 o6 h8 N' E4 Y9 [
}& ~# m" d2 q3 ^7 P+ y- j
{
6 L2 z' p$ G. i ` // ToolTip
, l' C. ~# I& C8 N7 U: N8 hIDS_RESDATA_INC_003085* J& _8 Z7 H, M. w9 i2 |& ~3 o
}: s3 N( _ {/ k% Q6 n
WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0
' |5 O0 ^) R( i& U {1 u8 M; ^' }- ~0 T8 H6 [- m
// Title String
, K9 Y4 s) D' y. I1 XIDS_RESDATA_INC_003086+ o/ o/ N- Y3 I* [6 @0 w. x3 @4 X
}
$ W5 A7 F/ Y' Q) h/ l {( @* @* V5 B8 T8 L
// ToolTip' G3 l8 O" ~2 n1 }1 T2 C
IDS_RESDATA_INC_0030876 d s& N9 X* {% J8 Y" K9 q
}8 [: u. a$ f# q# V
WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 0+ z4 r9 M$ \. h; z
{7 a F X o/ L! U6 ^- v
// Title String
0 m- e7 m$ e2 B% O+ O2 JIDS_RESDATA_INC_003088
( R' G& F E7 N' ?, \) R }: D/ |4 C6 P" b, F: P+ m/ b" c
{
9 q. `) j, I2 J+ w // ToolTip
$ H8 g+ U/ b/ g" ^5 A+ D1 IIDS_RESDATA_INC_003089
- R- ]- s7 j' E1 { }: M& d2 ^( A* X% }5 I6 y) K: F
WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 09 _4 u. u& J7 A1 G% Y6 L+ k! ]
{
% i6 M' c0 @" W+ Z$ R, S // Title String f& c& o+ W& u1 Z- \& M" n' }
IDS_RESDATA_INC_0030908 n. R9 x& u( ~' i
}
8 T4 Z8 q/ j u& f" T) _% H {
4 ?2 @, u1 u1 c) Y" ?! R: S) r0 d // ToolTip
, h1 N5 k( l8 IIDS_RESDATA_INC_003091. \7 B0 b) X4 ]9 S% ]
}
4 k- b, O- _2 V8 K2 ?* I" o7 D WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
/ M) {6 U4 D1 {! ^, I$ O; b' L {
3 j' G t3 Z9 X: L+ D0 N: z // Title String
' @* I5 u& p$ X: I0 ?IDS_RESDATA_INC_003092
% a7 s& z+ }) I; h2 _' K; G }
2 b6 J; A7 [6 P( v" r8 i {% Z2 V) {8 P4 y' g% r
// ToolTip0 R) O% I0 O4 n& y; ]
IDS_RESDATA_INC_003093: A2 {' ~- q/ v; c a8 s
}
X' M2 b; P! G, D4 x4 k WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 01 D+ l. E/ D( p( d2 ~
{
9 s" e4 X" v7 V3 S+ O, T // Title String1 R2 ]/ [; W, X5 Q5 F8 p
IDS_RESDATA_INC_003094; p8 }; E5 r1 n7 |
}" g& M* G' F; S2 _
{
_) B2 r7 s5 p% W$ P // ToolTip) @4 j, _5 a) v* @# q; k% \# t
IDS_RESDATA_INC_003095# l4 W/ h0 l8 z* S7 d' N. W
}
1 |8 u8 ^' K0 A WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0! }/ Z8 j* _) x6 m! W7 `! f0 ?$ Y
{+ v+ [+ ?/ J0 N
// Title String4 [7 r* t. b, J9 O# R- C
IDS_RESDATA_INC_003096* y# D0 a5 n4 ~: h' _
}! X6 N: b- L. R5 \
{7 J6 _5 Z% F& N6 \5 g
// ToolTip
, s. I# q2 I6 P4 P, kIDS_RESDATA_INC_0030974 K. r1 r+ C/ A u" S1 Y. J
}
$ J' l6 Z+ F& s4 f1 f WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 01 l0 ?; w) k' N) s
{
1 h9 s8 L+ n3 V1 m4 `% U/ ~9 o // Title String
$ |" |2 R% X8 P8 r4 ?( N/ @IDS_RESDATA_INC_003098
+ H8 c+ m7 X/ ]6 V3 B }* p. T2 E# R4 }' m- I4 P+ Q
{
) j! L, R, C d. K' D& R // ToolTip
$ r9 D% e5 t0 A1 s7 I+ W( {/ u: {IDS_RESDATA_INC_003099
; K. N* F. h) ^1 Y }6 l* _; h }1 O0 ?0 j9 n/ G5 N4 T
WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 0
! ~+ n1 m, ]3 w! b2 l {% D0 m/ a+ Y( v8 Z* Q* n
// Title String
% I7 U* F( m8 O1 o, GIDS_RESDATA_INC_005076
6 T6 a& z) W" k5 N: e) t9 N8 o) P }+ N9 D' j# C+ t
{. o; j0 K$ m4 [0 s5 P2 P7 o+ z% @
// ToolTip
5 N7 F& q) I( c4 Z1 T V/ u& TIDS_RESDATA_INC_0050779 n) ?3 J4 z9 I# \. y8 v% l- S
}1 C) X/ {1 Y: N& U E& o+ O0 ?( g
WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 02 N( U" {. \9 G2 d
{7 F; m6 Q4 l4 y% z+ q; q
// Title String
8 Z( C% m$ X8 LIDS_RESDATA_INC_0050784 L2 H2 {' W' ^1 W! T# e5 w: P
}5 L' X0 a& O; u5 }$ H! e
{
, P; ]6 U" }; U# G4 ]" z P( b // ToolTip
( [, W3 q! F4 e" u2 d( J HIDS_RESDATA_INC_0050792 D: ~" b: K6 g! b% M3 W* l( L2 L
}
5 M1 n) `" a) Y' j# d WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0
h3 ?' d( q2 L$ D0 w {6 J* r' H! G& r# @/ D
// Title String6 ~ e) } V. p0 G( M
IDS_RESDATA_INC_006874
9 s4 I7 Q. m3 B5 N5 z }: H9 F" `( t. n* b' U
{
) J, B4 J1 ^* s" T" t7 ]$ n // ToolTip
/ \9 p1 h* z7 \6 CIDS_RESDATA_INC_006875
0 d# i' `' D9 v: H. s8 P0 A$ T5 T5 s% E }
$ @5 g' T4 D' A. w WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0 Z0 D$ V4 z! a& s
{! X, i7 S& D5 x0 `5 b
// Title String. ~% i. l3 n% A1 c# Q
IDS_RESDATA_INC_006878' \: I" b0 I2 ]4 V9 r6 y
}
! u% ^/ r& _9 L {
: l9 e5 Z3 b* ]' y+ `* m% u // ToolTip7 y1 Q& e/ Z) g" w. K1 P' k# C: x1 P
IDS_RESDATA_INC_006879& E" J3 q: P4 Y
}0 D3 w* E2 q, X; c3 A! D
WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 0% }. k' R ]9 c9 ~8 ?
{1 @1 _9 i6 d2 e; w
// Title String1 z, P B7 w. Y {: K, l- P9 [
IDS_RESDATA_INC_006880' `# u! _+ e* z
}
3 f' C1 w3 N1 M4 P9 Z {
( u$ c, u: n0 @' o$ y6 A4 R // ToolTip
6 ]9 u% T( r W; i5 ]$ M2 _IDS_RESDATA_INC_0068813 N- ?. v" t# ^. h; H" d
}0 ?. D4 V5 s( ^4 K
WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0
0 n6 l: c7 G* R0 s% W4 G {2 R- w$ Y, H1 L- h! l$ a5 \% @, G
// Title String+ X" C" Q O u8 `& K: k9 T6 M; c
IDS_RESDATA_INC_006900% f: d) P" }, N& c: V! u- h
}0 k( Y6 z3 K6 G9 e( `$ V- R
{
8 Q3 L: W. e, {, [9 B9 ~ // ToolTip
4 \' ~: Q# ^- K6 E% S% wIDS_RESDATA_INC_006901
& d0 _. b8 n7 _ U. x" S8 K }) Y/ x. |! Y% s/ w" X
WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0
) V w6 f8 |2 _4 {& [& C. W& q% \ ~ {2 m6 w1 a7 r) `* E0 [) [
// Title String q2 t% N; A! n) R
IDS_RESDATA_INC_006904
; _ N. V4 i3 [1 g- Q0 U }4 K$ p! m9 z# u; g# q) J! a: \3 f* X4 ?
{/ ^# Y9 Z& d0 G* B+ v; f
// ToolTip
2 B* i$ w* s4 y0 H, jIDS_RESDATA_INC_006905
3 c N# B5 V: g& `: F }
, Z; a) G; [$ I4 C WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 0# O, n5 M# c7 S* `
{
6 s" u( E* x7 h& H7 ^& |9 C // Title String) \8 Q# ?2 w1 Y
IDS_RESDATA_INC_007134/ m7 s" S/ |' J* t, P
}
a6 a3 x8 s+ ~: w& R% R" T9 }) d {
|) v& L/ l p$ F7 @) m // ToolTip
3 K' z7 I( X$ Z& qIDS_RESDATA_INC_007135- I# D9 x$ j) m& S+ {
}
6 ?4 U; w' x: c4 q7 a WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 00 o' E/ T+ a0 L, T, b% [$ R
{
1 `# ~2 w* R8 L! k // Title String
* O1 n! t0 u2 w$ K5 dIDS_RESDATA_INC_007136' u( a5 R% w7 o- i7 ]
}# L$ i9 g& [' K5 | ]+ P$ p
{
3 ?6 @, l; y- H/ D; ]8 C // ToolTip7 u( E0 ^1 l4 p9 _8 C& r# Y
IDS_RESDATA_INC_007137
' Z, c9 p3 m" E! w }2 x( {. m5 L3 c9 H+ V' U. S
7 L9 M6 V( v8 x( z w( }}
) j8 h# C6 `* c. R# O; {所以红色的!+ m, {% P' M$ k
3 r' R" q r6 U4 V
这里还tblSkillPoint的条目:
- N6 Q l- L/ x3 v' x" `7 K, x9 ~* Q9 m1 v4 ^
代码:
, R* T7 `, G' n& u1 E If (@im_nJob = 1)
8 I! r* B! n7 ?2 x Begin
6 [% V% q. ]0 M1 r& T* y; r INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)& N2 c+ K% G4 T3 E7 t, h
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)0 h8 q y5 h* @" K" Y4 ^+ f
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)# K- R( l+ k. f$ ?& ]# h& z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)7 A5 Q4 _( v! O
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
/ y q. o. u5 @ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)
- }3 R+ m$ B! m9 [9 H y% J INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)3 I) q) a, w; q: o$ [; o
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10)
$ i7 A( _4 c& w6 T8 |* J l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)' X& G; F! o2 i0 `
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)4 f* r$ r, f/ ^/ l! Q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)
+ I, B; M _ J' n& o INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)7 j2 X* D" Y5 N/ ]( \3 O" t0 v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)( ]) e& `( a& F" S
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)3 e% a2 W( |) f" D" q$ Q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)
8 N# {5 @! ~# ^, M% c, N end
9 K+ _8 \( ~, q1 s4 C7 g If (@im_nJob = 2)
. Q: L$ Q# ~8 _) _& e Begin D; e; v( |2 L+ ~- G# u% u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)$ w# ~$ ?4 z6 `0 o) p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)
8 W9 J1 v% y# p9 r# [8 v7 y, X INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)( n, y- Z" s* w& U
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6)
8 B. n8 a3 K4 @# t. R' g* K INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)
+ [4 A: E7 l& \. a- g; F INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)
2 h) i( p ^4 g( G |2 ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)+ \, x6 F- H4 v! ~4 _
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10)1 n$ Y: I/ i% |5 K
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)
1 M; a* l- p8 s6 z- Y INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)5 [6 F& e& \( M8 D9 s* G$ K
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13), l0 _0 R; p& ?, u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)
# y. w9 l0 V/ i4 p, e INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)
$ k! W* w1 ~2 k) j3 O4 D( ~" _ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)
8 S" l+ s. e5 A7 ^8 K) {0 {/ R INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)& m0 U; Q! P; v; @5 ]. l
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)5 b0 C) y7 s: E7 d0 B- W
end
: W5 G" F1 f8 ^$ U If (@im_nJob = 3)" q) T6 x/ D5 w" S4 `( w! h
Begin
1 i: X8 |7 a0 s& e INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)7 I$ Z" M1 Q: }* e" y& X5 K, I
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)5 Y% E: ~6 I0 T" Y! D
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5), X) P8 Q" |4 B/ n6 h( _5 q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6), B5 `; d1 X- q- N
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
& r% T/ l0 y9 k- q- ]- c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)
2 @9 k* k; v2 [' f; p/ @7 J& T- O INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
4 _8 X7 m) i# M INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10)5 v* p9 X$ e% K7 ]3 l
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11)
9 f0 ?( y8 P3 q9 T* I INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)2 u7 K$ L9 r! n" o1 ?# p2 t# P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)1 k- k# W0 c7 j* X
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)) A1 F4 |2 t4 U- y$ S6 p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)0 B9 u; V: C% l, o0 p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)
; `6 w8 |) }. A9 o# L# ] INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)' ]5 j( b% @4 W1 i# t! P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)
; {- o& L7 _( u, E, ~; U J, w9 n INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)" m4 R5 d8 O, l1 M
end
7 I( u) R1 V; P If (@im_nJob = 4)
2 p% J" n5 q5 F4 t Begin5 n" A# M% O8 w1 `( I8 x
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3)
' k/ R5 t" k# f- q1 D \9 Q0 u INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)* L! m! t4 c0 @% V" @9 B& V5 L
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5). f4 O$ x- }3 ^( x4 l
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
# c- l0 G0 l, G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)
) l' Z5 z2 Y: |) ?- U9 D I INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)+ I o8 v% H- ~' a4 ]: s$ R. E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)
2 \% a- e$ Q1 P" y/ W# v INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)
9 t0 T* f% F$ \+ I2 T, M: V INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)" X/ J6 S5 p# z, ]4 F: O
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)# @$ x1 x4 q- F0 F* r, h
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)9 Y/ F7 Z; F8 c9 F4 ~, }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)$ I" x k! G% y9 \4 _- R7 O
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)
( C8 @! R0 M; p% M3 V INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)
9 L5 k% A6 c9 h% r" U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)
V4 a. Q. Z; j$ }$ M INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)
/ b- V; s, Y: [. |" | INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)
- B3 e$ D2 ~/ l# K! Z3 G6 x$ f6 A end: s" M1 S8 H! U* z& R& l( {, X+ i
只需插入在此插入9 T2 n$ }" c }6 P
代码:
" G6 R- l4 _7 O! V% b INSERT BANK_EXT_TBL8 l. q- m) q- t" g! r( L. _
(
y3 D5 |( Q8 I$ w, @8 ^$ t( A2 J m_idPlayer,
6 k7 N; D' Z9 v7 m" | serverindex,+ e7 G/ A& K7 B: k- ?/ g
m_extBank,7 C o: b/ Y4 {0 Z6 y ^
m_BankPiercing, l" x" s% d/ I% H
)+ b8 v: T; d- n1 C' c
VALUES
* q/ L: l. D, H (
5 T2 Q: a; Q+ u) k @om_idPlayer,
4 [8 i/ @, N% n, E% Q, | @iserverindex,
& ~8 V# `% F" F; y7 y- W$ f ''$'',''$''4 o$ v& e+ `, I7 T# @( B4 F- h) z
)$ f0 }6 l$ o" e( \0 o2 j9 C
3 g U/ }% o( }& W6 o _ k
3 @ `3 R% U! y; Q c3 H: x& l#define IDS_RESDATA_INC_007134 28816
) `4 q& y) m, y, b/ p" m! [/ m; f0 J& k; p( }" {0 x# n
" m0 W: ~ _9 c+ W# A: _ DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,
+ C0 E. {; b: ^: o dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex1 y' ^: j2 E2 y, F5 T
#ifdef __NEW_JOB_SYS" w+ H# x4 |! y [* c9 t/ h( }5 x
, 0.0f, 0, 0.0f,
/ z& T, X% T6 w2 z) `* F5 ] 0, 0, 0, 0, 0,
1 t. d2 T8 S+ O" L8 H% z nJob
2 K, J" H% O% c) H: b#endif1 h r, s1 d! Z4 i3 x9 R
* d9 P U! u7 b5 q
/ e8 G& A; {( S6 y. q. m9 f: p) z$ c |
|