飞飞世界论坛
标题: 名称前的怒吼 [打印本页]
作者: admin 时间: 2016-1-10 03:30
标题: 名称前的怒吼
嘿COM,
7 e: u: j5 b# G/ w8 ANEN有点无聊和我开始思考,我写的关于如何得到从GM -喊名字一点时间NEN啧。
7 } b4 e& p/ \后,整个看起来像这样:& W1 R+ @! \/ n
1 R" N, r$ I g6 @ c& K( [
7 A1 R8 v3 C+ Q8 d# P1 T) v可我第一次补习,所以如果有批评,请说,从而提高自我。
. I( x3 t. J, ^; P3 i我不知道我的代码是最优的,肯定有一个更好的解决办法,我还是C ++初学者。
! [1 a3 ~) A1 x( Q( L( ?6 e4 ~" C2 T9 e* O& R+ K* M2 D
所以,当你第一次打开了FuncTextCmd.cpp和搜索, J5 q( f8 D5 o2 _7 j x' J
8 x/ ?% n2 m% o3 z- N+ M
代码:
BOOL TextCmd_System( CScanner& scanner )
T+ e y. g, ^: e; L# Q: e9 H
在那里,您会发现:
5 z' ~$ N- y( h) G7 U) g代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CUser* pUser =(CUser*)scanner.dwValue;
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
g_DPCoreClient.SendSystem( szString );
#endif // __WORLDSERVER
return TRUE;
}
, R5 L2 a' v/ G, A现在我们引入一个新的变量,我只需调用szName的9 [. _* }1 _% x- ~* F
那么整个事情看起来像这样:4 H: `( z# E y7 o
代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHARszName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
g_DPCoreClient.SendSystem( szString );
#endif // __WORLDSERVER
return TRUE;
}
1 g4 V3 m6 h% q, @/ F* Q! S
变量我们也等于“[”拯救我们以后的工作XD& m, [0 K. m2 G" e* ^
8 O6 e- e' H; p( X
然后,我们明确了scanner.GetLastFull测试()源;在g_DPCoreClient.SendSystem(szString)。7 Z! s& X7 \% V' c
5 t$ [! n- J2 M! R2 m* ]4 d
整个事情是这样的:, [: X. e+ E; D1 e0 j& q
代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
#endif // __WORLDSERVER
return TRUE;
}
# G$ B) V( x1 j, K
并提出了下列:; \3 ~! U* [' i3 c( a
代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
strcat( szName, pUser->GetName());
strcat( szName, "]: ");
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
strcat( szName, szString );
g_DPCoreClient.SendSystem( szName );
#endif // __WORLDSERVER
return TRUE;
}
5 Q0 Y" t2 ?1 {# _7 N: V
现在,通用汽车应该喊这样的:
: B3 E8 t5 r2 w7 f P+ X+ X6 I% b代码:
[GM Information][NAME] TEXT
7 N/ r) S- M2 |2 a
现在,如果你仍然希望出现这种情况,例如有管理员将需要插入她的下列内容:
, `8 R6 M* W) L' T: t; V. C/ r2 f代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
//FüR ADMIN
if(pUser->m_dwAuthorization ==AUTH_ADMINISTRATOR)
strcat( szName,"Admin][" );
strcat( szName, "TestGM][" );
strcat( szName, pUser->GetName());
strcat( szName, "]: ");
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
strcat( szName, szString );
g_DPCoreClient.SendSystem( szName );
#endif // __WORLDSERVER
return TRUE;
}
. O9 Y, ^% Y& U& _! ?9 u/ n
如果你想不仅为管理这一点,你必须始终
* f; N! b/ x; R9 d代码:
else if(pUser->m_dwAuthorization == AUTHORIZATION)
strcat( szName, "Admin][" );
; T2 `* e6 m$ m7 F补充。
. H: j, L9 W2 E( z0 ^0 f
" {, @+ _) @1 U
; B( V9 t$ @0 h% V下面是与使用/ SYS解决不同的授权清单:$ [) D5 n% Z% q) s
代码:
AUTH_GAMEMASTER1 //Gamemaster lvl 1
AUTH_GAMEMASTER2 //Gamemaster lvl 2
AUTH_GAMEMASTER3 //Gamemaster lvl 3
AUTH_ADMINISTRATOR //Administrator
6 q& i0 w1 S+ a( A希望你喜欢指导,批评是欢迎的。5 N2 q& L- U; _6 y
5 Q1 T2 C/ Y4 p" Y* t8 b
制作所Pumbaaa
, \0 x2 g( v( Y$ }
| 欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |