飞飞世界论坛
标题: 名称前的怒吼 [打印本页]
作者: admin 时间: 2016-1-10 03:30
标题: 名称前的怒吼
嘿COM,5 G6 J7 g+ }9 a3 I) o
NEN有点无聊和我开始思考,我写的关于如何得到从GM -喊名字一点时间NEN啧。+ m$ @% l8 B3 t
后,整个看起来像这样:) @* Z" _2 ~. J1 l4 z H
z/ h. [8 L ]# v& Z. {- T
* X. ?# z9 L! r! X& b
可我第一次补习,所以如果有批评,请说,从而提高自我。
% u, ^* d2 E4 J/ [9 z我不知道我的代码是最优的,肯定有一个更好的解决办法,我还是C ++初学者。; _+ G! T/ V& k9 N2 C
5 h) c# b( t1 @. H7 l
所以,当你第一次打开了FuncTextCmd.cpp和搜索
& ^& X, _, W' l' M$ _$ _1 x( }( T5 B
代码:
BOOL TextCmd_System( CScanner& scanner )
" U0 r4 T p$ U0 z: v& i. Q c* j3 H在那里,您会发现:/ T" f/ A7 V: L( J$ n
代码:
{
#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;
}
6 W8 w5 a1 q! v Q; E( y; x/ {# b) I现在我们引入一个新的变量,我只需调用szName的
% b* D" v; U$ M8 ~+ E, D那么整个事情看起来像这样:; Y8 r0 E3 l2 v+ i
代码:
{
#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;
}
# V! j2 o% j6 L$ @% W变量我们也等于“[”拯救我们以后的工作XD! y/ H' ~. u' s- n2 Q* y& U6 |- H
1 J# p( t$ ^0 \: q/ J# E" {6 c
然后,我们明确了scanner.GetLastFull测试()源;在g_DPCoreClient.SendSystem(szString)。
. y, d1 E# ^9 g
. h; `/ p$ @% n4 [6 M! F4 z3 ?0 q0 m整个事情是这样的:
& l/ T6 m: {9 ]代码:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser =(CUser*)scanner.dwValue;
#endif // __WORLDSERVER
return TRUE;
}
, M) h1 \$ [9 Z7 `: ^2 G并提出了下列:
& t% n1 S2 z; y# Y代码:
{
#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 S! k, F3 @0 q0 ~6 ]+ V现在,通用汽车应该喊这样的:
. U3 j. p7 \5 I" s! a代码:
[GM Information][NAME] TEXT
+ Q- Q" y/ A u7 R
现在,如果你仍然希望出现这种情况,例如有管理员将需要插入她的下列内容:
& \9 @ ~( [; V, v' g代码:
{
#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;
}
& i6 J! [ T ?! g3 \如果你想不仅为管理这一点,你必须始终/ [; B- y; [! p
代码:
else if(pUser->m_dwAuthorization == AUTHORIZATION)
strcat( szName, "Admin][" );
; s0 F+ V h" {$ x6 {补充。# v8 V2 _# k8 R5 [+ q* H- Y
* O6 O5 @+ m' N7 D& @" k7 U q7 [/ p* h, M
下面是与使用/ SYS解决不同的授权清单:0 c: W5 m0 @& [$ f i* l
代码:
AUTH_GAMEMASTER1 //Gamemaster lvl 1
AUTH_GAMEMASTER2 //Gamemaster lvl 2
AUTH_GAMEMASTER3 //Gamemaster lvl 3
AUTH_ADMINISTRATOR //Administrator
' ]* j9 G V3 t0 o X5 M
希望你喜欢指导,批评是欢迎的。* m- q6 A0 X. M! ?1 G
# A9 Z8 y P$ {' N& R制作所Pumbaaa
' ^2 @! X2 D( V2 j+ N0 \ \
| 欢迎光临 飞飞世界论坛 (http://ffwold.com/) |
Powered by Discuz! X3.2 |