Поиск roundleft plugin

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
3
Реакции
0
Привет, мне нужен плагин типа tiemeleft, но он показывает оставшиеся раунды, если установлено значение mp_maxrounds, чтобы отображать их в чате, say timelef. В конце раунда справа на экране, если его можно раскрасить и изменить положение сообщения на экране. Спасибо,
Я использую Warmp.cfg с командой sv_restartround 1, если он может игнорировать warmup round:good2::good2:

те, кого я нашел в google, всегда показывают мне сумму раундов в целом.
de_mirage0000.jpgde_mirage0001.jpg

server version:
Код:
ReHLDS version: 3.11.0.777-dev
Build date: 21:17:20 Jun 29 2022 (3000)

AMX Mod X 1.10.0.5416 ([URL]http://www.amxmodx.org[/URL])

ReGameDLL version: 5.21.0.540-dev
Build date: 17:33:16 Oct 25 2021
 
Последнее редактирование модератором:
Сообщения
140
Реакции
24
Помог
2 раз(а)
Ako treba izmene pisi


C++:
#include <amxmodx>
#include <reapi>

#define register_cmd_list(%0,%1,%2) for (new i = 0; i < sizeof(%1); i++) register_%0(%1[i], %2)

new g_iRound, maxrounds;

public plugin_init() {
    register_plugin("Rounds left", "0.0.1", "mIDnight")

    new szRoundsLeft[][] = {"say /roundsleft", "say_team /roundsleft", "say roundsleft", "say_team roundsleft", "say timeleft", "say_team timeleft"};

    register_cmd_list(clcmd, szRoundsLeft, "@roundsleft");

    RegisterHookChain(RG_CSGameRules_RestartRound, "@CSGameRules_RestartRound_Pre", .post = false);

    bind_pcvar_num(get_cvar_pointer("mp_maxrounds"), maxrounds);
}

@CSGameRules_RestartRound_Pre() {
    if (get_member_game(m_bCompleteReset)) {
        g_iRound = 0;
    }
    g_iRound++;
    
    PrintRoundsLeft();
}

@roundsleft(pPlayer) {
    PrintRoundsLeft();
    return PLUGIN_HANDLED;
}

PrintRoundsLeft() {
    new message[192];
    if (maxrounds <= 0) {
        formatex(message, sizeof(message), "^4[Global Gaming Nis] ^1Rounds left: ^3Unlimited");
    } else {
        formatex(message, sizeof(message), "^4[Global Gaming Nis] ^1Rounds left: ^3%d", maxrounds - g_iRound);
    }
    
    client_print_color(0, print_team_default, message);
}
 
Сообщения
3
Реакции
0
daMidnight1337, можете ли вы изменить это, чтобы игнорировать разминочный раунд и показывать сообщение на экране в конце раунда справа, как на картинке Спасибо
 
Сообщения
140
Реакции
24
Помог
2 раз(а)
HALLO_KITTY Here you go

C++:
#include <amxmodx>
#include <reapi>

#define HUD_COLOR 0, 255, 0         // Edit here Rounds left HUD message color
#define HUD_POSITION -1.0, 0.34     // Edit here Rounds left HUD message position
#define HUD_DURATION 2.0            // Edit here Rounds left HUD message duration

#define register_cmd_list(%0,%1,%2) for (new i = 0; i < sizeof(%1); i++) register_%0(%1[i], %2)
#define eventBit(%0) (1 << _:%0)

const ROUND_EVENTS = eventBit(ROUND_GAME_COMMENCE) | eventBit(ROUND_GAME_RESTART) | eventBit(ROUND_GAME_OVER);

new g_iRound, maxrounds;

public plugin_init() {
    register_plugin("Rounds left", "0.0.1", "mIDnight");

    new szRoundsLeft[][] = {"say /roundsleft", "say_team /roundsleft", "say roundsleft", "say_team roundsleft", "say timeleft", "say_team timeleft"};

    register_cmd_list(clcmd, szRoundsLeft, "@roundsleft");

    RegisterHookChain(RG_CSGameRules_RestartRound, "@CSGameRules_RestartRound_Pre", .post = false);
    RegisterHookChain(RG_RoundEnd, "@RoundEnd_Post", .post = true);

    bind_pcvar_num(get_cvar_pointer("mp_maxrounds"), maxrounds);
}

@CSGameRules_RestartRound_Pre() {
    g_iRound = get_member_game(m_bCompleteReset) ? 0 : g_iRound + 1;
}

@RoundEnd_Post(WinStatus:status, ScenarioEventEndRound:event) {
    new hudMessage[64];
    
    if (eventBit(event) & ROUND_EVENTS == 0 && event != ROUND_NONE) {
        formatex(hudMessage, sizeof(hudMessage), maxrounds <= 0 ? "Rounds left: Unlimited" : "Rounds left: %d", maxrounds <= 0 ? -1 : maxrounds - g_iRound);

        set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION);
        show_hudmessage(0, "%s", hudMessage);
    }   
    return PLUGIN_HANDLED;
}

@roundsleft(pPlayer) {
    new message[192];
    
    formatex(message, sizeof(message), maxrounds <= 0 ? "Rounds left: ^3Unlimited" : "Rounds left: ^3%d", maxrounds <= 0 ? -1 : maxrounds - g_iRound);
    client_print_color(pPlayer, print_team_default, message);
    return PLUGIN_HANDLED;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу