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

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

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: kiriman90 Дата: 18-02-2014, 10:35 Просмотров: 2148

    Первый раунд

    Так как нет такого события как первый раунд, попробуем поймать его другим способом.
    Я смотрел решения в интернете и к сожалению ни одно из них не заработало.
    Чем отличается первый раунд:
    1. Одинаковое количество денег у игроков
    2. Смертей и убийств по нулям
    3. Очки команд тоже по нулям

    Первое и второе нам не подходит, т.к. в процессе раунда эти значения изменяются.
    Остановимся на третьем пункте.
    Немного погуглив отыскал код получения очков команд.
    Регистрируем эвент:

    register_event("TeamScore", "team_score", "a"); // В plugin_init()

    И получаем то, что надо

    public team_score()
    {
    new team[32];
    read_data(1,team,31);
    if (equal(team,"CT"))
    {
    ct_score = read_data(2);
    }
    else if (equal(team,"TERRORIST"))
    {
    terrorist_score = read_data(2);
    }
    }

    Вот условие, которым можно определить первый это раунд или нет:
    if(ct_score == 0 && terrorist_score == 0)
    {
    // первый раунд
    } else
    {
    // если не первый
    }
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    Первый раунд
    Felix_Font

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


    #include <amxmodx>
    #include <amxmisc>

    new round_num

    public plugin_init()
    {
    register_event("HLTV", "new_round", "a", "1=0", "2=0")
    round_num = 0
    }

    public new_round() round_num++

    public plugin_natives()
    {
    register_native("is_one_round","is_one_round")
    register_native("get_round_num","get_round")
    }

    public is_one_round() if(round_num == 0) return 1;
    public get_round() return round_num;


    А чего так не сделать? И использовать в других плагинах нативы.
    А ваш способ , а что если у игроков счет 0 - 0 в 2 или 3 раунде? (ведь раунд может закончиться ничьей)
    Genius

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

    Felix_Font, поддерживаю вопрос. Не понимаю зачем так все усложнять belay ? Или я чего-то не знаю lol ?
    Admin

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

    Сделать можно как угодно.

    По мне так делать ради этого отдельный плагин для натива который будет использоваться в 1 месте тоже лишнее.

    Замечание про нулевой счет тоже верное, автор допиливай :)
    --------------------
    Felix_Font

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

    Admin,
    Я только для примера написал.
    Можно обойтись - сделав зто внутри плагина где нужно.
    А натив только в том случае если используеться более чем в 2 плагинах подобные манипуляции с раундом, там уж ясно что лучше юзать 1 натив чем в каждом плагине отлавливать событые старта раунда.

    Ну а действительно способ который предоставил автор новости реально бредовый.
    Узнавать какой раунд по таблице счетов ? Даж звучит не очень.
    Автор явно забыл про ничью и /rs.
    И про то что в нестандартных модах не за все дает фраги. Или вобше могут обнуляться.
    Admin

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

    Felix_Font, не все сразу становятся великими в своем деле, надо же с чего то начинать.
    А не ошибается только тот, кто ничего не делает :)
    --------------------
    Radius

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

    Я не понимаю что все накинулись и тем более не понятно причем здесь счет игрока и /rs. Речь идет про счет команд.

    Автор имел ввиду определить первый "игровой" раунд, когда на сервер зашли игроки, когда был рестарт после CommencingRestart. Пригодится когда нужно выдать определенное оружие в зависимости от раунда.

    Конечно шероховатости есть, например если сделать рестарт вручную, но опять же это зависит от задумки, может это будет не критично.
    Stormjke

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

    А как потом установить найденное количество побед команды после рестарта?

    Информация

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

Реклама