Собственно нашел этот плагин на этом форуме
Score DHUDПлагин понравился, добавил в него hs% убрал лишнее(по моему мнению)
Хочу сделать вот что:
Если у игрока k/d больше чем у других игроков, ему начисляется HP, тк там стоит таск в одну секунду, все это я думаю можно подделать, чтоб начислялся 1хп в секунду.
А, если у игрока hs% больше чем у других, то ему капают деньги, допустим 5$ в секунду.
Помогите пожалуйста, не могу понять как сделать цикл сравнения, не шарю в них вообще((
Код:
#include <amxmodx>
#define PLUGIN "Score HUD"
#define VERSION "1.0"
#define AUTHOR "AndrewZ & perf"
enum _:SCORE_DATA
{
KILLS,
HEADSHOTS,
DEATHS
}
new g_user_score[ 33 ][ SCORE_DATA + 1 ]
new g_maxplayers
new bool:g_reset_data
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
g_maxplayers = get_maxplayers()
register_event( "DeathMsg", "event_death", "a" )
register_event( "TextMsg", "event_textmsg_restart", "a", "2=#Game_will_restart_in" )
register_logevent( "logevent_game_commencing", 2, "1=Game_Commencing" )
register_logevent( "logevent_round_start", 2, "1=Round_Start" )
set_task( 1.0, "rtask_show_hud", _, _, _, "b" )
}
public clear_data( id )
{
if( !id )
{
for( new i = 1; i <= g_maxplayers; i ++ )
{
for( new data; data <= SCORE_DATA; data ++ )
g_user_score[ i ][ data ] = 0
}
}
else
{
for( new data; data <= SCORE_DATA; data ++ )
g_user_score[ id ][ data ] = 0
}
}
public client_connect( id ) clear_data( id )
public client_disconnect( id ) clear_data( id )
public logevent_game_commencing() clear_data( 0 )
public event_textmsg_restart() g_reset_data = true
public logevent_round_start()
{
if( g_reset_data )
{
clear_data( 0 )
g_reset_data = false
}
}
public event_death()
{
new killer = read_data( 1 )
new victim = read_data( 2 )
new headshot = read_data( 3 )
if( !is_user_connected( killer ) && !is_user_connected( victim ) )
return
if( killer == victim )
{
g_user_score[ victim ][ DEATHS ] ++
return
}
g_user_score[ killer ][ KILLS ] ++
g_user_score[ victim ][ DEATHS ] ++
if( headshot )
g_user_score[ killer ][ HEADSHOTS ] ++
}
public rtask_show_hud()
{
for( new id = 1; id <= g_maxplayers; id ++ )
{
if( !is_user_alive( id ))
continue
new Float:kd, Float:hs, Float:k = float( g_user_score[ id ][ KILLS ] ), Float:d = float( g_user_score[ id ][ DEATHS ] ), Float:h = float( g_user_score[ id ][ HEADSHOTS ] )
kd = k / d
hs = h / k * 100
set_hudmessage( 255, 255, 255, -1.0, 0.01, 0, 0.0, 1.0, 0.1, 0.1, true )
show_hudmessage
(
id, "Kills: %d | Deaths: %d | HeadShots: %d | K/D: %.2f | HSP: %.2f %",
g_user_score[ id ][ KILLS ],
g_user_score[ id ][ DEATHS ],
g_user_score[ id ][ HEADSHOTS ],
kd,
hs
)
}
}
PS Если Вас не затруднит, глянте еще вот эту тему
Rank 3.0 by hleV
Отредактировал: IAMHARD, - 4.9.2015, 13:34