|
|
在这里,我向你解释如何在源选择安装到创建工作中的字符。6 n& i; k% L' ~5 q* T
../NEUZ/Versioncommon.h* z+ O0 @+ R7 I1 \/ V: c" o
6 e' G2 Y5 v1 W! O6 a2 r" y) q
在上范围进这里只是这一个:3 y# H. O0 M8 |5 ^! r- K( R
代码:7 H# T. R: h2 z* h8 z* M8 X
( [: M% Q" k( r2 Y; ?& t7 Y#define __JOB_CREATE_CHAR
1 _& v; R/ S# w' S$ K../_Interface/WndTitle.cpp
) U7 ?' R4 n/ f2 S2 X5 D1 z3 G
. o% @! ^) Z K在这里你进入功能6 Q" B7 U. w& G; `$ `" x7 V; s
代码:
5 ?3 u8 [+ a, P/ E. f) U* E2 u2 Z W" [% p* B( q$ F
void CWndCreateChar::OnInitialUpdate()
. f' b7 r% C- f7 d9 ]* e/ [并有助于
2 d# |* J- _ A代码:% Z+ j! Z5 ? G& U* M
CWndNeuz::OnInitialUpdate();) {9 g( H H) q! b/ X0 W& Q: F4 k
这样的代码:9 ?0 r$ a M0 S- j: e
代码:
( O4 l0 t0 R# J5 D4 r! s#ifdef __JOB_CREATE_CHAR" d- ^+ l7 z7 i7 Z4 |" A
m_Player.m_byJob = JOB_MERCENARY;
4 K$ F" S z3 [& C" I CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
+ q# [6 ~; h9 o# p' e! k% N pWndJobBox->AddString("Mercenary");//Edit by yannickmama
$ E/ U& E$ m( K" M) t/ M( z pWndJobBox->AddString("Acrobat");
* G) H# _- v5 ?, z. p pWndJobBox->AddString("Assist");
) m& W. ` ^' c1 S& o pWndJobBox->AddString("Magician");0 r: E7 u1 {) N; l$ J$ i
pWndJobBox->AddWndStyle( EBS_READONLY );
7 G0 L9 [* S- `6 c( |$ J pWndJobBox->SetCurSel( 0 );
# l, r; w& q6 R6 j4 d. {0 w#endif //__JOB_CREATE_CHAR4 w+ z8 ~' T! v
在同一文件中,我们跳到这个功能
$ X2 T, b# T: C" G( x* c# N' C代码:
5 O# t2 W$ p( _9 fBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ f% j, v3 ^2 G7 [/ N并查找这一行:+ J3 }! j H# V- d z) R
代码:! n9 A. h4 W7 m
case WIDC_OK: // Create
7 h, ^* a/ f: x {
2 {& a6 x7 ^" J H9 m; n下面我们就这一个:" a9 G, F1 F# x& y# \
代码:* e$ b' U4 `7 c& T
6 z, O% L9 ^0 Q: C: N
#ifdef __JOB_CREATE_CHAR
( S: W3 V/ \- {) r- u' k8 H( j% W6 K CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );6 e. X7 `% _3 f, P7 T
assert( pWndJobBox );$ q9 F, ?# y- w& d
( A7 K" U. O; _" b B( e if( pWndJobBox->GetCurSel() == -1 )9 v# w% ^) @: n* D
{
2 ^1 S7 J# k5 j, \6 Q) G) G g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );
1 u0 ^+ E$ L" K/ J$ C: U8 C return TRUE;9 B, c* g$ E8 \) F
}
8 i% ?; O- N4 b* i4 T
* f8 J0 o# I2 J1 r7 U0 E switch( pWndJobBox->GetCurSel() ) Q2 o$ v- R# f) D$ w
{" o, F5 m1 I3 g3 j6 Z
case 0:, x3 x" t' O7 A5 }' Y5 g
m_Player.m_byJob = JOB_MERCENARY;+ Z8 x# M& g, j* L
break; `1 u- }! K/ c; I' ]
case 1:8 \" v8 U) }( T. c9 {
m_Player.m_byJob = JOB_ACROBAT;
5 p4 J5 Q% f! N break;, M1 N1 m3 B2 g t: P
case 2:# W5 `9 ^0 ~9 h. a. m: z
m_Player.m_byJob = JOB_ASSIST;
0 W; ^+ p7 e& f$ `. I( | break;! q3 \- u; e: B# R% p! T7 u X9 v
case 3:# u7 Z. D' l# d9 K3 ~2 W
m_Player.m_byJob = JOB_MAGICIAN;
6 ?4 f* ?7 n6 ^( }$ j break;8 g$ g- u' N6 W4 X3 ?; h. ]
default:
7 i+ n1 K+ O( ^* _ m_Player.m_byJob = JOB_MERCENARY;: u* l! f9 f/ N. X
break;2 m7 R* b5 }: _0 B: ?7 R$ H
}
6 e$ \" A2 k4 t6 G; H#endif //__JOB_CREATE_CHAR7 [* L( H- L4 ]3 Y
& F2 D% v$ @1 y. L
../databaseserver/versioncommon.h
' e; A) q# u* c6 f! g. O
. N A, F( s( N在这里,我们这一个以上的地方进行
, t# Y& z6 v$ U: L( E代码:8 j1 O( Q" g/ ] g4 g* i- W9 \
6 e, F% s, E' q g) r5 g+ ]#define __JOB_CREATE_CHAR
3 o7 L' _" K: B+ ~+ {../_Database/DbManager.cpp# I0 ]; ~- A4 \3 H; Q+ U; k/ M
$ p1 X$ W: }2 Z' Z: d
在那里,我们去的功能
5 M; Q; @* c0 A2 v代码:
, }6 h- \, W9 U1 d5 C2 q
( c2 {1 p) _& N; Rvoid CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
# E5 X: l6 I3 ], f0 ^并搜索
# e/ n- M0 ?, }: ~. F代码:
" O: C+ L @, gpd.data.nJob = 0;
" [/ V. v7 L3 r并替换为, I+ ?6 O g; Q' o$ \5 b
代码:
4 B( e4 ~/ m0 D: u3 x0 F#ifdef __JOB_CREATE_CHAR) w$ ]5 U J5 `" ?, ]2 i
pd.data.nJob = nJob;
: m( J1 {4 _# v# X$ v& B#else //__JOB_CREATE_CHAR
) x* _! H& T* [& a* g pd.data.nJob = 0;2 q5 h, M# c# w
#endif //__JOB_CREATE_CHAR
. {- R9 R& J0 Q6 q {7 U! H9 r
- o' l3 K" W- c! B! F7 G4 V2 E0 X这将永远有一个来源的东西。+ W9 l L) o" Q) y8 R4 h- x2 z k
' N# K6 K3 ` \
但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库4 x0 B2 v v9 g6 c
和搜索
- {; r; O9 _ B; N代码:( y- h8 K& l# v# F- x" l. J
) g9 U+ R+ a6 s2 r
FROM BASE_VALUE_TBL
- W5 L5 A" E- ~ WHERE g_nSex = @im_dwSex
( H% F+ V6 I5 p( a并替换为
0 A2 C: q! _% E; V' q7 ]代码:* |; D8 N% b( t8 S
FROM BASE_VALUE_TBL' O4 I) K" w! x" U) C5 s
WHERE g_nSex = @im_dwSex AND
, }2 h; y8 w3 |5 S% n! C3 t8 u m_nJob = @im_nJob
+ n/ [8 P D) }/ b当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。
+ R% ?& N+ m# F3 F1 e1 ]
9 p+ J3 [+ x! l6 t$ y你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。 h- z3 }. G, B0 g. P
/ F* [ O6 O3 ^) L4 h. |; u% J
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
. }* a4 {6 c/ R+ `4 X2 Y2 @这是那里告诉服务器哪些技能你的角色可以skillen。
5 y/ y+ `% s; `% ]0 P( j可惜我不再the'm懒得现在要做的话:'D5 E6 B* ?8 W) b4 i0 O- T
1 ~& [0 i3 Y9 V$ M
% H* e) o- c/ H6 K# H g
O9 K- P( [( I/ c7 D' H \5 D
+ U7 j5 K6 A' k/ P; f$ a8 s2 }* L4 y' V
- ]- ]9 _/ U `- ]! ~' a
8 H: T6 z, Q2 a$ R" i
Quote:
# O2 b4 b& D0 L7 K# P/ c" sOriginally Posted by Divine. ' [5 ?7 _' Y2 e" b5 Z9 G
如果他发现我( z! C% R/ C) h- {$ }' e4 S+ s
代码:
, O' A! i# b9 p pd.data.nJob = 0;7 s" k5 c* J- ?! E- |2 T2 L) [
并非如此:* H) @( s( M1 F/ x6 r
所以,我只能看到# c, w$ Y0 p3 G- O4 ~( a5 |) J. K
代码:& m; w) h% ~# B5 i7 ^; }
// pd.nJob = 0;
R% p- O& q1 h9 |8 g. J$ Y! N^^! b. d) b1 d, M& I( T) \
Hier, das mussu finden:0 k4 ?3 a8 S4 w$ k& @) H
Quote:: _& K* E8 ^/ ?8 I& O! p
#ifdef __CREATE_JOB* U0 k& D( p9 O$ C( ]9 q3 l/ V
pd.data.nJob = nJob;
7 g& f1 E' c. P$ C9 J#endif // __CREATE_JOB. D% e6 B2 [% v q: ^- Y
// pd.nJob = 0;
1 B% q D! I' Z# g' z// pd.dwState = 0;. G' W( I$ ]' G5 Z" W% }9 m
pd.data.nLevel = 1;/ u2 ~ z* x5 G0 j
pd.data.nSex = nSex;
! ^, E/ w+ b5 u" E3 Y) z6 Xpd.data.nVer = 1; $ B! i' H! c- D, V
6 H4 B( ^; b2 ^. O我仍然有一个问题(:: k" G" S% z3 v$ e; Q% ~% R" s3 i. M
下Character_STR DB
& c) @" b) `5 z- {& Z' _这样做在这里3 M0 t8 ^2 G5 v( f1 H n# O
代码:
9 k: y8 W5 B& Q8 m5 ^2 q& K FROM BASE_VALUE_TBL) |6 d# Y) e( | f
WHERE g_nSex = @im_dwSex, G; E E+ Y3 e) Y- {
在这里改变
: R0 `9 \# C+ ^+ ^1 ^+ r代码:
. h7 W; V6 |* j FROM BASE_VALUE_TBL; r, b: i7 _: S3 M. H& S
WHERE g_nSex = @im_dwSex AND" P4 d U" S, c) P
m_nJob
1 X% y, D( l8 c4 a* I- q由于还需要什么?.?
! n7 B8 [. @ v9 c$ G, s9 L: S, a在第一篇文章中,你可以阅读0 z* e5 H: K- }, f4 g
代码:
i' s, }& v5 {" i FROM BASE_VALUE_TBL
- n6 z+ C( y' F+ S WHERE g_nSex = @im_dwSex AND" j. W k$ O2 O$ V/ c5 p
m_nJob
# @; z' k3 a6 z6 n1 Y4 r: |6 ^3 S- f
D$ ?; U% U+ B' c$ l窗口是什么我忘了
6 s$ ^8 ~7 N& H6 f; a: v, Y$ J) @7 k2 a, S% A& w
代码:
# T0 X- F5 X6 K5 m3 P; NAPP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 26: m4 h4 I R! ^* z
{: z( g/ f, R. u; b2 G; [" O, v
// Title String) F& L, l" ?( ^7 @- M3 P
IDS_RESDATA_INC_003064
6 I( C3 J# o7 n. y) C+ C- Z}( h, t: o! P8 G+ Y2 u: `. H
{, m: A, j9 n* S$ C0 z" }# \
// Help Key" e# m' E" n1 N
IDS_RESDATA_INC_003065
0 S; [3 ?0 i6 Z+ ]2 ^}% X8 x$ [/ @, T6 Z6 g, C! N. L
{ l, K: R; v4 y7 h- R; N
WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0 R8 a. s" y+ ]' c) |
{
6 W2 v& x c6 G" ?- l' p( c; b L // Title String( J5 m7 l2 T h( p( d+ T
IDS_RESDATA_INC_003066
5 T' F6 _9 g; ]- ?$ {* I }( s& k1 r: H: V" t
{7 o7 _7 Y5 J0 ?. \
// ToolTip
P7 p/ g8 S' C4 ~- S: j& ^# {IDS_RESDATA_INC_0030673 Y# l: ~. H8 N) n- R7 h* o6 V8 \# e g
}8 E+ r. ]- P" p# C4 e: R
WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 0/ o! L6 o/ C, o+ M, S/ S* ^3 @
{6 F6 ?; c$ O6 R$ {; P
// Title String
0 P! v" e: L* J8 c3 f; yIDS_RESDATA_INC_003068
* U7 {& o% h* Z% y2 u5 }; q }! j( ]7 c/ `7 R; ^; g
{% x j+ T8 F5 t' H; g9 Y
// ToolTip
$ s1 }* \, t) N0 cIDS_RESDATA_INC_003069
8 Z) O/ E. j6 T7 N; } }
* e/ X/ I& }1 r0 D1 ^& ? WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0( H. W5 E- x |/ T: ]
{
* y/ I. Y+ g: |3 }- W E // Title String
8 Q" ~8 L* n7 i& i) l1 f- Q2 jIDS_RESDATA_INC_003070
9 T% y7 F* B/ M0 e% n# J- T$ R) Q }
! A. P. d" z9 j G {8 Q7 C$ Q7 \ I S- C( V- ?" b
// ToolTip
% A7 b7 l% U9 W( q1 ^IDS_RESDATA_INC_0030718 k; R+ J9 e, l1 x; k) E5 T) }9 A$ S
}" {/ [, j# y. W! @2 w
WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0
0 x/ _: O _( {- p& u& N {+ H" R5 F8 R0 X7 _' ^7 u' e
// Title String
9 i# y/ b& b$ {( R& bIDS_RESDATA_INC_003072
8 L6 o' X, s" w Y& n5 n }8 g" n) ^: }5 q4 z- B- Z
{3 j( ~8 R* y) C
// ToolTip
q) r! D. L6 J& N& sIDS_RESDATA_INC_003073
& p% f# P/ B: l( s- ?5 T. g }
e0 B! T- ^3 _; Q$ B WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0# h% G7 L3 J2 b0 a6 s# ?
{3 V# }# k8 \8 t0 S
// Title String
1 ~) U* }4 V0 f1 H& a- G' xIDS_RESDATA_INC_003074
/ F( H5 C5 |5 r9 d2 ^3 Z% a4 G* d }% l+ c) V) p! O! b
{
5 k8 i: ^& \2 n% }, P5 T) K0 s5 J // ToolTip2 i2 t. c R0 S! Y2 t: `
IDS_RESDATA_INC_003075
) q$ T! O d4 ]0 F4 V. ^ }1 |6 E- N$ e4 ^/ v
WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0; s. Z4 c# b7 X, a: {
{( I% O/ V0 q# y) l
// Title String
% F& @; Q8 [* l/ |, `9 rIDS_RESDATA_INC_003076
" C/ F$ u9 v2 w3 w. M }
* Z0 k6 `* k4 D' F7 m {$ {& K8 E m* P O& v6 x B
// ToolTip# W0 w2 A! W( L# Y, p
IDS_RESDATA_INC_003077 Z6 K7 D1 J" t: M- n
}8 _& W5 g. y: R1 p! e
WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 0( ?' `/ v3 J( I% |, V8 Q. {' M$ A* t
{
0 e' j. ~1 Q) \( [6 S // Title String
3 B! Z- @+ m: ~- ^0 J W6 J6 d& Z' ^7 AIDS_RESDATA_INC_003078
: v. D4 D% C& L; [ }
6 F! R* m' W. T {& {0 A6 N9 F' N5 @( {$ u) g3 V, Y
// ToolTip
) f4 P! J5 e+ LIDS_RESDATA_INC_003079
/ x8 }6 Q6 y5 S4 k L& C }
0 M' o# R& U( z WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 01 }' T7 i- E* K
{8 J5 _! X! s4 w' S
// Title String0 x5 {/ b5 t6 s3 G8 K0 m8 g0 @4 ?
IDS_RESDATA_INC_003080
p. R4 y. C1 l' R/ W3 P2 x; Y# J }+ f% O( Z% o% l h9 y
{
, s# G0 \2 n) @4 U$ z( P1 s // ToolTip1 n: D* q% w7 }- }) i) |
IDS_RESDATA_INC_003081$ s/ d3 a9 _: S/ n, V
}
4 X) O" P1 r( X! y WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 0, }3 C) \" H {* l6 Y" N
{4 e; k5 O0 U8 X: ]
// Title String) x6 b1 G, N# C" H; c, E" i
IDS_RESDATA_INC_003082
' `6 U& D! S. g; e/ z3 c }/ p! r0 M* @) \* S: `2 L1 s
{6 q$ d& {: m* p1 |: O" h
// ToolTip5 M9 B% p( Z7 N- S3 o# N" P* m0 r2 j" ^
IDS_RESDATA_INC_003083
" } q' j+ h- O- f }9 P+ x! ^" T9 A( ?3 |
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0" q3 z, [: r. }) n" X9 w3 n- |
{; Y) U) L( P6 `; \) I! L* E
// Title String
# N9 H; d& o/ G }( C( RIDS_RESDATA_INC_003084
4 J+ ?" ~" q7 a% e" \: R* z }
* m; h4 T; p9 R. Y2 _+ N! L {
4 T8 a6 ?( e% z U // ToolTip
1 z( A' U: A! S# AIDS_RESDATA_INC_0030855 b9 S7 L; y7 h8 B
}# u e5 |' D% x0 B
WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0' {$ s6 c2 L$ I
{
6 M0 n7 i* B5 F ?8 V2 ]) j // Title String. ^' X7 s# L- C2 t* Z& I
IDS_RESDATA_INC_003086$ _* B- }8 g4 Q8 p" Y# m
}) p0 F0 @: o/ Z a& h0 y$ }) z
{
, K* K8 P7 q- L // ToolTip4 E% A( h. d6 K* q3 ]
IDS_RESDATA_INC_003087
: I- M+ Z) [4 Q3 V& j0 c }
. x! P- M. W* c7 `, M WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 0
( `2 Q* o1 n" }+ }* ]( S! e {
3 W- E6 u- {0 @+ q. @ // Title String
. X. l0 s- Y, uIDS_RESDATA_INC_003088
( V8 L Q/ |, [, p2 N }$ H' F: ~+ T D' n1 V
{/ W4 J% w9 R6 Z! l8 b: ^
// ToolTip
- _3 z1 `# A+ w; F/ O. OIDS_RESDATA_INC_003089; z* A# Z( u0 N G0 h
}- x/ D) Z' [' F5 v7 n7 Z8 @' r! z
WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 0
9 X6 a8 v/ P4 B$ p% U {9 d( G: N3 _8 {7 Z
// Title String A% h( k* `7 j3 ~7 Z4 t
IDS_RESDATA_INC_003090. U# k7 L, Y z9 p r
}
9 W4 y( Q0 G) ]6 o4 }0 \ {# o4 _4 L1 Z; k7 b+ I
// ToolTip2 F% a' L; o" K( C5 \4 h
IDS_RESDATA_INC_003091
5 D, ]( M2 Z7 w' m- O: h) [' q' p' y }
1 }; h% L' l! C0 n WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
0 F6 Q' m, G5 |' Q6 s, w {
" ?) \+ x4 T1 `1 q. T // Title String F* h: ?, I0 D
IDS_RESDATA_INC_003092' e/ S* ^9 Z: [. G# q' Q
}2 j1 j: ^; x( U- j4 s; r# G
{
E2 O G. H6 u# e! n // ToolTip3 U9 h4 g* h" Q s& l9 `2 ]" [
IDS_RESDATA_INC_003093 Q! \" V- X6 W! c1 \7 ^0 _% _0 d
}
2 o9 O" o9 p3 M& H/ H, ?; q WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 0
' {: @% Y6 k, J* j0 D& S {/ u) c: o, H# a
// Title String( R! C- m& \! B+ t: P: ?
IDS_RESDATA_INC_003094
, C7 V+ [, n3 o0 M: L }
/ Z* |3 ^8 [/ s1 m& N {
9 g0 X2 Y4 _9 `1 S8 r // ToolTip& d$ C) F: r- y$ s
IDS_RESDATA_INC_003095
- H# e! _1 V# ]6 z& V. s }
% f7 O4 Y6 J/ s WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0
: l4 {% v2 b$ _, o' J0 j; J/ b {
6 U+ ?4 `! l# V' E r$ k! u // Title String1 Y9 p' J4 {& A9 ^9 U
IDS_RESDATA_INC_003096' s4 l0 I; k. H0 h- X
}7 `+ |0 b: @7 k- S" V1 C2 p# u
{
) U8 W; L# r' Z$ C, C // ToolTip& F8 u+ f4 f- g& F
IDS_RESDATA_INC_003097 p- G7 v! R4 u
}
6 M1 b4 H7 Q C4 V% S. T WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0
; ?, y2 ]' n; i6 I2 A$ o {+ A5 v% m$ @3 Z# V0 V+ d4 c
// Title String E( @1 y! i, X1 i( ?' D
IDS_RESDATA_INC_003098' {3 E0 r2 s; }2 \/ U* x
}$ f D0 P# b, e/ Q# X! I
{$ c1 ^2 |8 p$ y9 {
// ToolTip
( x7 R( U; l H3 @IDS_RESDATA_INC_0030997 h$ E, E0 [/ a3 x- Z; L* u
}& e# D* u3 b1 T- W! F
WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 0
% K7 Y2 n1 O0 c8 h: J: l {
, T! {4 A$ l* N) z9 g3 f6 x* I( M // Title String k6 Y- j1 _4 M* p; E# p
IDS_RESDATA_INC_005076
3 b$ F6 p: ~1 i6 V* k6 f& Z }" L! K( s5 p# i
{
6 c: R3 M6 P* u6 }" |- \ // ToolTip/ h4 t! K* ]6 s9 q6 u
IDS_RESDATA_INC_0050775 I2 Z8 o1 r0 U8 I' O
}6 a5 e2 C# T' a% p3 B4 S
WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 0
$ {) d; z8 M* x) F! h4 ` {
0 E% c3 |3 O7 M // Title String
; V5 }' l7 t# p" i- J/ s; sIDS_RESDATA_INC_005078& e& }, `" p0 H7 J
}
0 E: l$ [' Z1 [' F0 } r0 `$ Y+ P# o {$ ]; D P. j5 j) I0 \6 `# Z) F+ z
// ToolTip
0 r7 f: e4 U' L; I+ {" mIDS_RESDATA_INC_005079
- U0 k0 e% m* B5 c9 i0 Z }4 l! ~# W- I& ^/ v/ Y- A
WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0
! g1 N9 M( L) q9 {9 P, _) C {( ?/ s' a2 L& a0 u/ R3 i7 S
// Title String$ A( I* N: {) Q; R: M
IDS_RESDATA_INC_006874
7 W8 n/ V) I" S- N2 g) }% A }
' `6 `: o' [! A {$ k, d. @, i) N2 s
// ToolTip+ f- B `' I1 X
IDS_RESDATA_INC_0068757 O/ c5 I w% M) k( U; g7 q0 w7 f
}8 O8 U+ a" ?" }$ S u# E5 r
WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 05 D" D$ N+ u: f* d0 B. r6 Z
{) P( w6 L: ]) E% W! m4 S
// Title String
/ o/ z, l3 P- ^/ C0 }2 V% MIDS_RESDATA_INC_006878) A X; L) v, N! M
}
: C P; g0 I% T! S: i i {
% N8 ]. h* R2 `5 _8 }, Q, H- [0 W // ToolTip8 _/ ]) z: c1 j" u4 d+ S, Y
IDS_RESDATA_INC_0068792 w3 k5 j% _9 A$ T# r: @
}5 w, G0 H3 m, N) M# ]
WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 08 j) g0 Y1 g! P) s5 @* d! G; l
{
0 X4 A9 E" h: Y t4 z) U // Title String
% d; B k3 n! X: }1 R3 x/ IIDS_RESDATA_INC_006880
* T: i& |# `4 h% Z1 C }8 h. m6 L; b% X: j# E7 Y, M7 C
{. ~( V( a. U. B6 l0 g2 R0 J! R
// ToolTip
/ N. E- V* @9 X \4 Y ~4 uIDS_RESDATA_INC_006881
4 n( I; u* g; Q1 y, m }7 q& a3 \ s4 U8 d; O) B8 `
WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0
I: |, u" e# d) d6 i; Y. ^ {
7 L7 A# T' I& @; h' O( |4 ] // Title String
0 f j4 o) ]- nIDS_RESDATA_INC_006900% t0 w+ [3 q# z
}
& M, `, |" K& u9 H# E {
$ P$ A2 G2 l3 k( W* Z: \" D // ToolTip y) F" ]& V1 Z3 D: W; U1 l* a1 B
IDS_RESDATA_INC_006901( [8 ]1 y" N/ b
}
& d* J _. @; ~" i8 D5 X6 I WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0* G* H, @% Z& |, t5 m+ c
{ a' y: L, ?$ g
// Title String7 G1 }( Y; [: z1 ^2 Z2 ?8 P/ q
IDS_RESDATA_INC_006904
2 W& h! q- U2 g" p. j }" t4 y# N$ q/ U6 W( j
{2 X3 o2 V/ Z* ~7 u
// ToolTip
: }4 d: m) l' t& N) bIDS_RESDATA_INC_006905
6 D, T" Z ^( o) d }
8 h7 Q4 j5 r; V: j WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 0
% t! {; x6 S# {3 U' i {
. G' f* H6 X1 t) ~ // Title String6 C+ I* g+ U9 R: {! ^5 z; w( l" x o
IDS_RESDATA_INC_0071346 I: K6 V) U5 b$ k$ z: o
}
# K. H- C) X0 f1 z/ o; i {5 J# }6 s/ V1 s1 [. {
// ToolTip5 ~/ L/ f" K, _) j+ f3 r
IDS_RESDATA_INC_007135
8 i1 e6 U* X6 [3 Z' k4 z }
m# P% z- _( L) D WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 0
. T( T; ^5 r5 s5 \8 h. p$ j" G {! w8 [$ P7 Z% _- K( ^9 c( {
// Title String& Z; @) |8 S H1 K$ P6 V
IDS_RESDATA_INC_0071360 ^4 f2 B# P$ x% e, ?
}
I% I( O% ]. o- m* a+ c {
. D, E( o+ j& g2 K5 u // ToolTip2 j6 D h# g W; D
IDS_RESDATA_INC_007137" x! c4 B5 I4 @$ `
}
; _- ?* b5 s/ y" Z2 \; c
2 X9 Y& Y( Q! n" Z3 y9 w; M( b: \}
, P ~& S8 o, {0 Q0 c, A" l! X1 g所以红色的!
4 d0 @* d4 @9 D& `8 |
" j$ ]) K- q2 d3 A" R这里还tblSkillPoint的条目:( K5 J9 q; i. q! V* l
3 [; x) f2 S+ @1 f代码:# {/ k/ q( c/ [8 D$ M
If (@im_nJob = 1)
4 k" L7 R* V* `+ i; c9 w Begin
0 v5 P1 h1 }# Q# a" P+ `" D INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)# U# y% p% n& I& `0 E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)
n4 Y& b1 l# E3 L8 `1 V INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
4 Y# T3 c: i, ^4 n INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)6 \6 R w4 l' S* y+ A* a7 i
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
) W; N2 j+ {( d; `5 T6 p1 J6 H' x INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)
) k3 k) n* t" U: m* Z+ X, l8 X* @! B INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)
- f1 M( Y& `5 ^7 m5 h8 ?5 \4 Q8 L7 H$ j INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10). O+ k0 G, K y+ Q) `6 A
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)8 H; a! G1 @# G
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)( U% P; D" f- ^8 M0 ^. E) l; M3 l
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)% X! q: c, k: ] u+ A6 t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)$ r2 [+ I6 `( d
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)2 M7 A9 h& ~$ c) x% G8 e
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)4 a, m, D' M9 V: Y* ]* d k
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)
+ k5 R) c. V4 [% F$ \! c end
, P2 C; u @- E* j If (@im_nJob = 2)
% h4 Z' ~) {% P6 u+ K7 b Begin
) n) s* F7 ?: x' b9 l8 z& b INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)
2 c4 L* J$ i7 ?" x: a& ]: f INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)
& f; p6 i% V% O, U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)( R7 h) l" g. d8 }4 E: a
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6)
) U5 g. o0 j( `' {0 Y! b& B: \- l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)
/ B. L3 {; y! k" B, A! L/ z- h+ x INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)
3 J* U; M* v2 V5 W2 P. z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)+ O/ W$ U+ @! @/ a* T. D2 j- t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10). Z Q/ d. |& U- b, q& U' q: {
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)
2 }2 J. C# D4 p0 o8 e" C N INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)
' A( t4 V& Q( w0 Y7 F3 A INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)9 x1 h% Q" [$ C9 K
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)* _; ?) v* v! @0 {: s f5 s
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)
3 X8 F5 h' }3 K+ E1 ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)+ {* F& c: A; \/ M4 ?
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)4 i. A- U2 _. x+ P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)
3 [. _. a. S+ Z& {9 ^: o end; V [ A, ?1 U4 O+ s
If (@im_nJob = 3)8 e+ r3 h8 I! N1 V9 M# P2 T0 J
Begin
" Y& w& E* F& H6 K' A9 L. n4 U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)3 t0 X$ B; v2 F; i, S4 L
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)
/ \- [0 [' f2 i" u( L8 | INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5)
8 A: ~2 T& Z, K' Q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6)9 D3 [0 j# N5 G* o: |4 e+ {
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
- @: o, f* y5 m! c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)- D6 j, W. J% t2 ~* ], T
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
O x7 w2 i0 r# Q/ w2 W, j INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10)1 e# T& N+ _7 X, Y0 t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11)+ a( J; T) T6 F% W- c
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)
: M- M5 Q- h7 x, k( D INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)
, r! E. G" r1 Q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)7 z2 F( ?. x7 i: u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)
% J6 q5 l' t% W INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)- K0 C% k) c, o$ z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)
6 t7 G4 }+ j2 `( Y7 M) A' ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)
2 l9 r9 s- s% R3 \ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)4 Z, |: \. W/ k0 i8 K& ^
end0 e" F: P7 j U3 e& d& V
If (@im_nJob = 4)
@ o" Y% G- ^- I& | t \/ x) \ Begin
) z, e2 @; H3 L' |1 l: b. \ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3)
8 W) C9 O3 w3 u INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)( i4 [0 _% y m5 A+ W
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5)8 n) D; E$ S7 _8 x& Z1 e; e9 r
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
C: X& ^1 {2 Z) P" ~+ { INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)3 `2 g e, P7 a$ d2 J
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)5 T0 R# s: y$ }% t6 q/ p* v4 G
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)
/ |* j5 V' D8 G/ Q3 R2 c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)
3 G1 O! i( t3 @ z- n8 h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)
4 L: j! {. V5 f+ O+ Q) R: J7 J INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)
' K4 i0 H- C/ S; e' S6 ~+ ]8 [' M& u INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)3 l/ r$ m" B4 {8 X+ @! I* U* a- g
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)" E5 m2 s) K% G* I5 }) I; \6 z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)% X# U, S. ?& `8 K! u+ M6 ?2 Q! r6 @
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)
! g; {- G% x0 k4 M3 p2 C INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)
# |1 x5 F1 i; _- z- | r% |; r0 K INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18). d9 f! N$ v- g5 Q; h. k
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)( g* b) k4 q5 A
end
1 F Z+ k# W5 q只需插入在此插入/ S4 a8 f0 z$ M
代码:
* {0 w) }' H) P/ |+ R* } INSERT BANK_EXT_TBL
/ D4 Y; p% a/ G4 `( p ( ' c' `1 z* w |. Z* M
m_idPlayer,
7 m& l! c1 b2 I: J& O1 u0 b3 T+ j serverindex,2 b- J) t; j* W( \7 z
m_extBank,; u/ e6 p/ f% V: o- h0 \. {: ?
m_BankPiercing; X* C$ x: X: H6 g! h) A' f/ N" |
) I2 e3 p3 p1 J. S; H; P
VALUES
3 f6 S# c! q2 _ (
* e5 e7 e2 Z7 ]. S" \- P: @' T @om_idPlayer,( r# b( L5 {% E, i! ]
@iserverindex,
* h4 t- i8 P1 o ''$'',''$'', i# Y2 ]' U* T9 s4 {
)1 J7 t+ V3 u4 r# X* A8 J* p9 w; K3 t
, s' I( f$ J% I
4 U( r& X8 C* H# }
#define IDS_RESDATA_INC_007134 28816, B# t. M! c q4 n# t2 P- {' K0 w
) H" d& B$ D8 D3 j8 G- f
% }. R, w1 N+ {7 H5 s( J4 @ DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,
: b# _9 F4 y7 e/ s d6 q0 N dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex8 a; s5 P2 c, z; |
#ifdef __NEW_JOB_SYS1 c0 p4 K' }! m; e
, 0.0f, 0, 0.0f,9 W1 L, @- e+ U" K; d
0, 0, 0, 0, 0,5 a9 F9 D- p( s4 g( c& ?
nJob
# q6 K# m3 @* Q, L& Y#endif
! F! j6 u& o* b5 m) l5 y- O. m2 ]; }9 E/ b1 X7 z5 j5 q) Z
" I1 m: _* X4 F, H0 {
|
|