Some Commands

Results 1 to 9 of 9
  1. #1
    Valued Member a1tl4 is offline
    MemberRank
    Sep 2012 Join Date
    BrazilLocation
    112Posts

    Some Commands

    MUTEALL: This command work to mute all players at room.
    OVERHEREALL: This command will teleport all players to your position.
    KICKALL: This command will kick all players at room except player from argument. (Not tested 100% but this should work).
    ALIVE: This command will show how many players are alive. (useful for events).

    I did it a long time ago but I am going post this now.
    I'll not answer newbie questions.

    MUTEALL

    ZChat_Cmds.cpp

    PHP Code:
    void ChatCmd_AdminMuteAll(const charline, const int argcchar **const argv); 
    PHP Code:
    _CC_AC("muteall",            &ChatCmd_AdminMuteAll,            CCF_ADMINARGVNoMintrue,"/muteall <num>"""); 
    PHP Code:
    void ChatCmd_AdminMuteAll(const charline, const int argcchar **const argv)
    {
        if( 
    argc )
        {
            
    OutputCmdWrongArgument(argv[0]);
            return;
        }

        if( !
    ZGetGame() )
        {
            
    ZChatOutput("You're not in game."ZChat::CMT_SYSTEM);
            return;
        }

        
    int nValue atoi(argv[1]);

        if( 
    nValue == )
        {
            
    ZChatOutput("Room unmuted."ZChat::CMT_SYSTEM);
        }
        else if( 
    nValue == )
        {
            
    ZChatOutput("Room muted."ZChat::CMT_SYSTEM);
        }
        else
        {
            
    ZChatOutput("Use: /muteall [0-1]"ZChat::CMT_SYSTEM);
            return;
        }

        
    ZPOSTCMD2(MC_MUTE_ALLMCmdParamStr(""), MCmdParamInt(nValue));

    MMatchServer_OnCommand.cpp

    PHP Code:
    case MC_MUTE_ALL:
                {
                    
    char szAdminNameMAX_CHARNAME_LENGTH ] = "";
                    
    int nValue 0;

                    if (!
    pCommand->GetParameterszAdminName0MPT_STRMAX_CHARNAME_LENGTH )) break;
                    if (!
    pCommand->GetParameter( &nValue1MPT_INT )) break;

                    
    MMatchObjectpObj GetObjectA(pCommand->GetSenderUID());
                    
                    if (
    pObj == NULL) break;
                    if(!
    IsAdminGrade(pObj)) break;

                    
    MCommandpCmd CreateCommand(MC_MUTE_ALLMUID(0,0));
                    
    pCmd->AddParameter(new MCmdParamStr(pObj->GetName()));
                    
    pCmd->AddParameter(new MCmdParamInt(nValue));
                    
    RouteToStage(pObj->GetStageUID(), pCmd);
                }
                break; 
    ZGameClient_OnCommand.cpp

    PHP Code:
    case MC_MUTE_ALL:
                {
                    
    char szAdminName[128] = "";
                    
    int nValue 0;
                    
    char szOutput[111] = "";

                    if(
    ZGetMyInfo()->IsAdminGrade()) break;
                                    
                    
    pCommand->GetParameter(szAdminName0MPT_STRsizeof(szAdminName) );
                    
    pCommand->GetParameter(&nValue1MPT_INT);

                    if( 
    nValue == )
                    {
                        
    ZGetGame()->m_pMyCharacter->GetStatus().CheckCrc();
                        
    ZGetGame()->m_pMyCharacter->GetStatus().Ref().bMuteAll true;
                        
    ZGetGame()->m_pMyCharacter->GetStatus().MakeCrc();
                        
    sprintfszOutput"Room muted by %s."szAdminName );
                    }
                    else
                    {
                        
    ZGetGame()->m_pMyCharacter->GetStatus().CheckCrc();
                        
    ZGetGame()->m_pMyCharacter->GetStatus().Ref().bMuteAll false;
                        
    ZGetGame()->m_pMyCharacter->GetStatus().MakeCrc();
                        
    sprintfszOutput"Room unmuted by %s."szAdminName );
                    }

                    
    ZChatOutputszOutputZChat::CMT_SYSTEM );
                }
                break; 

    MSharedCommandTable.cpp

    PHP Code:
    C(MC_MUTE_ALL"Admin.MuteAll"""MCDT_MACHINE2MACHINE)
            
    P(MPT_STR"AdminName")
            
    P(MPT_INT"Value"
    MSharedCommandTable.h

    PHP Code:
    #define MC_MUTE_ALL    XXXXX //Replace XXXXX following your numbers from file. 

    ZCharacter.h

    Find: ZCharacterStatus

    Paste:
    PHP Code:
    int            bMuteAll
    Find: ZCharacterStatus() :

    Paste:
    PHP Code:
    bMuteAll(0
    ZPost.h

    Find: ZPostPeerChat

    Paste:
    PHP Code:
    if(ZGetGame()->m_pMyCharacter->GetStatus().Ref().bMuteAll){
            return;
        } 
    OVERHEREALL

    ZChat_Cmds.cpp

    PHP Code:
    void ChatCmd_AdminOverHereAll(const charline, const int argcchar **const argv); 
    PHP Code:
    _CC_AC("overhereall",        &ChatCmd_AdminOverHereAll,        CCF_ADMINARGVNoMin,-true,"/overhereall"""); 
    PHP Code:
    void ChatCmd_AdminOverHereAll(const charline, const int argcchar **const argv)
    {
        if( !
    ZGetGame() )
        {
            
    ZChatOutput("You're not in game."ZChat::CMT_SYSTEM);
            return;
        }

        
    ZPOSTCMD1(MC_OVERHERE_ALLMCmdParamStr(""));

    MMatchServer_OnCommand.cpp

    PHP Code:
    case MC_OVERHERE_ALL:
                {
                    
                    
    char szAdminName[128] = "";

                    if (!
    pCommand->GetParameterszAdminName0MPT_STR )) break;

                    
    MMatchObjectpObj GetObjectA(pCommand->GetSenderUID());
                    
                    if (
    pObj == NULL) break;
                    if(!
    IsAdminGrade(pObj)) break;

                    
    MCommandpCmd CreateCommand(MC_OVERHERE_ALLMUID(0,0));
                    
    pCmd->AddParameter(new MCmdParamStr(pObj->GetName()));
                    
    RouteToStage(pObj->GetStageUID(), pCmd);

                    
    AnnouncepObj->GetUID(), "Room teleported to your position." );
                }
                break; 
    ZGameClient_OnCommand.cpp

    PHP Code:
    case MC_OVERHERE_ALL:
                {
                    
    char szAdminName[128] = "";
                    
    char szOutput[512] = "";

                    if( 
    ZGetMyInfo()->IsAdminGrade() ) break;

                    
    pCommand->GetParameter(szAdminName0MPT_STRsizeof(szAdminName) );

                    
    ZCharacterManager *pZCharacterManager ZGetCharacterManager();
        
                    if (
    pZCharacterManager != NULL
                    {
                        for (
    ZCharacterManager::iterator itor pZCharacterManager->begin(); itor != pZCharacterManager->end(); ++itor
                        {
                            
    ZCharacterpCharacter = (*itor).second

                            if (!
    strcmp(pCharacter->GetProperty()->GetName(), szAdminName))
                                
    ZGetGame()->m_pMyCharacter->SetPosition(pCharacter->GetPosition());
                        }
                    }
                

                    
    ZChatOutput("Room has been teleport by staff.");
                }
                break; 

    MSharedCommandTable.cpp
    PHP Code:
    C(MC_OVERHERE_ALL"Admin.OverHereAll"""MCDT_MACHINE2MACHINE)
            
    P(MPT_STR"AdminName"
    MSharedCommandTable.h

    PHP Code:
    #define MC_OVERHERE_ALL  XXXXX //Replace XXXXX following your numbers from file. 

    KICKALL


    ZChat_Cmds.cpp

    PHP Code:
    void ChatCmd_AdminKickAll(const charline, const int argcchar **const argv); 
    PHP Code:
    _CC_AC("kickall",            &ChatCmd_AdminKickAll,            CCF_ADMINARGVNoMintrue,"/kickall <player>"""); 
    PHP Code:
    void ChatCmd_AdminKickAll(const charline, const int argcchar **const argv)
    {
        if( !
    ZGetGame() )
        {
            
    ZChatOutput("You're not in game."ZChat::CMT_SYSTEM);
            return;
        }

        
    char szPlayer[100] = "";
        
    char szBuffer[128] = "";

        if( 
    argc ){
            
    OutputCmdWrongArgument(argv[0]);

            return;
        }else if( 
    argc ){
            
    strcpyszPlayer"" );
            
    strcpyszBuffer"Room kicked.");
        }else{
            
    strcpyszPlayerargv[1] );
            
    sprintfszBuffer"Room kicked, except %s."szPlayer );
        }

        
    ZPOSTCMD1(MC_KICK_ALLMCmdParamStr(szPlayer));
        
    ZChatOutputszBufferZChat::CMT_SYSTEM );

    MMatchServer_OnCommand.cpp

    PHP Code:
    case MC_KICK_ALL:
                {
                    
    char szPlayerName[1024] = "";

                    if (!
    pCommand->GetParameterszPlayerName0MPT_STR32 )) break;

                    
    MMatchObjectpObj GetObjectA(pCommand->GetSenderUID());
                    
                    if (
    pObj == NULL) break;
                    if(!
    IsAdminGrade(pObj)) break;

                    
    MCommandpCmd CreateCommand(MC_KICK_ALLMUID(0,0));
                    
    pCmd->AddParameter(new MCmdParamStr(szPlayerName));
                    
    RouteToStage(pObj->GetStageUID(), pCmd);
                }
                break; 
    ZGameClient_OnCommand.cpp

    PHP Code:
    case MC_KICK_ALL:
                {
                    
    char szPlayerName[100] = "";

                    if(!
    ZGetMyInfo()->IsAdminGrade()) break;
                        
                    
    pCommand->GetParameter(szPlayerName0MPT_STRsizeof(szPlayerName) );

                    if( 
    strcmpZGetMyInfo()->GetCharName(), szPlayerName) )
                    {
                        
    ZPostStageLeaveBattle(ZGetGameClient()->GetPlayerUID(), ZGetGameInterface()->GetIsGameFinishLeaveBattle());
                        
    ZPostStageLeave(ZGetGameClient()->GetPlayerUID());
                        
    ZGetGameInterface()->ShowMessage("Room has been kicked by staff.");
                    }
                }
                break; 
    MSharedCommandTable.cpp

    PHP Code:
    C(MC_KICK_ALL"Admin.KickAll"""MCDT_MACHINE2MACHINE)
            
    P(MPT_STR"PlayerName"
    MSharedCommandTable.h
    PHP Code:
    #define MC_KICK_ALL //Replace XXXXX following your numbers from file. 
    ALIVE

    ZChat_Cmds.cpp

    PHP Code:
    void ChatCmd_Alive(const charline, const int argcchar **const argv); 
    PHP Code:
    _CC_AC("alive",                &ChatCmd_Alive,                    CCF_ADMINARGVNoMinARGVNoMaxtrue"/alive"""); 
    PHP Code:
    void ChatCmd_Alive(const charline, const int argcchar **const argv)
    {
        
    int nPlayers 0;
        for (
    ZCharacterManager::iterator itor ZGetGame()->m_CharacterManager.begin(); itor != ZGetGame()->m_CharacterManager.end(); ++itor)
        {
            
    ZCharacterpCharacter = (*itor).second;
            if(
    ZGetGame()->GetMatch()->IsTeamPlay())
            {
                if( !
    pCharacter->IsDie() && pCharacter->GetTeamID() != ZGetGame()->m_pMyCharacter->GetTeamID() )
                {
                    ++
    nPlayers;
                }
            }
            else if( !
    pCharacter->IsDie() && pCharacter != ZGetGame()->m_pMyCharacter )
            {
                ++
    nPlayers;
            }
        }

        
    char szPlayers[35];
        
    sprintfszPlayers"%d players are alive."nPlayers);
        
    ZChatOutput(szPlayersZChat::CMT_SYSTEM);

    I know that isn't hard but I hope help you. You can modify them to your better.
    Last edited by a1tl4; 21-09-13 at 07:26 PM.


  2. #2
    Valued Member Turunen is offline
    MemberRank
    Aug 2010 Join Date
    135Posts

    Re: Some Commands

    Wooo thanks alot. This is very usefull. :D

    Sent from my GT-I9082L using Tapatalk 2

  3. #3
    Good Guy George qet123 is offline
    MemberRank
    Apr 2009 Join Date
    DesertLocation
    1,432Posts

    Re: Some Commands

    Code:
    ZGetGame()->m_pMyCharacter->GetStatus().CheckCrc();
                        ZGetGame()->m_pMyCharacter->GetStatus().Ref().bMuteAll = true;
                        ZGetGame()->m_pMyCharacter->GetStatus().MakeCrc();
    By rejoining the room, the bMuteAll will be false, so the player should talk normaly.
    I suggest you to this by Server only. oh wait it's p2p... but it's bypassed easily. Find another way, if no i can help you.

  4. #4
    Hakuna Matata bulli10 is offline
    MemberRank
    Feb 2011 Join Date
    697Posts

    Re: Some Commands

    Good release thanks :)

  5. #5
    Valued Member a1tl4 is offline
    MemberRank
    Sep 2012 Join Date
    BrazilLocation
    112Posts

    Re: Some Commands

    Quote Originally Posted by qet123 View Post
    Code:
    ZGetGame()->m_pMyCharacter->GetStatus().CheckCrc();
                        ZGetGame()->m_pMyCharacter->GetStatus().Ref().bMuteAll = true;
                        ZGetGame()->m_pMyCharacter->GetStatus().MakeCrc();
    By rejoining the room, the bMuteAll will be false, so the player should talk normaly.
    I suggest you to this by Server only. oh wait it's p2p... but it's bypassed easily. Find another way, if no i can help you.
    I know about that, I will not be creating another way because this command.

  6. #6
    Member Rexo is offline
    MemberRank
    Aug 2012 Join Date
    71Posts

    Re: Some Commands

    some of this commands are already released here but i liked the "ALIVE" command. ty.

  7. #7
    Praise the Sun! Solaire is offline
    MemberRank
    Dec 2007 Join Date
    Undead BurgLocation
    2,862Posts

    Re: Some Commands

    Consider making it one if statement for better readability and less operands.

    PHP Code:
            if (!pCharacter->IsDie() 
                && ((
    ZGetGame()->GetMatch()->IsTeamPlay() && pCharacter->GetTeamID() != ZGetGame()->m_pMyCharacter->GetTeamID())
                || (
    pCharacter != ZGetGame()->m_pMyCharacter)))
            {
                    ++
    nPlayers;
            } 

  8. #8
    Valued Member Iam Juan Carlos is offline
    MemberRank
    May 2013 Join Date
    104Posts

    Re: Some Commands

    Very Nice :D
    Last edited by Iam Juan Carlos; 28-09-13 at 05:16 AM.

  9. #9
    C:\User\Secondary\Desktop secondary is offline
    MemberRank
    Jul 2013 Join Date
    UnresolvedLocation
    638Posts

    Re: Some Commands

    Nice, Make more commands please.



Advertisement