Witajcie, stworzyłem sobie menu z VIP Generatora, wygląda następująco:
Sprawa ma się tak:
1. Próbuję ustawić, aby opcja P90 była niedostępna i wyszarzała dla osoby bez Flagi ADMIN_LEVEL_H.
2. Chciałbym również, aby była możliwość wybrania broni poprzedniej, dopóki gracz nie wpisze np. komendy /bronie i wyskoczy mu menu na nowo.
Dodanie komendy register_clcmd nie uruchamia mi menu.
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
forward amxbans_admin_connect(id);
new bool:g_Vip[33], menu, menu_callback_handler, weapon_id;
public plugin_init(){
register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
}
public client_authorized(id , const authid[]){
if(get_user_flags(id)){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
}
public client_disconnected(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
}
public menu_1_handler(id){
if(get_pdata_cbase(id, 368)==-1){
give_item(id, "weapon_mp5navy");
give_item(id, "ammo_9mm");
weapon_id=find_ent_by_owner(-1, "weapon_mp5navy", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
}
}
public menu_4_handler(id){
if(get_pdata_cbase(id, 368)==-1){
give_item(id, "weapon_p90");
give_item(id, "ammo_57mm");
weapon_id=find_ent_by_owner(-1, "weapon_p90", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 50);
cs_set_user_bpammo(id, CSW_P90, 100);
}
}
public menu_2_handler(id){
if(get_pdata_cbase(id, 368)==-1){
give_item(id, "weapon_famas");
give_item(id, "ammo_556nato");
weapon_id=find_ent_by_owner(-1, "weapon_famas", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 25);
cs_set_user_bpammo(id, CSW_FAMAS, 90);
}
}
public menu_3_handler(id){
if(get_pdata_cbase(id, 368)==-1){
give_item(id, "weapon_ak47");
give_item(id, "ammo_762nato");
weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
cs_set_user_bpammo(id, CSW_AK47, 90);
}
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public SpawnedEventPreVip(id){
show_vip_menu(id);
}
public show_vip_menu(id){
menu=menu_create("\rMenu VIPa","menu_handler");
menu_callback_handler=menu_makecallback("menu_callback");
new bool:active=false, num=-1;
menu_additem(menu,"\wMP5","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wFAMAS","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wAK47","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wP90","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
if(active){
menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
menu_setprop(menu,MPROP_TITLE,"\yMenu Broni");
menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
menu_display(id, menu);
} else {
menu_destroy(menu);
}
}
public menu_callback(id, menu, item){
if(is_user_alive(id)){
if(item==0){
return ITEM_ENABLED;
}
if(item==1){
return ITEM_ENABLED;
}
if(item==2){
return ITEM_ENABLED;
}
if(item==3){
return ITEM_ENABLED;
}
}
return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
if(is_user_alive(id)){
if(item==0){
menu_1_handler(id);
}
if(item==1){
menu_2_handler(id);
}
if(item==2){
menu_3_handler(id);
}
if(item==3){
menu_4_handler(id);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public amxbans_admin_connect(id){
client_authorized(id,"");
}
Użytkownik szczypek1g edytował ten post 04.11.2021 20:28


Dodatki SourceMod







menu_broni.amxx






