mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2024-12-26 22:55:41 +03:00
Implemented cvar mp_infinite_grenades.
Reworked cvar mp_infinite_ammo, not include grenades
This commit is contained in:
parent
a7f20dc2e8
commit
69e5c854e2
@ -38,6 +38,7 @@ therefore for this enter `-beta` option at the command line HLDS.
|
||||
| mp_auto_reload_weapons | 0 | 0 | 1 | Automatically reload each weapon on player spawn.<br/>`0` disabled<br/>`1` enabled |
|
||||
| mp_refill_bpammo_weapons | 0 | 0 | 2 | Refill amount of backpack ammo up to the max.<br/>`0` disabled<br/>`1` refill backpack ammo on player spawn<br/>`2` refill backpack ammo on player spawn and on the purchase of the item |
|
||||
| mp_infinite_ammo | 0 | 0 | 2 | Sets the mode infinite ammo for weapons.<br/>`0` disabled<br/>`1` weapon clip infinite<br/>`2` weapon bpammo infinite (This means for reloading) |
|
||||
| mp_infinite_grenades | 0 | 0 | 1 | Enable infinite grenades.<br/>`0` disabled<br/>`1` grenades infinite |
|
||||
| mp_auto_join_team | 0 | 0 | 1 | Automatically joins the team.<br/>`0` disabled<br/>`1` enable (Use in conjunction with the cvar humans_join_team any/CT/T) |
|
||||
| mp_max_teamkills | 3 | 0 | - | Maximum number of allowed teamkills before autokick. Used when enabled mp_autokick. |
|
||||
| mp_fragsleft | - | - | - | Is the number of frags left, if you have set mp_fraglimit. You just type mp_fragsleft in server console, and it tells you the number of frags left depending of mp_fraglimit. |
|
||||
|
7
dist/game.cfg
vendored
7
dist/game.cfg
vendored
@ -101,6 +101,13 @@ mp_refill_bpammo_weapons 0
|
||||
// Default value: "0"
|
||||
mp_infinite_ammo 0
|
||||
|
||||
// Enable infinite grenades
|
||||
// 0 - disabled (default behaviour)
|
||||
// 1 - grenades infinite
|
||||
//
|
||||
// Default value: "0"
|
||||
mp_infinite_grenades 0
|
||||
|
||||
// Automatically joins the team
|
||||
// 0 - disabled
|
||||
// 1 - enabled (Use in conjunction with the cvar humans_join_team any/SPEC/CT/T)
|
||||
|
@ -21,6 +21,7 @@ cvar_t timeleft = { "mp_timeleft", "0", FCVAR_SERVER | FCVAR_UNLOGG
|
||||
|
||||
cvar_t friendlyfire = { "mp_friendlyfire", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t infiniteAmmo = { "mp_infinite_ammo", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t infiniteGrenades = { "mp_infinite_grenades", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t allowmonsters = { "mp_allowmonsters", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t roundtime = { "mp_roundtime", "5", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t buytime = { "mp_buytime", "1.5", FCVAR_SERVER, 0.0f, nullptr };
|
||||
@ -189,6 +190,7 @@ void EXT_FUNC GameDLLInit()
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
CVAR_REGISTER(&infiniteAmmo);
|
||||
CVAR_REGISTER(&infiniteGrenades);
|
||||
#endif
|
||||
|
||||
CVAR_REGISTER(&flashlight);
|
||||
|
@ -59,6 +59,7 @@ extern cvar_t fragsleft;
|
||||
extern cvar_t timeleft;
|
||||
extern cvar_t friendlyfire;
|
||||
extern cvar_t infiniteAmmo;
|
||||
extern cvar_t infiniteGrenades;
|
||||
extern cvar_t allowmonsters;
|
||||
extern cvar_t roundtime;
|
||||
extern cvar_t buytime;
|
||||
|
@ -6281,7 +6281,9 @@ void CBasePlayer::CheatImpulseCommands(int iImpulse)
|
||||
|
||||
#ifdef REGAMEDLL_API
|
||||
CSPlayer()->m_iWeaponInfiniteAmmo = WPNMODE_INFINITE_BPAMMO;
|
||||
CSPlayer()->m_iWeaponInfiniteIds = WEAPON_ALLWEAPONS;
|
||||
#endif
|
||||
|
||||
GiveNamedItemEx("item_longjump");
|
||||
GiveNamedItemEx("item_thighpack");
|
||||
GiveNamedItemEx("item_kevlar");
|
||||
|
@ -839,7 +839,12 @@ void CBasePlayerWeapon::HandleInfiniteAmmo()
|
||||
{
|
||||
m_iClip = iMaxClip();
|
||||
}
|
||||
else if (nInfiniteAmmo == WPNMODE_INFINITE_BPAMMO)
|
||||
else if ((nInfiniteAmmo == WPNMODE_INFINITE_BPAMMO &&
|
||||
#ifdef REGAMEDLL_API
|
||||
((m_pPlayer->CSPlayer()->m_iWeaponInfiniteIds & (1 << m_iId)) || (m_pPlayer->CSPlayer()->m_iWeaponInfiniteIds <= 0 && !IsGrenadeWeapon(m_iId)))
|
||||
#endif
|
||||
)
|
||||
|| (IsGrenadeWeapon(m_iId) && infiniteGrenades.value == 1.0f))
|
||||
{
|
||||
if (pszAmmo1())
|
||||
{
|
||||
|
@ -439,6 +439,22 @@ bool IsSecondaryWeapon(int id)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Return true if given weapon ID is a grenade
|
||||
bool IsGrenadeWeapon(int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case WEAPON_HEGRENADE:
|
||||
case WEAPON_FLASHBANG:
|
||||
case WEAPON_SMOKEGRENADE:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
WeaponInfoStruct *GetWeaponInfo(int weaponID)
|
||||
{
|
||||
for (auto& info : g_weaponInfo) {
|
||||
|
@ -449,6 +449,7 @@ WeaponClassType AliasToWeaponClass(const char *alias);
|
||||
WeaponClassType WeaponIDToWeaponClass(int id);
|
||||
bool IsPrimaryWeapon(int id);
|
||||
bool IsSecondaryWeapon(int id);
|
||||
bool IsGrenadeWeapon(int id);
|
||||
bool CanBuyWeaponByMaptype(int playerTeam, WeaponIdType weaponID, bool useAssasinationRestrictions);
|
||||
void WeaponInfoReset();
|
||||
|
||||
|
@ -115,6 +115,7 @@ public:
|
||||
float m_flSpawnProtectionEndTime;
|
||||
Vector m_vecOldvAngle;
|
||||
int m_iWeaponInfiniteAmmo;
|
||||
int m_iWeaponInfiniteIds;
|
||||
};
|
||||
|
||||
// Inlines
|
||||
|
Loading…
Reference in New Issue
Block a user