飞飞世界论坛

标题: 名称前的怒吼 [打印本页]

作者: admin    时间: 2016-1-10 03:30
标题: 名称前的怒吼
嘿COM," A. o( U% r  d1 V, r- `
NEN有点无聊和我开始思考,我写的关于如何得到从GM -喊名字一点时间NEN啧。
: x# s0 ?  c9 g9 P' c后,整个看起来像这样:
% q1 ?- N8 @& E( p % X# E# h0 y2 g/ W# u. B- s+ h

$ _" Z) t/ o1 B  V5 }+ b) I# T可我第一次补习,所以如果有批评,请说,从而提高自我。
' O7 Y. {0 u' r! `0 J我不知道我的代码是最优的,肯定有一个更好的解决办法,我还是C ++初学者。" s) n+ X! I9 {& P( L
2 A+ [/ n; N1 E6 D
所以,当你第一次打开了FuncTextCmd.cpp和搜索
) w) o; M( [& e- L' [5 d, m" r+ l
( a1 L6 i0 t" I( Z# t代码:
BOOL TextCmd_System( CScanner& scanner )

: L, s3 k7 i0 G% u7 Z
在那里,您会发现:
+ L: y. U) {( m4 x代码:
{
#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;
}

0 R7 t+ d3 B3 j9 K# b, B1 ]
现在我们引入一个新的变量,我只需调用szName的4 e7 M( _- Z/ r7 ^& L% T' ]2 x" ~
那么整个事情看起来像这样:& u: I9 s+ t* F; j/ ^1 w
代码:
{
#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;
}

2 f1 v, n% s7 }! j
变量我们也等于“[”拯救我们以后的工作XD+ ?! l* W- q& s/ K- q

; L; d- Q& m7 N% u2 g然后,我们明确了scanner.GetLastFull测试()源;在g_DPCoreClient.SendSystem(szString)。% K0 k4 T1 m, i7 I. g. C) n- P
* P9 h  X! h; f6 w1 z
整个事情是这样的:# G: P6 T; U4 E/ @9 D
代码:
{
#ifdef __WORLDSERVER
        CHAR szString[512] = "";
           CHAR szName[512] = "[";
        CUser* pUser   =(CUser*)scanner.dwValue;
#endif  // __WORLDSERVER
        return TRUE;
}

' a+ D' a& d9 T( `8 H3 ?. [% z
并提出了下列:" L/ O2 N  R' h6 [' E
代码:
{
#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;
}
6 l: y% B4 L9 ?0 W6 a
现在,通用汽车应该喊这样的:4 ]5 o$ S" x, }
代码:
[GM Information][NAME] TEXT

, H/ _0 _/ ]: I8 V' c  u3 i0 Q  G3 Y
现在,如果你仍然希望出现这种情况,例如有管理员将需要插入她的下列内容:7 G# z; f$ w' N* 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;
}

$ k) K8 t; q* Q; a' _+ _& L
如果你想不仅为管理这一点,你必须始终+ d9 u3 a, k+ O' ^1 m: d8 K; g
代码:
        else if(pUser->m_dwAuthorization == AUTHORIZATION)
               strcat( szName, "Admin][" );
; `! w# y  ]! e3 z5 ]6 r
补充。8 T, i0 |1 h8 B6 i
1 _9 u. T8 r7 A2 ^' n. I2 L) V: t
! J* @& P  u0 D. l* I  v" q% }
下面是与使用/ SYS解决不同的授权清单:) W8 K4 i" A$ F# d& g- C  g
代码:
AUTH_GAMEMASTER1    //Gamemaster lvl 1
AUTH_GAMEMASTER2    //Gamemaster lvl 2
AUTH_GAMEMASTER3    //Gamemaster lvl 3
AUTH_ADMINISTRATOR  //Administrator
- w% [; p6 }7 S- c( F5 I2 j1 ~7 l
希望你喜欢指导,批评是欢迎的。
( D- ]6 c& q: o! t7 w- l. i" X
' z1 x; n1 {( G" b8 }+ M0 u制作所Pumbaaa

5 [" S1 _. P2 ?( [# l( R




欢迎光临 飞飞世界论坛 (http://ffwold.com/) Powered by Discuz! X3.2