Когато избере скин плъгина автоматично да и даде права с флаг "VIP_FLAG ADMIN_LEVEL_D"
Менюто да се отваря с команда /girl да и излиза така..След като си избере скина в чата да излиза съобщение за избрания скин че е взет.Много важно е скина да се запазва след излизане от играта и когато пак влезе да е последния избран.Да се направи така както е менюто на да излиза според отбора.
Ако нещо съм пропуснал или да се добави в последствие ще се коригира...За сега това е основата...
Когато влезеш CT
[You are a girl choose your skin]
1.[CT] [GIRL SKIN] [тук ще е името на скина]
2.[CT] [GIRL SKIN] [тук ще е името на скина]
3.[CT] [GIRL SKIN] [тук ще е името на скина]
4.Exit
Когато влезеш TR
[You are a girl choose your skin]
1.[TR] [GIRL SKIN] [тук ще е името на скина]
2.[TR] [GIRL SKIN] [тук ще е името на скина]
3.[TR] [GIRL SKIN] [тук ще е името на скина]
4.Exit
Случайно попаднах на 1 който го дават за основа и тест ако ще е от полза на някой който да го направи както го искам може и така както е написан стига нещата които искам да се напаснат...
test.sma
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define ALLNUMS (1<<0|1<<1|1<<2|1<<3|1<<9)
new bool:PlayerSkin[33];
new rRound;
public plugin_init() {
register_plugin("Sliv models menu", "1.0", "ReapiTV");
register_event("ResetHUD", "resetModel", "be");
register_event("HLTV", "NewRound", "a", "1=0", "2=0");
register_clcmd("say /rtvmodel","rtvmodel");
main_init();
return PLUGIN_CONTINUE;
}
main_init()
{
register_menucmd(register_menuid("Show_SkinTTMenu"), ALLNUMS, "Handle_SkitTTMenu");
register_menucmd(register_menuid("Show_SkinCTMenu"), ALLNUMS, "Handle_SkinCTMenu");
rRound = 0;
}
public NewRound()
{
rRound++
if(rRound >= 3)
{
for(new id = 1 ; id < 33 ; id++)
{
PlayerSkin[id] = true;
}
rRound = 0;
}
}
public client_putinserver(id)
{
PlayerSkin[id] = true;
}
public plugin_precache() {
precache_model("models/player/sas/sas.mdl"); // ТУТ ПУТИ К МОДЕЛЯМ
precache_model("models/player/leet/leet.mdl");
return PLUGIN_CONTINUE;
}
public resetModel(id, level, cid) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "leet");
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "sas");
}
else {
cs_reset_user_model(id);
}
return PLUGIN_CONTINUE;
}
public rtvmodel(id)
{
if(get_user_team(id) == 1) return Show_SkinTTMenu(id);
else
{
if(get_user_team(id) == 2) return Show_SkinCTMenu(id);
else
{
if(get_user_team(id) == 3 || get_user_team(id) == 0) return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
Show_SkinCTMenu(id)
{
new szMenu[1024], iKeys = ALLNUMS, iLen = formatex(szMenu, charsmax(szMenu), "\y[\wCT\y] \rВыбор \yскина^n^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w1\y] \yСкин 1^n");
iKeys |= (1<<0);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 1^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w2\y] \yСкин 2^n");
iKeys |= (1<<1);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 2^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w3\y] \yСкин 3^n^n");
iKeys |= (1<<2);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 3^n^n");
if(PlayerSkin[id] && get_user_flags(id) & ADMIN_BAN)
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w4\y] \yСкин 4 \r[Админ]^n");
iKeys |= (1<<2);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 4 \r[Админ]^n");
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w0\r] \wВыйти");
return show_menu(id, iKeys, szMenu, -1, "Show_SkinCTMenu");
}
public Handle_SkinCTMenu(id, iKey)
{
switch(iKey)
{
case 0:
{
if(PlayerSkin[id])
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "leet"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 1:
{
if(PlayerSkin[id])
{
if(!is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "leet"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 2:
{
if(PlayerSkin[id])
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "leet"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 3:
{
if(PlayerSkin[id] && get_user_flags(id) & ADMIN_BAN)
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "sas"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 9: return PLUGIN_HANDLED; // Конпка 0, выход
}
return Show_SkinCTMenu(id);
}
Show_SkinTTMenu(id)
{
new szMenu[1024], iKeys = ALLNUMS, iLen = formatex(szMenu, charsmax(szMenu), "\y[\wTT\y] \rВыбор \yскина^n^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w1\y] \yСкин 1^n");
iKeys |= (1<<0);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 1^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w2\y] \yСкин 2^n");
iKeys |= (1<<1);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 2^n");
if(PlayerSkin[id])
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w3\y] \yСкин 3^n^n");
iKeys |= (1<<2);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 3^n^n");
if(PlayerSkin[id] && get_user_flags(id) & ADMIN_BAN)
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[\w4\y] \yСкин 4 \r[Админ]^n");
iKeys |= (1<<2);
}else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[#] Скин 4 \r[Админ]^n");
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w0\r] \wВыйти");
return show_menu(id, iKeys, szMenu, -1, "Show_SkinTTMenu");
}
public Handle_SkinTTMenu(id, iKey)
{
switch(iKey)
{
case 0:
{
if(PlayerSkin[id])
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "sas"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 1:
{
if(PlayerSkin[id])
{
if(!is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "sas"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 2:
{
if(PlayerSkin[id])
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "sas"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 3:
{
if(PlayerSkin[id] && get_user_flags(id) & ADMIN_BAN)
{
if(is_user_alive(id) && is_user_connected(id))
{
cs_set_user_model(id, "leet"); // Название файла .mdl! Главное нужно прописать скины выше!
PlayerSkin[id] = false;
}
}
}
case 9: return PLUGIN_HANDLED; // Конпка 0, выход
}
return Show_SkinTTMenu(id);
}