#if defined _HNSENGINE_ #endinput #endif #define _HNSENGINE_ #if AMXX_VERSION_NUM >= 175 #pragma reqlib hnsmod #if !defined AMXMODX_NOAUTOLOAD #pragma loadlib hnsmod #endif #else #pragma library hnsmod #endif #define HNS_NORMAL 1 #define HNS_SUPERCEDE 2 enum HnsTeams { HNS_DRAW_OR_UNASSIGNED, HNS_TEAM_T, HNS_TEAM_CT, HNS_TEAM_SPECTATOR }; /** * Вызывается, когда раунд заканчивается в пользу той или иной команды или вничью. * * @param team Победившая команда. */ forward hns_round_end(HnsTeams:team); /** * Вызывается, когда таймер закончен и CT начинают действовать. * * @param index Индекс игрока. */ forward hns_round_start(index); /** * Вызывается в процессе таймера. * * @param index Индекс игрока. * @param time Секунды таймера. */ forward hns_timer_process(index, time); /** * Вызывается после смены команды игрока, произведенной нативой hns_switch_teams(). * * @param index Индекс игрока. * @param team Новая команда игрока. */ forward hns_became_team(index, HnsTeams:team); /** * Вызывается когда в опр. команде остается один игрок. * * @param index Индекс игрока. * @param team Команда игрока. */ forward hns_player_loner(index, HnsTeams:team); /** * Вызывается до фактического совершения фрага. * * @param victim Индекс жертвы. * @param attacker Индекс фрагера (убийцы). * @param damage Нанесенный урон. * @param time Оставшееся время действия анти-фрага. */ forward hns_frag_pre(victim, attacker, Float: damage, time); /** * Вызывается после фактического совершения фрага. * * @param victim Индекс жертвы. * @param attacker Индекс фрагера (убийцы). * @param damage Нанесенный урон. * @param time Оставшееся время действия анти-фрага. */ forward hns_frag_post(victim, attacker, Float: damage, time); /** * Вызывается до фактического присоединения к команде. * * @param index Индекс игрока. */ forward hns_jointeam_pre(index); /** * Вызывается после фактического присоединения к команде. * * @param index Индекс игрока. */ forward hns_jointeam_post(index); /** * Функция предназначена для переформирования команд, а именно изменения их местами. */ native hns_switch_teams(); /** * Функция возвращает истину, если имеется состав обеих команд. */ native bool:hns_get_gamestarted(); /** * Функция возвращает кол-во игроков в опр. команде. * * @param team Необходимая команда. * @param alive Брать в рассчет только живых игроков (по умолчанию: false). */ native hns_get_playersnum(HnsTeams:team, bool: alive = false); /** * Функция позволяет изменять команду игрокам. * * @param index Индекс игрока. * @param team Новая команда игрока. */ native hns_set_user_team(index, HnsTeams:team); /** * Функция возвращает команду игрока. * * @param index Индекс игрока. */ native HnsTeams: hns_get_user_team(index); /** * Функция позволяет ослеплять игрока или наоборот, убирать ослепление. * * @param index Индекс игрока. * @param status Состояние (true/false). */ native hns_set_screenfade(index, bool: status); /** * Функция позволяет изменять время защиты анти-фрага для опр. игрока. * * @param index Индекс игрока. * @param second Время в секундах. */ native hns_set_frag_protect(index, second);