1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  1. Che Nado?

    Che Nado? Пользователь

    Регистрация:
    11 июл 2017
    Сообщения:
    4
    Симпатии:
    0
    Хочу что бы плагин не открывался у админов и випов, то есть только для steam игроков без привилегий.
    #include <amxmodx>
    #include <cstrike>
    #include <fun>
    #include <hamsandwich>

    // #### Начало Конфигурационные defines ####
    #define CHATTAG "^1[^4Steam^1]^1"
    #define MIN_MONEY 100
    #define MAX_MONEY 1500
    #define MIN_HP 1
    #define MAX_HP 10
    #define STEAMBONUSROUND 3
    //#define OPENMENUSOUND
    // #### Конец Конфигурационные defines ####

    new g_roundCount;

    public plugin_init()
    {
    register_plugin("Steam Bonus", "2.0", "neygomon")

    new sPref[][] = {"awp_", "aim_", "35hp", "fy_", "$3000$", "108_he_dust", "scoutzknivez"};
    new map[32]; get_mapname(map, charsmax(map));
    for(new i; i < sizeof sPref; i++)
    {
    if(containi(map, sPref) != -1)
    {
    pause("ad");
    return;
    }
    }

    register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("HLTV","eRoundStart","a","1=0","2=0");

    RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);

    register_menucmd(register_menuid("Steam Bonus Menu"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "SteamBonus");
    }

    public eRestart()
    g_roundCount = 0;

    public eRoundStart()
    g_roundCount++;

    public Player_Spawn(id)
    {
    if(g_roundCount < STEAMBONUSROUND || !is_user_alive(id)) return 0;

    return SteamBonusMenu(id);
    }

    public SteamBonusMenu(id)
    {
    if(!is_user_steam(id)) return 0;

    #if defined OPENMENUSOUND
    static OpenMenuSound[] = "buttons/blip2";
    client_cmd( id, "spk ^"%s^"", OpenMenuSound );
    #endif

    new szMenu[512], iLen = formatex(szMenu, charsmax(szMenu), "\w[\rSteam Bonus\w]^n^n"), iKey = MENU_KEY_4;

    if(cs_get_user_money(id) == 16000)
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wУ вас уже \r16000$^n");
    else
    {
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wДеньги^n");
    iKey |= MENU_KEY_1;
    }
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2. \wНабор гранат^n");
    iKey |= MENU_KEY_2;
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3. \wЧутка HP [\rдо 10\w]^n^n");
    iKey |= MENU_KEY_3;
    formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. Отказаться от бонуса");

    return show_menu(id, iKey, szMenu, 10, "Steam Bonus Menu");
    }

    public SteamBonus(id, iKey)
    {
    switch(iKey)
    {
    case 0:
    {
    new iMoney = random_num(MIN_MONEY, MAX_MONEY);
    cs_set_user_money(id, cs_get_user_money(id) + iMoney);
    ChatColor(id, "%s Вы получили бонус деньги за ^3Steam ^1в размере ^3%d$", CHATTAG, iMoney);
    }
    case 1:
    {
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_smokegrenade");
    cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
    ChatColor(id, "%s Вы получили бонус за ^3Steam ^1Набор гранат", CHATTAG);
    }
    case 2:
    {
    new iHealth = random_num(MIN_HP, MAX_HP);
    set_user_health(id, get_user_health(id) + iHealth);
    ChatColor(id, "%s Вы получили бонус за ^3Steam ^1Дополнительно ^3%dHP", CHATTAG, iHealth);
    }
    }
    return PLUGIN_HANDLED;
    }

    stock ChatColor(const id, const szMessage[], any:...)
    {
    static szMsg[190], IdMsg;
    vformat(szMsg, charsmax(szMsg), szMessage, 3);

    if(!IdMsg) IdMsg = get_user_msgid("SayText");

    message_begin(MSG_ONE, IdMsg, .player = id);
    write_byte(id);
    write_string(szMsg);
    message_end();
    }

    stock bool:is_user_steam(id)
    {
    static dp_pointer;
    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    {
    server_cmd("dp_clientinfo %d", id);
    server_exec();
    return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    }
    return false;
    }
     
  2. Le$hiy

    Le$hiy Постоялец

    Регистрация:
    10 июн 2017
    Сообщения:
    122
    Симпатии:
    40
    Пол:
    Мужской
    Код:
    if(!is_user_steam(id)) return 0;
    --->
    Код:
    if(!is_user_steam(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
    --- Сообщения объединены 16 июл 2017 ---
    Не, херню написал. Вот так вроде должно быть правильно
    Код:
    if(is_user_steam(id) && ~get_user_flags(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
    
     
  3. Che Nado?

    Che Nado? Пользователь

    Регистрация:
    11 июл 2017
    Сообщения:
    4
    Симпатии:
    0
    Чутка не то. Я хотел что б оно у админов и випов не работало.
     
  4. Le$hiy

    Le$hiy Постоялец

    Регистрация:
    10 июн 2017
    Сообщения:
    122
    Симпатии:
    40
    Пол:
    Мужской
    Che Nado?, я тебя понял. Я и написал, Чтобы у админов и випов не работало. Ты хоть пробовал изменить код и протестить?
    --- Сообщения объединены 16 июл 2017 ---
    Применяй вторую правку. Про это забудь
    if(!is_user_steam(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
     
  5. Che Nado?

    Che Nado? Пользователь

    Регистрация:
    11 июл 2017
    Сообщения:
    4
    Симпатии:
    0
    Le$hiy, Вторую и ставил, всё равно работает.
     
  6. sonyx

    sonyx Постоялец

    Регистрация:
    8 июн 2017
    Сообщения:
    247
    Симпатии:
    156
    Пол:
    Мужской
    Telegram:
    @sonyx008
    Che Nado?,
    PHP:
    if(!is_user_steam(id) || get_user_flags(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
     
    Le$hiy и пазлик~ нравится это.
  7. Che Nado?

    Che Nado? Пользователь

    Регистрация:
    11 июл 2017
    Сообщения:
    4
    Симпатии:
    0
    sonyx, Спс работает.