#include <amxmodx>
#include <amxmisc>
#include <cstrike>
new const modelsTT[][] = {
"models/players/smith/smith.mdl",
"models/players/smoke/smoke.mdl",
"models/players/spider/spider.mdl"
};
new const modelsCT[][] = {
"models/players/neo/neo.mdl",
"models/players/bat/bat.mdl",
"models/players/007/007.mdl"
};
new const FmodelsTT[][] = {
"smith",
"smoke",
"spider"
};
new const FmodelsCT[][] = {
"neo",
"bat",
"007"
};
new const modelsNamesCT[][] =
{
"Neo",
"Bat man",
"007"
};
new const modelsNamesTT[][] =
{
"Agent Smith",
"Big Smoke",
"Spider man"
};
public plugin_precache()
{
for(new i = 0; i < sizeof modelsCT; i++)
precache_model(modelsCT[i])
for(new i = 0; i < sizeof modelsTT; i++)
precache_model(modelsTT[i])
}
public plugin_init() {
register_plugin("Wybor modelu", "v.1", "K@MILOVVSKY")
register_clcmd("say /skin", "SkinMenu")
}
public SkinMenu(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_B)){
client_print(id, print_chat, "Zapraszamy do kupna SVIPA");
client_print(id, print_center, "Zapraszamy do kupna SVIPA");
return PLUGIN_HANDLED;
}
new menu = menu_create("Wybierz model postaci", "SkinMenuHandler")
switch(cs_get_user_team(id))
{
case CS_TEAM_CT:
{
for(new i = 0; i < sizeof modelsNamesCT; i++)
menu_additem(menu, modelsNamesCT[i]);
}
case CS_TEAM_T:
{
for(new i = 0; i < sizeof modelsNamesTT; i++)
menu_additem(menu, modelsNamesTT[i]);
}
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public SkinMenuHandler(id, menu, item)
{
switch(cs_get_user_team(id))
{
case CS_TEAM_CT:
{
cs_set_user_model(id, FmodelsCT[item])
}
case CS_TEAM_T:
{
cs_set_user_model(id, FmodelsTT[item])
}
}
}
Ten kod będzie poprawny.
Takie jest źle:
cs_set_user_model(id, "models/players/smith/smith.mdl")
Takie jest dobrze:
cs_set_user_model(id, "smith")
Aby oszczędzić tyle zmiennych, można by użyć do ustawiania modelu czegoś co pobiera całą ścieżkę np. EF_SetModel(), lecz nigdy tej funkcji nie używałem i nie chcę komuś wrzucać czegoś niesprawdzonego.
Użytkownik wonsz żeczny edytował ten post 20.08.2019 18:08