Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Score HUD by AndrewZ

, Плюшки для ТОП игрока
Статус пользователя IAMHARD
сообщение 4.9.2015, 13:33
Сообщение #1
Стаж: 11 лет

Сообщений: 194
Благодарностей: 57
Полезность: 234

Собственно нашел этот плагин на этом форуме 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
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: