Subversion Repositories WoWGM

Rev

Rev 6 | Rev 31 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "pch.h"
#pragma hdrstop

#include "ClientGMCommands.h"

#include <Console/ConsoleClient.h>
#include <WowSvcs/ClientServices.h>


//===========================================================================
char const* GetWord (const char* string, char* buffer, uint bufferchars) {

  //ASSERT(string);
  //ASSERT(buffer || bufferchars);

  uint length = bufferchars - 1;
  for (uint i = 0; i != length; i++) {
    if (buffer[i] == ' ')
      break;
    buffer[i] = *string;
    ++string;
  };

  return string;    
}


/****************************************************************************
*
*       Command definitions
*
***/

//===========================================================================
BOOL CCommand_GMResurrect(const char *command, const char *arguments)
{
        if (command && *command) {
                CDataStore msg;
                msg.Put(CMSG_GM_RESURRECT);
                msg.PutString(arguments);
                msg.Finalize();
                ClientServices_Send(&msg);
        } else {
                ConsoleWrite("Expected a player name", DEFAULT_COLOR);
        }
        return TRUE;
}

//===========================================================================
BOOL CCommand_SetSecurity (char const* command, char const* arguments) {
  char name[49];

  GetWord(command, name, sizeof(name));
  int security = SStrToInt(command);

  ConsoleWriteA("Setting '%s' to security group %d", DEFAULT_COLOR, name, security);

  CDataStore msg;
  msg.Put(CMSG_SET_SECURITY_GROUP);
  msg.Put(security);
  msg.Finalize();

  ClientServices_Send(&msg);
  
  return TRUE;
}


/****************************************************************************
*
*       External functions
*
***/

//===========================================================================
void GMClientCommands::Install()
{
  ConsoleCommandRegister("setsecurity",CCommand_SetSecurity,GM,"Set another character's security group");
        ConsoleCommandRegister("resurrect",CCommand_GMResurrect,DEBUG,NOHELP);
}

//===========================================================================
void GMClientCommands::Uninstall()
{
  ConsoleCommandUnregister("setsecurity");
        ConsoleCommandUnregister("resurrect");
}