Added Kick, Ban and IsInKickQueue to public extension API (bug 3907, r=dvander)
This commit is contained in:
parent
1156d00538
commit
5710a35388
@ -79,6 +79,7 @@ public:
|
|||||||
void SetAdminId(AdminId id, bool temporary);
|
void SetAdminId(AdminId id, bool temporary);
|
||||||
AdminId GetAdminId();
|
AdminId GetAdminId();
|
||||||
void Kick(const char *str);
|
void Kick(const char *str);
|
||||||
|
bool IsInKickQueue();
|
||||||
IPlayerInfo *GetPlayerInfo();
|
IPlayerInfo *GetPlayerInfo();
|
||||||
unsigned int GetLanguageId();
|
unsigned int GetLanguageId();
|
||||||
int GetUserId();
|
int GetUserId();
|
||||||
@ -87,7 +88,6 @@ public:
|
|||||||
unsigned int GetSerial();
|
unsigned int GetSerial();
|
||||||
public:
|
public:
|
||||||
void DoBasicAdminChecks();
|
void DoBasicAdminChecks();
|
||||||
bool IsInKickQueue();
|
|
||||||
void MarkAsBeingKicked();
|
void MarkAsBeingKicked();
|
||||||
int GetLifeState();
|
int GetLifeState();
|
||||||
private:
|
private:
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define SMINTERFACE_GAMEHELPERS_NAME "IGameHelpers"
|
#define SMINTERFACE_GAMEHELPERS_NAME "IGameHelpers"
|
||||||
#define SMINTERFACE_GAMEHELPERS_VERSION 4
|
#define SMINTERFACE_GAMEHELPERS_VERSION 5
|
||||||
|
|
||||||
class CBaseEntity;
|
class CBaseEntity;
|
||||||
class CBaseHandle;
|
class CBaseHandle;
|
||||||
@ -250,6 +250,18 @@ namespace SourceMod
|
|||||||
* @return g_EntList pointer.
|
* @return g_EntList pointer.
|
||||||
*/
|
*/
|
||||||
virtual void *GetGlobalEntityList() =0;
|
virtual void *GetGlobalEntityList() =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Adds a client to the kick queue, where they will be kicked
|
||||||
|
* next game frame.
|
||||||
|
*
|
||||||
|
* The user ID is used to ensure the correct player is kicked.
|
||||||
|
*
|
||||||
|
* @param client The index of the client to kick.
|
||||||
|
* @param userid The user ID of the client to kick.
|
||||||
|
* @param msg The kick message to show to the player.
|
||||||
|
*/
|
||||||
|
virtual void AddDelayedKick(int client, int userid, const char *msg) =0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
#include <IAdminSystem.h>
|
#include <IAdminSystem.h>
|
||||||
|
|
||||||
#define SMINTERFACE_PLAYERMANAGER_NAME "IPlayerManager"
|
#define SMINTERFACE_PLAYERMANAGER_NAME "IPlayerManager"
|
||||||
#define SMINTERFACE_PLAYERMANAGER_VERSION 10
|
#define SMINTERFACE_PLAYERMANAGER_VERSION 11
|
||||||
|
|
||||||
struct edict_t;
|
struct edict_t;
|
||||||
class IPlayerInfo;
|
class IPlayerInfo;
|
||||||
@ -197,6 +197,29 @@ namespace SourceMod
|
|||||||
* @return True if authorized, false otherwise.
|
* @return True if authorized, false otherwise.
|
||||||
*/
|
*/
|
||||||
virtual bool IsAuthorized() =0;
|
virtual bool IsAuthorized() =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Kicks the client with a message
|
||||||
|
*
|
||||||
|
* @param message The message shown to the client when kicked
|
||||||
|
*/
|
||||||
|
virtual void Kick(const char *message) =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns whether the client is marked as being in the kick
|
||||||
|
* queue. The client doesn't necessarily have to be in the actual kick
|
||||||
|
* queue for this function to return true.
|
||||||
|
*
|
||||||
|
* @return True if in the kick queue, false otherwise.
|
||||||
|
*/
|
||||||
|
virtual bool IsInKickQueue() =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Marks the client as being in the kick queue. They are not
|
||||||
|
* actually added to the kick queue. Use IGameHelpers::AddDelayedKick()
|
||||||
|
* to actually add them to the queue.
|
||||||
|
*/
|
||||||
|
virtual void MarkAsBeingKicked() =0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user