Добрый день. Есть исходник плагина Top Awards.
И казалось бы всё устраивает в плагине!
Даже игнор по флагу есть!
Но!
Нужно добавить 2 уровня выдачи флагов.
То есть ТОП от 1 до 3 и ТОП от 3 до 10
Обьясню зачем.
У меня несколько уровней VIP игроков.
Хочу что бы игроки ТОП с 1 до 3 получаги флаги ( супер VIP )
А игроки ТОП с 3 до 10 получали обычный (VIP)
Просьба выделить код где именно редактируется координат hud сообщение.
И по возможности сделать сообщение в dhud
Код:
/*
* Top Awards 10/22/2012
*
* Плагин добавляет флаг(и) TOPx игрокам
* Квары:
* top_ranks - максимальный ранг, который может иметь игрок (конец TOPX)
* top_flags - какие флаги добавляются
*
* Игнорируются игроки с флагом IGNORE_FLAG (по умолчанию это флаг m) и игроки, уже имеющие ВСЕ добавляемые флаги.
* Поясняющая надпись игроку выводится HUD'ом рандомного цвета.
*
* 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>
#include <dhudmessage>
#define IGNORE_FLAG ADMIN_LEVEL_A /* flag "m" */
new pRanks, pFlags
public plugin_init() {
register_plugin( "Top Awards", "0.11h", "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
set_dhudmessage( random(200) + 25, random(200) + 25, random(200) + 25, -1.0, 0.75, 0, .fxtime = 2.0, .holdtime = 10.0 )
show_dhudmessage( data[0], "%L", data[0], "TOP_AWARDS", data[1] )
}