Поиск CW

Руслан Миронов

Пользователь
Регистрация
24 Июн 2017
Сообщения
240
Симпатии
2
Пол
Мужской
#1
Ищу вот такой плагин считывает и показывает счёт команд в HUD для CW/MIX.
 

Shadowless

Пользователь
Регистрация
24 Фев 2019
Сообщения
124
Симпатии
2
Пол
Мужской
#3
C++:
#include < amxmodx >
#include < dhudmessage >

#pragma semicolon 1

#define UPDATE_INTERVAL         1.0

enum _: iRGB
{
    r,
    g,
    b
};

new const gCvarColorNames[ ][ ] =
{
    "white",
    "red",
    "blue",
    "green",
    "yellow"
};

new Trie:gCvarNameToIndex;

new const gColorValues[ ][ iRGB ] =
{
    { 255, 255, 255 },
    { 255, 10, 10 },
    { 10, 10, 255 },
    { 10, 255, 10 },
    { 255, 255, 10 }
};

new gCountCTScore = 0;
new gCountTScore = 0;

new gCvarColorHud;

new gColorId[ iRGB ];

public plugin_init( )
{
    register_plugin( "Score Counter", "1.0.1", "tuty" );
    
    register_event( "SendAudio", "Hook_Terr_Win", "a", "2&%!MRAD_terwin" );
    register_event( "SendAudio", "Hook_CT_Win", "a", "2&%!MRAD_ctwin" );
    register_event( "TextMsg", "Hook_Restart", "a", "2&#Game_C", "2&#Game_w", "2&#Game_will_restart_in" );
    
    gCvarColorHud = register_cvar( "amx_hudscorecolor", "white" );
    
    gCvarNameToIndex = TrieCreate( );

    for( new i = 0; i < sizeof gCvarColorNames; i++ )
    {
        TrieSetCell( gCvarNameToIndex, gCvarColorNames[ i ], i );
    }

    set_task( UPDATE_INTERVAL, "UpdateScore", _, _, _, "b" );
}

public plugin_cfg( )
{
    UTIL_InitColor( );
}

public Hook_Terr_Win( )
{
    gCountTScore++;
}

public Hook_CT_Win( )
{
    gCountCTScore++;
}

public Hook_Restart( )
{
    gCountCTScore = 0;
    gCountTScore = 0;
}

public plugin_end( )
{
    TrieDestroy( gCvarNameToIndex );
}

public UpdateScore( )
{
    set_dhudmessage( gColorId[ r ], gColorId[ g ], gColorId[ b ], -1.0, 0.06, 0, 6.0, UPDATE_INTERVAL + 0.1 );
    show_dhudmessage( 0, "[CT] VS [T]^n%d - %d", gCountCTScore, gCountTScore );
}

UTIL_InitColor( )
{
    new szColor[ 20 ], i;
    get_pcvar_string( gCvarColorHud, szColor, charsmax( szColor ) );
    
    strtolower( szColor );
    
    if( TrieGetCell( gCvarNameToIndex, szColor, i ) )
    {
        gColorId[ r ] = gColorValues[ i ][ r ];
        gColorId[ g ] = gColorValues[ i ][ g ];
        gColorId[ b ] = gColorValues[ i ][ b ];
    }
}