All pastes #350973 Raw Edit

Stuff

public text v1 · immutable
·published 2007-02-11 21:31 UTC
rendered paste body
// cheatChecks.cpp : Defines the entry point for the DLL application.
//

/* interface header */
#include "bzfsAPI.h"

/* system implementation headers */
#include <iostream>
#include <string>
#include <map>

BZ_GET_PLUGIN_VERSION

// event handler callback

class cheatChecks : public bz_EventHandler
{
public:
  cheatChecks();
  virtual ~cheatChecks();

  virtual void process ( bz_EventData *eventData );

  virtual bool autoDelete ( void ) { return false;} // this will be used for more then one event
  
  virtual void doJumpSimulation (bz_BasePlayerRecord *playerData);

  float spawnRange;
};

cheatChecks cheatChecksHandler;

BZF_PLUGIN_CALL int bz_Load ( const char* commandLine )
{
  bz_debugMessage(4,"cheatChecks plugin loaded");

  float range = 0;
  if ( commandLine )
    range = (float)atof(commandLine);
  if ( range < 0.001f )
    range = 10.0f;

  cheatChecksHandler.spawnRange = range;
  bz_registerEvent(bz_ePlayerUpdateEvent,&cheatChecksHandler);
  return 0;
}

BZF_PLUGIN_CALL int bz_Unload ( void )
{
  bz_removeEvent(bz_ePlayerUpdateEvent,&cheatChecksHandler);
  bz_debugMessage(4,"cheatChecks plugin unloaded");
  return 0;
}

cheatChecks::cheatChecks()
{
}

cheatChecks::~cheatChecks()
{
}

void cheatChecks::process ( bz_EventData *eventData )
{
  float pos[3] = {0};
  
  switch (eventData->eventType)
  {

  case bz_ePlayerUpdateEvent:
    {
      int playerID = ((bz_PlayerUpdateEventData_V1*)eventData)->player;
      bz_BasePlayerRecord* player = bz_getPlayerByIndex(playerID);
      cheatChecks::doJumpSimulation( player );

      pos[0] = ((bz_PlayerUpdateEventData_V1*)eventData)->pos[0];
      bz_GetPlayerSpawnPosEventData_V1 *spawn = (bz_GetPlayerSpawnPosEventData_V1*)eventData;
      break;

      float randPos = rand()/(float)RAND_MAX;
      spawn->pos[2] += randPos * spawnRange;
      spawn->handled = true;
    }
  default:
    // really WTF!!!!
    return;
  }
}

void cheatChecks::doJumpSimulation ( bz_BasePlayerRecord *playerData)
{
  float pos[3] = {0};
  
//  switch (eventData->eventType)
//  {
//
//  case bz_ePlayerUpdateEvent:
//    {
//      //std::cout << "test\n";
////      bz_BasePlayerRecord *player = bz_getPlayerByIndex(playerList->operator[](i));
////      doJumpSimulation(player,eventData)
////      pos[0] = ((bz_PlayerUpdateEventData_V1*)eventData)->pos[0];
//      bz_GetPlayerSpawnPosEventData_V1 *spawn = (bz_GetPlayerSpawnPosEventData_V1*)eventData;
//      break;
//
//      float randPos = rand()/(float)RAND_MAX;
//      spawn->pos[2] += randPos * spawnRange;
//      spawn->handled = true;
//    }
//  default:
//    // really WTF!!!!
//    return;
//  }
}


// Local Variables: ***
// mode:C++ ***
// tab-width: 8 ***
// c-basic-offset: 2 ***
// indent-tabs-mode: t ***
// End: ***
// ex: shiftwidth=2 tabstop=8