#include <amxmodx>
#include <reapi>
new const szFlag = ADMIN_KICK; /* Menuye giris yetkisi */
enum _: IPTags {
SayTag, MenuTag, KisaTag
}
new const szTag[IPTags][] = {
"^3[Wa]", "WebAilesi", "Wa"
};
/* { "Bicak Ismi", "Model Uzantisi", Yetki Harf, 1 Oyuncu 2 Yetkili Menu } */
new const szKnife[][][] = { { "", "", "", 0 },
{ "", "", "all", 0 } /* Buraya default bicak modelinizi yapin */
};
new iKnifeID[MAX_CLIENTS+1];
public plugin_init() {
register_plugin("Bicak Menu", "1.0", "QuryWesT");
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "@pGetPlayerWeaponDeploy", .post = false);
register_clcmd("say /bicakmenu", "@pGetPlayerKnifeMainMenu");
}
public plugin_precache() {
for(new i=1; i < sizeof(szKnife);i++) { precache_model(szKnife[i][1][0]); }
}
public client_putinserver(IP_IDs) { iKnifeID[IP_IDs] = true; }
@pGetPlayerKnifeMainMenu(const IP_IDs) {
new iMenu = menu_create(fmt("\r[\y%s\r] \d~> \wBicak Menu", szTag[MenuTag]), "@pGetPlayerKnifeMainMenu_")
menu_additem(iMenu, fmt("\r[\y%s\r] \d~> \wOyuncu Bicaklari", szTag[KisaTag]),"1")
menu_additem(iMenu, fmt("\r[\y%s\r] \d~> \wYetkili Bicaklari", szTag[KisaTag]),"2")
menu_setprop(iMenu, MPROP_EXITNAME, fmt("\r[\y%s\r] \d~> \wCikis", szTag[KisaTag]));
menu_display(IP_IDs, iMenu);
return PLUGIN_HANDLED;
}
@pGetPlayerKnifeMainMenu_(const IP_IDs,const iMenu, const iItem) {
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
new iData[6], szKey;
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
szKey = str_to_num(iData);
switch(szKey) {
case 1: { @pGetPlayerUserKnifeMenu(IP_IDs); }
case 2: { @pGetPlayerFlagKnifeMenu(IP_IDs); }
}
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@pGetPlayerUserKnifeMenu(const IP_IDs) {
new iMenu = menu_create(fmt("\r[\y%s\r] \d~> \wOyuncu Bicak Menu", szTag[MenuTag]), "@pGetPlayerUserKnifeMenu_")
for(new i=1; i < sizeof(szKnife); i++) {
if(szKnife[i][3][0] == 1) {
menu_additem(iMenu, fmt("\r[\y%s\r] \d~> \w%s", szTag[KisaTag], szKnife[i][0]), fmt("%d", i));
}
}
menu_setprop(iMenu, MPROP_EXITNAME, fmt("\r[\y%s\r] \d~> \wCikis", szTag[KisaTag]));
menu_display(IP_IDs, iMenu);
return PLUGIN_HANDLED;
}
@pGetPlayerUserKnifeMenu_(const IP_IDs, const menu, const item) {
if(item == MENU_EXIT){ menu_destroy(menu);return PLUGIN_HANDLED; }
new iData[6],szKey;
menu_item_getinfo(menu,item,_,iData,charsmax(iData));
szKey = str_to_num(iData);
iKnifeID[IP_IDs] = szKey;
client_print_color(IP_IDs, IP_IDs, "%s ^4Basariyla ^3( ^1%s ^3) ^4Adli bicagi aktif ettiniz.", szTag[SayTag],szKnife[szKey][0][0]);
rg_remove_item(IP_IDs, "weapon_knife"),rg_give_item(IP_IDs, "weapon_knife");
@pGetPlayerUserKnifeMenu(IP_IDs);
menu_destroy(menu); return PLUGIN_HANDLED;
}
@pGetPlayerFlagKnifeMenu(const IP_IDs) {
if(get_user_flags(IP_IDs) & szFlag) {
new iMenu = menu_create(fmt("\r[\y%s\r] \d~> \wYetkili Bicak Menu", szTag[MenuTag]), "@pGetPlayerFlagKnifeMenu_")
for(new i=1; i < sizeof(szKnife); i++) {
if(szKnife[i][3][0] == 2) {
menu_additem(iMenu, fmt("\r[\y%s\r] \d~> \w%s", szTag[KisaTag], szKnife[i][0]), fmt("%d", i));
}
}
menu_setprop(iMenu, MPROP_EXITNAME, fmt("\r[\y%s\r] \d~> \wCikis", szTag[KisaTag]));
menu_display(IP_IDs, iMenu);
} else client_print_color(IP_IDs, IP_IDs, "%s ^4Yetersiz yetki", szTag[SayTag]);
return PLUGIN_HANDLED;
}
@pGetPlayerFlagKnifeMenu_(const IP_IDs, const menu, const item) {
if(item == MENU_EXIT){ menu_destroy(menu);return PLUGIN_HANDLED; }
new iData[6],szKey;
menu_item_getinfo(menu,item,_,iData,charsmax(iData));
szKey = str_to_num(iData);
if(get_user_flags(IP_IDs) & read_flag(szKnife[szKey][2][0])) {
iKnifeID[IP_IDs] = szKey;
client_print_color(IP_IDs, IP_IDs, "%s ^4Basariyla ^3( ^1%s ^3) ^4Adli bicagi aktif ettiniz.", szTag[SayTag],szKnife[szKey][0][0]);
rg_remove_item(IP_IDs, "weapon_knife"),rg_give_item(IP_IDs, "weapon_knife");
@pGetPlayerFlagKnifeMenu(IP_IDs);
} else client_print_color(IP_IDs, IP_IDs, "%s ^4Yetersiz yetki", szTag[SayTag]);@pGetPlayerFlagKnifeMenu(IP_IDs);
menu_destroy(menu); return PLUGIN_HANDLED;
}
@pGetPlayerWeaponDeploy(const iEntity, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
new pPlayer = get_member(iEntity, m_pPlayer);
if(get_member(iEntity, m_iId) == WEAPON_KNIFE) {
SetHookChainArg(2, ATYPE_STRING, iKnifeID[sKnifeID[pPlayer]][1][0]);
}
}