CSGO Support & No refill cvar.
This commit is contained in:
parent
6478d995b9
commit
7d2a16e2f6
@ -77,6 +77,7 @@ enum CvarsList
|
|||||||
Handle:CVAR_WEAPONS_RESTRICT_ENDEQUIP,
|
Handle:CVAR_WEAPONS_RESTRICT_ENDEQUIP,
|
||||||
Handle:CVAR_WEAPONS_ZMARKET,
|
Handle:CVAR_WEAPONS_ZMARKET,
|
||||||
Handle:CVAR_WEAPONS_ZMARKET_BUYZONE,
|
Handle:CVAR_WEAPONS_ZMARKET_BUYZONE,
|
||||||
|
Handle:CVAR_WEAPONS_ZMARKET_NOREFILL,
|
||||||
Handle:CVAR_WEAPONS_ZMARKET_REBUY,
|
Handle:CVAR_WEAPONS_ZMARKET_REBUY,
|
||||||
Handle:CVAR_WEAPONS_ZMARKET_REBUY_AUTO,
|
Handle:CVAR_WEAPONS_ZMARKET_REBUY_AUTO,
|
||||||
Handle:CVAR_WEAPONS_ZMARKET_REBUY_PRIMARY,
|
Handle:CVAR_WEAPONS_ZMARKET_REBUY_PRIMARY,
|
||||||
@ -302,6 +303,7 @@ CvarsCreate()
|
|||||||
// ZMarket
|
// ZMarket
|
||||||
g_hCvarsList[CVAR_WEAPONS_ZMARKET] = CreateConVar("zr_weapons_zmarket", "1", "Allow player to buy from a list of weapons in the weapons config.");
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET] = CreateConVar("zr_weapons_zmarket", "1", "Allow player to buy from a list of weapons in the weapons config.");
|
||||||
g_hCvarsList[CVAR_WEAPONS_ZMARKET_BUYZONE] = CreateConVar("zr_weapons_zmarket_buyzone", "1", "Requires player to be inside a buyzone to use ZMarket. [Dependency: zr_weapons_zmarket]");
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET_BUYZONE] = CreateConVar("zr_weapons_zmarket_buyzone", "1", "Requires player to be inside a buyzone to use ZMarket. [Dependency: zr_weapons_zmarket]");
|
||||||
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET_NOREFILL] = CreateConVar("zr_weapons_zmarket_norefill", "1", "Dont allow users to rebuy weapons to refill their clip. [Dependency: zr_weapons_zmarket]");
|
||||||
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY] = CreateConVar("zr_weapons_zmarket_rebuy", "1", "Allow players to rebuy their previous weapons. [Dependency: zr_weapons_zmarket]");
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY] = CreateConVar("zr_weapons_zmarket_rebuy", "1", "Allow players to rebuy their previous weapons. [Dependency: zr_weapons_zmarket]");
|
||||||
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_AUTO] = CreateConVar("zr_weapons_zmarket_rebuy_auto", "1", "Automatically equip default or loadout weapons. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]");
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_AUTO] = CreateConVar("zr_weapons_zmarket_rebuy_auto", "1", "Automatically equip default or loadout weapons. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]");
|
||||||
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_PRIMARY] = CreateConVar("zr_weapons_zmarket_rebuy_primary","P90", "Default primary weapon. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]");
|
g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_PRIMARY] = CreateConVar("zr_weapons_zmarket_rebuy_primary","P90", "Default primary weapon. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]");
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
* @section Defines for min/max moaning sound file index.
|
* @section Defines for min/max moaning sound file index.
|
||||||
*/
|
*/
|
||||||
#define SOUND_MOAN_PATH "npc/zombie/zombie_voice_idle%d.wav" // %d is sound file index
|
#define SOUND_MOAN_PATH "npc/zombie/zombie_voice_idle%d.wav" // %d is sound file index
|
||||||
|
#define SOUND_MOAN_CSGO "music/zr/zombie_voice_idle%d.wav"
|
||||||
#define SOUND_MOAN_MIN 1
|
#define SOUND_MOAN_MIN 1
|
||||||
#define SOUND_MOAN_MAX 14
|
#define SOUND_MOAN_MAX 14
|
||||||
/**
|
/**
|
||||||
@ -39,6 +40,7 @@
|
|||||||
* @section Defines for min/max groan sound file index.
|
* @section Defines for min/max groan sound file index.
|
||||||
*/
|
*/
|
||||||
#define SOUND_GROAN_PATH "npc/zombie/zombie_pain%d.wav" // %d is sound file index
|
#define SOUND_GROAN_PATH "npc/zombie/zombie_pain%d.wav" // %d is sound file index
|
||||||
|
#define SOUND_GROAN_CSGO "music/zr/zombie_pain%d.wav"
|
||||||
#define SOUND_GROAN_MIN 1
|
#define SOUND_GROAN_MIN 1
|
||||||
#define SOUND_GROAN_MAX 6
|
#define SOUND_GROAN_MAX 6
|
||||||
/**
|
/**
|
||||||
@ -49,6 +51,7 @@
|
|||||||
* @section Defines for min/max death sound file index.
|
* @section Defines for min/max death sound file index.
|
||||||
*/
|
*/
|
||||||
#define SOUND_DEATH_PATH "npc/zombie/zombie_die%d.wav" // %d is sound file index
|
#define SOUND_DEATH_PATH "npc/zombie/zombie_die%d.wav" // %d is sound file index
|
||||||
|
#define SOUND_DEATH_CSGO "music/zr/zombie_die%d.wav"
|
||||||
#define SOUND_DEATH_MIN 1
|
#define SOUND_DEATH_MIN 1
|
||||||
#define SOUND_DEATH_MAX 3
|
#define SOUND_DEATH_MAX 3
|
||||||
/**
|
/**
|
||||||
@ -254,6 +257,9 @@ bool:ZombieSoundsGetRandomSound(String:sound[], ZombieSounds:soundtype)
|
|||||||
soundmax = SOUND_MOAN_MAX;
|
soundmax = SOUND_MOAN_MAX;
|
||||||
|
|
||||||
// Copy path
|
// Copy path
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
strcopy(soundpath, sizeof(soundpath), SOUND_MOAN_CSGO);
|
||||||
|
else
|
||||||
strcopy(soundpath, sizeof(soundpath), SOUND_MOAN_PATH);
|
strcopy(soundpath, sizeof(soundpath), SOUND_MOAN_PATH);
|
||||||
}
|
}
|
||||||
// Find groan sound. (zombie shot)
|
// Find groan sound. (zombie shot)
|
||||||
@ -264,6 +270,9 @@ bool:ZombieSoundsGetRandomSound(String:sound[], ZombieSounds:soundtype)
|
|||||||
soundmax = SOUND_GROAN_MAX;
|
soundmax = SOUND_GROAN_MAX;
|
||||||
|
|
||||||
// Copy path
|
// Copy path
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
strcopy(soundpath, sizeof(soundpath), SOUND_GROAN_CSGO);
|
||||||
|
else
|
||||||
strcopy(soundpath, sizeof(soundpath), SOUND_GROAN_PATH);
|
strcopy(soundpath, sizeof(soundpath), SOUND_GROAN_PATH);
|
||||||
}
|
}
|
||||||
// Find death sound.
|
// Find death sound.
|
||||||
@ -274,6 +283,9 @@ bool:ZombieSoundsGetRandomSound(String:sound[], ZombieSounds:soundtype)
|
|||||||
soundmax = SOUND_DEATH_MAX;
|
soundmax = SOUND_DEATH_MAX;
|
||||||
|
|
||||||
// Copy path
|
// Copy path
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
strcopy(soundpath, sizeof(soundpath), SOUND_DEATH_CSGO);
|
||||||
|
else
|
||||||
strcopy(soundpath, sizeof(soundpath), SOUND_DEATH_PATH);
|
strcopy(soundpath, sizeof(soundpath), SOUND_DEATH_PATH);
|
||||||
}
|
}
|
||||||
// Invalid case given.
|
// Invalid case given.
|
||||||
|
@ -40,6 +40,10 @@
|
|||||||
#define WEAPONAMMO_HEGRENADE_LIMIT 1
|
#define WEAPONAMMO_HEGRENADE_LIMIT 1
|
||||||
#define WEAPONAMMO_FLASHBANG_LIMIT 2
|
#define WEAPONAMMO_FLASHBANG_LIMIT 2
|
||||||
#define WEAPONAMMO_SMOKEGRENADE_LIMIT 1
|
#define WEAPONAMMO_SMOKEGRENADE_LIMIT 1
|
||||||
|
#define WEAPONAMMO_INCENDIARY_LIMIT 1
|
||||||
|
#define WEAPONAMMO_MOLOTOV_LIMIT 1
|
||||||
|
#define WEAPONAMMO_DECOY_LIMIT 1
|
||||||
|
#define WEAPONAMMO_TACTICAL_LIMIT 1
|
||||||
/**
|
/**
|
||||||
* @endsection
|
* @endsection
|
||||||
*/
|
*/
|
||||||
@ -65,9 +69,15 @@ new g_iToolsAmmo;
|
|||||||
enum WeaponAmmoGrenadeType
|
enum WeaponAmmoGrenadeType
|
||||||
{
|
{
|
||||||
GrenadeType_Invalid = -1, /** Invalid grenade slot. */
|
GrenadeType_Invalid = -1, /** Invalid grenade slot. */
|
||||||
GrenadeType_HEGrenade = 11, /** HEGrenade slot */
|
GrenadeType_HEGrenade = 11, /** CSS - HEGrenade slot */
|
||||||
GrenadeType_Flashbang = 12, /** Flashbang slot. */
|
GrenadeType_Flashbang = 12, /** CSS - Flashbang slot. */
|
||||||
GrenadeType_Smokegrenade = 13, /** Smokegrenade slot. */
|
GrenadeType_Smokegrenade = 13, /** CSS - Smokegrenade slot. */
|
||||||
|
GrenadeType_HEGrenadeCSGO = 14, /** CSGO - HEGrenade slot. */
|
||||||
|
GrenadeType_FlashbangCSGO = 15, /** CSGO - Flashbang slot. */
|
||||||
|
GrenadeType_SmokegrenadeCSGO = 16, /** CSGO - Smokegrenade slot. */
|
||||||
|
GrenadeType_Incendiary = 17, /** CSGO - Incendiary and Molotov slot. */
|
||||||
|
GrenadeType_Decoy = 18, /** CSGO - Decoy slot. */
|
||||||
|
GrenadeType_Tactical = 22, /** CSGO - Tactical slot. */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -190,16 +200,41 @@ stock WeaponAmmoGrenadeType:WeaponAmmoEntityToGrenadeType(const String:weaponent
|
|||||||
{
|
{
|
||||||
if (StrEqual(weaponentity, "weapon_hegrenade"))
|
if (StrEqual(weaponentity, "weapon_hegrenade"))
|
||||||
{
|
{
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
return GrenadeType_HEGrenadeCSGO;
|
||||||
|
else
|
||||||
return GrenadeType_HEGrenade;
|
return GrenadeType_HEGrenade;
|
||||||
}
|
}
|
||||||
else if (StrEqual(weaponentity, "weapon_flashbang"))
|
else if (StrEqual(weaponentity, "weapon_flashbang"))
|
||||||
{
|
{
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
return GrenadeType_FlashbangCSGO;
|
||||||
|
else
|
||||||
return GrenadeType_Flashbang;
|
return GrenadeType_Flashbang;
|
||||||
}
|
}
|
||||||
else if (StrEqual(weaponentity, "weapon_smokegrenade"))
|
else if (StrEqual(weaponentity, "weapon_smokegrenade"))
|
||||||
{
|
{
|
||||||
|
if (g_Game == Game_CSGO)
|
||||||
|
return GrenadeType_SmokegrenadeCSGO;
|
||||||
|
else
|
||||||
return GrenadeType_Smokegrenade;
|
return GrenadeType_Smokegrenade;
|
||||||
}
|
}
|
||||||
|
else if (StrEqual(weaponentity, "weapon_molotov"))
|
||||||
|
{
|
||||||
|
return GrenadeType_Incendiary;
|
||||||
|
}
|
||||||
|
else if (StrEqual(weaponentity, "weapon_incgrenade"))
|
||||||
|
{
|
||||||
|
return GrenadeType_Incendiary;
|
||||||
|
}
|
||||||
|
else if (StrEqual(weaponentity, "weapon_decoy"))
|
||||||
|
{
|
||||||
|
return GrenadeType_Decoy;
|
||||||
|
}
|
||||||
|
else if (StrEqual(weaponentity, "weapon_tagrenade"))
|
||||||
|
{
|
||||||
|
return GrenadeType_Tactical;
|
||||||
|
}
|
||||||
|
|
||||||
return GrenadeType_Invalid;
|
return GrenadeType_Invalid;
|
||||||
}
|
}
|
||||||
@ -214,7 +249,7 @@ stock WeaponAmmoGrenadeType:WeaponAmmoEntityToGrenadeType(const String:weaponent
|
|||||||
{
|
{
|
||||||
switch(grenadetype)
|
switch(grenadetype)
|
||||||
{
|
{
|
||||||
case GrenadeType_HEGrenade:
|
case GrenadeType_HEGrenade, GrenadeType_HEGrenadeCSGO:
|
||||||
{
|
{
|
||||||
// Attempt to find a cvar provided by an outside plugin.
|
// Attempt to find a cvar provided by an outside plugin.
|
||||||
new Handle:gplimit = FindConVar(GRENADE_PACK_CVAR_LIMIT);
|
new Handle:gplimit = FindConVar(GRENADE_PACK_CVAR_LIMIT);
|
||||||
@ -222,14 +257,26 @@ stock WeaponAmmoGrenadeType:WeaponAmmoEntityToGrenadeType(const String:weaponent
|
|||||||
// If Grenade Pack is loaded and the cvar was found, then get the value of the outside cvar, if not return CS:S default.
|
// If Grenade Pack is loaded and the cvar was found, then get the value of the outside cvar, if not return CS:S default.
|
||||||
return (g_bGrenadePack && gplimit != INVALID_HANDLE) ? GetConVarInt(gplimit) : WEAPONAMMO_HEGRENADE_LIMIT;
|
return (g_bGrenadePack && gplimit != INVALID_HANDLE) ? GetConVarInt(gplimit) : WEAPONAMMO_HEGRENADE_LIMIT;
|
||||||
}
|
}
|
||||||
case GrenadeType_Flashbang:
|
case GrenadeType_Flashbang, GrenadeType_FlashbangCSGO:
|
||||||
{
|
{
|
||||||
return WEAPONAMMO_FLASHBANG_LIMIT;
|
return WEAPONAMMO_FLASHBANG_LIMIT;
|
||||||
}
|
}
|
||||||
case GrenadeType_Smokegrenade:
|
case GrenadeType_Smokegrenade, GrenadeType_SmokegrenadeCSGO:
|
||||||
{
|
{
|
||||||
return WEAPONAMMO_SMOKEGRENADE_LIMIT;
|
return WEAPONAMMO_SMOKEGRENADE_LIMIT;
|
||||||
}
|
}
|
||||||
|
case GrenadeType_Incendiary:
|
||||||
|
{
|
||||||
|
return WEAPONAMMO_INCENDIARY_LIMIT;
|
||||||
|
}
|
||||||
|
case GrenadeType_Decoy:
|
||||||
|
{
|
||||||
|
return WEAPONAMMO_DECOY_LIMIT;
|
||||||
|
}
|
||||||
|
case GrenadeType_Tactical:
|
||||||
|
{
|
||||||
|
return WEAPONAMMO_TACTICAL_LIMIT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -1059,7 +1059,8 @@ stock bool:ZMarketEquip(client, const String:weapon[], bool:rebuy = false)
|
|||||||
// If client isn't rebuying the weapon, then tell them the weapon has been purchased.
|
// If client isn't rebuying the weapon, then tell them the weapon has been purchased.
|
||||||
TranslationPrintToChat(client, "Weapons zmarket purchase", weapondisplay);
|
TranslationPrintToChat(client, "Weapons zmarket purchase", weapondisplay);
|
||||||
|
|
||||||
if (IsValidEntity(entity) && !WeaponsIsClientInBuyZone(client))
|
new bool:zmarketnorefill = GetConVarBool(g_hCvarsList[CVAR_WEAPONS_ZMARKET_NOREFILL]);
|
||||||
|
if (IsValidEntity(entity) && !WeaponsIsClientInBuyZone(client) && zmarketnorefill)
|
||||||
{
|
{
|
||||||
int newclip = 0;
|
int newclip = 0;
|
||||||
if (oldclip != -1)
|
if (oldclip != -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user