飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:30
标题: 名称前的怒吼
嘿COM,9 y7 ?+ ]; k3 [( f" j3 {
NEN有点无聊和我开始思考,我写的关于如何得到从GM -喊名字一点时间NEN啧。
0 @6 `4 A$ Q% b; M后,整个看起来像这样:
& h% @* ]1 r" N$ O+ i" ^5 e ' r! H. U# k: ^+ C, I7 i6 e7 d+ V

* b8 J1 ^- e6 N4 ^可我第一次补习,所以如果有批评,请说,从而提高自我。
, i( J* _3 Z: s' h我不知道我的代码是最优的,肯定有一个更好的解决办法,我还是C ++初学者。8 B9 t6 y/ H! ^% @3 Q' J& U
& \* z8 t1 j* J3 D
所以,当你第一次打开了FuncTextCmd.cpp和搜索) X) q* F) g( d- J! B$ [
& v7 t7 K  S% R: d% y6 }6 E
代码:
BOOL TextCmd_System( CScanner& scanner )
5 w" f* W3 _/ v. ~& A- Z( ]
在那里,您会发现:
5 O0 c9 l, ]" _4 N/ P代码:
{
#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;
}
  F8 T0 C/ m& ?. o7 J7 _! h" \
现在我们引入一个新的变量,我只需调用szName的
/ h3 _( V+ O( }7 T) u1 m" E! x那么整个事情看起来像这样:2 _2 U% ^4 I( C8 G) T9 F. E0 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;
}

0 t7 ?" C  {& b, k) o$ x" Y
变量我们也等于“[”拯救我们以后的工作XD" ]% e0 u9 A* m2 `7 I

  D+ p6 _/ r; I! N" d  }" F7 h) g然后,我们明确了scanner.GetLastFull测试()源;在g_DPCoreClient.SendSystem(szString)。
$ @5 U" z7 i/ B% J
; y+ c! H# f2 L- m' _; M整个事情是这样的:
3 }% e" w# U2 @. D  D代码:
{
#ifdef __WORLDSERVER
        CHAR szString[512] = "";
           CHAR szName[512] = "[";
        CUser* pUser   =(CUser*)scanner.dwValue;
#endif  // __WORLDSERVER
        return TRUE;
}
( F& z/ |+ Z7 w$ L# m/ }. e# U
并提出了下列:
7 i# r- H9 c1 g( c代码:
{
#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;
}

/ a3 F+ [! f) ?2 q
现在,通用汽车应该喊这样的:
% T8 O" n8 E( d代码:
[GM Information][NAME] TEXT
1 m. {* j. V0 c( \
现在,如果你仍然希望出现这种情况,例如有管理员将需要插入她的下列内容:+ s* S) p& q2 M7 U; d
代码:
{
#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;
}
6 R3 F1 E' c' d; ?4 k) w( [' H
如果你想不仅为管理这一点,你必须始终. J$ _& W7 w9 d1 t. d2 ]
代码:
        else if(pUser->m_dwAuthorization == AUTHORIZATION)
               strcat( szName, "Admin][" );
3 p3 P5 Q8 x7 Q; p
补充。- c6 D( |2 a: k1 h6 U7 q3 w

7 T' V" |& D0 j0 g
2 Y- g4 I1 k2 p; ]1 o7 R下面是与使用/ SYS解决不同的授权清单:$ @/ P! b; |7 c+ W/ W" D
代码:
AUTH_GAMEMASTER1    //Gamemaster lvl 1
AUTH_GAMEMASTER2    //Gamemaster lvl 2
AUTH_GAMEMASTER3    //Gamemaster lvl 3
AUTH_ADMINISTRATOR  //Administrator

4 E  v6 n( f$ J7 @
希望你喜欢指导,批评是欢迎的。
- `( X4 O5 ~# x% A5 b
6 u+ u" I( F5 c$ `; J% R制作所Pumbaaa

6 C: \6 V* |7 e( z+ A" s+ V8 E$ F; O




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