|
在这里,我向你解释如何在源选择安装到创建工作中的字符。3 F$ J; S* @. u2 {9 C; ]
../NEUZ/Versioncommon.h- j6 b: i7 D" r# e: V {
& `3 I6 Z0 M- m1 J _2 ]
在上范围进这里只是这一个:/ O# ^# D `$ s
代码:
: M1 e0 z/ D* B6 E. l
7 r) T5 d5 V1 l#define __JOB_CREATE_CHAR# W3 F0 Q7 G& f8 @1 c
../_Interface/WndTitle.cpp9 X9 K6 _4 j5 S; R9 B
, A/ y2 t |3 Z. X3 S在这里你进入功能
: }9 Q( G; q; H: M7 P( b. p代码:5 `- Z5 M, p: B, C2 X! j# q
' R$ n' I R4 g4 i2 B% c8 zvoid CWndCreateChar::OnInitialUpdate()
' A( v. o7 F6 l4 z9 s并有助于7 F& y( J7 Q! h
代码:
# A7 o N: E3 P& I$ n& vCWndNeuz::OnInitialUpdate();
, j* I2 P- {8 _" k7 P这样的代码:6 h( w3 P/ o# s; D+ X/ O
代码:
8 Q2 E# _3 e7 G N, b#ifdef __JOB_CREATE_CHAR& Y; c6 z- w. _# Q9 M0 @0 D2 C, }
m_Player.m_byJob = JOB_MERCENARY;" J& X1 f0 N8 Y6 F2 k
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );5 v* L9 e+ ~! ~$ i1 A
pWndJobBox->AddString("Mercenary");//Edit by yannickmama' [6 e6 ~% y9 r! }; L. l1 y. \
pWndJobBox->AddString("Acrobat");) @2 g: s' @: Q; @' A
pWndJobBox->AddString("Assist");4 N; x3 j3 H( y8 Q
pWndJobBox->AddString("Magician");
$ W6 {4 f; {. l$ a pWndJobBox->AddWndStyle( EBS_READONLY );+ `) r" `2 j- _1 L. Q
pWndJobBox->SetCurSel( 0 );5 ~4 z* b8 B: c B4 j0 C. k; E- B
#endif //__JOB_CREATE_CHAR" f- f1 a9 z- {, z
在同一文件中,我们跳到这个功能
% G, X/ v- n# w7 {! ?% R7 }! B7 l代码:
) ]2 I/ z& F9 DBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! x3 [5 @1 P9 Z' D并查找这一行:0 T3 ^' Q$ o* A* W3 ]
代码:: ^3 V2 a& B( F' C' ]
case WIDC_OK: // Create' J9 r1 z+ ^" \) l. o6 v
{
) z% w2 ?, x% f; E9 ?" Q下面我们就这一个:
1 n4 C# m! M. V7 w2 [" _3 \' f$ V代码:* Z) t8 w! r2 d6 H
5 c. }1 `- }4 {. o" c2 [' Q. C
#ifdef __JOB_CREATE_CHAR
6 k+ i0 C+ Y! D; x CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
3 ~5 E( a! N+ ^ assert( pWndJobBox );
7 Z. v( p% X/ W' M' W
) V4 R! S6 U/ |' k: } if( pWndJobBox->GetCurSel() == -1 )
6 m' ^! N. I2 ^, X/ e, u {4 Q" V8 M; S9 t, c* J
g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );6 O$ y: Q& X; [( |0 C5 Q7 h+ V" s
return TRUE;
! b9 h6 J7 Y( X }. W" F3 V4 G$ d/ \
4 r, E$ K2 ~. S' |! X8 `9 R% v4 _* a
switch( pWndJobBox->GetCurSel() )3 h- p/ ^8 u' S3 m% e
{
- r5 t' Y8 e& {: K. Q$ f }" ~ case 0:
+ X/ E' O& Y7 c2 z" c4 k& r+ R m_Player.m_byJob = JOB_MERCENARY;
( F3 t T- y) r" c- X break;
' q+ h# l- z/ g1 z0 c" O' J) \" K case 1:7 D% Y' @6 _* H/ O2 R: \) I. r
m_Player.m_byJob = JOB_ACROBAT;" F6 T4 f$ N( A+ w: v) G- G0 `3 V) d
break;0 z2 m7 N( r* S9 L: M
case 2:9 V# }) n. d5 w7 ?2 c) j; f9 y* t' c; {
m_Player.m_byJob = JOB_ASSIST;
8 Z2 R( S- J7 k" S6 F4 K7 V! D break;, U7 K+ i5 G) O9 K
case 3:; ?& F4 o+ F' ]
m_Player.m_byJob = JOB_MAGICIAN;
( @; T& Y4 _+ \, ^) J break;5 a& L, J, G4 |
default:9 m8 ?3 D! B" w0 C% S+ a
m_Player.m_byJob = JOB_MERCENARY;5 Z" R" b( P8 x, U6 ]
break;9 _2 Z6 j2 `9 k2 ], T, N6 }) P/ }+ A" E; ^
}
- z8 o+ L" X- Q; r- b% ^1 T4 U P#endif //__JOB_CREATE_CHAR
1 k5 I: z, p) k) g9 x
! T0 {2 r0 }7 n0 ]6 `! H../databaseserver/versioncommon.h
4 x8 C ~ E6 J4 \. ?) ~
2 Z: m9 u; C8 {8 H$ T: P" N' G在这里,我们这一个以上的地方进行
# e+ Q! ?+ U6 z# N0 e! Y代码:
' I Z: L) m* m8 G. ^7 W7 v; g) x. t% \1 \* E( [) i! f
#define __JOB_CREATE_CHAR9 G9 N% o# q: x% m+ l" w
../_Database/DbManager.cpp- `8 u+ V" s- } M( {9 }
9 e2 o8 z3 m- c# c. }
在那里,我们去的功能
" i% ~# B$ ^& h3 t代码:& X' E* k" }) {& r5 T
* \$ N6 h8 t( B$ q# k
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )3 N0 W @& D9 y/ K+ f9 b
并搜索
$ |% i' N5 W3 u0 ?代码:- L" q- F0 n' H7 |
pd.data.nJob = 0;
2 ^9 k; k, e, D9 ?- [% g并替换为$ q- y3 ^1 R. ^
代码:
6 r5 R0 Q7 f. R1 t#ifdef __JOB_CREATE_CHAR, i U. l; k0 p7 g4 m2 C+ V6 D
pd.data.nJob = nJob;
& a! \! [+ V' A8 H: K& U* Y t9 Z#else //__JOB_CREATE_CHAR. U+ [! D8 v: Q
pd.data.nJob = 0;0 N( z# X& F1 ?3 s* i5 W$ a
#endif //__JOB_CREATE_CHAR8 s6 T* H8 F; S V0 _; z
7 ^" Z T! @3 L7 ?/ T, S
这将永远有一个来源的东西。. F+ J3 J K7 X: Y5 F
3 n2 d- ?% s: e+ F, B9 b
但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库
) I" T! t& H! ?+ N0 Y7 B和搜索/ ?" O; ? x- S- e* y' b
代码:
, ]) M- y) Z8 B( A* |
) ], d- k7 b, H4 K9 `" B5 F FROM BASE_VALUE_TBL
( A) O1 u1 a" \0 x WHERE g_nSex = @im_dwSex3 [$ ` w3 |* m
并替换为
) d q0 k S; u. \5 O% M: y! }代码:
$ q' G- N- q, q3 t1 V) c& \& D1 W; x FROM BASE_VALUE_TBL
, W m# ?$ J7 l& `* N WHERE g_nSex = @im_dwSex AND5 h: F7 w2 ^* z' _/ n
m_nJob = @im_nJob2 r9 d% L: S2 m) Y* f
当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。) E! G9 g" z; \* P& W
/ g& G+ D4 S4 d% b! S6 }9 v
你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。( \ o# d0 a. W1 [; P
: \; O; k' I: Y$ O4 V, `+ m
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
( j0 l2 I% d. I这是那里告诉服务器哪些技能你的角色可以skillen。
% u- r3 y) [( I可惜我不再the'm懒得现在要做的话:'D
/ x Y7 Z6 n0 p
7 ~ [) L6 c& s' ^$ Q3 C6 O
9 ~" M, v7 V0 E9 D# E. r: \6 G7 m
~$ N j* Z2 j9 ]" X5 o) v- R' Z j' |
2 I. n b8 ]) F+ [
* w2 J) u! C5 {4 c ]: d; y4 o
( i2 m& ?1 a1 s1 i- v2 U6 l+ C; ]$ \
Quote:
. D$ l( p( s: d d0 C: A: aOriginally Posted by Divine. " J9 K) H7 ] T6 Q8 M# @8 ?1 i8 c
如果他发现我; T' d' C# b7 O0 _% j8 E5 |
代码:
2 }; j- t" h3 W; N- D pd.data.nJob = 0;
8 [! y6 c) M2 R' [8 ~( y: h( j并非如此:
0 w* g9 T. F, W1 e/ [6 E5 L6 L* C所以,我只能看到
" _% N7 z: k' i) ?代码:7 ]3 |# E' }6 S: G4 C; b6 W
// pd.nJob = 0;! R$ X. n) s9 e' [! h8 }+ A' M. W+ E
^^
% I8 a3 ~ z' ~0 NHier, das mussu finden:" w5 H H- I, r0 O
Quote:# t5 H7 t5 V, x9 s2 a
#ifdef __CREATE_JOB, O' O, X, x& Q* d4 E; |" S% P
pd.data.nJob = nJob;
8 c' g$ V5 p% b: Y, q& W( f) B#endif // __CREATE_JOB- c3 B) b; X& n( K1 T7 M3 C
// pd.nJob = 0;
' Y1 p% A; T9 h4 i// pd.dwState = 0;8 a+ Q% R$ W; X# x
pd.data.nLevel = 1;
6 L7 H% `3 w9 w- | \- q" p" Hpd.data.nSex = nSex;2 @: J' H- ~2 z) f. H1 ~
pd.data.nVer = 1;
7 c3 L' I* E/ h' j- X* z$ J
# N1 m( Z) ]. ~& Z# s我仍然有一个问题(:. X4 p# v! `: r
下Character_STR DB2 e* w$ I- E9 u1 w
这样做在这里
( Y% m) ?! E0 v$ S& ~代码: ^% L7 }! F0 E& O3 J) ]
FROM BASE_VALUE_TBL' q' v, r$ R! g, x# ?8 v9 O% e, ]
WHERE g_nSex = @im_dwSex
3 J' Q2 Q# c- t% a在这里改变$ `2 U; p6 z( T7 J4 Y6 \) b0 ?& K9 A5 G
代码:% ~5 g# P: \& Y
FROM BASE_VALUE_TBL
' E1 a* x4 s# w R! }! T1 z WHERE g_nSex = @im_dwSex AND# p# g4 d/ E' T0 T
m_nJob5 C, \, l9 e5 A! h2 a- q% J# r
由于还需要什么?.?
/ O3 x; m6 S% e6 h5 x& F9 a在第一篇文章中,你可以阅读
1 \0 L c! D) ]5 F8 g代码:1 w3 I; b$ G1 A9 c- p. u9 e
FROM BASE_VALUE_TBL
0 s/ S1 n5 V. ?$ U WHERE g_nSex = @im_dwSex AND! ~% V2 b$ g- C# f; _
m_nJob
, J9 y+ G" f3 B. j
9 b* t+ t3 O, G$ p9 [ b
. e/ z9 t5 S/ d8 I7 O窗口是什么我忘了! t6 m9 f! R* W& ]
2 c+ o7 L1 q1 W6 K2 C9 n$ B代码:
+ D, n! U1 p' ]/ S3 g. p3 O* VAPP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 26
0 v0 S% @1 f& t2 ]* v{" v, l( y, T- F; p+ d2 K: `
// Title String
& p; l2 b4 j8 ]) q- @! m) pIDS_RESDATA_INC_003064, p7 y$ b: k( E" a
}
. m' h. w. b9 i' n4 i{1 E8 Z4 g9 u7 x# p/ V6 v
// Help Key
2 R4 K% y4 }. \) jIDS_RESDATA_INC_003065* E0 C/ g& P0 R( }
}1 k0 v! _: }. o+ F4 K* }
{) P4 W' ^' L/ W( [: }# F- S
WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0
$ j% h! {9 W9 C; h4 y7 e {
( [& B F# h. K& { // Title String( u0 X( c% M" w: z2 p8 @- Q a# G
IDS_RESDATA_INC_0030666 i% F- E, f) B4 V. {
}
0 S$ x! V& o3 b6 }; J {
5 b4 @7 a7 |; y5 l // ToolTip
$ O9 z5 ]7 H$ q: q" i/ J( K" d- F; L( zIDS_RESDATA_INC_003067/ s, z( {% w! h1 `* ^( i& \4 `" S
}& y$ t( @. V0 J% Z
WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 06 P) c" I9 `7 Q; W
{
% u( P3 s1 y" W! f$ J // Title String, c4 b( b9 d. x% c. s
IDS_RESDATA_INC_0030687 f5 J9 ~# a$ t
}1 O2 @: a4 e2 N# B, u# b% |1 J. E
{
, b1 ~7 V$ K8 n& Y: Y // ToolTip
7 L& ^7 W" f* n3 q6 B5 Z1 X* ]IDS_RESDATA_INC_003069) m9 ?9 @) T$ h0 [7 r# m/ ~& k, e& v
}
- P+ s x3 Z' e( b0 d" o WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0' P7 e- v; k g" g5 A
{
6 F! j/ D8 S* J% y6 d8 J/ P/ U // Title String# v. U# |( u+ d2 J* f6 c
IDS_RESDATA_INC_003070
$ x" g6 w" c% `1 H4 V! T! d |4 D }
5 h# |# h& B' r A: F4 j {! L; L" w6 m& Y+ N, f" ~
// ToolTip
3 b8 L0 h% Z1 [4 p# p8 uIDS_RESDATA_INC_003071$ L0 U1 J% {0 P2 e- W- ?1 y8 r
}
' O8 T1 T1 C7 J* z WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 06 z: }9 T) z: p/ z
{
8 W9 ^: x0 Y7 S* I/ b; |# S" t# w // Title String
+ C% A" o$ @2 c) {; p" F! h' mIDS_RESDATA_INC_003072
: T6 Y, ?+ I9 h9 y }
2 [1 ?) \8 T7 l5 y/ p" W {
4 v: ^, M; W b // ToolTip
% {" t' |6 X: t* n7 MIDS_RESDATA_INC_003073' F: x7 V0 Y6 ]7 n4 Q( R
}
" s) t! R E2 G- r" O WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0
- P, |7 s# w5 ^. }" O$ J3 e) N {0 r( t3 d! [4 c% t
// Title String
" M' @% n# {' f% YIDS_RESDATA_INC_003074
/ o% f4 X: G9 Y" q }& N! h8 `' p5 Q# ^
{
. r# |. x0 \( K# ~' A: l // ToolTip
0 c4 h) X5 n1 t; NIDS_RESDATA_INC_003075
, _( L0 W! B" ? }% @) I) H2 r& e/ a
WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0: b* y+ t: ?! m* L' t; U- z
{! ~8 a9 `; E1 \) }5 P" i
// Title String2 V% r- f/ A6 m0 h6 L( n
IDS_RESDATA_INC_003076) ]2 P% `/ T6 G: b% R. S
}
( ~/ ~, |3 d: |$ j5 ] {
- `, m5 K8 x3 m2 ~+ c // ToolTip7 H% A) Z- z. p" }) N
IDS_RESDATA_INC_003077
$ d3 a1 L/ K" O/ K/ v# {7 A: q }7 y! Q; h" _+ `7 P3 G2 o
WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 0 K7 }4 p3 B8 u- }
{( l/ N5 O7 `3 t% ?
// Title String
- x4 ~7 v4 `5 T9 vIDS_RESDATA_INC_003078
$ n1 Y! u% C0 ^9 f }' B2 x7 E2 X& J3 V, R' }
{/ X( o y* j: m2 y7 P2 V) Y5 j' b
// ToolTip
% ~5 ~" v3 c9 q5 PIDS_RESDATA_INC_003079
2 z& V4 ]1 o4 R, p( p, d6 @! K g }
0 m* B% Y% ^ H3 T WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0
+ p" G- `" ] l( x, c9 D1 J {) }( C& E, f3 R$ I* {
// Title String
# [/ W' f l# p( oIDS_RESDATA_INC_003080: s% j2 c' v2 {( }, M' ]
}
! j. J6 Q7 J; J {1 g& W) H) r1 \ f- z2 x& m
// ToolTip
' D6 j" y+ l) L" QIDS_RESDATA_INC_0030817 ^, `' y x! E
}
0 i) g- @. o5 d WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 0
# x0 v/ y9 [6 f) y {6 H/ K! k2 s' @( C9 A2 ~
// Title String
! U) P5 l P1 J6 L5 KIDS_RESDATA_INC_003082 `6 z0 m' T' x+ G* }6 ^2 q
}" h* H0 ]4 m5 @
{
( ~: F4 g$ w9 H0 w // ToolTip
P' r1 N# A1 N* k) K1 Y% h+ M: ^5 JIDS_RESDATA_INC_003083# e/ b4 V" T1 d8 W. ~
}) c4 `) v' {- R, z& t
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0" m/ O2 k; q! r: N2 f& G
{
: c4 H' `* k- x. g7 j4 B& G // Title String
$ [" c2 X- j3 [8 Y# D* y, ^- V: SIDS_RESDATA_INC_003084; N: n; k0 |/ I, ?) s; p. L. e+ {
}
: A D; e. g& B5 H P! ` {
5 S) S3 S' B& O1 | // ToolTip( L+ }& r7 E; v+ M! T: M' m
IDS_RESDATA_INC_003085# I3 ] l8 I3 N. u& d" S2 u2 I
}& m+ ?9 o' I/ }- k
WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0
7 K B* H3 @3 v {
; e* k' T# f+ v' V- o& U. P3 W+ h // Title String
b% i# ~5 w1 F* q% C: B+ _/ F, q6 DIDS_RESDATA_INC_003086
/ ]* F9 B+ y- u6 X# e# y! V3 O; }/ j3 Q }
% {. S1 C6 c) n: B+ w {' h. z- t7 a T+ V
// ToolTip1 ^5 J' w% @: t1 Z# B" Q: y
IDS_RESDATA_INC_003087 k3 F3 w. c4 h7 \# n) S2 K1 q F
}2 P/ J" M% i! B. |
WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 09 _5 W T% }0 f5 q$ ?
{
6 W2 L6 t+ f- ? // Title String' H, S7 N7 l7 y9 V
IDS_RESDATA_INC_003088
- ~1 Z; i! z7 @5 U9 f }
3 ^& Q- s" l% t% N* A {
+ X, w X7 E" v // ToolTip
) O2 J, M$ Z' E% |2 kIDS_RESDATA_INC_003089
2 l0 N' ]: N J. [2 E; v }( v" i3 p+ P; p/ [2 t# s. y
WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 0$ j% x( S! s7 x1 b8 i: I
{
6 s$ `+ Y6 J- i // Title String4 G: n' M: Z" x
IDS_RESDATA_INC_003090( v& ~5 m9 T' m; n( y& ]! S
} f/ b7 c) w3 ~( s& I
{
! v- n% y& m$ |* o: ]4 U/ _, Q- I( V // ToolTip
3 |9 a, j9 l+ o! fIDS_RESDATA_INC_003091
+ Y" }! h. [/ _$ M- R* M }
' |: T( O5 r9 V: g: _ WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
: u9 ~9 K) C! @/ |1 T4 U {/ ~; w; k) Y3 q+ N3 o( X5 W0 o" o3 }8 V
// Title String
# K' g: a( U1 r+ t* r, t' e+ fIDS_RESDATA_INC_003092* U" g: F8 j6 F3 v7 m8 j
}( H" Y7 ?/ h& X
{
. ~2 N# }5 ^: Z/ d; P; U% } // ToolTip7 a9 ^/ f3 [/ H5 W1 c+ P
IDS_RESDATA_INC_0030936 d, `& I: l j, I$ ]1 `& V
}6 X( d+ ]3 y. F' Y4 Y+ q2 E
WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 0
* z6 w5 z' d# J4 M& i+ x {
7 e r3 G5 l m0 A$ s: P // Title String2 F; d5 ^8 f# g0 [# }' |( j
IDS_RESDATA_INC_0030944 v( j. ?6 k9 p; s
}
* z g" _, R' @$ s u5 g8 h# g0 z {( I$ L0 Z0 j' r" V# s
// ToolTip( o% z/ c3 r/ v- \
IDS_RESDATA_INC_003095
) o, ~- a6 b3 N3 { }; w: p5 z2 t8 ~2 M
WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0
4 v: l$ ~0 g" H7 F$ R {: k: i: `, |2 h$ g) b
// Title String P' M& t+ I8 L) e- d2 N1 Z" C
IDS_RESDATA_INC_003096
' R6 k7 W2 C3 x+ L9 \ }2 Q' _. I! o: P `
{
8 M& [; B* w6 G1 L; Y9 J4 U // ToolTip+ R1 a( f: c/ h% G4 n& x4 |
IDS_RESDATA_INC_003097
; \" O/ d) j) r# b; H! C. J/ U }/ d% l, V% Y4 c, R
WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0- P; n+ }( u1 o# ]# G& L, f8 p
{8 _$ ?7 s. T1 M8 @* Z9 n7 {
// Title String
# Y: a' D# e3 P5 n! KIDS_RESDATA_INC_003098# t+ m' n2 h8 \) T5 D
}
. j% E* N1 K/ |, l9 |! f k3 x {* \/ Y Y9 h% n' s2 F7 ~1 c
// ToolTip% T# _* g! K, [7 ], ^3 o
IDS_RESDATA_INC_003099
4 R3 Y$ q7 ]! M+ Z }
6 `/ h8 [5 b: ^ WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 00 S* [+ _4 X9 O d
{
' c4 T3 O- x( w& \) B5 K // Title String
! E6 _, Y f7 }) g0 x wIDS_RESDATA_INC_005076
w' \+ Z6 ]/ I6 f% ]$ J7 h/ @; p }+ s. |: r5 k0 z- a7 v! _5 Q$ N8 [, L
{
# P' o, S8 \+ Z0 e // ToolTip
4 Z& J B# }$ \+ a% m dIDS_RESDATA_INC_005077( Q8 V9 ^8 }) U- k. t2 j8 M3 b3 w, l; C- q
}
0 {9 v, G; c' Y, B; @" j4 M WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 02 v5 P! ]) F& n1 _5 u0 }) x: j
{' B. Q, e* w3 i; f& }) K$ n# {! L
// Title String4 `8 W0 o3 ?' n6 j
IDS_RESDATA_INC_005078
5 w% T; j# L7 f% o }2 D9 f+ j- k3 Q
{) u( U+ E7 Y) o2 g, H
// ToolTip
5 `+ `0 C0 S" H: cIDS_RESDATA_INC_005079
2 z/ `+ m' i! {& @ }
6 _6 H e! q0 } WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 09 c% H. D3 c! t' n& d/ g" n6 B
{, s2 S! G2 `: e
// Title String
+ K2 K8 ~9 q1 m9 d* a( CIDS_RESDATA_INC_006874
8 i- J% S, V! Y% S n }8 R) k* p" j0 R& L* u
{% F( M4 h/ \; G- A% }+ D/ x
// ToolTip5 l8 h a$ g* @) ]
IDS_RESDATA_INC_006875$ @* C. m E, u, C% l' N, N! [9 g- s
}
+ i3 h8 P; `% a+ R; I WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0- \2 W5 h+ O' M8 i8 Q, Q) m
{# g- o c4 n7 D( ~3 g' v4 e/ o
// Title String" t( {) @$ j) ?0 Z# a6 j
IDS_RESDATA_INC_006878) y$ V3 N" a6 j/ x; m
}! g! ~. v, {+ `4 c$ |
{8 O; w- f( w: z; }
// ToolTip
G9 Q$ G# z ? X1 ?IDS_RESDATA_INC_0068793 [+ h' N6 s) C7 ?. N+ V1 k7 I
} H6 f9 O. a& h& d2 F" L' S$ x
WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 0
2 w/ V' \+ z3 b {
4 _, h& G X# [4 y; r // Title String* [4 E0 K4 I _
IDS_RESDATA_INC_006880
! `; r- f' i* J4 b8 U1 a7 ` }
8 Z$ \0 m. h, c2 ]' q) g5 O {! s: V7 o2 K7 S* x
// ToolTip/ L# ?# k; Q8 R
IDS_RESDATA_INC_006881
- \) U# Q! r6 ~ v9 e, I }0 c2 v8 y2 H+ [# |
WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0 ~0 i- J0 D+ A0 e
{
/ D- U6 P# u3 J! ?: j/ b5 B' w5 e // Title String
1 [5 x9 g3 [5 v8 L. i& n2 Z. ]IDS_RESDATA_INC_006900
$ p( V/ }4 V& f5 u }
: s0 L9 q1 v7 j L {0 o3 M: [' L) [# o2 B
// ToolTip
! W" ?5 i$ ]1 ~* Q9 z6 Y& QIDS_RESDATA_INC_0069018 O2 b2 n4 A; n* \* B( e; ~* K/ e
}& _2 e5 ?5 Y9 }* o, w+ Z! U
WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0
) m# T3 I! W. n+ ^ {3 ?0 X% L+ |# }, ?
// Title String
( L7 m; T: y# F8 R( sIDS_RESDATA_INC_006904- X: v4 \( G; `( J: q
}
; r' g9 s' D' L3 Y+ h {+ W* a+ \, W) k5 ]7 Z1 \
// ToolTip
' L; c4 {# ]8 b1 ^" L X0 a% e3 fIDS_RESDATA_INC_006905* ]0 `2 O+ L% Q8 E+ P+ z2 M9 o+ \
}* i% O: s4 @ K) E! e; ^* B5 p
WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 0
9 [8 P- l) r2 B% u {
3 B! M$ ?# }; Z3 j! i# X5 g# a+ B // Title String
- j% D- Q; y2 ^' ?& p1 ~" eIDS_RESDATA_INC_007134
5 |1 e4 e% m& [ o+ z }8 A- ~+ \# R6 Y3 i( ^
{2 ^2 ?% W2 C9 f! \* D
// ToolTip# s: ^1 p8 L1 y" S' d3 J* f( |
IDS_RESDATA_INC_0071357 Q6 v/ B8 r$ O% @5 w7 G/ E) Q
}
) I t% m0 H. u# V6 v v WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 0
. j- b% V: Q8 W- I7 m! E% G {
/ j: x1 N. ?( F: \6 P% L // Title String% l6 T8 }6 T" t$ n
IDS_RESDATA_INC_007136
) H; Q0 l# j" }1 Z }; {, K7 o; Z- z O9 Q
{
/ ?; o" t% F8 [. e. s // ToolTip
7 v- T; l; U& v5 i, o. C1 i! oIDS_RESDATA_INC_0071370 ]' K8 Y9 Z3 \8 s) L" u
}
* R4 s" I3 H; z# `/ p& e/ @0 J+ W& h* ]5 h
}
$ p' {0 v2 x2 R; @! L5 e* Z所以红色的!
! t. V: t( h/ z' N
" P D( }* i* @" `+ j这里还tblSkillPoint的条目:
, d, M0 k4 l$ ^2 ?3 S, w8 N" [, @6 l4 z& }/ H6 f1 @: r
代码:
. @7 v# |, f& V- X6 { If (@im_nJob = 1)! p; Z& Q: G* c/ U
Begin
/ l3 b( r2 y0 | INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)* u9 [1 \1 w, }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)
: i6 u$ X, A/ ~# J2 ] INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
, x- S- e ]" u2 s- W3 z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)
2 B( R( w/ Q7 F: B- d INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
* r9 a" {+ u w4 w$ s INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)3 o% X& R# ]4 G
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)4 g+ Q/ c6 e" v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10)+ d2 A+ L* ?4 U" T$ @# t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)
9 t5 i! x0 A& M- H4 I' _' q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12) Q% {; ]+ ?& q( u/ B
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13), Z& @3 [% ?% x! M% P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)
% ?' m/ d% H6 s" ~* ^ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)# ^' M2 @- H$ j. z" i; ~5 K
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)
+ I2 |% y( R9 H* i" b INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)
* {8 i+ p& E, \+ \0 F% b end
' f3 T& k' M; x! C3 w/ Q$ K If (@im_nJob = 2)" |( m- D' J' A& ]. D2 G2 U
Begin
6 _( F8 g- F5 _ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)# |% X; Z/ x2 i \! C3 }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)+ }- D! w( l: g& y7 U# t% v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)
6 f) X5 d7 H9 N- V, ~ c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6), x' W6 A H2 `% D% g
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)1 m; Y9 |5 S5 d* n# c0 s
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)) S5 u0 w, S# s& A& m' q! D' j
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)3 A4 {6 ?- Y# O8 C1 O# I4 H
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10)
4 I4 h5 n% o+ _8 G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)
5 N/ d2 k7 V, `: v INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12). F& x" G: R, g, i& v5 x$ G& L
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)
8 O; H; @ a9 K4 u# s INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)5 G* f& a) F, N4 Q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)$ w' Z1 k3 L4 `' V! p+ x, ~8 W
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)
6 ^* ~3 S9 X2 N. I INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)* Q6 l% ^$ ?+ p( S# b, x2 T
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)
3 H4 z5 H+ @5 _ ]9 I0 ^ end3 C# q7 @+ |( `, Z) T, L
If (@im_nJob = 3)
0 V6 O1 Q$ m* z+ C, z5 l/ J Begin
0 f+ s7 f) j3 |' z; w1 |( i& v INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)7 W8 n: X+ F/ K; q4 |7 ^
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)
( c' K# W( v0 M; Q1 n7 ]# A4 ^) K INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5). j7 u. |" E8 S* K
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6)) a' H' R5 P9 @& A1 n
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
+ j$ [' N% F* T( I# V6 n, M% t6 R INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)
3 B' R3 K+ M: ~; `3 T2 a# _# l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
5 ?* P X0 N* l' d' ~$ o INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10), j0 [. F8 b' T+ i6 O3 |0 Q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11)9 _% [* G, d0 a* g
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)
% r _( J: t9 d INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)& Y" ?% e7 I3 w4 c5 Y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)
4 B- X+ k5 w6 L5 l$ l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)
; w: O' e$ s$ w% P u INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)& a; _! ~& |' k# W, o/ m# m+ ?
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)
/ X& h$ M- }. c" E& F INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)4 @% i8 I" e' w1 D8 U
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19) H$ A' s! {9 n. ]
end
O# n7 d6 B3 C I If (@im_nJob = 4)
6 a1 S4 \3 W& K Begin
. M9 @- P- B9 f! t7 V- O INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3): E3 B' Z3 k& R* i* v) n# o
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)7 w: l. {7 G7 \+ o
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5)
8 O* `* G. \8 R/ h/ l2 g/ ^8 ` INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6). B5 e7 k. }# H* l1 n
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7); m# z' ]% L; _% E3 [
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)0 d3 _& b$ w" Q+ j5 f
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)* d9 x/ C, Q! N3 b2 E$ u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)- N. |9 q }5 s' E) n3 u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)
/ Q; ^' S% O, o6 |0 `4 Z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)
3 `& G c. Z% \- a+ c4 ~8 G x INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)
8 A! T1 T$ ^* g4 b0 c: S INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)
0 E' }* F0 F6 F" e3 Q- f" p INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)$ K" N- g D- ^. t) M
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)
" e# | ^0 |9 z6 G$ B" c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)4 [! f& F- I- K! r8 J9 i3 M( x
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)
9 }0 ?) h4 [, _. J; c! T INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)1 A, K, g, t8 r. Q- Q% Q, d3 i
end
7 v+ T) b5 w( a: C2 u只需插入在此插入
& I d4 \; s* B3 H代码:
% p" r& j0 {; J! F INSERT BANK_EXT_TBL
5 O" ^# w9 u% U5 T6 f (
( d' ^/ r3 O5 o3 F' _" } m_idPlayer,$ E& c' P2 e. g+ P0 q! F6 Y4 t9 E0 H. X
serverindex,
4 K0 r7 w1 F% P: G, r m_extBank,9 B( L' Y y3 F7 l: C2 N
m_BankPiercing, R7 o; S/ V. F9 w, l8 E! j1 b* X# ]
)2 `% O. e3 X. _3 f
VALUES $ [0 g. w' \' n$ ]; C1 Z
(
7 y2 o% V0 G9 \8 q2 Q @om_idPlayer,, g* P! a' C: a( c3 O; B" S* `) e
@iserverindex,
( i1 b7 U3 ~& x2 `2 p ''$'',''$''/ @7 h0 m( ]! {( R3 R
)- e, B$ w( E# h/ c5 j% \: D
% ~! V1 I0 u! x+ u
0 I. g! a, A* B#define IDS_RESDATA_INC_007134 28816+ U7 { A2 r5 ~' F: h7 j% V O
0 `. i' m# I4 O9 ]$ S0 P3 a
2 V3 s1 H4 e$ n6 \9 W DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,
5 Y j2 g( W" [4 w9 [7 @8 c; f' F dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex* d$ f& E; @, O, x
#ifdef __NEW_JOB_SYS& y# `% n7 D( A# g/ Y, x- W( m
, 0.0f, 0, 0.0f,& `2 l" u$ V4 ]' ~" e: d* O$ G
0, 0, 0, 0, 0,; `2 \. } \ z/ [7 {, n
nJob 1 p' d/ T5 U6 ?& S, A. _( X
#endif
X. a i' K8 R$ h. ^; P- D9 k5 D
9 b3 |% P/ ?# q( X. U$ `2 v* J$ m
|
|