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