Проверка флагов игрока

Категория: Общие | Добавил: oOps | Дата: 16.11.2014

flag = буква в users.ini или AmxBans, соответствующая заданному значению:

#define ADMIN_ALL 0 /* everyone ( Любой игрок ) */ 
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */ 
#define ADMIN_RESERVATION (1<<1) /* flag "b" */ 
#define ADMIN_KICK (1<<2) /* flag "c" */ 
#define ADMIN_BAN (1<<3) /* flag "d" */ 
#define ADMIN_SLAY (1<<4) /* flag "e" */ 
#define ADMIN_MAP (1<<5) /* flag "f" */ 
#define ADMIN_CVAR (1<<6) /* flag "g" */ 
#define ADMIN_CFG (1<<7) /* flag "h" */ 
#define ADMIN_CHAT (1<<8) /* flag "i" */ 
#define ADMIN_VOTE (1<<9) /* flag "j" */ 
#define ADMIN_PASSWORD (1<<10) /* flag "k" */ 
#define ADMIN_RCON (1<<11) /* flag "l" */ 
#define ADMIN_LEVEL_A (1<<12) /* flag "m" */ 
#define ADMIN_LEVEL_B (1<<13) /* flag "n" */ 
#define ADMIN_LEVEL_C (1<<14) /* flag "o" */ 
#define ADMIN_LEVEL_D (1<<15) /* flag "p" */ 
#define ADMIN_LEVEL_E (1<<16) /* flag "q" */ 
#define ADMIN_LEVEL_F (1<<17) /* flag "r" */ 
#define ADMIN_LEVEL_G (1<<18) /* flag "s" */ 
#define ADMIN_LEVEL_H (1<<19) /* flag "t" */ 
#define ADMIN_MENU (1<<20) /* flag "u" */ 
#define ADMIN_ADMIN (1<<24) /* flag "y" */ 
#define ADMIN_USER (1<<25) /* flag "z" */

Немного о значениях:

"&" - значит у этого игрока в флагах присутствует это значение   
"==" - это точные флаги игрока.

Рассмотрим ряд конкретных примеров проверок:

if(get_user_flags(id) & ADMIN_BAN) - у игрока есть флаг "d" 
if(get_user_flags(id) == ADMIN_LEVEL_H) - у игрока есть только флаг "t", то есть на игрока например с флагами "at" данная проверка действовать не будет.

public client_putinserver(id)   
{   
if(get_user_flags(id) & ADMIN_LEVEL_H)   
{   
new name[32]   
get_user_name(id, name, 31)   

client_cmd(0, "spk sound/%s", vip_connect)   

set_hudmessage(255, 255, 0, -0.05, -0.45, 1, 0.0, 5.0, 1.0, 1.0, -1);   
show_hudmessage(0, "VIP %s Зашел на сервер!", name)   

}   

В этом случае проверка осуществляется при подключении игрока и если в его учетной записи есть флаг "t", то всем игрокам воспроизводится звук и HUD сообщение.

public fwHamPlayerSpawnPost(id) 

if(!is_user_alive(id)) 
return PLUGIN_HANDLED; 

if(get_user_flags(id) == ADMIN_LEVEL_H && ADMIN_BAN) 

cs_set_user_armor(id, get_pcvar_num(pcvar[armor]), CS_ARMOR_VESTHELM) 


return PLUGIN_HANDLED 
}

В этом случае проверка осуществляется, когда игрок оживает, и если в его учетной записи есть только флаги "dt", то ему выдается бронежилет.


Ключевые слова: ФЛАГИ, amxconst

Всего комментариев: 0
avatar
Категории статей

Тактика [31]
Тактика в Counter-Strike
История Counter-Strike [11]
История популярной игры
"Фишки" и трюки [3]
Интересные "фишки" в Counter-Strike
Общие [18]
Статьи по общим вопросам игры

Уведомление

  Уважаемые посетители сайта Q.GaminG, пожалуйста, регистрируйтесь или авторизуйтесь - только так Вы получите доступ ко всем возможностям ресурса!  
Поиск

Социальные сети

Q.GaminG ВКонтакте Q.GaminG Steam
Чат

Облако фото



¤ Q.GaminG    ¤ Counter-Strike    ¤ Это провал!
Облако тегов

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи
Гости

Лучшие игроки

Полезно знать: Вы можете загружать любые игровые видео.

Зайдите в раздел Видео и нажмите кнопку Поделиться.