2014-08-04 10:21:40 +00:00
|
|
|
// vim: set ts=4 sw=4 tw=99 noet:
|
|
|
|
//
|
|
|
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
|
|
|
// Copyright (C) The AMX Mod X Development Team.
|
|
|
|
//
|
|
|
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
|
|
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
|
|
|
// https://alliedmods.net/amxmodx-license
|
|
|
|
|
|
|
|
//
|
|
|
|
// Ham Sandwich Module
|
|
|
|
//
|
2014-05-01 08:21:46 +00:00
|
|
|
|
|
|
|
#ifndef HOOK_SPECIALBOT_H
|
|
|
|
#define HOOK_SPECIALBOT_H
|
|
|
|
|
|
|
|
#include "ham_utils.h"
|
2015-09-30 17:08:39 +00:00
|
|
|
#include <amtl/am-vector.h>
|
2014-10-25 18:44:17 +00:00
|
|
|
#include "forward.h"
|
2014-05-01 08:21:46 +00:00
|
|
|
|
|
|
|
class CRegisterHamParams
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AMX *amx;
|
|
|
|
int func;
|
|
|
|
char *function;
|
|
|
|
int post;
|
2014-10-25 18:44:17 +00:00
|
|
|
Forward *pfwd;
|
2014-05-01 08:21:46 +00:00
|
|
|
|
2014-10-25 18:44:17 +00:00
|
|
|
CRegisterHamParams(AMX *arg_amx, int &arg_func, const char *arg_function, int &arg_post, Forward *arg_pfwd);
|
2014-05-01 08:21:46 +00:00
|
|
|
~CRegisterHamParams();
|
|
|
|
private:
|
|
|
|
CRegisterHamParams(){}
|
|
|
|
};
|
|
|
|
|
|
|
|
class CHamSpecialBotHandler
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CHamSpecialBotHandler();
|
|
|
|
void CheckClientKeyValue(int &clientIndex, char *infobuffer, const char *key, const char *value);
|
2014-10-25 18:44:17 +00:00
|
|
|
void RegisterHamSpecialBot(AMX *amx, int &func, const char *function, int &post, Forward *pfwd);
|
2014-05-01 08:21:46 +00:00
|
|
|
|
|
|
|
private:
|
2014-10-25 18:44:17 +00:00
|
|
|
void RegisterChecked(AMX *amx, int &func, const char *function, int &post, Forward *pfwd);
|
2014-05-01 08:21:46 +00:00
|
|
|
|
2014-08-10 09:48:06 +00:00
|
|
|
ke::Vector<CRegisterHamParams*> m_RHP_list;
|
2014-05-01 08:21:46 +00:00
|
|
|
void **m_specialbot_vtable;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // HOOK_SPECIALBOT_H
|