Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 16
    Гостей: 4
    Пользователи: - отсутствуют
    Роботы: Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 7-11-2011, 14:26 Просмотров: 5081

    cs_set_user_vip Функция устанавливает игроку VIP статус

    В последнее время игрокам не нравятся карты с VIP, но слово VIP очень часто встречается, обычно данный статус дается привилегированным игрокам или админам. С помощью функции cs_set_user_vip можно выдать "статус випа", модель и три заветных буквы в таблицу результата.
    Обратите внимание, что данный статус ни как не влияет ни игру, как на картах с VIP. так же все это работает только для игроков CT команды.
    Наверно именно по этому на всех Jump серверах, команды для игры Контр-Террористы.

    Инфо из cstrike.inc:
    /* If vip = 1, user is set to vip.
    * If model = 1, then user's model will be changed to VIP model or random CT model if vip = 0.
    * If scoreboard = 1, then scoreboard will be updated to show that user is VIP.
    * This shouldn't be used for players on teams other than CT.
    * NOTE:    this is mostly useful for unsetting vips, so they can change teams and/or buy items properly.
    * It does not alter game play; the one being VIP at start of round will retain internal status as VIP; terrorists
    * can terminate him and accomplish their objective, etc.
    */
    native cs_set_user_vip(index, vip = 1, model = 1, scoreboard = 1);


    Синтаксис:
    cs_set_user_vip ( index, [vip = 1, model = 1, scoreboard = 1] )

    • index - id Игрока/бота для кого выполняется функция
    • vip = 1 - Установка статуса vip 0/1
    • model = 1 - Установка модели 0/1
    • scoreboard = 1 - Выводить в таблице результата vip или нет 0/1

    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>

    #define PLUGIN "[cstrike.inc] cs_set_user_vip"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_clcmd("say /vip","set_vip")
    }
    public set_vip(id){
        cs_set_user_vip(id,1,1,1)
    }


    Описание:
    Честно говоря даже немного стыдно, писать описание к одной строчке кода.
    Но все же напишу, выполнив команду в чате say /vip, вызывается функция public set_vip, а там рассматриваемая нами функция
    cs_set_user_vip, устанавливает статус випа, модель и заветные буковки в таблице результатов.

    Обращаю ваше внимание, при использовании данной функции необходимо проверять валидность индекса, то есть если игрока с id который указан в функции нет функция вернет ошибку:
    L 11/03/2011 - 13:57:25: [CSTRIKE] Invalid player 3
    L 11/03/2011 - 13:57:25: [AMXX] Displaying debug trace (plugin "AMXXMODX.sma)
    L 11/03/2011 - 13:57:25: [AMXX] Run time error 10: native error (native "cs_set_user_vip")
    L 11/03/2011 - 13:57:25: [AMXX]    [0] AMXXMODX-for-site.sma::set_vip (line 16)
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    cs_set_user_vip Функция устанавливает игроку VIP статус
    Maksovich

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Я так понял проверку надо сделать на команду так?

    public set_vip(id){
        new CsTeams:userTeam = cs_get_user_team(id)
        if (userTeam == CS_TEAM_CT) {
        cs_set_user_vip(id,1,1,1)
        }
    }
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Живой ли игрок ( если живой,значит и id валидно)
    public set_vip(id){
        if(is_user_alive(id){
            cs_set_user_vip(id,1,1,1)
    ;
    ;
        }
    }

    Или is_user_connected(id) что проверяет присоединен ли игрок.
    --------------------
    Xakep_SDK

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    На зомби серверах редко, но видел то, что у террористов была эта надпись.
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Ни разу не видел, чтобы у террористов было VIP.

    Читал про ScoreAttrib:

    У кт - ничего,мёртв, VIP.
    У т - ничего, мёртв, бомба.

    Мб там как в цветном чате, перед установкий меняется команда(message_begin), ставится статус, а потом возвращается цвет команды...
    gavrilyuc

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    артист,
    всё намного проще...
    public Vip_To_Tab()
    {
    new players[32], pNum
    get_players(players, pNum, "a")

    for (new i = 0; i < pNum; i++)
    {
    new id = players[i]
    if (get_user_flags(id) & VIP)
    {
    message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"));
    write_byte(id);
    write_byte(4);
    message_end();
    }
    }
    return PLUGIN_HANDLED
    }
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Ну, у кт VIP у террористов bomb...
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Поэксперементировал немного с ScoreAttrib и TeamInfo

    Только кт видят VIP статус(у КТ или Т)...

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама