飞飞世界论坛
标题: 名称前的怒吼 [打印本页]
作者: admin 时间: 2016-1-10 03:30
标题: 名称前的怒吼
嘿COM,
8 G6 n1 `/ N, C ?, t0 H: l1 gNEN有点无聊和我开始思考,我写的关于如何得到从GM -喊名字一点时间NEN啧。9 ~4 z- }2 P0 Z$ r# S( u
后,整个看起来像这样:
! M0 b: J# d7 s( B0 e0 D' Q
/ @; {9 T" O' V# A4 s9 z1 ^( O9 }% ^$ m7 w. B. ^
可我第一次补习,所以如果有批评,请说,从而提高自我。
3 @! G7 t9 q1 m* O% I" m我不知道我的代码是最优的,肯定有一个更好的解决办法,我还是C ++初学者。% ~. D6 ?# z, T1 p0 [5 ^/ t: H' @; J1 g
3 \2 j% a4 D" _ K' I4 A
所以,当你第一次打开了FuncTextCmd.cpp和搜索
0 Z2 P P) a0 e' h* _1 ?0 W& ~* g! Q% {: b+ I' K$ e
代码:
BOOL TextCmd_System( CScanner& scanner )
3 F3 w1 v8 [5 d- x- f o在那里,您会发现:
0 S |$ u1 b( e% H6 W7 l* e! X2 `2 \代码:
{
#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;
}
4 n6 q& p0 l; h1 u
现在我们引入一个新的变量,我只需调用szName的5 ~% V7 }/ c( ?7 Q9 l% i8 {2 f1 U. t
那么整个事情看起来像这样:0 j# V8 Y( T B' F7 f# }3 U
代码:
{
#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;
}
' B5 b! m n9 R% W) ?0 s* F, p& H n
变量我们也等于“[”拯救我们以后的工作XD
, ? K4 r# b# ^+ @+ H5 s5 F; k. R; h) k4 |- A. I
然后,我们明确了scanner.GetLastFull测试()源;在g_DPCoreClient.SendSystem(szString)。. K+ c3 W% ]5 M H0 t
) A; V8 g/ I4 A% b+ f% `' ^整个事情是这样的:
8 z, P* u" E6 x+ I% D代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
#endif // __WORLDSERVER
return TRUE;
}
( y3 @: K& k- a+ K( C
并提出了下列:$ r0 m9 u; h. |& H4 I' M
代码:
{
#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;
}
! @3 u. J- U I( L" I
现在,通用汽车应该喊这样的:
1 M- u* A R0 j% i8 ]7 {9 s代码:
[GM Information][NAME] TEXT
3 M& l/ q Z: t$ d* X现在,如果你仍然希望出现这种情况,例如有管理员将需要插入她的下列内容:
2 b, B5 \8 W8 W代码:
{
#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;
}
- g7 l8 T) I: W' J' P5 }" }: {8 }如果你想不仅为管理这一点,你必须始终
Q! Q) s0 L% `: M! Q代码:
else if(pUser->m_dwAuthorization == AUTHORIZATION)
strcat( szName, "Admin][" );
3 z2 h+ ` Q! e8 `/ l7 J8 S补充。
& j6 {5 ~+ w( F8 ]0 Z: z8 s% k- X4 j# z9 U! ]
) r# S p7 n! M4 E下面是与使用/ SYS解决不同的授权清单:$ h8 Q7 R0 j1 c9 }9 ]
代码:
AUTH_GAMEMASTER1 //Gamemaster lvl 1
AUTH_GAMEMASTER2 //Gamemaster lvl 2
AUTH_GAMEMASTER3 //Gamemaster lvl 3
AUTH_ADMINISTRATOR //Administrator
, D; a9 B; P+ J! \' L1 K( ^希望你喜欢指导,批评是欢迎的。
3 Z7 L* i9 H S9 X; e
* n! F. q" R5 _' g- _$ S制作所Pumbaaa
5 z8 u! ~2 A1 b1 H$ u# R5 h- ~
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |