Finished functions for applying class attributes.
This commit is contained in:
@ -32,6 +32,11 @@ bool:ClassApplyAttributes(client, bool:improved = false)
|
||||
ClassApplyModel(client, classindex);
|
||||
ClassApplyAlpha(client, classindex);
|
||||
ClassApplyOverlay(client, classindex);
|
||||
ClassApplyNightVision(client, classindex);
|
||||
ClassApplyFOV(client, classindex);
|
||||
ClassApplyHealth(client, classindex, improved);
|
||||
ClassApplyHealthRegen(client, classindex);
|
||||
ClassApplySpeed(client, classindex);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -145,3 +150,179 @@ bool:ClassApplyOverlay(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
ClassOverlayInitialize(client, overlay);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives night vision to a player.
|
||||
*
|
||||
* @param client The client index.
|
||||
* @param classindex The class to read from.
|
||||
* @param cachetype Optional. Specifies what class cache to read from.
|
||||
* Options:
|
||||
* ZR_CLASS_CACHE_ORIGINAL - Unchanced class data.
|
||||
* ZR_CLASS_CACHE_MODIFIED - Changed/newest class data.
|
||||
* ZR_CLASS_CACHE_PLAYER (default) - Player cache.
|
||||
* @return True on success, false otherwise.
|
||||
*/
|
||||
bool:ClassApplyNightVision(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
new bool:nvgs;
|
||||
|
||||
// Get the night vision setting from the specified cache.
|
||||
if (cachetype == ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
nvgs = ClassGetNvgs(client, cachetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
nvgs = ClassGetNvgs(classindex, cachetype);
|
||||
}
|
||||
|
||||
NightVision(client, nvgs);
|
||||
|
||||
// Turn on night vision if applied.
|
||||
if (nvgs)
|
||||
{
|
||||
NightVisionOn(client, nvgs);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the field of view setting on a player.
|
||||
*
|
||||
* @param client The client index.
|
||||
* @param classindex The class to read from.
|
||||
* @param cachetype Optional. Specifies what class cache to read from.
|
||||
* Options:
|
||||
* ZR_CLASS_CACHE_ORIGINAL - Unchanced class data.
|
||||
* ZR_CLASS_CACHE_MODIFIED - Changed/newest class data.
|
||||
* ZR_CLASS_CACHE_PLAYER (default) - Player cache.
|
||||
* @return True on success, false otherwise.
|
||||
*/
|
||||
bool:ClassApplyFOV(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
new fov;
|
||||
|
||||
// Get the field of view setting from the specified cache.
|
||||
if (cachetype == ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
fov = ClassGetFOV(client, cachetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
fov = ClassGetFOV(classindex, cachetype);
|
||||
}
|
||||
|
||||
SetPlayerFOV(client, fov);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives health points on a player.
|
||||
*
|
||||
* @param client The client index.
|
||||
* @param classindex The class to read from.
|
||||
* @param boost Double health boost. Default: false
|
||||
* @param cachetype Optional. Specifies what class cache to read from.
|
||||
* Options:
|
||||
* ZR_CLASS_CACHE_ORIGINAL - Unchanced class data.
|
||||
* ZR_CLASS_CACHE_MODIFIED - Changed/newest class data.
|
||||
* ZR_CLASS_CACHE_PLAYER (default) - Player cache.
|
||||
* @return True on success, false otherwise.
|
||||
*/
|
||||
bool:ClassApplyHealth(client, classindex, bool:boost = false, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
new health;
|
||||
|
||||
// Get the health points from the specified cache.
|
||||
if (cachetype == ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
health = ClassGetHealth(client, cachetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
health = ClassGetHealth(classindex, cachetype);
|
||||
}
|
||||
|
||||
if (boost)
|
||||
{
|
||||
health *= 2;
|
||||
}
|
||||
|
||||
SetEntityHealth(client, health);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies health regeneration on a player if enabled.
|
||||
*
|
||||
* @param client The client index.
|
||||
* @param classindex The class to read from.
|
||||
* @param boost Double health boost. Default: false
|
||||
* @param cachetype Optional. Specifies what class cache to read from.
|
||||
* Options:
|
||||
* ZR_CLASS_CACHE_ORIGINAL - Unchanced class data.
|
||||
* ZR_CLASS_CACHE_MODIFIED - Changed/newest class data.
|
||||
* ZR_CLASS_CACHE_PLAYER (default) - Player cache.
|
||||
* @return True if applied, false otherwise.
|
||||
*/
|
||||
bool:ClassApplyHealthRegen(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
new Float:interval;
|
||||
new amount;
|
||||
new max;
|
||||
|
||||
// Get the health regeneration info from the specified cache.
|
||||
if (cachetype == ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
interval = ClassGetHealthRegenInterval(client, cachetype);
|
||||
amount = ClassGetHealthRegenAmount(client, cachetype);
|
||||
max = ClassGetHealth(client, cachetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
interval = ClassGetHealthRegenInterval(classindex, cachetype);
|
||||
amount = ClassGetHealthRegenAmount(classindex, cachetype);
|
||||
max = ClassGetHealth(classindex, cachetype);
|
||||
}
|
||||
|
||||
if (interval > 0)
|
||||
{
|
||||
ClassHealthRegenInitialize(client, interval, amount, max);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the players speed.
|
||||
*
|
||||
* @param client The client index.
|
||||
* @param classindex The class to read from.
|
||||
* @param cachetype Optional. Specifies what class cache to read from.
|
||||
* Options:
|
||||
* ZR_CLASS_CACHE_ORIGINAL - Unchanced class data.
|
||||
* ZR_CLASS_CACHE_MODIFIED - Changed/newest class data.
|
||||
* ZR_CLASS_CACHE_PLAYER (default) - Player cache.
|
||||
* @return True on success, false otherwise.
|
||||
*/
|
||||
bool:ClassApplySpeed(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
new speed;
|
||||
|
||||
// Get the health points from the specified cache.
|
||||
if (cachetype == ZR_CLASS_CACHE_PLAYER)
|
||||
{
|
||||
speed = ClassGetSpeed(client, cachetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
speed = ClassGetSpeed(classindex, cachetype);
|
||||
}
|
||||
|
||||
SetPlayerSpeed(client, speed);
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user