sm-zombiereloaded-3/src/zombiereloaded.sp
ricahrd a58b2eae85 Implemented module filtering. Note: Doesn't work yet, needs debugging.
Implemented looping through modules instead of listing each one.
Fixed translations issue with pre-defined width. zr_log_list now formatts correctly.
Fixed missing newline in the end of translations.inc.
Known bugs: Adding invalid module names works, it should give an error. Cache doesn't get updated either.
2009-06-08 00:13:38 +02:00

191 lines
3.9 KiB
SourcePawn

/*
* ============================================================================
*
* Zombie:Reloaded
*
* File: zombiereloaded.sp
* Type: Base
* Description: Plugin's base file.
*
* ============================================================================
*/
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <zrtools>
#define VERSION "3.0-dev"
// Header includes.
#include "zr/log.h"
// Core includes.
#include "zr/zombiereloaded"
#include "zr/translation"
#include "zr/cvars"
#include "zr/log"
#include "zr/config"
#include "zr/serial"
#include "zr/sayhooks"
#include "zr/tools"
#include "zr/paramtools"
#include "zr/models"
#include "zr/downloads"
#include "zr/overlays"
#include "zr/playerclasses/playerclasses"
#include "zr/weapons/weapons"
#include "zr/hitgroups"
#include "zr/roundstart"
#include "zr/roundend"
#include "zr/infect"
#include "zr/damage"
#include "zr/menu"
#include "zr/event"
#include "zr/zadmin"
#include "zr/commands"
//#include "zr/global"
// Modules
#include "zr/account"
#include "zr/visualeffects"
#include "zr/soundeffects/soundeffects"
#include "zr/antistick"
#include "zr/knockback"
#include "zr/spawnprotect"
#include "zr/respawn"
#include "zr/napalm"
#include "zr/jumpboost"
#include "zr/zspawn"
#include "zr/ztele"
#include "zr/zhp"
#include "zr/jumpboost"
#include "zr/volfeatures/volfeatures"
/**
* Record plugin info.
*/
public Plugin:myinfo =
{
name = "Zombie:Reloaded",
author = "Greyscale | Richard Helgeby",
description = "Infection/survival style gameplay",
version = VERSION,
url = "http://www.zombiereloaded.com"
};
/**
* Called before plugin is loaded.
*
* @param myself The plugin handle.
* @param late True if the plugin was loaded after map change, false on map start.
* @param error Error message if load failed.
* @param err_max Max length of the error message.
*/
public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)
{
// TODO: EXTERNAL API
// Let plugin load.
return true;
}
/**
* Plugin is loading.
*/
public OnPluginStart()
{
// Forward event to modules.
TranslationInit();
CvarsInit();
LogInit();
ToolsInit();
CommandsInit();
WeaponsInit();
SayHooksInit();
EventInit();
ZMarketInit();
}
/**
* The map is starting.
*/
public OnMapStart()
{
// Forward event to modules.
SerialOnMapStart();
OverlaysOnMapStart();
RoundEndOnMapStart();
InfectOnMapStart();
SEffectsOnMapStart();
AntiStickOnMapStart();
ZSpawnOnMapStart();
}
/**
* The map is ending.
*/
public OnMapEnd()
{
// Forward event to modules.
}
/**
* Configs just finished getting executed.
*/
public OnConfigsExecuted()
{
// Forward event to modules. (OnConfigsExecuted)
ConfigLoad();
ModelsLoad();
DownloadsLoad();
WeaponsLoad();
HitgroupsLoad();
InfectLoad();
VEffectsLoad();
SEffectsLoad();
ClassLoad();
VolLoad();
// Forward event to modules. (OnModulesLoaded)
ConfigOnModulesLoaded();
ClassOnModulesLoaded();
}
/**
* Client is joining the server.
*
* @param client The client index.
*/
public OnClientPutInServer(client)
{
// Forward event to modules.
ClassClientInit(client);
OverlaysClientInit(client);
WeaponsClientInit(client);
InfectClientInit(client);
DamageClientInit(client);
SEffectsClientInit(client);
SpawnProtectClientInit(client);
RespawnClientInit(client);
ZTeleClientInit(client);
ZHPClientInit(client);
}
/**
* Client is leaving the server.
*
* @param client The client index.
*/
public OnClientDisconnect(client)
{
// Forward event to modules.
ClassOnClientDisconnect(client);
WeaponsOnClientDisconnect(client);
InfectOnClientDisconnect(client);
DamageOnClientDisconnect(client);
ZSpawnOnClientDisconnect(client);
VolOnPlayerDisconnect(client);
}