Merge pull request #72 from Arkshine/add-constants

Add some generic constants
This commit is contained in:
Vincent Herbet 2014-07-19 21:02:59 +02:00
commit 19c8b007b2
3 changed files with 24 additions and 1 deletions

View File

@ -167,6 +167,14 @@ int CPluginMngr::loadPluginsFromFile(const char* filename, bool warn)
plugin->setError(errorMsg); plugin->setError(errorMsg);
AMXXLOG_Error("[AMXX] %s", plugin->getError()); AMXXLOG_Error("[AMXX] %s", plugin->getError());
} }
else
{
cell addr;
if (amx_FindPubVar(plugin->getAMX(), "MaxClients", &addr) != AMX_ERR_NOTFOUND)
{
*get_amxaddr(plugin->getAMX(), addr) = gpGlobals->maxClients;
}
}
} }
fclose(fp); fclose(fp);

View File

@ -70,9 +70,14 @@ static cell AMX_NATIVE_CALL get_xvar_id(AMX *amx, cell *params)
char* sName = get_amxstring(amx, params[1], 0, len); char* sName = get_amxstring(amx, params[1], 0, len);
cell ptr; cell ptr;
if (!strcmp(sName, "MaxClients"))
{
return -1;
}
for (CPluginMngr::iterator a = g_plugins.begin(); a ; ++a) for (CPluginMngr::iterator a = g_plugins.begin(); a ; ++a)
{ {
if ((*a).isValid() && amx_FindPubVar((*a).getAMX(), sName, &ptr) == AMX_ERR_NONE) if ((*a).isValid() && amx_FindPubVar((*a).getAMX(), sName, &ptr) == AMX_ERR_NONE)
return g_xvars.put((*a).getAMX(), get_amxaddr((*a).getAMX(), ptr)); return g_xvars.put((*a).getAMX(), get_amxaddr((*a).getAMX(), ptr));
} }

View File

@ -25,6 +25,16 @@
*/ */
#define MAX_STRING_LENGTH 16384 #define MAX_STRING_LENGTH 16384
/**
* MAX_PLAYERS is not the same as MaxClients.
* MAX_PLAYERS is a hardcoded value as an upper limit. MaxClients changes based on the server.
*/
#define MAX_PLAYERS 33 /* Maximum number of players AMX Mod X supports */
#define MAX_NAME_LENGTH 32 /* Maximum buffer required to store a client name */
public const MaxClients; /* Maximum number of players the server supports (dynamic) */
#define M_PI 3.1415926535 #define M_PI 3.1415926535
#define ADMIN_ALL 0 /* everyone */ #define ADMIN_ALL 0 /* everyone */