飞飞世界论坛

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

作者: 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