#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Player Models"
#define VERSION "1.0"
#define AUTHOR "Dooz"
new const cModels_Info[][][] = {
//Menüben levő név | Modell elérési útvonal | Modell neve
{"CT Első modell","models/player/CT_1/CT_1.mdl", "CT_1"},
{"CT Második modell","models/player/CT_2/CT_2.mdl", "CT_2"},
{"T Első modell","models/player/T_1/T_1.mdl", "T_1"},
{"T Második modell","models/player/T_2/T_2.mdl", "T_2"}
};
new g_iModel_Num[33];
public plugin_precache(){
//Lekérjük a cModels_Info const méretét
new iSize = sizeof(cModels_Info);
//Betöltjük a modelleket
for(new i; i < sizeof(cModels_Info); i++)
precache_model(cModels_Info[i][1]);
}
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
//Regisztráljuk a parancsot, amely majd előhozza a menüt
register_clcmd( "say /skinem", "Player_Model_Menu" );
//Regisztráljuk a Player_Spawn függvényt, amely meghívódik, amikor a játékos újraélled
RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);
}
public client_putinserver(iId){
//Csatlakozásnál töröljük a játékos modelljét, azaz az alap modellje lesz
g_iModel_Num[iId] = -1;
}
public Player_Model_Menu(iId){
new sText[1024], iSize = sizeof(cModels_Info);
formatex(sText, charsmax(sText), "Játékos modell cserélő^n\wOldal:\r%s", iSize > 7 ? "" : " 1/1");
new iMenu = menu_create(sText, "Player_Model_Menu_Handler");
//Kiíratjuk a modellek nevét a menübe
for(new i; i < iSize; i++){
formatex(sText, charsmax(sText), "\w%s", cModels_Info[i][0]);
menu_additem(iMenu, sText);
}
menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
menu_setprop(iMenu, MPROP_NEXTNAME, "Tovább");
menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
menu_display(iId, iMenu, 0);
}
public Player_Model_Menu_Handler(iId, iMenu, iItem){
if(iItem == MENU_EXIT){
menu_destroy(iMenu);
return PLUGIN_HANDLED;
}
//A változóbe elmentjük a kiválasztott modell számát.
g_iModel_Num[iId] = iItem;
return PLUGIN_HANDLED;
}
public Player_Spawn(iId){
if(!is_user_alive(iId) || g_iModel_Num[iId] == -1)
return;
//Beállítjuk a játékos modelljét
cs_set_user_model(iId, cModels_Info[g_iModel_Num[iId]][2])
}