Поиск Награда за топ

Статус
В этой теме нельзя размещать новые ответы.

Endzhey

Пользователь
Регистрация
8 Июн 2017
Сообщения
166
Симпатии
36
Ищу плагин выдачи флага за место в топе. На форуме есть такой, но за время. Спасибо!
 

Le$hiy

Пользователь
Регистрация
10 Июн 2017
Сообщения
215
Симпатии
87
Пол
Мужской
Endzhey,
PHP:
/*
* Top Awards 10/22/2012
*
* Плагин добавляет флаг(и) TOPx игрокам
* Квары:
*  top_ranks - максимальный ранг, который может иметь игрок (конец TOPX)
*  top_flags - какие флаги добавляются
*
* Игнорируются игроки с флагом IGNORE_FLAG (по умолчанию это флаг m) и игроки, уже имеющие ВСЕ добавляемые флаги.
* Поясняющая надпись игроку выводится цветным чатом.
*
* Credits:
* - original plugin's authors SimonLogic & RoleX
* - c-s.net.ua users 3aB}{o3 & cs-portal for the idea and link
*/

#include <amxmodx>
#include <csstats>

#define IGNORE_FLAG ADMIN_LEVEL_H    /* flag "t" */

new pRanks, pFlags

public plugin_init() {
    register_plugin( "Top Awards", "0.11c", "Safety1st" )
    register_dictionary( "topawards.txt" )
    pRanks = register_cvar( "top_ranks", "10" )      // кол-во первых мест, кому выдаются флаги
    pFlags = register_cvar( "top_flags", "t" )       // выдаваемые флаги
}

public client_putinserver(id) {
    set_task( 0.3, "CheckStats", id )    // we need to use delay otherwise we will get rank = 0
}

public CheckStats(id) {
    new iFlags = get_user_flags(id)
    new szAddFlags[16]
    get_pcvar_string( pFlags, szAddFlags, 15 )
    new iAddFlags  = read_flags(szAddFlags)

    if ( iFlags & IGNORE_FLAG || iFlags & iAddFlags == iAddFlags )
        // ignore player with IGNORE_FLAG or having all additional flags
        return

    new iRanks = get_pcvar_num(pRanks)
    if ( !iRanks )
        return

    new szStats[8], szBodyHits[8]
    new iRank = get_user_stats( id, szStats, szBodyHits )

    if ( iRank && iRank <= iRanks ) {
        // 1st check for safety. may be player not ranked at all yet
        set_user_flags( id, iFlags | iAddFlags )
        new data[2]
        data[0] = id
        data[1] = iRanks
        set_task( 5.0, "PrintMessage", _, data, 2 )
    }
}

public PrintMessage( data[2] ) {
    if ( !is_user_connected(data[0]) )
        return

    ColorPrint( data[0], "%L", data[0], "TOP_AWARDS", data[1] )
}

ColorPrint( iReceiver, const szRawMessage[ ], any:... ) {
    static iMsgSayText = 0
    if( !iMsgSayText )
        iMsgSayText = get_user_msgid( "SayText" )

    new szMessage[192]
    vformat( szMessage, charsmax(szMessage) - 1, szRawMessage, 3 )
    replace_all( szMessage, charsmax(szMessage) - 1, "!n", "^1" )
    replace_all( szMessage, charsmax(szMessage) - 1, "!t", "^3" )
    replace_all( szMessage, charsmax(szMessage) - 1, "!g", "^4" )
    if ( szMessage[0] != '^1' || szMessage[0] != '^3' || szMessage[0] != '^4' )
        format( szMessage, charsmax(szMessage) - 1, "^1%s", szMessage )    // we must set initial default color if it is not provided explicitly

    message_begin( MSG_ONE_UNRELIABLE, iMsgSayText, _, iReceiver )
    write_byte(iReceiver)    // use target player as sender to see colors at all (and his own team color for ^3)
    write_string(szMessage)
    message_end()
}
 

Endzhey

Пользователь
Регистрация
8 Июн 2017
Сообщения
166
Симпатии
36
Le$hiy, не работает
[doublepost=1498411884][/doublepost]izzatillo, нет, там награда за время, а не место в топе.
 

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
217
Симпатии
98
Пол
Мужской
Endzhey, через amx_who проверь
 

nexxy

Пользователь
Регистрация
8 Июн 2017
Сообщения
12
Симпатии
1
Пол
Мужской
Endzhey, все работает, у меня этот плагин установлен
 

Endzhey

Пользователь
Регистрация
8 Июн 2017
Сообщения
166
Симпатии
36
Тему можно закрыть.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу