AMXX Menu Models Players:
Features:
Model Selection Menu: Allows players to choose from a list of available player models.
Admin Control: Certain models can be restricted to only be available for players with specific admin flags.
Access Level Control: Models can also be restricted based on the player's level obtained through the CRXRanks plugin.
Team Specific Models: Different models can be assigned to Terrorists (T) or Counter-Terrorists (CT) teams.
Current Model Indicator: The menu indicates which model the player is currently using.
Configurable: Models and their settings are loaded from a configuration file (models_menu.ini).
Compatibility with Rank Systems:
Oxci Rank System: Additionally, the plugin is compatible with the Oxci Rank System, allowing administrators to set access levels based on player ranks obtained through this system.
Tornado Ultimate Rank System: It also seamlessly integrates with the Tornado Ultimate Rank System, providing administrators with further flexibility in setting model access levels.
Standalone Operation:
The plugin is designed to function independently and does not require any additional plugins or systems to operate.
Configuration File:
The configuration file follows a specific syntax:
"Display Name" "Model File Name" "Team" "Admin Flag" "Access Level"
Example skin admin CT : "OWNER" "guts_owner_ct" "2" "l" "1"
Example skin admin T : "OWNER" "guts_owner_te" "1" "l" "1"
Display Name: Name of the model shown in the menu.
Model File Name: Name of the model file (MDL) to be used.
Team: Specifies which team the model is associated with (0 for any, 1 for Terrorists, 2 for Counter-Terrorists).
Admin Flag: Specifies the admin flag required to access the model.
Access Level: Specifies the minimum level required to access the model.
Usage:
Players can access the menu by typing /models in chat or using the amx_models command.
From the menu, players can browse available models and select the desired one.
Model File Structure:
Each model file (MDL) needs to be organized within its own directory.
The directory structure should match the model name specified in the configuration file (models_menu.ini).
For example, if a model is named admin_drago.mdl, it should be placed in a directory folder named admin_drago.
Example : cstrike/models/players/admin_drago/admin_drago.mdl
The MDL file itself should also be named admin_model.mdl within its respective directory.
This ensures that the plugin can correctly locate and load the model files when they are selected by players from the menu.
Implementation:
The plugin hooks into the player spawn event to apply the selected model.
It checks for various conditions such as player's team, admin status, and access level before applying the model.
The plugin dynamically generates menus based on the loaded model data.
Error Handling:
If a model fails to load or if the configuration file is missing, appropriate messages are displayed, and the plugin pauses execution.
Notes:
The plugin code is well-organized with comments explaining each section's functionality.
It efficiently handles model loading, menu creation, and player model assignment.
Overall, the plugin enhances the gameplay experience by providing players with the ability to customize their appearance within the game, while also allowing server administrators to control model availability based on various criteria.