// Main data array. [0] is weapon CSW_ index. [1] is kills required to level-up. [2] is damage multiplier (30 = 30%, 110 = 110%).
new const weaponsData[][] =
{
{ CSW_GLOCK18, 2, 100 },
{ CSW_USP, 2, 100 },
{ CSW_P228, 2, 100 },
{ CSW_FIVESEVEN, 2, 100 },
{ CSW_DEAGLE, 2, 100 },
{ CSW_ELITE, 2, 100 },
{ CSW_M3, 3, 100 },
{ CSW_XM1014, 3, 100 },
{ CSW_TMP, 3, 100 },
{ CSW_MAC10, 3, 100 },
{ CSW_UMP45, 3, 100 },
{ CSW_MP5NAVY, 3, 100 },
{ CSW_P90, 4, 100 },
{ CSW_GALIL, 4, 100 },
{ CSW_FAMAS, 3, 100 },
{ CSW_AK47, 4, 100 },
{ CSW_SCOUT, 2, 100 },
{ CSW_M4A1, 4, 100 },
{ CSW_SG552, 4, 100 },
{ CSW_AUG, 4, 100 },
{ CSW_AWP, 4, 100 },
{ CSW_G3SG1, 2, 100 },
{ CSW_SG550, 2, 100 },
{ CSW_M249, 2, 100 },
{ CSW_HEGRENADE, 3, 100 },
{ CSW_KNIFE, 1, 100 }
};
// Custom weapon names (used in HUD, ending-message etc).
new const customWeaponNames[][] =
{
"Glock",
"USP",
"P228",
"Five-seven",
"Deagle",
"Duals",
"M3",
"XM1014",
"TMP",
"Mac-10",
"UMP",
"MP5",
"P90",
"Galil",
"Famas",
"AK-47",
"Scout",
"M4A1",
"SG-552",
"AUG",
"AWP",
"Autokampa (TT)",
"Autokampa (CT)",
"M249",
"Granat HE",
"Noz"
};
// Commands to be blocked (using PLUGIN_HANDLED_MAIN).
new const blockedCommands[][] =
{
"drop",
"fullupdate",
"radio1",
"radio2",
"radio3"
};
// Time in which player CAN get killed, but the killer will not be granted any weapon kills if victim is in spawn protection.
const Float:spawnProtectionTime = 1.5;
// RGB of colored shell (set_user_rendering) when in spawn protection.
new const spawnProtectionColors[] = { 80, 0, 0 };
// Shell thickness.
new const spawnProtectionShell = 100;
// Respawn time during GunGame.
const Float:respawnInterval = 3.0;
// Hud objects enum.
enum (+= 1)
{
hudObjectDefault = 0,
hudObjectDamage,
hudObjectWarmup
};
// HUD refresh time.
const Float:hudDisplayInterval = 1.0;
// HUD RGB colors.
new const hudColors[] = { 200, 130, 0 };
// Time between giving a player next HE grenade (during warmup & on HE weapon level).
new const Float:giveBackHeInterval = 1.8;
// Time between giving a player next Flash grenade.
new const Float:giveBackFlashInterval = 4.5;
// Time of warmup in seconds.
new const warmupDuration = 30;
// Level that will be set to warmup winner. Value < 1 will disable notifications and picking warmup winner.
new const warmupLevelReward = 3;
// Health that players will be set to during warmup.
new const warmupHealth = 50;
// Set that to CSW_ index or -1 to get random weapon.
new const warmupWeapon = -1;
// This determines how many times weapon should be added (this is used to fill backpack ammo [instead of cs_set_user_bpammo, obviously not required for ReHLDS servers]).
new const warmupWeaponCounter = 8;
// Time to respawn player during warmup.
const Float:warumpRespawnInterval = 2.0;
// RGB colors of warmup HUD.
new const warmupHudColors[] = { 255, 255, 255 };
// Armor level for every player.
new const defaultArmorLevel = 0;
// Set that really high, so we dont have to worry about screen getting back to non-colored.
const Float:blackScreenTimer = 50.0;
// Prefix shown in game-ending message and chat when leveling-up.
new const chatPrefix[] = "[GUN GAME]";
// String that will replace rest of the nickname when clumping it to the short one.
new const nicknameReplaceToken[] = "...";
// Max. name length in short-name variable (to prevent char-overflow in ending message). Ex: "pretty long nickname" -> "pretty lon".
const maxNicknameLength = 10 + charsmax(nicknameReplaceToken);
// Take damage hud hold-time.
const Float:takeDamageHudTime = 1.3;
// Take damage hud colors.
new const takeDamageHudColor[] = { 0, 200, 200 };
// Classnames of weapons on the ground (to prevent picking them up).
new const droppedWeaponsClassnames[][] =
{
"weaponbox",
"armoury_entity",
"weapon_shield"
};
// Player-info command (checked in sayHandle instead of register_clcmd to extract nickname from message).
new const lookupCommand[] = "/info";
// Sound types.
enum (+= 1)
{
soundLevelUp = 0,
soundLevelDown,
soundTimerTick,
soundWarmup,
soundAnnounceWinner,
soundGameStart
};
// Command executed when playing sound on client. (mp3 play / spk)
new const defaultSoundCommand[] = "mp3 play";
// Number of maximum sounds in soundsData array.
new const maxSounds = 2;
// Main sound-data array. Every index is a different sound. Indexes with strlen == 0 will be continued, instead plugin will use first available index.
new const soundsData[][][] =
{
{ "testSounds/levelup.wav", "" },
{ "testSounds/leveldown.wav", "" },
{ "testSounds/timertick4.wav", "" },
{ "testSounds/warmup.wav", "" },
{ "testSounds/announcewinner.wav", "" },
{ "testSounds/gungamestart.wav", "testSounds/gungamestart2.wav" }
};
// Custom volumes of each sound.
new const Float:soundsVolumeData[][] =
{
{ 1.0, 1.0 }, // Levelup
{ 1.0, 1.0 }, // Leveldown
{ 1.0, 1.0 }, // Timer tick
{ 0.2, 1.0 }, // Warmup
{ 1.0, 1.0 }, // Announce winner
{ 1.0, 1.0 } // Gungame start
};
enum (+= 1)
{
spriteLevelup = 0
};
new const spritesData[][] =
{
"sprites/levelupBeam.spr"
};
// Z axis.
new const Float:spriteLevelupZaxis = 200.0;
// Life.
new const spriteLevelupLife = 2;
// Width.
new const spriteLevelupWidth = 15;
// RGB.
new const spriteLevelupRGB[] = { 0, 255, 0 };
// Brightness.
new const spriteLevelupBrightness = 80;
// Remove weapons off the ground when loading map?
new const removeWeaponsOffTheGround = true;
// Commands to menu which lists weapons & their data.
new const listWeaponsCommands[][] =
{
"say /lista",
"say_team /lista",
"say /listabroni",
"say_team /listabroni",
"say /bronie",
"say_team /bronie",
"say /bron",
"say_team /bron",
"say /guns",
"say_team /guns"
};
// Mysql database enum.
enum databaseEnum (+= 1)
{
databaseHost,
databaseUser,
databasePass,
databaseDB,
databaseTableName
};
// Mysql database.
new const mysqlData[][] =
{
"",
"",
"",
"",
""
};
// Determines number of top-players that will be shown in game-ending message.
const topPlayersDisplayed = 10;
// Top players motd HTML code.
new const topPlayersMotdHTML[][] =
{
"<style> body{ background: #202020 } tr{ text-align: left } table{ font-size: 12px; color: #ffffff; padding: 0px } h1{ color: #FFF; font-family: Verdana }</style><body>",
"<table width = 100%% border = 0 align = center cellpadding = 0 cellspacing = 2>",
"<tr><th><h3>Pozycja</h3><th><b><h3>Nazwa gracza</h3></b><th><h3>Wygrane gry</h3></th></tr>"
};
// Top players motd commands.
new const topPlayersMotdCommands[][] =
{
"say /top",
"say_team /top",
"say /topka",
"say_team /topka",
"say /topgg",
"say_team /topgg"
};
// Prefix used in log_amx to log custom error messages.
new const nativesLogPrefix[] = "[GUNGAME ERROR]";
// Value which will be returned if an error occured in any of natives.
new const nativesErrorValue = -1;
// Natives: [][0] is native name, [][1] is native function.
new const nativesData[][][] =
{
{ "SetUserLevel", "native_SetUserLevel" },
{ "GetUserLevel", "native_GetUserLevel" },
{ "GetMaxLevel", "native_GetMaxLevel" },
{ "RespawnPlayer", "native_RespawnPlayer" },
{ "GetUserWeapon", "native_GetUserWeapon" },
{ "GetWeaponsData", "native_GetWeaponsData" }
};