|
在这里,我向你解释如何在源选择安装到创建工作中的字符。' _+ B) _% ?1 v. R8 N5 M
../NEUZ/Versioncommon.h
1 _5 H" ^8 \& v* g( z( Y6 f
; ?1 r! v3 L; J* s' }" E在上范围进这里只是这一个:
, t) ^7 P; U: }/ [; {代码:
; e4 q* i) a3 L7 I
! C4 |6 T. a7 J8 `) x#define __JOB_CREATE_CHAR' ?6 R5 t5 j0 r
../_Interface/WndTitle.cpp
* A/ g" E Y# j4 y# e
) A) t) ?: J4 x6 r' p+ Q在这里你进入功能$ x/ M' {2 _6 i0 u
代码:
, X/ K1 M- p* S0 s
6 b( R+ T- E7 } C3 b* xvoid CWndCreateChar::OnInitialUpdate()0 i q4 t1 Y8 Y" O8 E
并有助于
. i D8 R3 o6 n& q/ v$ _4 \+ b代码:
& C; K% z R, R9 C0 F' k4 W+ @! T# gCWndNeuz::OnInitialUpdate();
2 |/ R8 z R4 |! a* T4 k这样的代码:
* j" O0 U4 N& v代码:4 q$ w5 u% G. H) Y8 r1 i
#ifdef __JOB_CREATE_CHAR' R$ h7 b# Y# ]) z
m_Player.m_byJob = JOB_MERCENARY;( Z# O0 I8 V5 T% j
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );0 A: v7 z: a9 P6 V0 U A5 b% B
pWndJobBox->AddString("Mercenary");//Edit by yannickmama
* C j9 |* f6 w. r2 \" Z pWndJobBox->AddString("Acrobat");! _/ A8 B% n& ^/ k
pWndJobBox->AddString("Assist");
2 C' G% c' H/ u8 Q+ B pWndJobBox->AddString("Magician");
' ?% [. l0 Z6 W8 |) u$ l! S pWndJobBox->AddWndStyle( EBS_READONLY );
# ?4 e; J; t0 ` S" E0 y pWndJobBox->SetCurSel( 0 );
$ q( Y7 Y' }$ F2 e: ^#endif //__JOB_CREATE_CHAR) d8 ]! p9 W5 N$ t1 B- p6 H
在同一文件中,我们跳到这个功能, J% |/ t, O& y5 U$ z
代码:. m0 |* q& B) k! J2 ~
BOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 P# r- m$ @7 e E
并查找这一行:
3 ]# y% S: g$ T# L! c代码:0 I1 a) v/ H0 v8 r: D
case WIDC_OK: // Create" d8 e% G1 h6 e* L% J" \
{ O% c2 T! y8 S4 K' \
下面我们就这一个:
+ W$ L: f9 I( B, f6 T' c代码:
' A4 j+ x& ]+ Z. D6 q% D0 m
, o" }$ e1 K4 K$ D#ifdef __JOB_CREATE_CHAR
# N$ R) \- z4 H/ V9 G, u% h CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
# w! p5 x4 j8 |3 w% S assert( pWndJobBox );
2 z W# j! N& b0 T! K. a1 k3 L8 r7 x1 F0 _# C) C
if( pWndJobBox->GetCurSel() == -1 )% {% R2 p0 I' N9 O
{. ?& Y( j0 y% r4 i
g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );
4 a; ^3 [# m6 C, C1 P' Y) W7 l return TRUE;% H b2 m- {0 m( R3 K
}% S! P" Q4 f( L; l4 d3 s$ b0 ^
2 O* k n+ x3 @/ b) V1 x/ ?
switch( pWndJobBox->GetCurSel() )( Q2 Q) E" {" i/ K
{
, v3 Z& @) |0 C2 ` m) g' T case 0:
. J+ ^$ @4 a+ W6 l m_Player.m_byJob = JOB_MERCENARY;
5 w# {( G2 Y0 U( ]; f9 W- R break;
% E9 L V# [; A4 q1 U" q case 1:
6 U. A& Y8 r: b$ [ m_Player.m_byJob = JOB_ACROBAT;* [6 b; Q/ m8 T! V( C4 Q* o
break;( {" Y/ O9 X+ }: s+ p% B2 I% k
case 2:
# ?- C7 O3 a, ~# Q- J9 \8 T m_Player.m_byJob = JOB_ASSIST;2 h' y" H- a. R; @. u
break;$ c1 j$ ?( M9 ]% v8 |
case 3:
* o! f K# n0 {, E3 n) S m_Player.m_byJob = JOB_MAGICIAN;
, b/ `" L8 N( d break;2 G5 t0 |4 y( I6 }
default:* O, L0 c' A: `8 `
m_Player.m_byJob = JOB_MERCENARY;0 e8 q1 E) e6 V5 F
break;
' Z; w- a2 ^7 W. ]) \ }
& E( f+ l" c) S/ a#endif //__JOB_CREATE_CHAR E% W: f) U' r' f9 H
0 z+ I& t: m6 Y9 i8 J/ ?
../databaseserver/versioncommon.h H9 t! C+ c' F& u9 Y! u
3 b1 l3 H- E: b( E
在这里,我们这一个以上的地方进行
1 q6 ^, D6 h; X, o2 }( K3 _- S/ h) r+ `# C代码:: _2 y. s/ }! ]9 J# `0 p, v/ l
7 d8 V9 y6 q4 ^# P
#define __JOB_CREATE_CHAR
% g2 p$ d2 @! V4 c1 K& O../_Database/DbManager.cpp/ b/ q% G1 `# B- M& E2 z
. h8 e; f- L$ N& Z$ b在那里,我们去的功能
, c) W0 }- v" K, S/ ~" w5 M" X9 b代码:
, V) {! d- P" \5 ^5 N* a7 ]/ W# P+ }0 {
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
% B6 W# `0 q5 f8 ~# Y并搜索( `+ o; {. Y5 \ n) G" K
代码:
8 t5 S7 \6 ~; h; Epd.data.nJob = 0;
( u; d8 e8 v2 N7 ]" i: Q* V并替换为
* ~/ H; s8 X$ S代码:# d( }; h; ?2 W7 h; |) R- Z& s$ {
#ifdef __JOB_CREATE_CHAR
3 Q: \9 R( A& C" W9 M( G# i& b5 n pd.data.nJob = nJob;2 t/ w% _ `' j7 I8 S
#else //__JOB_CREATE_CHAR
( Y! P7 v- L7 h pd.data.nJob = 0;; T" i# g u3 X% v
#endif //__JOB_CREATE_CHAR0 v0 L/ T4 ]8 d: L) m0 I" \; A; \' }
) @$ s: G3 Q) x) k1 V; q9 Y4 V
这将永远有一个来源的东西。7 ^6 d1 R- E. y. r0 t
# T P8 l" c8 t, B! a但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库- e1 ~3 ?4 L( h; p3 Y+ `
和搜索
$ _6 V' `. C2 w& }6 s, i, w7 g代码:4 z' }& t7 R# L) w
- k* S! ?9 Q4 A- ^ P: U7 ] FROM BASE_VALUE_TBL/ P: V4 q0 k9 @- w, J0 d8 c( u
WHERE g_nSex = @im_dwSex: W' E) S: K( K! S- e* R
并替换为% b3 T+ k/ J( D8 q% s0 B
代码:2 X3 X* \9 \0 k$ R. i |: U! s2 x
FROM BASE_VALUE_TBL5 J7 ?& n0 Y3 S- K; T" o
WHERE g_nSex = @im_dwSex AND
: z' n3 k H* q m_nJob = @im_nJob
; S+ U1 O4 v. t* e8 N( K当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。
/ h$ G7 o# c: E/ j& L2 m: V& p# V3 {. ~9 d. ^
你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。
3 y. ?; W( ~. {
: p* {: s. x3 \, h) _) `7 b你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
, {& O2 {7 O) w( ~! a' }6 Z% t这是那里告诉服务器哪些技能你的角色可以skillen。: ^. k( h; `6 P9 o
可惜我不再the'm懒得现在要做的话:'D+ s/ P7 K6 t8 u2 D& ]# C3 P
+ ]8 w* c% U/ b/ ~" C7 z/ P9 `/ @2 p6 E9 @" v8 d0 b
[& f: l9 F9 i. B+ ]
; e9 C- [# t" ` [7 |: X
( V2 L+ `& N7 X: L; S9 }: E
# M" O8 i ~+ y6 L- ~
# ?) Y+ q3 S* Q% l- c* Y
- C. x4 t+ ^4 |. l2 a" Q8 XQuote:
: e3 n& N3 Q6 bOriginally Posted by Divine. ; u& q0 \; q. i
如果他发现我# W7 t! U) k6 M* L8 I B& G
代码:. v/ Z) G0 ^) V; Q+ {
pd.data.nJob = 0;
! G0 s& \+ N! a& [0 v并非如此:& i) W3 T' d1 Z0 \2 ]
所以,我只能看到
% z- P7 P7 R! J' c: R代码:; y4 y+ @% V* ]: U) o8 b
// pd.nJob = 0;. a( ?' x5 s/ @. X$ Q- m3 T
^^
+ z2 d+ O4 @2 _Hier, das mussu finden:
1 [# K, n* b) _Quote: C9 _3 [* ^ @- h. Q7 y
#ifdef __CREATE_JOB9 l8 r4 z/ d7 ?& k& \* U3 w
pd.data.nJob = nJob;
, D7 \/ c3 `0 a$ H4 A. z2 O#endif // __CREATE_JOB
# |2 m0 P' O( U// pd.nJob = 0;3 Q( S4 b# c3 @5 r1 D5 z
// pd.dwState = 0;
. P2 d( C8 b8 L* Gpd.data.nLevel = 1;
6 _# z) A9 V3 u8 C5 q1 A0 {pd.data.nSex = nSex;
0 u2 E8 I7 ^! x$ L8 s Apd.data.nVer = 1;
; r% T4 v* y& |7 f2 |7 n: N I4 i2 I6 D# C
我仍然有一个问题(:9 s v3 y4 I) j0 d3 Y
下Character_STR DB
: ~( \0 B9 m+ g5 S& T5 `- u( r3 W这样做在这里' ?8 B& g) e1 p: b
代码:
, l7 T+ [8 M* Z FROM BASE_VALUE_TBL
0 o5 Z0 O9 \1 I' B WHERE g_nSex = @im_dwSex9 j- e0 x; M! S( Q3 K
在这里改变! k$ m1 ~1 K2 F2 P
代码:
! N( j4 |3 `8 R2 S, [, g% ~( F FROM BASE_VALUE_TBL$ g- P; C3 Q6 b/ R
WHERE g_nSex = @im_dwSex AND- T4 D6 C7 b* ~9 S
m_nJob U# N4 X7 f* `* n) E' [+ h# k$ L
由于还需要什么?.?& ~- S5 n& d! i0 M' R9 m& \" v
在第一篇文章中,你可以阅读# L( u4 r: U9 M) L& C
代码:
- S' ?/ G1 F. _$ A @; ~/ S FROM BASE_VALUE_TBL1 U/ T9 g# |2 k" D2 z9 H
WHERE g_nSex = @im_dwSex AND
* T: G4 c0 ]+ E m_nJob # l4 T9 ^2 j, Z8 |' [5 A
& l3 P1 z/ z) E& l* R
" ~: G8 ?+ ?0 y, @8 m. a! X$ K窗口是什么我忘了3 n; m# ]& {* Z8 T% W# b' Z
^7 l) _, V( c$ ^1 k3 m代码:
' k7 X( |9 J$ f" K9 o! FAPP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 26* h; P( m- \' q+ o, L: |3 y
{1 y; e7 f1 j( K6 `
// Title String3 U, z1 K. i, p
IDS_RESDATA_INC_003064# [6 n9 ~& E' s$ b1 A3 Z F
}
% w5 Y ]) S$ {9 m1 v{
' @5 l8 Q: L6 E# T" s" L& D: a7 z2 t// Help Key: Q! O5 P( b7 C4 }6 | {6 q9 m
IDS_RESDATA_INC_003065
# h: Z0 ?- U. \. ?}. \2 D) r7 _+ Z* g
{
! G' V6 ]5 q' B+ Y& b4 ~0 Q WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0
8 h; N6 f' G: M# a& o {
+ \' A. y! h( M0 b // Title String; b9 e% n" z9 {: o, i% O) H
IDS_RESDATA_INC_003066
) u! P a) [& e( s3 w* f }
/ u0 E' a0 |) o" Q5 j+ v6 J4 |$ V* b {) k8 j$ Y% g0 f: O' C
// ToolTip
' G+ n% A3 o" X6 l& TIDS_RESDATA_INC_003067
. e) x* Z9 A4 b# R$ z }
P& a7 ^$ b7 p; E; E3 A WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 08 a& E F. z& ~/ V) g6 E
{
( _+ ]0 @" C+ i0 M6 Z // Title String
0 d- v7 {3 p5 W: a/ [IDS_RESDATA_INC_003068
6 p8 O: j. n" I9 a6 C, `# W# o) O }
* K1 K @( V* R- ~ {/ G6 g2 G* ~% M9 |& C4 @/ z# n
// ToolTip
. B* d, [$ W/ x0 S$ cIDS_RESDATA_INC_003069
6 {1 `' U& A! q2 B7 S& H) j }; \7 y9 q; a1 Q7 Z! w7 d- `
WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 00 E+ z% U& O: n2 K! z- e
{$ y6 T' S! Q5 ~8 {7 C
// Title String% N% u- p2 t' ~. c! l$ Y2 \
IDS_RESDATA_INC_003070
/ h" s7 Z( f0 M2 j f }) j& p! q! ^# b- Z) H4 J5 e
{
- C. s5 n- C1 b4 @4 _1 k3 _6 q // ToolTip
. H/ f$ V* c/ s+ zIDS_RESDATA_INC_003071, m- ~+ T) T7 [& P! W
}
" s" |) A0 j) ]- L g$ D WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0
: i4 ?+ @/ @& i4 I$ u8 P8 z7 Z) M( e { g H4 P# H1 K
// Title String) L4 H1 f! P" i# Y/ q
IDS_RESDATA_INC_003072
8 `* g7 B7 }6 \. T! x }2 o4 Y( e7 H V7 T3 A" R# X
{
/ R# R* X7 r5 \9 o+ I+ N // ToolTip
. R3 W- M$ Z7 Z: i A; K4 \0 r3 \IDS_RESDATA_INC_003073
* D$ l L6 Y6 _6 _ }2 @2 s. h- P+ W( I3 U. h& D5 O
WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0' s4 A2 H0 T1 Y( g: j
{
" F d$ O7 j% B0 [ // Title String
$ c! D { f2 t' T0 E* [3 `- sIDS_RESDATA_INC_0030743 u2 B& e" N9 F+ `
}
' k5 ~5 Y2 S3 g/ N. `0 I+ h {
# |1 T+ x: V X6 P // ToolTip
0 V- {4 u# m. w* [, z2 n( ?0 ]6 b8 OIDS_RESDATA_INC_003075
1 j- Z$ P: u' ^2 m2 B2 j }6 G. S5 p N$ P( h! O
WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0
. A8 e3 s* K, I7 f4 m) G5 _ {! O0 W6 ]" A/ i: C. z A
// Title String+ q7 Y6 M# m4 f6 ?( u. S
IDS_RESDATA_INC_003076 L/ e8 P, F2 C4 J8 I
}' V; b9 }: J6 f: [" N
{
' U7 m) R/ r( y! _: H- L$ z // ToolTip0 R* p* _; z$ H) t# O
IDS_RESDATA_INC_003077+ u; _+ k) R+ P+ X9 B8 o
}
4 G( Y! Y5 h" h# m u WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 0
* P2 _8 \# F% e+ X2 G) d7 ^9 ~ {
/ Q1 k6 x4 d) L2 J // Title String
9 I7 W- X. P* x% HIDS_RESDATA_INC_003078/ T/ o- |2 E- c5 t" P$ S
}7 @+ [% N1 e& ~
{% @% J1 G! b; X: N4 P
// ToolTip6 `( ]& p0 P6 `( T
IDS_RESDATA_INC_003079
% l4 ]/ [' h8 |! `2 G }/ n- |& A, L2 c9 R
WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0) M* H2 r9 \2 v2 x; A: L
{
1 B& W% d1 X" w, V5 r // Title String
' R) g# V1 h$ O" LIDS_RESDATA_INC_003080, W5 {( r" }/ \8 u7 X
}
6 g5 }; a4 e% J" I* s4 ` {
% G. ~8 ~7 H" n // ToolTip
$ R8 }3 n" ^( S* c) o8 ^IDS_RESDATA_INC_0030816 Y0 V! t! Y% B7 _0 P3 f
}0 T, q( |$ T# B
WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 0
: i8 ~: o) w2 p, ^' ~6 g0 y {0 L) J3 |; @4 G. y' q6 e
// Title String. I# E' H& `2 F% ]* Q
IDS_RESDATA_INC_003082
/ H- g2 [1 t' Y/ m7 x* B' G }
$ A' ?0 j6 b9 B {
2 u# y$ f+ _' I8 J2 n' m+ \ // ToolTip) k% K" f7 _) b4 p0 o& A
IDS_RESDATA_INC_003083/ O8 e0 t! y; p3 r r* M
}% Y9 f, I$ B. Y" \2 E
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0: M' l5 d5 E3 T
{$ P4 |" c$ W3 P ~, s; G1 s! Z5 q
// Title String
; `' `8 W2 T! I' u TIDS_RESDATA_INC_003084* W9 ]) n, [& ]& u8 Q5 j* ~/ y
}+ ]" W- E, d& b8 E" G% c* u; C
{
( W0 Z( g' j1 F, c0 k6 s // ToolTip
$ E! H- f1 Z" rIDS_RESDATA_INC_003085( S8 k# _1 C% `8 ]( e; |' `
}
$ R1 J% z6 [6 @ WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0
( @( O1 q9 K0 D3 o {3 w/ \3 O& A. n; T( u# X7 }
// Title String" W1 C* L/ N- W
IDS_RESDATA_INC_0030868 o6 \. O4 l; G
}+ h% e4 n: c* _8 @% h
{& W e" r) ^9 z2 [3 P* A+ D! F
// ToolTip- s; P$ [! |- q1 b
IDS_RESDATA_INC_003087
, n; r* ?; P8 \+ X3 L$ v( i }
/ l9 H& a6 ` F! Q$ O WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 0
/ J" R; E$ T% H {0 V! S- B% J; a* Q
// Title String
# b8 v$ h" ?. F @IDS_RESDATA_INC_0030880 u# ? A& _$ i! A- H/ `7 h' w
}0 k* k. b# V: ^1 P2 Q9 A" v
{* N9 f2 U/ p( K# e/ o3 G) E
// ToolTip
5 F) Q' T3 W/ VIDS_RESDATA_INC_0030892 {2 \. E' D( g& R( ?
}
( X8 l' P' A4 p2 z$ H' u4 v WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 0& R0 m6 H! I! V" M' p
{/ g5 ^9 A k$ F- W$ H j3 s
// Title String
, }7 u' C2 ~" F2 Q8 J8 l1 V# ~& zIDS_RESDATA_INC_003090, z& N# z5 o0 N: H- Z
}- o. | d2 N" |# a f( ~0 k9 u( Z8 {
{
% a# V& H$ [; H3 c# Y, s) { D // ToolTip9 U. L+ F; h9 d" l" R- R% d a
IDS_RESDATA_INC_0030915 Z- b7 q% E g1 H9 @) P
}
7 A( u" Z5 f8 P7 K. S/ a WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
# R' l1 x# H' a {
0 {7 d% u6 L0 a- R K; ~ // Title String
5 P6 O" S5 | Z( v; q. n; aIDS_RESDATA_INC_003092. `% r8 B7 i* z4 V W
}
, G' O. ~5 C* ~5 S& j% N {
2 n# s2 W2 t# c) V // ToolTip; l. g- f1 w5 n
IDS_RESDATA_INC_003093
+ \" b, ]& o& B2 C: L9 v+ e }
l. r5 {, m. V WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 0
6 q$ M6 m1 M+ w& Q! D7 p( A {+ a% S0 k; u6 J: J8 `* o
// Title String
5 I& f3 S8 ]9 X8 S F! ]IDS_RESDATA_INC_0030943 k# c+ P# M: G! I C
}
2 {2 S) \4 y( S, z, [3 A+ p { D/ u, Q' a7 A4 l
// ToolTip6 e3 G' C+ R, j! u2 v% T3 p. w
IDS_RESDATA_INC_003095
' M' A, r3 G7 B }7 x9 b6 Z+ J: s( H1 b2 ^/ n9 v
WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0& d. g: J' I A2 o) R8 e' I+ V
{4 r8 O5 l' |8 N+ G' [0 F% b; C
// Title String; W+ l Z$ @2 h: R* Y' X, I
IDS_RESDATA_INC_003096$ L) z* `5 |* {* U1 t1 @
}
: A# V, j }8 S; V: V( h: R {0 @) m1 R# n+ |! e, ?" Z3 ^
// ToolTip
+ V' I- f* K8 `" MIDS_RESDATA_INC_003097' m" g+ n8 B. Z) R
}, S5 L, P g2 T- z( y0 |
WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0: f- @% Y* [/ q* l
{
% h2 @- z+ W( d, i$ ~$ G: Q. h) s // Title String
! z( R7 {) b" M1 eIDS_RESDATA_INC_003098
0 h2 Y* ]9 q& S8 k- L }
4 \ Z0 l8 i# p' x6 D {
% @( H" o# y4 O // ToolTip
7 e# z( ]* W6 ^2 C, z7 S$ NIDS_RESDATA_INC_003099
' R! k' `$ }; F1 @ }& i* |$ z: ?( i
WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 0
: N" q1 n6 A3 L6 { S/ b: c; e {6 n* H0 |3 v4 Z/ E/ r
// Title String& ?0 U3 w) Y, D5 T T2 a
IDS_RESDATA_INC_005076
% ?$ Q/ n [- U' h }
/ \! R) M# A, @' v {5 j- K7 F8 `/ y- C! Z
// ToolTip
4 A! f: x1 l6 W3 b: F: \IDS_RESDATA_INC_0050772 j# o0 @/ Y$ ^% ?$ J7 y
}
$ j3 a N0 A; m WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 0
5 Y. ?- s6 Q9 S/ _: ?( z# t+ h {9 V$ `1 U5 S5 z' H' J" |9 \
// Title String
7 O3 u' o9 e# T' t% g# r' nIDS_RESDATA_INC_005078# a, V1 y6 H. s! P
}5 P) [7 }' V& t" J* I
{
5 X8 s: L( i) F6 c3 O/ K2 H // ToolTip
9 g F9 s& i# [: WIDS_RESDATA_INC_005079
0 L. H) Q, ~2 M3 C: z# Y- R6 t o }
0 \! o1 _) X* F/ m WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0. D' n0 p3 [/ ?# B! }" U
{3 K/ o8 b% \: H, z& f( w% i! @# j3 \9 z) t
// Title String& a/ e/ ^. R; `3 K w# V! N9 q; }% @
IDS_RESDATA_INC_006874& I1 d5 `! y" r* _! ~0 o6 \0 e
}8 l4 `4 u9 m) f( D+ j3 g% W5 M
{% [1 q0 N8 C/ C" g# j+ F0 o' l
// ToolTip
1 @: B: |0 h' U7 WIDS_RESDATA_INC_006875
! Y# U" q! X, X5 ] }
$ C3 Z4 o" \# G6 e" V" _& u WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0
$ J1 A3 O# `) j ~' k4 M {
3 p8 k% N2 K, @8 s W // Title String
% T5 F8 l9 z- q E' w0 |* iIDS_RESDATA_INC_006878
# W# o) I* m ?+ q" Z$ ~6 W, e* _ }
- z9 f( h; B8 x {
$ e0 o i5 k) C) k2 { // ToolTip
! a- [! e' Q, H+ a7 ]IDS_RESDATA_INC_006879
. ?# c, m& x O }
9 S2 N8 U4 U8 c7 I* Z WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 0
' v) c1 y' F' {$ J ^ {
! K+ @0 ]( a% u0 u: I; Y // Title String
, ?) {! W P( R0 ^IDS_RESDATA_INC_006880
# J8 {4 `, z% D- C* B# A9 z }) X P, n) `5 K8 C4 ^6 D& s* \
{
$ F; ^9 Z2 M7 {# A* n: J // ToolTip
, E! {* |6 k! }) s9 I! pIDS_RESDATA_INC_0068813 U0 ~: s8 n) i1 l- e# O
}
) \# ]1 M8 B$ q/ b6 Q WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0. k( R( t9 ?, S) m% z) u
{. E' j! W% w9 k3 a+ [+ f4 [: ?
// Title String4 a3 C: e0 L' K5 r& {
IDS_RESDATA_INC_006900
v" K) u1 {, X2 n- t }7 R/ S; V1 b$ J( k& a4 `
{
8 ?: `1 K+ @; e, z/ V0 [ // ToolTip
: r! h# u: }8 J2 s) qIDS_RESDATA_INC_006901. J6 q( e" q# n
}
$ t) ?* F9 C; y+ p! L, @6 U WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0
. |/ g4 H% ?: v1 j. [$ I {% L8 r+ ^6 I) t! ^+ k$ k; Q
// Title String
/ W, y$ L! j. [0 b3 `. |IDS_RESDATA_INC_006904: p; m% ~, D V; z2 G4 j' I
}. Y! \( W' N/ m+ @$ e4 M6 U
{
1 Y- q3 ~( q. |8 M, z8 ~ // ToolTip
8 U3 ~; P( P4 e& e+ oIDS_RESDATA_INC_0069052 W: J- f& i# w; y. v
}
6 _, l% M* M; ~1 z1 D6 p' v8 W WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 0- e$ L; H0 N. ^# O. x8 Z8 e6 h
{7 z. B3 d- E8 P+ }+ E
// Title String. C' x3 I: L% j; j% P
IDS_RESDATA_INC_007134
( O) o C( b! b3 v+ L }
5 o2 [" R: S" l( {/ l {
9 C& C" p% [5 Q* D# @0 A$ ~1 f% ~ // ToolTip
, _0 A0 o. q4 Z$ l( e# N) xIDS_RESDATA_INC_0071354 J" U& ]0 g* |3 {2 Z$ _8 Z
}. l9 ?, Q8 D) o9 }- ~5 n
WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 01 T" L3 P: o" |! C% e/ S6 V; V
{" ?1 u7 g' i( t$ ^( k4 X
// Title String
% C3 i' }, G9 f: D! t. ~, `IDS_RESDATA_INC_007136
: r, t7 o$ @7 r: i }
, u" Y1 }4 p* `1 J8 z, W, G2 E; W5 h. c {
- L o' D; U: k( t. ?7 g# ?0 j" e# P // ToolTip! k& @, ~6 @% ]- y; s
IDS_RESDATA_INC_007137
. ^" K" Y. X3 ^3 F( \. _4 z4 ~% ^ }; |1 L9 V& b) W7 f
( F* |) e' _6 ?) H( g9 q0 Z9 l% o! v}7 x9 W3 d" h& {. [0 o5 N) h1 P/ F
所以红色的!5 ^$ R) J7 [( D8 h# o+ W
1 M3 Z0 K }" ]2 i+ ^7 H
这里还tblSkillPoint的条目:5 r. ~4 Q4 d7 t7 n$ K/ H
% X) |% n8 q( e( w: N2 X# ~代码:' _$ K' i+ Y8 p2 a0 w
If (@im_nJob = 1)* A R: @, V; j3 e8 L
Begin
- H! M6 x% a a" _$ Q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)( K0 r; f5 f \5 F& t2 e( a
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)
# d$ T+ |% i3 R0 |$ p" u9 L INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
5 L( k1 L* q! n% ?0 ~ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)
5 k- }7 a% T; L6 s INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
/ w/ ^& }' u; ^: h+ d, G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)
9 ` j5 C2 j L$ Y% o) \ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)
. V Q# V! j* R/ H$ p3 B2 }5 V INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10) t& L7 E6 x2 S( J1 V# o
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)
- D4 Y9 h# M1 d D INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)$ \4 P! s' j1 b& n1 Q: z3 B& V3 Z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)
8 [; `; I) N+ q8 {( x# S6 R INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)$ R/ ~- S# h+ u, ] q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)
9 _5 G" c. @1 o% L INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)
8 \9 r. Z4 O8 \2 [# z8 a INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)! Z6 g: R! L' e4 s
end7 q3 b1 Z7 u: j- M" h
If (@im_nJob = 2)$ k! e1 E7 B# o; ^, D V, Z
Begin5 n7 e6 N6 W, `1 x9 R( H
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)
0 }' M; `* ]6 C+ `, U3 ^- ] INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)/ W/ W2 S# v% |! Y$ N4 F% p* l! R, x' h
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)
* W) |9 B2 ^5 k0 c5 H2 j INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6). h8 w4 Q8 @6 q& P0 i- ]! P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)9 S! u9 P/ d$ K# [0 ?- x; R2 C# h$ _% P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)
9 f5 n2 K0 b6 s% k INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)1 |* _8 V1 u0 i3 L# b8 [& Z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10): c( s% Y5 E' a
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)& O0 D' G* Y- @9 m7 X. t3 F0 ^
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)
9 U/ x- ~5 s P$ P% D INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)
8 j; ]5 E' `& q# M INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)% H3 n9 a% B. O
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)$ Y4 [7 R( L2 C+ \) k) L# v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)* H: ^' P1 M1 y. Q0 G& _; P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)
" V" B0 E6 Z& N INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)/ N, t( x9 Q1 z
end: F0 y' ~& y$ S' e& {; L" N$ C
If (@im_nJob = 3). z% B9 F7 f! [: b4 w/ S% W3 J
Begin3 E) C! ]& n6 j. I" p* N, t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)" p: p7 J. q0 O5 G) M
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)
- O# Y: K, ~+ b6 W# Y `6 w- S INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5)# P; w& e/ p% j! Q. ~' E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6)3 T9 A8 k H( u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
1 u, v7 r2 m# ]( T7 p, s+ f t INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8) @4 i& p Q: p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)2 B( P7 w! e5 d8 m' V
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10)
1 i4 B1 d( O [/ \% U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11) U6 C' o9 A0 n
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)
& }1 D5 Y/ O% F+ v INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)1 y$ e- r2 ` `
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)8 H( U1 T4 K; g6 z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)0 A" _, K+ ~' a7 I
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)
7 j6 T* J* C! f8 d) | INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)
: l. |6 ^8 c# {- p3 }( G6 U( o INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)
* A. n4 m$ Z7 _. M' ~0 j INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)/ M9 \8 B3 }4 y% Q
end
7 E) F* F5 n, u5 n If (@im_nJob = 4)
& t+ b& w! K% J; }* u m Begin
; \- s! ]9 v* W$ } INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3)
6 @5 O& j5 I4 P1 r Y% r4 ` INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)
+ @9 e9 |2 D8 |% w5 A( M4 p+ O INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5)$ l% {; d( Z+ I8 A
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
: ]! B) _; i* u, \( D# C* V+ W INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)4 N7 R* h+ @2 i0 k
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)% f% F7 F4 x; F: |
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9). ]5 Z2 F# x y, ~7 V
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)
2 U" V' i3 n7 s INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)9 H% M+ K* I' } |
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)0 {- v0 W7 S" k
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)
8 ?1 C* L% W: j( T INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)
- W/ o! F7 }- m/ Y. \2 c- [' b' @ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)! T( N; V/ E0 @7 o A& o6 t$ L9 r2 v+ C
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16): y' b( D6 B4 L6 }- n# R. n( @) s; J
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)7 F) ]8 _- `% J1 H2 ?
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)
# {5 }: q5 [ V. R3 q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)* @: d# E) ~6 T6 X3 @1 ~
end
, Q$ b0 X% x! \% ^$ W( l0 @只需插入在此插入
. i) `) k) j% R- D; u6 M7 |; c Y代码:
) n- R1 P' l& q7 t# ?" I# g& Z INSERT BANK_EXT_TBL J! ~! L9 |% A9 z) I9 f
( ) R# V9 }3 q$ |7 ~0 `- a' g2 U
m_idPlayer,
+ O9 w) g8 k7 k2 L serverindex,8 o9 @8 w2 p5 b: ] I( o
m_extBank,
8 {- y& R: }. e5 E m_BankPiercing( s% M. N8 A/ o$ t7 K
)
% B* H2 e, Y3 I5 U2 t5 n5 y. u VALUES . u( `$ Z/ F9 x* u- q) w
(% w7 t0 e0 q4 O6 D/ u4 M" [2 t# Q. t
@om_idPlayer, e: p. N3 l9 C7 Y3 a6 z4 Z
@iserverindex,) n- I# K4 Q+ p7 X! X% S8 f X
''$'',''$''6 |: e: p" M) p2 b
)
) C2 ]4 g; a ^( w8 Q1 u: ]
1 o- B5 k. o9 _ x `& v5 D. d+ R" D4 [
#define IDS_RESDATA_INC_007134 28816 S) g& B' Z3 w% q# g8 h
y: E3 M1 Y$ Z# m# D; T
/ T$ ?3 o2 U5 \2 L. i DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,. i& E' W4 y/ w/ j5 Q
dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex" {$ E. i* n0 J M/ X' @( w% O5 b
#ifdef __NEW_JOB_SYS
3 ?$ v+ j- m' U+ T3 m , 0.0f, 0, 0.0f, H0 N# K+ i9 v, W1 @) B
0, 0, 0, 0, 0,
# K+ d4 f) x4 g( A+ X& w nJob $ p( I& y* s2 B: b( @
#endif
4 f" B2 v+ R0 N- }1 M/ x; r+ y B: J" _/ {4 l
" x: u7 |; [8 v% m9 f* E |
|