Всем привет Имеется в наличии плагин випки помогите доработать его пожалуйста. Надо сделать еще одно условие описываю подробно: когда обычный игрок пишет команду /vipmenu ему в ответ пишет - Вы не VIP игрок либо вы мертвы! тоже самое пишет в ответ когда вип игрок мертв и прописывает команду /vipmenu надо сделать что бы обычный игрок когда писал команду ему в ответ (Вы не VIP игрок) а когда вип мертвый то вот это в ответ (Вы мертвы!) ---------------------------------------------------------------- Еще помогите исправить проблему в этом плагине описываю подробно: Когда играешь за Т то при нажатии на TAB не видно значок VIP А когда играешь за CT то видно если возможно помогите исправить. Код: #include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich> #if AMXX_VERSION_NUM < 183 #include <colorchat> #endif #define KEYS (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9) #define get_bit(%1,%2) (%1 & (1 << (%2 & 31))) #define set_bit(%1,%2) %1 |= (1 << (%2 & 31)) #define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31)) new receivedPrimaryWeapons = 0, receivedSecWeapons = 0 new const VIP_ACCESS = ADMIN_LEVEL_H new g_roundCount new bool:isWarmupRound = true, bool:isFirstRound = true new const PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90) new const SECONDARY_WEAPONS_BITSUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) public plugin_init() { register_plugin("VIP", "1.0", "neygomon") register_event("TextMsg","eventRoundRestart","a","2&#Game_w") register_event("TextMsg","eventCommencingRestart","a","2&#Game_C") register_event("HLTV", "eventRoundStartHLTV", "a","1=0","2=0") register_event("ResetHUD","Event_reset_hud","be") RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1); register_clcmd( "say /vipmenu", "CmdMenu" ); register_clcmd( "vipmenu", "CmdMenu" ); register_menucmd(register_menuid("VIP_MENU"), KEYS, "menu_handler"); } public client_putinserver(id) { clr_bit(receivedPrimaryWeapons,id) clr_bit(receivedSecWeapons,id) } public eventCommencingRestart() isFirstRound = isWarmupRound = true public eventRoundRestart() g_roundCount = 0 public eventRoundStartHLTV() { if(isFirstRound){ isFirstRound = false g_roundCount = 0 } g_roundCount++ if(isWarmupRound){ isWarmupRound = false g_roundCount = 0 } receivedPrimaryWeapons = receivedSecWeapons = 0 } public Event_reset_hud(id) if(get_user_flags(id) & VIP_ACCESS) setVipScoreAttrib(id) public Player_Spawn(id) { if(g_roundCount >= 3){ if(is_user_alive (id) && get_user_flags(id) & VIP_ACCESS){ give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); give_item_ex(id,"weapon_deagle",35,1) cs_set_user_bpammo(id, CSW_FLASHBANG, 2); cs_set_user_bpammo(id, CSW_DEAGLE, 35); cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM); if(get_user_team(id) == 2) cs_set_user_defuse(id, 1) } } } public CmdMenu(id) { if(is_user_alive (id) && get_user_flags(id) & VIP_ACCESS){ if(g_roundCount != 0){ if(g_roundCount >= 3){ if(!get_bit(receivedPrimaryWeapons,id)){ show_menu(id, KEYS, "\rVIP \yМЕНЮ\w^n^n\y1\w. \wВзять \rAK-47^n\y2\w. \wВзять \rM4A1^n\y3\w. \wВзять \rAWP^n\y4\w. \wВзять \rFamas^n^n\y0\w. \rВыход", -1, "VIP_MENU"); return PLUGIN_HANDLED; } else{ client_print_color(id, 0, "^1[^4VIP^1]: ^3Вы уже пользовались этой командой!") } } else { client_print_color(id, 0, "^1[^4VIP^1]: ^3Меню доступно только с^4 3 ^3раунда!") } return PLUGIN_HANDLED } client_print_color(id, 0, "^1[^4VIP^1]: Разминочный раунд. ^3Запрещено пользоваться командой!") return PLUGIN_HANDLED } else{ client_print_color(id, 0, "^1[^4VIP^1]: ^3Вы не ^4VIP ^3игрок либо вы мертвы!") return PLUGIN_HANDLED } return PLUGIN_HANDLED; } public menu_handler(id, key) { switch(key) { case 0: { give_item_ex(id,"weapon_ak47",90,1) set_bit(receivedPrimaryWeapons,id) } case 1: { give_item_ex(id,"weapon_m4a1",90,1) set_bit(receivedPrimaryWeapons,id) } case 2: { give_item_ex(id,"weapon_awp",30,1) set_bit(receivedPrimaryWeapons,id) } case 3: { give_item_ex(id,"weapon_famas",90,1) set_bit(receivedPrimaryWeapons,id) } } } stock give_item_ex(id,currWeaponName[],ammoAmount,dropFlag=0) { static weaponsList[32], weaponName[32], weaponsNum, currWeaponID currWeaponID = get_weaponid(currWeaponName) if(dropFlag){ weaponsNum = 0 get_user_weapons(id,weaponsList,weaponsNum) for (new i = 0;i < weaponsNum;i++){ if(((1 << currWeaponID) & PRIMARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & PRIMARY_WEAPONS_BITSUM) | ((1 << currWeaponID) & SECONDARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & SECONDARY_WEAPONS_BITSUM)){ get_weaponname(weaponsList[i],weaponName,charsmax(weaponName)) engclient_cmd(id,"drop",weaponName) } } } give_item(id,currWeaponName) cs_set_user_bpammo(id,currWeaponID,ammoAmount) } stock setVipScoreAttrib(id) { if(is_user_alive(id)){ message_begin(MSG_ALL,84,{0,0,0},id) write_byte(id) write_byte(4) message_end() } }
Это не исправить. Всё видно. Если Вы сами у себя посмотрите, то не будет видно, если у кого другого посмотрите, то будет видно.