Nume: Server Booster
Versiune: 1.0
Autor: LondoN eXtream
Download: https://ufile.io/cyia3jgd
Sursa:
- ServerBooster.sma | Afiseaza codul
#include < amxmodx > #include < amxmisc > #include < fakemeta > #include < engine > /* ___________________________ Special Include File _______________________________*/ #include < amx_settings_api > /* ___________________________ Plugin Information _______________________________*/ #define PLUGIN "Server Booster" #define VERSION "1.0 (2019) Final" #define AUTHOR "LondoN eXtream" /* ___________________________ Header of Plugin _______________________________*/ new const BOOSTER_FILE[] = "ServerBooster.ini"; // Booster config file new const BOOSTER_DEBUG_FILE[] = "ServerBoosterDebug.txt"; // Booster debug file new bool: g_BODY = true; // Used for body dissappear new bool: g_SETTINGS = true; // Used for server settings new bool: g_WEAPONS = true; // Used for weapons dissappear new bool: g_FOG = true; // Used for creating non-lag foog new bool: g_SONGS = true; // Used for playing in-game songs new bool: g_CLIENT = true; // Used for client-side settings (if possible) new bool: g_HUD = true; // Used for default hud messages new bool: g_DEBUG = true; // Need to debug the plugin? enum { ACTION_VALUES = 1, // terminat ACTION_BODY_BEGIN, // terminat ACTION_SETTINGS_BEGIN, // terminat ACTION_WEAPONS_BEGIN, // terminat ACTION_FOG_BEGIN, // terminat ACTION_SONGS_BEGIN, // terminat ACTION_CLIENT_BEGIN, // terminat ACTION_HUD_BEGIN // terminat }; new Array: g_SongsName; new const g_DEFAULTSONG [ ] = "sound/ServerBooster/loading.mp3"; const MAX_SIZE = 64; new g_MSGID_CLCORPSE; new g_MSGID_HUD; new g_SPAWN_FORWARD; /* _____________________________ Plugin Precache _______________________________*/ public plugin_precache ( ) { _LOADSETTINGS ( BOOSTER_FILE, "SERVER BOOSTER" ); if ( g_SONGS ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_SONGS_BEGIN ); } g_SongsName = ArrayCreate ( MAX_SIZE, 1 ); if ( !amx_load_setting_string_arr ( BOOSTER_FILE, "SERVER BOOSTER", "MEDIA", g_SongsName ) ) { amx_save_setting_string ( BOOSTER_FILE, "SERVER BOOSTER", "MEDIA", g_DEFAULTSONG ); ArrayPushString ( g_SongsName, g_DEFAULTSONG ); } new i, buffer [ 128 ]; for ( i = 0; i < ArraySize ( g_SongsName ); i++ ) { ArrayGetString ( g_SongsName, i, buffer, charsmax ( buffer ) ); engfunc ( EngFunc_PrecacheSound, buffer ); } } if ( g_WEAPONS ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_WEAPONS_BEGIN ); } g_SPAWN_FORWARD = register_forward ( FM_Spawn, "FORWARD_WEAPON_SPAWN" ); } if ( g_FOG ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_FOG_BEGIN ); } new FOG = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "env_fog" ) ); DispatchKeyValue ( FOG, "density", "0.0018" ); DispatchKeyValue ( FOG, "rendercolor", "0 127 255" ); } } public FORWARD_WEPON_SPAWN ( ENTITY ) { if ( pev_valid ( ENTITY ) ) { static CLASS_NAME [ 32 ]; pev ( ENTITY, pev_classname, CLASS_NAME, charsmax ( CLASS_NAME ) ); if ( equal ( CLASS_NAME, "armoury_entity" ) ) { engfunc ( EngFunc_RemoveEntity, ENTITY ); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public client_connect ( Player ) { if ( g_SONGS ) { new i, g_Song [ 128 ], g_Cmd [ 128 ]; for ( i = 0; i < ArraySize ( g_SongsName ); i++ ) { ArrayGetString ( g_SongsName, i, g_Song, charsmax ( g_Song ) ); formatex ( g_Cmd, charsmax ( g_Cmd ), "MP3Volume 0.75; mp3 play ^"%s^"", g_Song ); client_cmd ( Player, g_Cmd ); } if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_SONGS_BEGIN ); } } if ( g_CLIENT ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_CLIENT_BEGIN ); } static const cl_vars[][] = { "cl_shadows", "cl_minmodels", "cl_weather", "fps_max", "fps_modem" }; static const cl_values[][] = { "0", "1", "1", "100", "1" }; new a, j, _cmd [ 128 ]; for ( a = 0; a < sizeof ( cl_vars ); a++ ) { for ( j = 0; j < sizeof ( cl_values ); j++ ) { formatex ( _cmd, charsmax ( _cmd ), "%s %s", cl_vars [ a ], cl_values [ j ] ); client_cmd ( Player, _cmd ); } } } return; } public _LOADSETTINGS(const File[], const Section[]) { if ( !amx_load_setting_int ( File, Section, "DEBUG", g_DEBUG ) ) { amx_save_setting_int ( File, Section, "DEBUG", g_DEBUG ); } if ( !amx_load_setting_int ( File, Section, "BODY", g_BODY ) ) { amx_save_setting_int ( File, Section, "BODY", g_BODY ); } if ( !amx_load_setting_int ( File, Section, "SETTINGS", g_SETTINGS ) ) { amx_save_setting_int ( File, Section, "SETTINGS", g_SETTINGS ); } if ( !amx_load_setting_int ( File, Section, "WEAPONS", g_WEAPONS ) ) { amx_save_setting_int ( File, Section, "WEAPONS", g_WEAPONS ); } if ( !amx_load_setting_int ( File, Section, "FOG", g_FOG ) ) { amx_save_setting_int ( File, Section, "FOG", g_FOG ); } if ( !amx_load_setting_int ( File, Section, "SONGS", g_SONGS ) ) { amx_save_setting_int ( File, Section, "SONGS", g_SONGS ); } if ( !amx_load_setting_int ( File, Section, "CLIENT", g_CLIENT ) ) { amx_save_setting_int ( File, Section, "CLIENT", g_CLIENT ); } if ( !amx_load_setting_int ( File, Section, "HUD", g_HUD ) ) { amx_save_setting_int ( File, Section, "HUD", g_HUD ); } if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_VALUES ); } } public _WRITEDEBUGFILE ( const File [ ], BOOSTER_ACTION ) { new g_TIME [ 16 ], g_FILE [ 64 ], g_LINE [ 256 ]; get_time ( "%H:%M", g_TIME, charsmax ( g_TIME ) ); formatex ( g_FILE, charsmax ( g_FILE ), "addons/amxmodx/configs/debug/%s", File ); if ( file_exists ( g_FILE ) ) { server_print ( "[%s] Removing old debug file.", g_TIME ); delete_file ( g_FILE ); } switch ( BOOSTER_ACTION ) { case ACTION_VALUES: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Values for\nBody: %d\nSettings: %d\nWeapons: %d\nFog: %d\nSongs: %d\nClient: %d\nHud: %d", g_TIME, g_BODY, g_SETTINGS, g_WEAPONS, g_FOG, g_SONGS, g_CLIENT, g_HUD); write_file ( g_FILE, g_LINE ); } case ACTION_BODY_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for body booster", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_SETTINGS_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for server settings boost", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_WEAPONS_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for weapons boost", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_FOG_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for fog boost", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_SONGS_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for song boost", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_CLIENT_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for client begin", g_TIME ); write_file ( g_FILE, g_LINE ); } case ACTION_HUD_BEGIN: { formatex ( g_LINE, charsmax ( g_LINE ), "[%s] Begin code for hud block", g_TIME ); write_file ( g_FILE, g_LINE ); } } } public plugin_init ( ) { register_plugin ( PLUGIN, VERSION, AUTHOR ); if ( g_BODY ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_BODY_BEGIN ); } g_MSGID_CLCORPSE = get_user_msgid ( "ClCorpse" ); set_msg_block ( g_MSGID_CLCORPSE, BLOCK_SET ); } if ( g_SETTINGS ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_SETTINGS_BEGIN ); } static const server_vars[][] = { "fps_max", "fps_modem", "sys_tickrate", "mp_timelimit" }; static const server_values[][] = { "1000", "1", "1000", "45" }; new a, j; for ( a = 0; a < sizeof server_vars; a++ ) { for ( j = 0; j < sizeof server_values; j++ ) { set_cvar_string ( server_vars [ a ], server_values [ j ] ); } } } if ( g_WEAPONS ) { unregister_forward ( FM_Spawn, g_SPAWN_FORWARD ); } if ( g_HUD ) { if ( g_DEBUG ) { _WRITEDEBUGFILE ( BOOSTER_DEBUG_FILE, ACTION_HUD_BEGIN ); } g_MSGID_HUD = get_user_msgid ( "HudTextArgs" ); set_msg_block ( g_MSGID_HUD, BLOCK_SET ); } }
- ServerBooster.ini | Afiseaza codul
; Server Booster 1.0 ; by LondoN eXtream ; ; This is the configuration file ; =============================== [SERVER BOOSTER] ; If you want to debug the plugin set this to 1, either to 0 DEBUG = 0 ; Body dissappear ( for some more fps ) BODY = 1 ; Server Side settings enabled or not? SETTINGS = 1 ; Removing all weapon entities from ground? WEAPONS = 1 ; Wanna some fog whithout lag? FOG = 0 ; Want connect song without lag? SONGS = 1 ; Song list here, separated by comma MEDIA = sound/ServerBooster/loading.mp3, sound/ServerBooster/loading2.mp3 ; Want to apply some client-side settings for more fps? CLIENT = 1 ; Want to remove default hud messages? HUD = 1
- plasati fisierele in folderul amxmodx
- adaugati in plugins.ini
Code: Select all
amx_settings_api.amxx
ServerBooster.amxx