Русское сообщество по скриптингу

Admin/vip model: Проверка старших флагов

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Admin/vip model: Проверка старших флагов

Сообщение Zloy-DED » 02 май 2018, 10:21

Здравствуйте подскажите пожалуйста в чем я тут ошибка сделал в 1 плагин выдачу моделей для випов и админов но ситуация такая что модель админов не работает дает только модель випов
Выдача моделей с проверкой
Код: Выделить всё
public adminModel(idlevelcid) {
        new 
PlayerFlags get_user_flags(id); 
        if ((
PlayerFlags GLADM_FLAG) && !(PlayerFlags VIP_FLAG)) {
                new 
CsTeams:userTeam cs_get_user_team(id)
                if (
userTeam == CS_TEAM_T) {
                        
cs_set_user_model(id"streamteamsa_te")
                }
                else if(
userTeam == CS_TEAM_CT) {
                        
cs_set_user_model(id"streamteamsa_ct")
                }
                else {
                        
cs_reset_user_model(id)
                }
        }

        return 
PLUGIN_CONTINUE
}

public 
vipModel(idlevelcid) {
        new 
PlayerFlags get_user_flags(id); 
        if ((
PlayerFlags VIP_FLAG) && !(PlayerFlags GLADM_FLAG))  { 
                new 
CsTeams:userTeam cs_get_user_team(id)
                if (
userTeam == CS_TEAM_T) {
                        
cs_set_user_model(id"streamteamsv_te")
                }
                else if(
userTeam == CS_TEAM_CT) {
                        
cs_set_user_model(id"streamteamsv_ct")
                }
                else {
                        
cs_reset_user_model(id)
                }
        }

        return 
PLUGIN_CONTINUE

Флаги
Код: Выделить всё
#define VIP_FLAG ADMIN_LEVEL_H
#define ADM_FLAG ADMIN_BAN
#define GLADM_FLAG ADMIN_RCON 
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

Re: Admin/vip model: Проверка старших флагов

Сообщение MrJunior » 02 май 2018, 20:41

Можно поочередно выдавать. Вип->Админ->Главный(так себе)
Можно так сделать:
Код: Выделить всё

new model
[32] = "";
if(
PlayerFlags & VIP_FLAG) model = "vipmodel";
if(
PlayerFlags & ADM_FLAG) model = "adminmodel";
// and ...
if(team == ct) // лень расписывать проверку тимы
    strcat(model, "_ct", charsmax(model));
else strcat(model, "_te", charsmax(model));
// добавили приставки ct/te к модели, у админа за КТ получиться "adminmodel_ct";
//...
if(!equal(model, "")) cs_set_user_model(id, model);
else cs_reset_user_model(id);
Аватара пользователя
MrJunior
Скриптер
 
Сообщения: 146
Зарегистрирован: 21 сен 2016, 19:46
Откуда: localhost
Благодарил (а): 3 раз.
Поблагодарили: 31 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn | Web | Lua


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], nekruxa и гости: 18