All pastes #117986 Raw Edit

Miscellany

public cpp v1 · immutable
·published 2006-08-06 04:46 UTC
rendered paste body
#include "bzfsAPI.h"#include <math.h>BZ_GET_PLUGIN_VERSIONclass takeFlag : public bz_EventHandler {	public:		virtual void process(bz_EventData *eventData);};takeFlag tf;BZF_PLUGIN_CALL int bz_Load (const char*) {	bz_registerEvent(bz_eShotFiredEvent, &tf);	bz_debugMessage(0, "takeFlag Plug-in: Loaded");	return 0;}BZF_PLUGIN_CALL int bz_Unload (void) {	bz_removeEvent(bz_eShotFiredEvent, &tf);	bz_debugMessage(0, "takeFlag Plug-in: Unloaded");	return 0;}void takeFlag::process(bz_EventData *eventData) {	if (eventData->eventType == bz_eShotFiredEvent) {		bz_ShotFiredEventData *shotData = (bz_ShotFiredEventData*)eventData;		if ((shotData->pos[2] < 68 && (shotData->type == "GM" || shotData->type == "L")) || (shotData->pos[2] < 23 && shotData->type == "WG")) {			bzAPIIntList *pl = bz_newIntList();			bz_getPlayerIndexList(pl);			for (unsigned int i = 0; i < pl->size(); i++) {				bz_PlayerRecord *pr = bz_getPlayerByIndex(i);				if (abs((int)pr->pos[0] - (int)shotData->pos[0]) < 2 &&				    abs((int)pr->pos[1] - (int)shotData->pos[1]) < 2 &&				    abs((int)pr->pos[2] - (int)shotData->pos[2]) < 2) {					bz_removePlayerFlag(i);					bz_sendTextMessage(BZ_SERVER, i, "No Laser, GM, or WG on the ground!");				}				bz_freePlayerRecord(pr);			}			bz_deleteIntList(playerList);		}	} else {		// WTF?	}}