Added nochange option in class model attribute.

This commit is contained in:
richard 2009-08-15 03:33:09 +02:00
parent 32828a9179
commit daadefbaea
3 changed files with 18 additions and 10 deletions

View File

@ -673,10 +673,13 @@ The list below explains all available class attributes in detail:
model_path text Max 256 characters, not empty model_path text Max 256 characters, not empty
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
The model file to use on the player, path is relative to the "cstrike" The model file to use on the player, path is relative to the "cstrike"
folder. There are two special values supported by this attribute: folder. There are a few special values supported by this attribute:
"default" - Don't change model, use default CS models. "default" - Use default CS models. The one players select when
"random" - Selects a random model for the current team. selecting team.
"random" - Selects a random model for the current team.
"nochange" - Don't change model. To be used in combination with
other plugins that change model on players.
alpha_spawn number 0 - 255 alpha_spawn number 0 - 255
--------------------------------------------------------------------------- ---------------------------------------------------------------------------

View File

@ -89,16 +89,14 @@ bool:ClassApplyModel(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
ClassGetModelPath(classindex, modelpath, sizeof(modelpath), cachetype); ClassGetModelPath(classindex, modelpath, sizeof(modelpath), cachetype);
} }
// Check if the user specified a random model. // Check if the user specified a pre-defined model setting.
if (strcmp(modelpath, "random", false) == 0) if (StrEqual(modelpath, "random", false))
{ {
// TODO: Make a function that gets a random model from the specified team. // TODO: Make a function that gets a random model from the specified team.
ModelsGetRandomModelIndex(modelpath, sizeof(modelpath), false, true); ModelsGetRandomModelIndex(modelpath, sizeof(modelpath), false, true);
Format(modelpath, sizeof(modelpath), "%s.mdl", modelpath); Format(modelpath, sizeof(modelpath), "%s.mdl", modelpath);
} }
else if (StrEqual(modelpath, "default", false))
// Check if the user specified no change.
else if (strcmp(modelpath, "default", false) == 0)
{ {
// Get current model. // Get current model.
GetClientModel(client, modelpath, sizeof(modelpath)); GetClientModel(client, modelpath, sizeof(modelpath));
@ -114,6 +112,11 @@ bool:ClassApplyModel(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER)
return true; return true;
} }
} }
else if (StrEqual(modelpath, "nochange", false))
{
// Do nothing.
return true;
}
SetEntityModel(client, modelpath); SetEntityModel(client, modelpath);
return true; return true;

View File

@ -162,8 +162,10 @@ stock ClassValidateAttributes(classindex)
} }
else else
{ {
// Check if a model different from default or random is specified. // Check if a model different from a pre-defined setting.
if (!StrEqual(model_path, "random", false) && !StrEqual(model_path, "default", false)) if (!StrEqual(model_path, "random", false) &&
!StrEqual(model_path, "default", false) &&
!StrEqual(model_path, "nochange", false))
{ {
// Check if the file exists. // Check if the file exists.
if (!FileExists(model_path)) if (!FileExists(model_path))